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

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

Info

Publication number
WO2012081303A1
WO2012081303A1 PCT/JP2011/073873 JP2011073873W WO2012081303A1 WO 2012081303 A1 WO2012081303 A1 WO 2012081303A1 JP 2011073873 W JP2011073873 W JP 2011073873W WO 2012081303 A1 WO2012081303 A1 WO 2012081303A1
Authority
WO
WIPO (PCT)
Prior art keywords
relay server
vlan
information
client terminal
relay
Prior art date
Application number
PCT/JP2011/073873
Other languages
English (en)
French (fr)
Inventor
谷本好史
Original Assignee
村田機械株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 村田機械株式会社 filed Critical 村田機械株式会社
Priority to US13/994,185 priority Critical patent/US9380130B2/en
Priority to EP11849412.9A priority patent/EP2654253B1/en
Priority to CN201180060497.0A priority patent/CN103262477B/zh
Priority to SG2013043484A priority patent/SG191017A1/en
Priority to KR1020137015746A priority patent/KR101446974B1/ko
Publication of WO2012081303A1 publication Critical patent/WO2012081303A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a relay communication system having a plurality of relay servers that can communicate with each other, a plurality of client terminals, and a LAN that connects the client terminals to the relay server, and further relates to a relay server used in the relay communication system.
  • 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.
  • a relay communication system can easily construct a scalable and flexible network.
  • Patent Document 1 In the relay communication system disclosed in Patent Document 1, the increase / decrease state and connection state of the LAN and client terminals may change. However, Patent Document 1 does not disclose a specific means for confirming the increase / decrease state and connection state of the device in real time when the client terminal and the relay server specify the communication destination. Further, specific means for dynamically constructing a virtual network between the client terminal and the relay server is not disclosed.
  • An object of the present invention is to dynamically create a virtual network in constructing a relay communication system having a plurality of relay servers that can communicate with each other.
  • a relay communication system includes a first network, a second network, a first relay server connected to the first network, and a first network connected to the second network via the third network.
  • a second relay server communicable with the relay server, a client terminal connected to the first relay server via the first network, and a client terminal connected to the second relay server via the second network.
  • the first relay server, the second relay server, the client terminal connected to the first relay server, and the client terminal connected to the second relay server include a relay group information storage unit, a relay server information storage unit, and an information sharing unit And a VLAN group information control unit.
  • the relay group information storage unit includes a first relay server, a second relay server, a client terminal connected to the first relay server, and a relay group indicating that a client terminal connected to the second relay server forms a relay group Information is stored.
  • the relay server information storage unit is connected to the first relay server activation information, the second relay server activation information, the client terminal activation / registration information connected to the first relay server, and the second relay server. And relay server information including client terminal activation / registration information.
  • the information sharing unit shares the relay group information and the relay server information among the first relay server, the second relay server, the client terminal connected to the first relay server, and the client terminal connected to the second relay server. .
  • the VLAN group information control unit includes a VLAN group in a relay group that is two or more client terminals among the client terminals connected to the first relay server and the client terminals connected to the second relay server.
  • Share VLAN group information includes hub information including identification information of the first relay server and the identification information of the second relay server to which the VLAN client terminal is connected, and connection of a session established between the first relay server and the second relay server. Session information indicating the connection side and the connected side, and identification information for identifying the VLAN client terminal.
  • the first relay server and the second relay server further include an activation command control unit and a VLAN session control unit.
  • the activation command control unit transmits a response signal including address information of a VLAN device as a VLAN client terminal that can be activated when a VLAN group activation instruction is received.
  • the VLAN session control unit establishes a hub session as a VLAN session between the first relay server and the second relay server based on the session information, and communicates with the VLAN device connected to the first relay server or the second relay server. In the meantime, a device session as a VLAN session is established.
  • the client terminal connected to the first relay server and the client terminal connected to the second relay server create virtual address information including a virtual address assigned to each VLAN device based on the response signal, and the virtual address information Is further included in the virtual address control unit.
  • the assigned virtual address is set in the VLAN interface of the client terminal, and the virtual address Communicate with other VLAN devices using information and VLAN sessions.
  • the VLAN group information is shared between the VLAN groups
  • the VLAN session is established between the VLAN devices
  • the virtual address information created when starting the VLAN group is shared between the VLAN devices.
  • the VLAN device sets the assigned virtual address in the VLAN interface of the client terminal. As a result, the client terminals can communicate with each other as a VLAN device using the virtual address information and the VLAN session.
  • the first relay server and the second relay server may further include a relay server communication control unit that controls communication between VLAN devices.
  • the relay server communication control unit analyzes the received communication packet and, if the communication packet includes a virtual address, refers to the virtual address and connects to the VLAN device to which the virtual address is assigned.
  • the communication packet is transmitted via the hub session to the first relay server or the second relay server.
  • the relay server communication control unit refers to the virtual address and transmits a communication packet to the VLAN device to which the virtual address is assigned via the device session.
  • the first relay server, the second relay server, the client terminal connected to the first relay server, and the client terminal connected to the second relay server update the VLAN group information according to a change in the connection of the VLAN client terminal.
  • a VLAN group information update unit may be further included.
  • the relay communication system may further include a third relay server communicable with the first relay server and the second relay server via the third network and constituting a relay group.
  • the relay group information and the relay server information may further include information on the third relay server.
  • the VLAN group information update unit receives the VLAN group activation instruction
  • the VLAN client terminal is connected to a third relay server different from the first relay server and the second relay server indicated in the hub information.
  • the identification information of the third relay server may be added to the hub information of the VLAN group, and session information including the third relay server may be created to update the VLAN group information.
  • the virtual address may include a virtual IP address and a virtual MAC address given to the VLAN device.
  • a relay server is a relay server that can communicate with a first relay server connected as a first network and functions as a second relay server connected to a second network.
  • the relay server includes a relay group information storage unit, a relay server information storage unit, an information sharing unit, a VLAN group information control unit, a start command control unit, a virtual address control unit, a VLAN session control unit, and a relay server.
  • the relay group information storage unit includes a first relay server, a second relay server, a client terminal connected to the first relay server, and a relay group indicating that a client terminal connected to the second relay server forms a relay group Information is stored.
  • the relay server information storage unit is connected to the first relay server activation information, the second relay server activation information, the client terminal activation / registration information connected to the first relay server, and the second relay server. And relay server information including client terminal activation / registration information.
  • the information sharing unit shares the relay group information and the relay server information among the first relay server, the second relay server, the client terminal connected to the first relay server, and the client terminal connected to the second relay server.
  • the VLAN group information control unit includes a VLAN group in a relay group that is two or more client terminals among the client terminals connected to the first relay server and the client terminals connected to the second relay server. Share VLAN group information.
  • the VLAN group information includes the hub information including the identification information of the first relay server and the identification information of the second relay server to which the VLAN client terminal is connected, and the session established between the first relay server and the second relay server. Session information indicating the connected side and the connected side, and identification information for identifying the VLAN client terminal.
  • the activation command control unit transmits a response signal including address information of a VLAN device as a VLAN client terminal that can be activated when a VLAN group activation instruction is received. If the virtual address control unit receives virtual address information including a virtual address assigned to each VLAN device created based on the response signal, the virtual address control unit transmits the virtual address information to the VLAN device.
  • the VLAN session control unit establishes a hub session as a VLAN session with the first relay server based on the session information, and establishes a device session as a VLAN session with the VLAN device terminal connected to the relay server. .
  • the relay server communication control unit controls communication between VLAN devices using a virtual address and a VLAN session.
  • the relay server communication control unit analyzes the received communication packet. If the communication packet includes virtual address information, the relay server communication control unit refers to the virtual address and the VLAN device to which the virtual address is assigned. A communication packet may be transmitted to a connected relay server via a hub session. Alternatively, when the relay server communication control unit receives the communication packet, the relay server communication control unit analyzes the received communication packet. If the communication packet includes virtual address information, the relay server communication control unit refers to the virtual address and determines the virtual address via the device session. A communication packet may be transmitted to the assigned VLAN device.
  • the relay server may further include a VLAN group information update unit that updates the VLAN group information in response to a change in the connection of the VLAN client terminal.
  • the VLAN client terminal When the VLAN group information update unit receives a VLAN group activation instruction, the VLAN client terminal connects to the third relay server that forms the relay group, unlike the first relay server and the second relay server indicated in the hub information. If so, the identification information of the third relay server may be added to the hub information of the VLAN group, and session information including the third relay server may be created to update the VLAN group information.
  • the virtual address may include a virtual IP address and a virtual MAC address given to the VLAN device.
  • a virtual network can be dynamically created in constructing a relay communication system having a plurality of relay servers capable of communicating with each other, and client terminals can be VLAN devices using virtual addresses and VLAN sessions. Can communicate with each other.
  • the schematic diagram which shows the whole structure of a relay communication system The block diagram which shows the structure of a 1st relay server.
  • the block diagram which shows the structure of a 1st client terminal The figure which shows schematic structure of relay group information.
  • the figure which shows the detailed structure of relay group information The figure which shows schematic structure of relay server information.
  • the figure which shows the detailed structure of relay server information The figure which shows schematic structure of the client terminal information stored in the 1st relay server.
  • the figure which shows schematic structure of the client terminal information stored in the 3rd relay server The figure which shows the detailed structure of VLAN group information.
  • the figure which shows the detailed structure of virtual address information The figure which shows the detailed structure of virtual address information.
  • the figure which shows the flow of the process in connection with construction of a relay group The figure which shows the detailed structure of the relay server information before replacement
  • client terminals can communicate with each other across a WAN via a plurality of relay servers that realize the same function as a hub.
  • FIG. 1 shows the overall configuration of a relay communication system.
  • the relay communication system includes a first LAN 1, a second LAN 2, a third LAN 3, and a WAN 4.
  • the first LAN 1, the second LAN 2 and the third LAN 3 are small-scale networks constructed remotely.
  • the WAN 4 is a large-scale network such as the Internet.
  • the first relay server A of the first LAN 1, the second relay server B of the second LAN 2, and the third relay server C of the third LAN 3 are the first relay as a relay group. A group is formed.
  • the first LAN 1 has a fourth LAN 6 and a fifth LAN 7, and the fourth LAN 6 and the fifth LAN 7 are connected to each other by a first general-purpose router 8.
  • the fourth LAN 6 the first relay server A and the first client terminal A1 are connected to each other.
  • the fifth LAN 7 the second client terminal A2 and the second communication device 9 are connected to each other.
  • the second LAN 2 has a sixth LAN 11, a seventh LAN 12, and an eighth LAN 13.
  • the sixth LAN 11 and the seventh LAN 12 are connected by a second general-purpose router 14, and the sixth LAN 11 and the eighth LAN 13 are connected by a third general-purpose router 15.
  • the second relay server B belongs to the sixth LAN 11.
  • a third client terminal B1 is connected to the seventh LAN 12.
  • a fourth client terminal B2 is connected to the eighth LAN 13.
  • the third relay server C and the fifth client terminal C1 are connected to each other.
  • the first client terminal A1, the second client terminal A2, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 are, for example, personal computers.
  • the second communication device 9 is also a personal computer, for example.
  • the first relay server A, the second relay server B, and the third relay server C are connected to each other of the first client terminal A1, the second client terminal A2, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1. Relay communication between them.
  • the communication protocol among the first relay server A, the second relay server B, and the third relay server C is not particularly limited.
  • the relay server is connected not only to the LAN but also to the WAN, can communicate with each client terminal connected to the same LAN, and communicates with a relay server arranged in another LAN. It is possible. Therefore, each relay server is given a global IP address in addition to the private IP address.
  • FIG. 2 shows components of the first relay server A.
  • the first relay server A includes a LAN interface 121A, a WAN interface 121B, a control unit 122, a database storage unit 123, a display unit 124, and an operation input unit 125.
  • the LAN interface 121A performs communication with a terminal in the first LAN 1 using a private IP address.
  • the WAN interface 121B performs communication with the WAN 4 using the global IP address.
  • the control unit 122 is, for example, a CPU having control and calculation functions, and can execute various processes using a loaded program.
  • the control unit 122 of the present embodiment includes an information sharing unit 131, a VLAN group information control unit 132, a startup command control unit 133, a virtual address control unit 134, a VLAN session control unit 135, a VLAN group information update unit 136, and a relay server communication control. Part 137.
  • the information sharing unit 131 creates and updates relay group information, relay server information, and client terminal information, which will be described later.
  • the information sharing unit 131 shares the created and updated relay group information with the relay server in the relay group and the client terminal connected to the relay server, and stores it in the relay group information storage unit 141 (described later).
  • the information sharing unit 131 shares the created and updated relay server information with the relay servers in the relay group and the client terminals connected to the relay servers, and stores them in the relay server information storage unit 142 (described later).
  • the information sharing unit 131 shares the created and updated client terminal information with the relay server and the client terminal in the relay group, and stores them in the client terminal information storage unit 143 (described later).
  • the VLAN group information control unit 132 shares VLAN group information described later between the VLAN client terminal in the relay group and the relay server to which the VLAN client terminal is connected, and stores it in the VLAN group information storage unit 144 (described later). To do.
  • a VLAN client terminal is a client terminal that constitutes a VLAN group in a relay group.
  • the activation command control unit 133 When receiving the VLAN group activation information from the client terminal that has received the VLAN group activation instruction from the user, the activation command control unit 133 extracts the VLAN client terminal connected to the first relay server A from the VLAN group information. .
  • the activation information includes a VLAN group activation command, activation time, and VLAN group information. Further, the activation command control unit 133 determines whether or not the extracted VLAN client terminal can be activated.
  • a bootable VLAN client terminal refers to a client terminal that is currently logged in and is not currently participating in another VLAN group.
  • the start command control unit 133 refers to the relay server information stored in the relay server information storage unit 142, and determines whether or not the extracted VLAN client terminal is logged in.
  • the activation command control unit 133 transmits an activation command to be described later to determine whether the extracted VLAN client terminal can be activated, which will be described in detail later.
  • the VLAN client terminal that is determined to be bootable by the boot command control unit 133 is referred to as a VLAN device.
  • the activation command control unit 133 transmits a response signal including the IP address and MAC address of the VLAN device to the client terminal that is the transmission source of the activation information of the VLAN group. Details of the VLAN group information will be described later.
  • the virtual address control unit 134 Upon receiving the virtual address information and the initialization command, the virtual address control unit 134 transmits the virtual address information and the initialization command to the VLAN device connected to the first relay server A. Further, the virtual address control unit 134 stores the virtual address information in a virtual address information storage unit 145 (described later). Details of the virtual address information will be described later.
  • the initialization command is a command related to initialization of the VLAN interface 221B.
  • the VLAN session control unit 135 refers to the VLAN group information and establishes a hub session as a VLAN session with another relay server to which the VLAN device is connected. In addition, the VLAN session control unit 135 establishes a device session as a VLAN session with the VLAN device connected to the first relay server A with reference to the VLAN group information.
  • a hub session is a session between relay servers to which VLAN devices are connected.
  • a device session is a session between a VLAN device and a relay server to which the VLAN device is connected. *
  • the relay server communication control unit 137 is a processing unit that controls various communications performed via the LAN interface 121A and the WAN interface 121B, and controls various communication processes according to protocols such as TCP / IP, UDP, or SIP. .
  • the relay server communication control unit 137 controls communication between VLAN devices using virtual address information and VLAN sessions. Specifically, the relay server communication control unit 137 analyzes the communication packet received from the client terminal connected to the first relay server A via the LAN interface 121A.
  • the virtual packet is referred to and the communication packet is transmitted to another relay server via the hub session.
  • the relay server communication control unit 137 analyzes the received communication packet. If the virtual address is included in the communication packet, the relay server communication control unit 137 sends a device session to the VLAN interface (described later) of the client terminal under the first relay server A to which the virtual address is assigned. A communication packet is transmitted via On the other hand, if the virtual address is not included, the relay server communication control unit 137 transmits a communication packet to the LAN interface (described later) of the client terminal under the first relay server A.
  • the database storage unit 123 is, for example, a hard disk or a nonvolatile RAM, and can store various data.
  • the database storage unit 123 includes a relay group information storage unit 141, a relay server information storage unit 142, a client terminal information storage unit 143, a VLAN group information storage unit 144, and a virtual address information storage unit 145. Details of information stored in the relay group information storage unit 141, the relay server information storage unit 142, the client terminal information storage unit 143, the VLAN group information storage unit 144, and the virtual address information storage unit 145 will be described later. Further, since the components of the second relay server B and the third relay server C are the same as those of the first relay server A, description thereof is omitted.
  • a client terminal is a terminal that can be directly operated by a user.
  • the client terminal is, for example, a personal computer used for daily work by a user.
  • Each client terminal is assigned a private IP address that is uniquely managed within the same LAN.
  • FIG. 3 shows the components of the first client terminal A1.
  • the first client terminal A1 includes a LAN interface 221A, a VLAN interface 221B, a control unit 222, a database storage unit 223, a display unit 224, and an operation input unit 225.
  • the LAN interface 221A can communicate with the first relay server A and other terminals in the first LAN 1 by using the private IP address.
  • the VLAN interface 221B can perform communication with other terminals in the first relay group via the first relay server A using a virtual IP address and a device session described later.
  • the control unit 222 is, for example, a CPU having control and calculation functions, and can execute various processes using a loaded program.
  • the control unit 222 of the present embodiment includes an information sharing unit 231, a VLAN group information control unit 232, a startup command control unit 233, a virtual address control unit 234, a VLAN group information update unit 235, an IP packet processing unit 236, and a VLAN session control unit. 237 and a client communication control unit 238.
  • the information sharing unit 231 shares the relay group information with the relay server in the relay group and the client terminal connected to the relay server, and stores it in the relay group information storage unit 241 (described later). Further, the information sharing unit 231 shares the relay server information with the relay server in the relay group and the client terminal connected to the relay server, and stores it in the relay server information storage unit 242 (described later). Furthermore, the information sharing unit 131 shares the client terminal information with the relay server and the client terminal in the relay group, and stores them in the client terminal information storage unit 243 (described later).
  • the VLAN group information control unit 232 shares the VLAN group information between the VLAN client terminal in the relay group and the relay server to which the VLAN client terminal is connected, and stores it in the VLAN group information storage unit 244 (described later).
  • the VLAN group information control unit 232 includes a VLAN group information creation unit 232a that creates VLAN group information, and transmits the created VLAN group information to the VLAN client terminal.
  • the start command control unit 233 performs VLAN group start processing. Specifically, upon accepting selection of the VLAN group to be activated from the user, the activation command control unit 233 transmits an activation command to the active relay server among the relay servers connected to the VLAN client terminal.
  • the activation command is a command for notifying activation of the VLAN group, and is transmitted together with the activation time and VLAN group information of the VLAN group.
  • the start command control unit 233 refers to the relay server information stored in the relay server information storage unit 242, and determines whether or not the extracted relay server can be started.
  • the activation command control unit 233 receives a response signal corresponding to the activation command from the relay server, the activation command control unit 233 extracts the IP address and MAC address of the VLAN device from the response signal.
  • the virtual address control unit 234 includes a virtual address creation unit 234a that creates virtual address information when a response signal including the IP address and MAC address of the VLAN device is received, and the created virtual address information is stored in the first client terminal. A1 is transmitted to the connected relay server.
  • the virtual address control unit 234 receives virtual address information and an initialization command, the virtual address control unit 234 stores the received virtual address information in the virtual address information storage unit 245.
  • the VLAN group information update unit 235 shares the updated VLAN group information between the VLAN client terminal and the relay server to which the VLAN client terminal is connected.
  • the IP packet processing unit 236 outputs the communication packet received from the LAN interface 221A to the client communication control unit 238. Further, when receiving a communication packet including a virtual address via the VLAN interface 221B, the IP packet processing unit 236 outputs the communication packet to the VLAN session control unit 237.
  • the VLAN session control unit 237 processes a communication packet including a virtual address, and causes the device session to function as a VLAN session.
  • the VLAN session control unit 237 transmits a communication packet including a virtual address using the VLAN session
  • the VLAN session control unit 237 transmits the communication packet via the VLAN interface 221B.
  • the client communication control unit 238 processes communication packets other than the VLAN session, and controls various communications according to protocols such as TCP / IP, UDP, or SIP performed via the LAN interface 221A.
  • the database storage unit 223 is, for example, a hard disk or a nonvolatile RAM, and can store various data.
  • the database storage unit 223 includes a relay group information storage unit 241, a relay server information storage unit 242, a client terminal information storage unit 243, a VLAN group information storage unit 244, and a virtual address information storage unit 245. Details of information stored in the relay group information storage unit 241, the relay server information storage unit 242, the client terminal information storage unit 243, the VLAN group information storage unit 244, and the virtual address information storage unit 245 will be described later. Further, the second client terminal A2, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 are the same as the first client terminal A1, and thus the description thereof is omitted.
  • FIG. 4 shows a schematic configuration of the relay group information 20.
  • the relay group information 20 is information indicating an outline of each relay group in the relay communication system, and is stored in the relay group information storage unit 141 of the relay server and the relay group information storage unit 241 of the client terminal.
  • FIG. 4 shows that the first relay group includes a first relay server A, a second relay server B, and a third relay server C.
  • FIG. 5 shows a detailed configuration of the relay group information 20.
  • the relay group information 20 includes upper information 201 and lower information 202.
  • the upper information 201 is information about the first relay group itself.
  • Group id indicates the identification information of the relay group.
  • Lasermod indicates the latest update time of the relay group information.
  • Name indicates the name of the relay group.
  • the lower information 202 is information about the first relay server A, the second relay server B, and the third relay server C. “Site id” indicates identification information of each relay server.
  • the relay group information 20 is shared among the first relay server A, the second relay server B, and the third relay server C, and is stored in the relay group information storage unit 141 of each relay server. Further, the relay group information 20 is shared between the relay server and the client terminal, and stored in the relay group information storage unit 241 of each client terminal.
  • FIG. 6 shows a schematic configuration of the relay server information 30.
  • the relay server information 30 is information indicating an outline of the relay server and the client terminal constituting the relay communication system, and is stored in the relay server information storage unit 142 of the relay server and the relay server information storage unit 242 of the client terminal.
  • a first client terminal A1 and a second client terminal A2 are connected to the first relay server A.
  • a third client terminal B1 and a fourth client terminal B2 are connected to the second relay server B.
  • a fifth client terminal C1 is connected to the third relay server C.
  • FIG. 7 shows a detailed configuration of the relay server information 30.
  • the relay server information 30 is composed of upper information 301-1, 301-2, 301-3 and lower information 302-1, 302-2, 302-3.
  • the upper information 301-1, 301-2, 301-3 is information about the relay server.
  • Site id indicates identification information of the relay server.
  • Name indicates the name of the relay server.
  • Stat indicates information about whether or not the relay server is activated.
  • the lower information 302-1, 302-2, 302-3 is information about the client terminal.
  • “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.
  • Site indicates identification information of a relay server that is a logon destination when the client terminal is logged on.
  • the relay server information 30 is shared among the first relay server A, the second relay server B, and the third relay server C, and is stored in the relay server information storage unit 142 of each relay server.
  • the relay server information 30 is shared between the relay server and the client terminal, and stored in the relay server information storage unit 242 of each client terminal.
  • the identification information of the relay server to which the client terminal is logged on is written in “site” of the lower information 302-1, 302-2, 302-3.
  • site is blank. Thereby, information about whether or not the client terminal is logged on to the relay server is shared as the entire relay communication system.
  • FIGS. 8, 9, and 10 show client terminal information 40, 50, and 60, respectively, as specific examples of client terminal information.
  • the client terminal information is information indicating details of the client terminals constituting the relay communication system, and is stored in the client terminal information storage unit 143 of the relay server and the client terminal information storage unit 243 of the client terminal.
  • “Addr” is address information of the client terminal, and specifically indicates the IP address of the client terminal.
  • “Div” indicates a department name of the client terminal.
  • “Expr” is expiration date information of the client terminal, and specifically indicates a registration expiration date 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.
  • “Pass” indicates a password of the client terminal.
  • “Port” is client terminal port information, and specifically indicates the port number of the client terminal.
  • the client terminal information 40, 50, 60 is shared between the relay server and the client terminal in the relay group, and stored in the client terminal information storage unit 143 of each relay server and the client terminal information storage unit 243 of each client terminal.
  • VLAN group information is information including information on the VLAN client terminals constituting the VLAN group, information on the relay server to which the VLAN client terminals are connected, and session information between the relay servers.
  • FIG. 11 shows a detailed configuration of the VLAN group information 70.
  • the VLAN group information 70 includes group information 71, VLAN client terminal information 72, and session information 73.
  • the group information 71 is information regarding the VLAN group.
  • group is identification information of the relay group that constitutes the VLAN group.
  • Id indicates identification information of the VLAN group.
  • Lastmod indicates the latest update time of the VLAN group information.
  • Name indicates the name of the VLAN group.
  • the VLAN client terminal information 72 is information relating to the VLAN client terminals constituting the VLAN group. “Dev id” indicates identification information of the VLAN client terminal.
  • the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 are VLAN client terminals.
  • the session information 73 includes hub information and route information.
  • Hub information is identification information of a relay server to which a VLAN client terminal is connected.
  • the route information is information defining a communication route between relay servers, and includes “sp” and “ep”. “Sp” is a start point of the connection route, and the relay server indicated by “sp” is on the connection side of the connection route. “Ep” is an end point of the connection route, and the relay server indicated by “ep” is the connected side of the connection route.
  • the identification information of the first relay server A, the second relay server B, and the third relay server is included as the hub information.
  • route information a session in which the start point is the first relay server A and the end point is the second relay server B is defined.
  • a session in which the start point is the first relay server A and the end point is the third relay server C and a session in which the start point is the second relay server B and the end point is the third relay server C are defined. ing.
  • the VLAN group information 70 is shared between the VLAN client terminal and the relay server to which the VLAN client terminal is connected, and is stored in the VLAN group information storage unit 244 of each VLAN client terminal and the VLAN group information storage unit 144 of each relay server. .
  • the VLAN group information 70 may be shared only between VLAN client terminals. In the following embodiment, an example is given in which the VLAN group information 70 is shared between VLAN client terminals and stored in the VLAN group information storage unit 244 of each VLAN client terminal. Processing related to creation and sharing of the VLAN group information 70 will be described in detail later.
  • Virtual Address Information is information composed of identification information, a virtual IP address, and a virtual MAC address of a VLAN device that can be activated as a client terminal of a VLAN group.
  • the virtual address information is stored in the virtual address information storage unit 245 of the VLAN device.
  • the virtual address information may be stored in the virtual address information storage unit 145 of the relay server.
  • FIG. 12 shows a detailed configuration of the virtual address information 80.
  • the virtual address information 80 is associated with VLAN device identification information, a virtual IP address, and a virtual MAC address.
  • the virtual IP address and virtual MAC address are assigned so as not to overlap with the IP address and MAC address actually used by the VLAN device.
  • the virtual IP address and the virtual MAC address are assigned so that they do not overlap each other in the VLAN group.
  • the virtual address information 80 in this example identification information, a virtual IP address, and a virtual MAC address associated with the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 as VLAN devices are associated with each other. It has been. As will be described later, by sharing virtual address information 80 between VLAN devices, client terminals belonging to different LANs can communicate as VLAN devices. Processing related to creation and sharing of the virtual address information 80 will be described in detail later. 10. Initial Setting Initial setting of the first relay group will be described with reference to the sequence diagram of FIG. Specifically, FIG. 13 shows a flow of processing related to creation of relay group information, relay server information, and client terminal information.
  • Step S1 creates an account for the users of the first client terminal A1 and the second client terminal A2 (Step S1, Step S2: Create_Account ()).
  • the administrator of the second relay server B creates an account for the users of the third client terminal B1 and the fourth client terminal B2 (step S3, step S4: Create_Account ()).
  • the administrator of the third relay server C creates an account for the user of the fifth client terminal C1 (step S5: Create_Account ()).
  • the first relay server A creates and stores relay server information.
  • the second relay server B creates and stores relay server information.
  • the third relay server C creates and stores relay server information.
  • the first relay server A creates and stores client terminal information
  • the second relay server B creates and stores client terminal information
  • the third relay server C creates and stores client terminal information.
  • FIGS. 14, 15 and 16 show the relay server information 31-1, the relay server information 31-2 and the relay server information 31-3, respectively.
  • the relay server information 31-1 is information created and stored by the first relay server A.
  • the relay server information 31-2 is information created and stored by the second relay server B.
  • the relay server information 31-3 is information created and stored by the third relay server C.
  • FIG. 14 shows the relay server information 31-1.
  • the upper information 311-1 is information about the first relay server A. As “site id”, “serverA@trial.net” is set. “ServerA” is set as “name”. “Active” is set as “stat”.
  • the lower information 312-1 is information about the first client terminal A1 and the second client terminal A2.
  • Information about the first client terminal A1 is as follows. “Dev” is set as “div”. As “group”, “12796714771393.clientA1.rd.002@trial.net” is set. As “id”, “clientA1.rd.002@ServerA.trial.net” is set. “ClientA1” is set as “name”. In FIG. 14, “serverA.trial.net” is set for “site”, and the user of the first client terminal A1 is logged on to the first relay server A. “Site” is blank in steps 13 to S5.
  • Information on the second client terminal A2 is as follows. “Dev” is set as “div”. As “group”, “12796714771393.clientA1.rd.002@trial.net” is set. As “id”, “clientA2.rd.002@serverA.trial.net” is set. “ClientA2” is set as “name”. Note that the notation of “site” is the same as that of the first client terminal A1.
  • the first relay server A requests the second relay server B to construct a group of the relay communication system (step S6: Set_Group ()).
  • the first relay server A and the second relay server B create and store relay group information.
  • the first relay server A requests the second relay server B to exchange relay server information (step S7: Exchange (db)).
  • the first relay server A transmits relay server information to the second relay server
  • the second relay server B transmits relay server information to the first relay server A.
  • the first relay server A and the second relay server B combine the relay server information and store it as new relay server information.
  • steps S6 and S7 are executed between the first relay server A and the third relay server C, and further, the second relay server B and the third relay server C. It is also executed between. As a result, common relay server information is held among the first relay server A, the second relay server B, and the third relay server C.
  • the user of the second client terminal A2 inputs the identification information and password of the second client terminal A2 and logs on to the first relay server A (Step S8: Register) .
  • the first relay server A refers to the client terminal information and performs user authentication of the second client terminal A2.
  • the first relay server A updates the client terminal information.
  • the second client terminal A2 requests the first relay server A to provide relay group information and relay server information (step S9: Get ()).
  • the first relay server A transmits relay group information and relay server information to the second client terminal A2.
  • the second client terminal A2 stores relay group information and relay server information.
  • the second relay server A When the first relay server A refers to the relay server information and confirms that “site” regarding the second relay server B is “active”, the second relay server A indicates that the relay server information has been updated. It is determined that B should be notified. Then, the first relay server A notifies the second relay server B that the relay server information has been updated (step S10: Notify ()). The second relay server B updates the relay server information and stores it. The first relay server A also notifies the third relay server C that the relay server information has been updated (step S11: Notify ()).
  • the relay server information in the relay server is updated in the same manner.
  • the relay server information in the relay server is updated when the user of each client terminal logs off. The update of the relay server information is also notified to each client terminal that is logged on.
  • FIG. 17 is a diagram showing a flow of processing relating to sharing of relay group information and relay server information.
  • the first relay server A transmits the changed relay group information to the second relay server B (step S21: Set_Group (relay group information). )).
  • the second relay server B transmits the relay group information to the third client terminal B1 and the fourth client terminal B2 (step S21.1 and step S21.2: Set_Group (relay group information)).
  • OK is returned from each of the third client terminal B1 and the fourth client terminal B2
  • the second relay server B returns OK to the first relay server A.
  • the first relay server A transmits the changed relay group information to the second client terminal A2 (step S22: Set_Group (relay group information)).
  • the second client terminal A2 returns OK to the first relay server A.
  • the first relay server A transmits the changed relay group information to the first client terminal A1 (step S23: Set_Group (relay group information)).
  • the first client terminal A1 returns OK to the first relay server A.
  • the first relay server A transmits the changed relay group information to the third relay server C (step S21.3: Set_Group (relay group information)). Then, the third relay server C transmits the relay group information to the fifth client terminal C1 (step S21.3.1: Set_Group (relay group information)). When OK is returned from the fifth client terminal C1, the third relay server C returns OK to the first relay server A.
  • Sharing Relay Server Information Sharing relay server information will be described again with reference to FIG.
  • the sharing process uses an event notification framework.
  • event notification a subscriber is an agent that requests resource state notification, and a notifier is an agent that notifies a resource state.
  • the change is notified from the notifier to the subscriber.
  • the first relay server A applies to the second relay server B for subscription of relay server information (step S24: Subscribe ()).
  • the second relay server B updates the relay server information held by the second relay server B when there is a change in the state indicated by the relay server information. Then, the second relay server B transmits the updated relay server information to the first relay server A.
  • the first relay server A updates the relay server information using the relay server information transmitted from the second relay server B.
  • the first relay server A notifies the first client terminal A1 that the relay server information has been updated (step S25: Notify (relay server information)), and further notifies the second client terminal A2 (step S26: Notify). (Relay server information)).
  • the first relay server A applies to the third relay server C for subscription of relay server information (step S27: Subscribe ()).
  • the third relay server C updates the relay server information held by the third relay server C when the state indicated by the relay server information is changed.
  • the third relay server C transmits the updated relay server information to the first relay server A.
  • the first relay server A updates the relay server information using the relay server information transmitted from the third relay server C.
  • the first relay server A notifies the first client terminal A1 that the relay server information has been updated (step S28: Notify (relay server information)), and further notifies the second client terminal A2 (step S29: Notify). (Relay server information)).
  • the second relay server B applies for subscription of relay server information to the first relay server A (step S30: Subscribe ()).
  • the first relay server A updates the relay server information held by the first relay server A when the state indicated by the relay server information is changed. Then, the first relay server A transmits the updated relay server information to the second relay server B.
  • the second relay server B updates the relay server information using the relay server information transmitted from the first relay server A.
  • the second relay server B notifies the third client terminal B1 that the relay server information has been updated (step S31: Notify (relay server information)), and further notifies the fourth client terminal B2 (step S32: Notify). (Relay server information)).
  • the second relay server B applies for subscription of relay server information to the third relay server C (step S33: Subscribe ()).
  • the third relay server C updates the relay server information held by the third relay server C when the state indicated by the relay server information is changed. Then, the third relay server C transmits the updated relay server information to the second relay server B.
  • the second relay server B uses the relay server information transmitted from the third relay server C to update the relay server information.
  • the second relay server B notifies the third client terminal B1 that the relay server information has been updated (step S34: Notify (relay server information)), and further notifies the fourth client terminal B2 (step S35: Notify). (Relay server information)).
  • the third relay server C applies for subscription of relay server information to the second relay server B (step S36: Subscribe ()).
  • the second relay server B updates the relay server information held by the second relay server B when the state indicated by the relay server information is changed. Then, the second relay server B transmits the updated relay server information to the third relay server C.
  • the third relay server C updates the relay server information using the relay server information transmitted from the second relay server B.
  • the third relay server C notifies the fifth client terminal C1 that the relay server information has been updated (step S37: Notify (relay server information)).
  • the third relay server C applies for subscription of relay server information to the first relay server A (step S38: Subscribe ()).
  • the first relay server A updates the relay server information held by the first relay server A when the state indicated by the relay server information is changed. Then, the first relay server A transmits the updated relay server information to the third relay server C.
  • the third relay server C updates the relay server information using the relay server information transmitted from the first relay server A.
  • the third relay server C notifies the fifth client terminal C1 that the relay server information has been updated (step S39: Notify (relay server information)).
  • the first relay server A, the second relay server B, and the third relay server C immediately share the updated relay server information even when the relay server information is updated. Therefore, the first relay server A, the second relay server B, and the third relay server C can always know the activation status of other relay servers, the type of client terminal connected to the relay server, and the logon status.
  • 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 client terminal transmits a communication packet including the client terminal information of the specified client information and the data to be transmitted to the relay server to which the client terminal is connected.
  • the relay server that has received the communication packet refers to the relay server information and confirms to which relay server in the relay group the specified client terminal is subordinate.
  • the relay server checks whether the relay server under which the designated client terminal is under control is in an activated state and whether the designated client terminal is in a logon state. Specifically, whether or not the relay server is in an active state can be determined by confirming that the upper information “stat” of the relay server information is set to “active”. Further, it is determined whether or not the client terminal is in the logon state by checking whether or not the identification information of the relay server that is the logon destination of the client terminal is described in the lower information “site” of the relay server information.
  • the received communication packet is transmitted to the relay server under which the specified client terminal is subordinate.
  • the relay server that has received the communication packet transmits the communication packet to a specified client terminal under the relay server.
  • FIG. 18 is a flowchart showing VLAN group information creation processing.
  • the first client terminal A1 creates VLAN group information in a state where the information on the increase / decrease state and connection state of the LAN and client terminals is shared in the first relay group (see FIG. 17).
  • the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 in the first relay group are selected as VLAN client terminals.
  • the VLAN group information creation unit 232a of the VLAN group information control unit 232 of the first client terminal A1 receives selection of a relay group from the user (step S101).
  • the user refers to the relay group information stored in the relay group information storage unit 241 and selects a relay group via the display unit 224 and the operation input unit 225 included in the first client terminal A1.
  • the first relay group is selected as the relay group.
  • the VLAN group information creation unit 232a refers to the relay server information stored in the relay server information storage unit 242, and extracts the identification information of the first relay group.
  • relay group information may be referred to instead of relay server information.
  • the VLAN group information creation unit 232a refers to the relay server information and displays a list of client terminals constituting the first relay group on the display unit 224 (step S102). Thereafter, the VLAN group information creation unit 232a accepts selection of the VLAN client terminal from the user via the operation input unit 225 (step S103). At this time, the VLAN group information creation unit 232a refers to the relay server information and extracts the identification information of the VLAN client terminal that has accepted the selection.
  • the VLAN group information creation unit 232a creates session information after accepting selection of a VLAN client terminal (step S104). Specifically, the VLAN group information creation unit 232a determines the path configuration between relay servers for establishing a hub session, and creates session information.
  • the VLAN group information creation unit 232a determines that the first relay server A is the connection side and the second relay server B is the connected side. Then, the VLAN group information creation unit 232a inputs the identification number of the first relay server A to “sp” and inputs the identification number of the first relay server B to “ep”. Note that the session information created by the VLAN group information creation unit 232a may be modified by the user via the operation input unit 225 or the like. After creating the session information, the VLAN group information creating unit 232a creates identification information for identifying the VLAN group (step S105). Thereafter, the VLAN group information creation unit 232a stores the VLAN group information including the created VLAN group identification information, the VLAN client terminal identification information, and the session information in the VLAN group information storage unit 244 (step S106).
  • the VLAN group information 70 includes group information 71, VLAN client terminal information 72, and session information 73.
  • the group information 71 includes “12796714771393.clientA1.rd.002@trial.net” as identification information of the first relay group.
  • “1279672104671.clientA1.rd.002@trial.net” is provided as VLAN group identification information
  • “vlangroup1” is provided as the name of the VLAN group.
  • the VLAN group indicated by the VLAN group information 70 is referred to as a first VLAN group.
  • the VLAN client terminal information 72 indicates identification information of the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 selected by the user.
  • the session information 73 includes session information in which “sp” is the first relay server A and “ep” is the second relay server B.
  • the session information 73 includes session information in which “sp” is the first relay server A and “ep” is the third relay server C, and “sp” is the second relay server B and “ep” is the third. It has session information which is the relay server C.
  • the VLAN group information 70 created as described above is then transmitted to the VLAN client terminal (step S107).
  • FIG. 19 is a diagram showing a flow of processing relating to sharing of VLAN group information. Processing related to sharing of the VLAN group information 70 is controlled by the VLAN group information control unit 132 of each relay server and the VLAN group information control unit 232 of each client terminal.
  • the first client terminal A1 that created the VLAN group information 70 transmits the VLAN group information 70 to the third client terminal B1 that is the VLAN client terminal. Specifically, the first client terminal A1 first transmits the VLAN group information 70 to the first relay server A (step S41: createVlanGroup (vlanGroup)). The first relay server A transmits the received VLAN group information 70 to the second relay server B (step S41.1: createVlanGroup (vlanGroup)). The second relay server B transmits the VLAN group information 70 to the third client terminal B1 (step S41.1.1: createVlanGroup (vlanGroup)).
  • the third client terminal B1 stores the received VLAN group information 70 in the VLAN group information storage unit 244 and returns OK to the second relay server B.
  • the second relay server B returns OK to the first relay server A
  • the first relay server A returns OK to the first client terminal A1.
  • the first client terminal A1 transmits the VLAN group information 70 to the fourth client terminal B2, which is a VLAN client terminal.
  • the first client terminal A1 transmits the VLAN group information 70 to the first relay server A (step S42: createVlanGroup (vlanGroup)).
  • the first relay server A transmits the received VLAN group information 70 to the second relay server B (step S42.1: createVlanGroup (vlanGroup)).
  • the second relay server B transmits the received VLAN group information 70 to the fourth client terminal B2 (step S42.1.1: createVlanGroup (vlanGroup)).
  • the fourth client terminal B2 stores the received VLAN group information 70 in the VLAN group information storage unit 244, and returns OK to the second relay server B.
  • the second relay server B returns OK to the first relay server A, and the first relay server A returns OK to the first client terminal A1.
  • the first client terminal A1 transmits the VLAN group information 70 to the fifth client terminal C1.
  • the first client terminal A1 transmits the VLAN group information 70 to the first relay server A (step S43: createVlanGroup (vlanGroup)).
  • the first relay server A transmits the received VLAN group information 70 to the third relay server C (step S43.1: createVlanGroup (vlanGroup)).
  • the third relay server C transmits the received VLAN group information to the fifth client terminal C1 (step S43.1.1: createVlanGroup (vlanGroup)).
  • the fifth client terminal C1 that has received the VLAN group information 70 stores the received VLAN group information 70 in the VLAN group information storage unit 244, and returns OK to the third relay server C.
  • the third relay server C returns OK to the first relay server A, and the first relay server A returns OK to the first client terminal A1.
  • the VLAN group information 70 may be shared not only between the VLAN client terminals but also between the relay servers to which the VLAN client terminals are connected.
  • each relay server may store the VLAN group information 70 in the VLAN group information storage unit 144 when receiving the VLAN group information 70.
  • VLAN session establishment processing and VLAN communication start processing in the client terminal In the relay communication system of the present embodiment, a VLAN session is established based on the VLAN group information 70 created and shared by the above processing, thereby realizing a hub function.
  • Client terminals can communicate with each other as a VLAN device via a plurality of relay servers.
  • FIG. 20 is a flowchart showing a VLAN session establishment process by the client terminal.
  • the VLAN session establishment process is started when any VLAN client terminal constituting the VLAN group or a relay server to which the VLAN client terminal is connected receives a VLAN group activation instruction from the user.
  • the first client terminal A1 receives an activation instruction for the first VLAN group indicated in the VLAN group information 70 from the user.
  • the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 are VLAN devices.
  • the activation command control unit 233 of the first client terminal A1 accepts selection of a VLAN group to be activated (step S111). Specifically, the activation command control unit 233 displays a list of VLAN group information stored in the VLAN group information storage unit 244 on the display unit 224 and accepts selection of a VLAN group to be activated via the operation input unit 225. . In this example, the first VLAN group indicated in the VLAN group information 70 is selected.
  • the activation command control unit 233 Upon accepting the selection of the first VLAN group, the activation command control unit 233 reads the relay server information from the VLAN group information 70 (step S112). Specifically, the activation command control unit 233 reads the identification information of the relay server that serves as a hub from the session information 73 of the VLAN group information 70. At this time, the activation command control unit 233 reads the relay server identification information so as not to overlap through the filtering process. In this example, the activation command control unit 233 reads the identification information of the first relay server A, the second relay server B, and the third relay server C.
  • the activation command control unit 233 performs the processing from step S113 to step S116.
  • the activation command control unit 223 refers to the relay server information stored in the relay server information storage unit 242, and connects the VLAN client terminals other than the first client terminal A1 among the read relay servers. It is determined whether the relay server being activated is activated (step S113). Then, the start command control unit 233 performs steps S114 to S116 for the active relay server. In this example, the processes of steps S114 to S116 are performed on the second relay server B and the third relay server C to which the VLAN client terminals other than the first client terminal A1 are connected.
  • the activation command control unit 233 refers to the relay server information stored in the relay server information storage unit 242, and determines whether the second relay server B is activated. Specifically, the activation command control unit 233 determines whether the second relay server B can be activated by confirming that the upper information “stat” of the relay server information is set to “active”. If the second relay server B is activated, the activation command control unit 233 transmits activation information including the activation command, activation time, and VLAN group information 70 to the second relay server B (step S114). The activation command is a command for notifying activation of the VLAN group. At this time, the second relay server B that has received the activation information stores the VLAN group information 70 in the VLAN group information storage unit 144.
  • the VLAN group information 70 when the VLAN group information 70 is shared not only between the VLAN client terminals but also in the second relay server B and the third relay server C, the VLAN group information 70 is transmitted. It may be omitted and only the identification information of the first VLAN group may be transmitted.
  • the activation command control unit 233 receives the response signal from the second relay server B.
  • the response signal from the second relay server B includes the VLAN device identification information, the IP address, and the MAC address among the VLAN client terminals connected to the second relay server B.
  • Response signal creation processing by the second relay server B will be described later.
  • the activation command control unit 233 extracts the VLAN device identification information, the IP address, and the MAC address from the received response signal (step S116). ).
  • the start command control unit 233 refers to the relay server information again, and determines whether there is another relay server on which the processing of Steps S113 to S116 is to be performed (Step S117). If there is another relay server (Yes in step S117), the activation command control unit 233 performs the processing from step S113 to step S116 for each of the other relay servers.
  • the response signal is received from the second relay server B and the third relay server C in step S115.
  • FIG. 21 shows an example of the first extraction information regarding the IP address and MAC address of the VLAN device.
  • the first extraction information 90 includes the VLAN device identification information, IP address, and MAC address extracted from the response signal in step S116. 21 is the extracted information extracted from the response signal received from the second relay server B, and the first extracted information 90-2 is the response signal received from the third relay server C. It is the extraction signal extracted from.
  • the first extraction information 90-1 includes identification information, an IP address, and a MAC address of each of the third client terminal B1 and the fourth client terminal B2 that are VLAN devices connected to the second relay server B.
  • the first extraction information 90-2 includes identification information, an IP address, and a MAC address of the fifth client terminal C1, which is a VLAN device connected to the third relay server C. If it is determined that the relay server is not activated (No in step S113) and if no response signal is received from the relay server (No in step S115), the process proceeds to step S117.
  • virtual address information is then created by the virtual address creation unit 234a of the virtual address control unit 234 (Ste S118).
  • the virtual address information includes a virtual IP address and a virtual MAC address assigned to each VLAN device.
  • the virtual address creation process will be described with reference to FIGS. 12 and 21 and FIG. FIG. 22 shows an example of second extraction information obtained by adding the IP address and MAC address of the first client terminal A1 to the first extraction information of FIG.
  • the virtual address creation unit 234a first adds the identification information, IP address, and MAC address of the first client terminal A1 to the first extraction information 90. Then, the virtual address creation unit 234a creates the second extraction information 91 that combines all the information of the VLAN device extracted in step S116 with the first client terminal A1. As shown in FIG. 22, in the second extraction information 91, the identification information, IP address, and MAC address of each of the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 are one table. It is summarized in.
  • the virtual address creation unit 234a creates virtual address information based on the IP address and MAC address indicated in the second extraction information 91. Specifically, the virtual address creation unit 234a assigns an IP address that does not overlap with the IP address indicated in the second extraction information 91 to each VLAN device as a virtual IP address. The virtual address creation unit 234a assigns a MAC address that does not overlap with the MAC address indicated in the second extraction information 91 to each VLAN device as a virtual MAC address. Furthermore, the virtual address creation unit 234a assigns a virtual IP address and a virtual MAC address to the VLAN device so that the virtual IP address and the virtual MAC address do not overlap between the VLAN devices. In this example, by assigning different numbers to the end of the virtual IP address and the virtual MAC address, duplication of virtual addresses between VLAN devices is prevented.
  • the virtual address information created by the above processing is the virtual address information 80 shown in FIG.
  • the virtual IP address “117.112.0.1” and the virtual MAC address “0.011” are used. .22: f0.00.01 "is assigned.
  • the virtual IP address “117.112.0.2” and the virtual MAC address “00.11.22” are used. : F0.00.02 "is assigned.
  • the virtual address control unit 234 transmits the created virtual address information 80 together with the initialization command to the relay server serving as a hub (step S119).
  • the initialization command is a command related to the initialization of the VLAN interface, and includes “1279672104671.clientA1.rd.002@trial.net” which is identification information of the first VLAN group.
  • the virtual address control unit 234 transmits the created virtual address information 80 and the initialization command to the first relay server A, the second relay server B, and the third relay server C.
  • the first relay server A, the second relay server B, and the third relay server C that have received the virtual address information 80 and the initialization command refer to the session information 73 of the VLAN group information 70 and the hub between the relay servers.
  • Establish a session The establishment of a hub session between relay servers will be described in detail later.
  • the VLAN session control unit 237 performs a device session establishment process with the first relay server A to which the first client terminal A1 is connected (step S120). Specifically, by returning OK to the device session establishment request from the first relay server A, the device session functions as a VLAN session. At this time, a device session is also established between the second relay server B and the third client terminal B1 and the fourth client terminal B2. A device session is also established between the third relay server C and the fifth client terminal C1.
  • the VLAN session control unit 237 initializes the VLAN interface 221B of the first client terminal A1, A virtual address is set in the VLAN interface 221B. Specifically, the VLAN session control unit 237 sets the virtual IP address and the virtual MAC address of the virtual address information 80 in the VLAN interface 221B of the first client terminal A1 (step S121). At this time, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 also set the virtual IP address and the virtual MAC address of the virtual address information 80 in the VLAN interface of the first client terminal A1 (step S121). ). When a virtual address is set in each VLAN device by the above processing, client terminals can communicate with each other as a VLAN device using the virtual address and the VLAN session (step S122).
  • processing for establishing a VLAN session and starting VLAN communication in the relay server that has received startup information from a client terminal that has received a startup instruction for VLAN group information will be described.
  • the processing of the second relay server B that has received the startup information including the startup command, the startup time, and the VLAN group information 70 from the first client terminal A1 will be described (see step S114 in FIG. 20).
  • the processing of the third relay server C that receives the activation information from the first client terminal A1 is the same as that of the second relay server B, and thus the description thereof is omitted.
  • the start command control unit 133 of the second relay server B identifies the VLAN group from the VLAN group information 70. Extract information.
  • the activation command control unit 133 extracts “1279672104671.clientA1.rd.002@trial.net” from the VLAN group information 70.
  • the activation command control unit 133 extracts the VLAN client terminal connected to the second relay server B from the VLAN group information 70.
  • the activation command control unit 133 extracts the third client terminal B1 and the fourth client terminal B2 as VLAN client terminals.
  • the activation command control unit 133 determines whether or not the third client terminal B1 and the fourth client terminal B2 are VLAN devices.
  • a VLAN device refers to a client terminal that is currently logged in and is not currently participating in another VLAN group.
  • the start command control unit 133 refers to the relay server information stored in the relay server information storage unit 142, and determines whether the third client terminal B1 and the fourth client terminal B2 are logged in.
  • the activation command control unit 133 transmits an activation command to the third client terminal B1 and the fourth client terminal B2 that are logging in.
  • the activation command control unit 133 determines that the third client terminal B1 and the fourth client terminal B2 are VLAN devices. . Thereafter, the activation command control unit 133 transmits a response signal to the first client terminal A1.
  • the response signal includes identification information, IP address, and MAC address of the third client terminal B1 and the fourth client terminal B2.
  • the start command control unit 133 performs IP communication with the third client terminal B1 and the fourth client terminal B2 that are logging in via the LAN.
  • the activation command control unit 133 does not need to inquire the third client terminal B1 and the fourth client terminal B2 about the IP address and the MAC address of the third client terminal B1 and the fourth client terminal B2, respectively.
  • the first client terminal A1 that has received the response signal creates the virtual address information 80 based on the received response signal (see step S115 and step S116 in FIG. 20).
  • FIG. 23 is a flowchart showing a VLAN session establishment process in the relay server that has received the initialization command.
  • the operation of the third relay server C when the virtual address information 80 and the initialization command are received from the first client terminal A1 is the same as the processing of the second relay server B, and thus the description thereof is omitted.
  • the VLAN session control unit 135 of the second relay server B extracts the VLAN group identification information from the initialization command. (Step S132). In this example, the VLAN session control unit 135 extracts “1279672104671.clientA1.rd.002@trial.net”.
  • the VLAN session control unit 135 determines whether or not the first VLAN group identified from the extracted identification information is being activated (step S133). If the first VLAN group is not in the startup process, an error response is returned to the first client terminal A1 (step S135), and the process is terminated.
  • the VLAN session control unit 135 extracts the VLAN device from the virtual address information 80 (step S134). In this example, the VLAN session control unit 135 extracts the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1 that are VLAN devices. Next, the VLAN session control unit 135 refers to the VLAN group information 70 stored in the VLAN group information storage unit 144 and is further connected to the subordinate, that is, the second relay server B from the extracted VLAN devices. The VLAN device is extracted (step S136). In this example, the third client terminal B1 and the fourth client terminal B2 are extracted.
  • the VLAN session control unit 135 transmits the received initialization command and virtual address information 80 to the subordinate VLAN device (step S137).
  • the VLAN session control unit 135 refers to the VLAN group information 70, and initializes the virtual address information 80 via the relay server. Send.
  • the VLAN session control unit 135 extracts the session information 73 from the VLAN group information 70 (step S138). After extracting the session information 73, the VLAN session control unit 135 refers to the session information 73 and establishes a hub session in which the second relay server is set as “sp” and is not established (step S139). . In this example, the VLAN session control unit 135 establishes a hub session with the third relay server C set as “ep”. At this time, the first relay server A also performs processing for establishing a hub session in which the second relay server is set as “sp” and is not established.
  • the VLAN session control unit 135 refers to the VLAN group information 70, and determines the VLAN device connected to the second relay server. A device session is established during the period (step S141).
  • the VLAN session control unit 135 refers to the VLAN client terminal information 72 of the VLAN group information 70 and establishes a device session between the third client terminal B1 and the fourth client terminal B2.
  • OK response signals are received from the third client terminal B1 and the fourth client terminal B2
  • the client terminals can communicate with each other as a VLAN device using the virtual address and the VLAN session (step S142).
  • FIG. 24 is a diagram illustrating an example of a flow of processing relating to establishment of a VLAN session.
  • the VLAN session establishment process in the first VLAN group will be described.
  • the first client terminal A1 receives a start instruction for the first VLAN group represented in the VLAN group information 70 shown in FIG. 11 from the user, and creates virtual address information 80 shown in FIG.
  • the VLAN devices are the first client terminal A1, the third client terminal B1, the fourth client terminal B2, and the fifth client terminal C1.
  • each active relay server in the first relay group communicates with other active relay servers in the first relay group via the WAN interface using the normal IP address and MAC address. is doing. And the change of the connection state in a 1st relay group is shared between each relay server.
  • Each activated client terminal in the first relay group communicates with a relay server connected via the LAN interface. A change in connection state in the relay communication system is shared between the client terminal and the relay server.
  • the first client terminal A1 transmits activation information via the first relay server A to the second relay server B that is in the activated state and plays the role of a hub in the VLAN group (step S51: StartVlan (vlanGroupID), Step S51.1: StartVlan (vlanGroupID)).
  • the second relay server B refers to the VLAN group information 70 and extracts the third client terminal B1 and the fourth client terminal B2 that are VLAN client terminals connected to the second relay server B. Then, the second relay server B transmits activation information after determining whether or not the third client terminal B1 and the fourth client terminal B2 are VLAN devices.
  • the second relay server B transmits activation information to the third client terminal B1, which is a VLAN device (step S51.1.1.A: StartVlan (vlanGroupID)). Further, the second relay server B transmits activation information to the fourth client terminal B2 which is a VLAN device (step S51.1.1.B: StartVlan (vlanGroupID)).
  • the second relay server B After receiving OK from the third client terminal B1 and the fourth client terminal B2, the second relay server B sends a response signal (OK (clientB1 (ip, mac), clientB2 (ip, mac))) to the first relay server.
  • A is transmitted to the first client terminal A1 via A.
  • the response signal includes identification information, IP address, and MAC address of the third client terminal B1 and the fourth client terminal B2.
  • the first client terminal A1 transmits the activation information to the third relay server C that is in the activated state and plays the role of the hub in the VLAN group via the first relay server A (Step S52: StartVlan). (VlanGroupID), Step S52.1: StartVlan (vlanGroupID)).
  • the third relay server C refers to the VLAN group information and extracts the fifth client terminal C1, which is a VLAN client terminal connected to the third relay server C. Then, after determining whether or not the fifth client terminal C1 is a VLAN device, the third relay server C transmits activation information to the fifth client terminal C1 (Step S52.1.1: StartVlan (vlanGroupID )).
  • the third relay server C that has received OK from the fifth client terminal C1 transmits a response signal (OK (client C1 (ip, mac))) to the first client terminal A1 via the first relay server A.
  • the response signal includes the identification information, IP address, and MAC address of the fifth client terminal C1.
  • the first client terminal A1 performs a process of extracting from the response signal and a process of creating the virtual address information 80 (see steps S116 and S118 in FIG. 20).
  • the created virtual address information 80 is transmitted.
  • the first client terminal A1 transmits an initialization command and virtual address information 80 to the second relay server B via the first relay server A (step S53: configVlan (vlanGroupID, addrList), step S53. 1: configVlan (vlanGroupID, addrList)).
  • the second relay server B transmits an initialization command and virtual address information 80 to the extracted third client terminal B1 (see steps S131 to S134 and step S136 in FIG. 23) (step S53.1. 1.
  • the second relay server B similarly transmits an initialization command and virtual address information to the fourth client terminal B2 (step S53.1.1.B: configVlan (vlanGroupID, addrList)).
  • the second relay server B After receiving OK from the third client terminal B1 and the fourth client terminal B2, the second relay server B returns OK to the first relay server A.
  • the first relay server A that has received OK returns OK to the first client terminal A1.
  • the first client terminal A1 transmits an initialization command and virtual address information 80 to the third relay server C via the first relay server A (step S54: configVlan (vlanGroupID, addrList), step S54. 1: configVlan (vlanGroupID, addrList)).
  • the third relay server C transfers the initialization command and the virtual address information 80 to the extracted fifth client terminal C1 (see step S131 to step S134 and step S136 in FIG. 23) (step S54.1. 1: configVlan (vlanGroupID, addrList)).
  • the third relay server C After receiving OK from the fifth client terminal C1, the third relay server C returns OK to the first relay server A.
  • the first relay server A that has received OK returns OK to the first client terminal A1.
  • the virtual address information 80 is transmitted to all VLAN devices in the first VLAN group.
  • the relay server serving as the hub refers to the session information 73 of the VLAN group information 70 and establishes a hub session in which the relay server is set as “sp” and is not established. In this example, all hub sessions are also not established. Therefore, first, the first relay server A designated as “sp” requests the second relay server B designated as “ep” to establish a hub session (step S55: createHubSsn (vlanGroupID)). . When OK is returned from the second relay server B, a hub session is established between the first relay server A and the second relay server B.
  • the first relay server A designated as “sp” requests the third relay server C designated as “ep” to establish a hub session (step S56: createHubSsn (vlanGroupID)).
  • step S56 createHubSsn (vlanGroupID)
  • step S57 createHubSsn (vlanGroupID)
  • the relay server serving as the hub establishes a device session with the VLAN device connected to the relay server.
  • the first relay server A requests the first client terminal A1 to establish a device session (step S58: createDeviceSsn (vlanGroupID)).
  • OK is returned from the first client terminal A1
  • a device session is established between the first relay server A and the first client terminal A1.
  • the second relay server B requests the third client terminal B1 to establish a device session (step S59: createDeviceSsn (vlanGroupID)).
  • a device session is established between the second relay server B and the third client terminal B1.
  • the second relay server B requests the fourth client terminal B2 to establish a device session (step S60: createDeviceSsn (vlanGroupID)).
  • a device session is established between the second relay server B and the fourth client terminal B2.
  • the third relay server C requests the fifth client terminal C1 to establish a device session (step S61: createDeviceSsn (vlanGroupID)).
  • a device session is established between the third relay server C and the fifth client terminal C1.
  • each VLAN device When a VLAN session including a hub session and a device session is established in the VLAN group as described above, each VLAN device initializes the VLAN interface of the LAN device and sets a virtual address in the VLAN interface. When a virtual address is set in each VLAN device, the VLAN devices can communicate with each other as a VLAN device using the virtual address and the VLAN session.
  • the first client terminal A1 having the virtual IP address “117.112.0.1” and the virtual MAC address “00.11.22: f00: 00: 01” transmits the virtual client via the VLAN session.
  • Data transfer can be performed to the third client terminal B1 whose IP address is “117.112.0.3” and whose virtual MAC address is “00.11.22: f00: 00: 03”.
  • the first client terminal A1 transmits a communication packet to the first relay server A via the device session (step S62: sendData (packet01)).
  • the communication packet includes the virtual address of the third client terminal B1, which is the transmission destination, and the data to be transmitted.
  • the first relay server A transmits a communication packet to the second relay server B via the hub session (step S62.1: sendData (packet01)). Thereafter, the second relay server B transmits a communication packet to the third client terminal B1 via the device session (step S62.1.1: sendData (packet01)).
  • VLAN group information is shared between VLAN groups as described above.
  • the VLAN group is activated, a VLAN session is established between the VLAN devices, and the virtual address information created when the VLAN group is activated is shared between the VLAN devices.
  • a process for setting a virtual address in the VLAN interface of the VLAN device is performed, and data is transmitted and received between the VLAN devices via the VLAN interface and the VLAN session.
  • client terminals can communicate with each other as a VLAN device using the virtual address and the VLAN session via the WAN 4.
  • Client terminals registered in the relay server information can remotely log in via another relay server different from the connected relay server as long as they are relay servers that constitute the same relay group. Therefore, the VLAN client terminal may log in via a different relay server when the VLAN group information is created and when the VLAN group is activated. The state in which the client terminal is logged in via another relay server is shared between the relay server and the client terminal activated in the same relay group by sharing the relay server information.
  • the VLAN group information updating unit 235 of the client terminal that has received the selection of the VLAN group to be activated updates the session information to the session information including the relay server that has accepted the remote login. Then, the VLAN group information update unit 235 shares the updated VLAN group information between the VLAN client terminal and the relay server to which the VLAN client terminal is connected.
  • the first relay group includes a fourth relay server to which no VLAN client terminal is connected in addition to the first relay server A, the second relay server B, and the third relay server C.
  • the shared session information includes the fourth Relay server identification information is not included.
  • the VLAN group information update unit 235 adds the identification information of the fourth relay server to the hub information of the session information. Further, the VLAN group information update unit 235 creates route information between the fourth relay server and another relay server to which the VLAN device is connected, and updates the session information of the VLAN group information. Then, the updated VLAN group information is transmitted to the VLAN device and the relay server to which the VLAN device is connected.
  • the present invention can be widely applied to a relay communication system having a plurality of relay servers that can communicate with each other, a plurality of client terminals, and a LAN that connects the client terminals to the relay server, and a relay server used therefor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

互いに通信可能な複数の中継サーバを有する中継通信システムを構築する上で、仮想ネットワークを動的に作成する。中継通信システムにおいてVLANグループを構成するVLANクライアント端末間でVLANグループ情報を共有させる。VLANグループ情報に基づきVLANクライアント端末のうち起動可能なVLANデバイス間においてVLANセッションを確立し、さらにVLANグループを起動する際に作成した仮想アドレス情報をVLANデバイス間で共有する処理を行う。VLANデバイスは、付与された仮想アドレスをVLANデバイスのVLANインターフェースに設定し、仮想アドレスおよびVLANセッションを利用して他のVLANデバイスと通信を行う。

Description

中継通信システムおよび中継サーバ
 本発明は、互いに通信可能な複数の中継サーバと、複数のクライアント端末と、クライアント端末を中継サーバに接続するLANとを有する中継通信システムに関し、さらに中継通信システムに用いられる中継サーバに関する。
 遠隔のLANに接続されるクライアント端末が、WANを超えて通信することがある。VPN(Virtual Private Network)は、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。しかし、VPNは、拡張性および柔軟性のあるネットワークを構築することが困難である。
 特許文献1が開示する中継通信システムは、VPNと同様に、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。また、中継通信システムは、VPNと異なり、拡張性および柔軟性のあるネットワークを構築することが容易である。
特開2008-129991号公報
 特許文献1が開示する中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。しかし、特許文献1では、クライアント端末および中継サーバが通信先を指定するにあたり、装置の増減状態および接続状態をリアルタイムに確認する具体的な手段は開示されていない。また、クライアント端末および中継サーバ間における仮想ネットワークを動的に構築するための具体的な手段は開示されていない。
 本発明の目的は、互いに通信可能な複数の中継サーバを有する中継通信システムを構築する上で、仮想ネットワークを動的に作成することである。
 以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
 本発明の一見地に係る中継通信システムは、第1ネットワークと、第2ネットワークと、第1ネットワークに接続される第1中継サーバと、第2ネットワークに接続され、第3ネットワークを介して第1中継サーバと通信可能な第2中継サーバと、第1中継サーバと第1ネットワークを介して接続されるクライアント端末と、第2中継サーバと第2ネットワークを介して接続されるクライアント端末と、を備える。
第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末は、中継グループ情報格納部と、中継サーバ情報格納部と、情報共有部と、VLANグループ情報制御部と、を有する。中継グループ情報格納部には、第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末が中継グループを構成することを示す中継グループ情報が格納される。中継サーバ情報格納部には、第1中継サーバの起動情報と、第2中継サーバの起動情報と、第1中継サーバに接続されるクライアント端末の起動・登録情報と、第2中継サーバに接続されるクライアント端末の起動・登録情報と、を含む中継サーバ情報が格納される。情報共有部は、中継グループ情報および中継サーバ情報を、第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末の間で共有させる。VLANグループ情報制御部は、第1中継サーバに接続されたクライアント端末および第2中継サーバに接続されたクライアント端末のうち二以上のクライアント端末である中継グループにおいてVLANグループを構成するVLANクライアント端末間でVLANグループ情報を共有させる。VLANグループ情報は、VLANクライアント端末が接続された第1中継サーバの識別情報および第2中継サーバの識別情報を含むハブ情報と、第1中継サーバおよび第2中継サーバ間で確立されるセッションの接続側と被接続側を示すセッション情報と、VLANクライアント端末を識別する識別情報とを含む。
 第1中継サーバおよび第2中継サーバは、起動コマンド制御部と、VLANセッション制御部とをさらに有する。起動コマンド制御部は、VLANグループの起動指示を受信した場合に起動可能なVLANクライアント端末としてのVLANデバイスのアドレス情報を含む応答信号を送信する。VLANセッション制御部は、セッション情報に基づき第1中継サーバと第2中継サーバとの間にVLANセッションとしてのハブセッションを確立し、第1中継サーバまたは第2中継サーバに接続されたVLANデバイスとの間にVLANセッションとしてのデバイスセッションを確立する。
 第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末は、応答信号に基づきVLANデバイスそれぞれに対して付与される仮想アドレスを含む仮想アドレス情報を作成し、仮想アドレス情報をVLANデバイスに送信する仮想アドレス制御部をさらに有する。
 ここで、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末は、VLANデバイスである場合に、付与された仮想アドレスをクライアント端末のVLANインターフェースに設定し、仮想アドレス情報およびVLANセッションを利用して他のVLANデバイスと通信する。
 ここでは、VLANグループ間でVLANグループ情報を共有し、VLANデバイス間にVLANセッションを確立し、VLANグループを起動する際に作成した仮想アドレス情報をVLANデバイス間で共有する処理が行われる。また、VLANデバイスは、付与された仮想アドレスをクライアント端末のVLANインターフェースに設定する。その結果、仮想アドレス情報およびVLANセッションを利用してクライアント端末同士がVLANデバイスとして互いに通信可能となる。
 第1中継サーバおよび第2中継サーバは、VLANデバイス間の通信を制御する中継サーバ通信制御部をさらに有していてもよい。中継サーバ通信制御部は、通信パケットを受信した場合、受信した通信パケットを解析し通信パケットに仮想アドレスを含まれていれば、仮想アドレスを参照して、仮想アドレスが付与されたVLANデバイスと接続された第1中継サーバまたは第2中継サーバにハブセッションを介して通信パケットを送信する。または中継サーバ通信制御部は、仮想アドレスを参照して、デバイスセッションを介して仮想アドレスが付与されたVLANデバイスに対して通信パケットを送信する。
 第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末は、VLANクライアント端末の接続の変化に応じて、VLANグループ情報を更新するVLANグループ情報更新部をさらに有していてもよい。
 中継通信システムは、第3ネットワークを介して第1中継サーバおよび第2中継サーバと通信可能であり中継グループを構成する第3中継サーバをさらに備えていてもよい。中継グループ情報および中継サーバ情報には、さらに第3中継サーバの情報が含まれていてもよい。ここで、VLANグループ情報更新部は、VLANグループの起動指示を受信した場合にVLANクライアント端末がハブ情報に示された第1中継サーバおよび第2中継サーバとは異なる第3中継サーバに接続されていれば、VLANグループのハブ情報に第3中継サーバの識別情報を追加し、第3中継サーバを含むセッション情報を作成してVLANグループ情報を更新してもよい。
 仮想アドレスは、VLANデバイスに付与される仮想IPアドレスおよび仮想MACアドレスを含んでいてもよい。
 本発明の他の一見地に係る中継サーバは、第1ネットワークとして接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバである。中継サーバは、中継グループ情報格納部と、中継サーバ情報格納部と、情報共有部と、VLANグループ情報制御部と、起動コマンド制御部と、仮想アドレス制御部と、VLANセッション制御部と、中継サーバ通信制御部と、を備える。中継グループ情報格納部には、第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末および第2中継サーバに接続されるクライアント端末が中継グループを構成することを示す中継グループ情報が格納される。中継サーバ情報格納部には、第1中継サーバの起動情報と、第2中継サーバの起動情報と、第1中継サーバに接続されるクライアント端末の起動・登録情報と、第2中継サーバに接続されるクライアント端末の起動・登録情報と、を含む中継サーバ情報が格納される。情報共有部は、中継グループ情報および中継サーバ情報を、第1中継サーバ、第2中継サーバ、第1中継サーバに接続されるクライアント端末、および第2中継サーバに接続されるクライアント端末の間で共有させる。VLANグループ情報制御部は、第1中継サーバに接続されたクライアント端末および第2中継サーバに接続されたクライアント端末のうち二以上のクライアント端末である中継グループにおいてVLANグループを構成するVLANクライアント端末間でVLANグループ情報を共有させる。VLANグループ情報は、VLANクライアント端末が接続された第1中継サーバの識別情報および第2中継サーバの識別情報を含むハブ情報と、第1中継サーバと第2中継サーバとの間で確立されるセッションの接続側と被接続側を示すセッション情報と、VLANクライアント端末を識別する識別情報とを含む。起動コマンド制御部は、VLANグループの起動指示を受信した場合に起動可能なVLANクライアント端末としてのVLANデバイスのアドレス情報を含む応答信号を送信する。仮想アドレス制御部は、応答信号に基づき作成されたVLANデバイスそれぞれに対して付与される仮想アドレスを含む仮想アドレス情報を受信すれば、VLANデバイスに仮想アドレス情報を送信する。VLANセッション制御部は、セッション情報に基づき第1中継サーバとの間にVLANセッションとしてのハブセッションを確立し、中継サーバに接続されたVLANデバイス端末との間にVLANセッションとしてのデバイスセッションを確立する。中継サーバ通信制御部は、仮想アドレスおよびVLANセッションを利用したVLANデバイス間の通信を制御する。
 中継サーバ通信制御部は、通信パケットを受信した場合、受信した通信パケットを解析し、通信パケットが仮想アドレス情報を含んでいれば、仮想アドレスを参照して、仮想アドレスが付与されたVLANデバイスと接続された中継サーバに通信パケットをハブセッションを介して送信してもよい。または中継サーバ通信制御部は、通信パケットを受信した場合、受信した通信パケットを解析し、通信パケットが仮想アドレス情報を含んでいれば、仮想アドレスを参照して、デバイスセッションを介して仮想アドレスが付与されたVLANデバイスに対して通信パケットを送信してもよい。
 中継サーバは、VLANクライアント端末の接続の変化に応じて、VLANグループ情報を更新するVLANグループ情報更新部をさらに備えていてもよい。
 VLANグループ情報更新部は、VLANグループの起動指示を受信した場合にVLANクライアント端末がハブ情報に示された第1中継サーバおよび第2中継サーバとは異なり中継グループを構成する第3中継サーバに接続されていれば、VLANグループのハブ情報に第3中継サーバの識別情報を追加し、第3中継サーバを含むセッション情報を作成してVLANグループ情報を更新してもよい。
 仮想アドレスは、VLANデバイスに付与される仮想IPアドレスおよび仮想MACアドレスを含んでいてもよい。
 本発明に係る中継通信システムでは、互いに通信可能な複数の中継サーバを有する中継通信システムを構築する上で仮想ネットワークを動的に作成でき、仮想アドレスおよびVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる。
中継通信システムの全体構成を示す模式図。 第1中継サーバの構成を示すブロック図。 第1クライアント端末の構成を示すブロック図。 中継グループ情報の概略構成を示す図。 中継グループ情報の詳細構成を示す図。 中継サーバ情報の概略構成を示す図。 中継サーバ情報の詳細構成を示す図。 第1中継サーバに格納されたクライアント端末情報の概略構成を示す図。 第2中継サーバに格納されたクライアント端末情報の概略構成を示す図。 第3中継サーバに格納されたクライアント端末情報の概略構成を示す図。 VLANグループ情報の詳細構成を示す図。 仮想アドレス情報の詳細構成を示す図。 中継グループの構築に関わる処理の流れを示す図。 交換前の中継サーバ情報の詳細構成を示す図。 交換前の中継サーバ情報の詳細構成を示す図。 交換前の中継サーバ情報の詳細構成を示す図。 中継グループ情報および中継サーバ情報の共有に関わる処理の流れを示す図。 VLANグループ情報の作成処理を示すフローチャート。 VLANグループ情報の共有に関わる処理の流れを示す図。 クライアント端末によるVLANセッションの確立処理を示すフローチャート。 VLANデバイスのIPアドレスとMACアドレスに関する第1抽出情報の一例を示す図。 第1抽出情報に第1クライアント端末のIPアドレスおよびMACアドレスを追加した第2抽出情報の一例を示す図。 初期化コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャート。 VLANセッションの確立に関わる処理の流れの一例を示す図。
 1.本実施形態の概要
 本実施形態における中継通信システムでは、ハブと同様の機能を実現する複数の中継サーバを介して、クライアント端末同士がWANを超えて互いに通信可能となる。
 2.中継通信システムの全体構成
 以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、中継通信システムの全体構成を示す。中継通信システムは、第1LAN1と、第2LAN2と、第3LAN3と、WAN4とから構成される。第1LAN1、第2LAN2および第3LAN3は、遠隔に構築される小規模なネットワークである。WAN4は、インターネットなどの大規模なネットワークである。
 この実施形態では、後に詳細に説明するが、第1LAN1の第1中継サーバAと、第2LAN2の第2中継サーバBと、第3LAN3の第3中継サーバCとが、中継グループとしての第1中継グループを構成している。
 第1LAN1は、第4LAN6と第5LAN7とを有しており、第4LAN6と第5LAN7は第1汎用ルータ8により互いに接続されている。第4LAN6では、第1中継サーバAと、第1クライアント端末A1とが互いに接続されている。第5LAN7では、第2クライアント端末A2と、第2通信機器9とが互いに接続されている。
 第2LAN2は、第6LAN11と、第7LAN12と、第8LAN13とを有している。第6LAN11と第7LAN12とは第2汎用ルータ14により接続されていて、第6LAN11と第8LAN13とは第3汎用ルータ15により接続されている。第6LAN11には、第2中継サーバBが所属している。第7LAN12には、第3クライアント端末B1が接続されている。第8LAN13には、第4クライアント端末B2が接続されている。
 第3LAN3では、第3中継サーバCと第5クライアント端末C1とが互いに接続されている。
 第1クライアント端末A1、第2クライアント端末A2、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1は、例えば、パーソナルコンピュータである。また、第2通信機器9も、例えばパーソナルコンピュータである。
 第1中継サーバA、第2中継サーバBおよび第3中継サーバCは、第1クライアント端末A1、第2クライアント端末A2、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1の相互間の通信を中継する。なお、第1中継サーバA、第2中継サーバB、第3中継サーバCの相互間の通信プロトコルは特に限定されない。
 3.中継サーバの構成要素
 中継サーバは、LANだけでなくWANにも接続されており、同一のLANに接続されている各クライアント端末と通信可能であるとともに、他のLANに配置された中継サーバと通信可能になっている。そのため、各中継サーバには、プライベートIPアドレスに加えて、グローバルIPアドレスが付与されている。
 図2は、第1中継サーバAの構成要素を示す。
 第1中継サーバAは、LANインターフェース121A、WANインターフェース121B、制御部122、データベース格納部123、表示部124および操作入力部125を有する。
 LANインターフェース121Aは、プライベートIPアドレスを利用して、第1LAN1内の端末に対して通信を実行する。WANインターフェース121Bは、グローバルIPアドレスを利用して、WAN4に対して通信を実行する。
 制御部122は、例えば、制御および演算の機能を有するCPUであり、ロードされたプログラムにより各種処理を実行可能である。本実施形態の制御部122は、情報共有部131、VLANグループ情報制御部132、起動コマンド制御部133、仮想アドレス制御部134、VLANセッション制御部135、VLANグループ情報更新部136および中継サーバ通信制御部137を有する。
 情報共有部131は、後述する中継グループ情報、中継サーバ情報およびクライアント端末情報の作成および更新を行う。また、情報共有部131は、作成および更新された中継グループ情報を中継グループ内の中継サーバおよび中継サーバに接続されたクライアント端末と共有し、中継グループ情報格納部141(後述)に格納する。さらに情報共有部131は、作成および更新された中継サーバ情報を中継グループ内の中継サーバおよび中継サーバに接続されたクライアント端末と共有し、中継サーバ情報格納部142(後述)に格納する。さらに情報共有部131は、作成および更新されたクライアント端末情報を中継グループ内の中継サーバおよびクライアント端末と共有し、クライアント端末情報格納部143(後述)に格納する。
 VLANグループ情報制御部132は、後述するVLANグループ情報を、中継グループ内におけるVLANクライアント端末およびVLANクライアント端末が接続された中継サーバとの間で共有し、VLANグループ情報格納部144(後述)に格納する。VLANクライアント端末とは、中継グループ内においてVLANグループを構成するクライアント端末である。
 起動コマンド制御部133は、ユーザからVLANグループの起動指示を受け付けたクライアント端末からVLANグループの起動情報を受信した場合、VLANグループ情報から第1中継サーバAに接続されているVLANクライアント端末を抽出する。起動情報には、VLANグループの起動コマンド、起動時刻およびVLANグループ情報が含まれる。また起動コマンド制御部133は、抽出したVLANクライアント端末が起動可能かどうかを判断する。起動可能なVLANクライアント端末とは、現在ログイン中でありかつ他のVLANグループに現在参加していないクライアント端末をいう。具体的に起動コマンド制御部133は、中継サーバ情報格納部142に格納された中継サーバ情報を参照して、抽出したVLANクライアント端末がログイン中であるかどうかを判断する。さらに、起動コマンド制御部133は、後述する起動コマンドを送信して、抽出したVLANクライアント端末が起動可能かどうかを判断するが、詳細は後述する。以下、起動コマンド制御部133によって起動可能であると判断されたVLANクライアント端末をVLANデバイスという。
 VLANデバイスがあると判断した場合、起動コマンド制御部133は、VLANデバイスのIPアドレスおよびMACアドレスを含めた応答信号を、VLANグループの起動情報の送信元であるクライアント端末に送信する。VLANグループ情報の詳細は後述する。
 仮想アドレス制御部134は、仮想アドレス情報および初期化コマンドを受け取ると、第1中継サーバAに接続されたVLANデバイスに仮想アドレス情報および初期化コマンドを送信する。また、仮想アドレス制御部134は、仮想アドレス情報を仮想アドレス情報格納部145(後述)に格納する。仮想アドレス情報の詳細は後述する。初期化コマンドとは、VLANインターフェース221Bの初期化に関するコマンドである。
 VLANセッション制御部135は、VLANグループ情報を参照して、VLANデバイスが接続された他の中継サーバとの間にVLANセッションとしてのハブセッションを確立する。また、VLANセッション制御部135は、VLANグループ情報を参照して、第1中継サーバAに接続されたVLANデバイスとの間にVLANセッションとしてのデバイスセッションを確立する。ハブセッションとは、VLANデバイスが接続された中継サーバ間におけるセッションである。デバイスセッションとは、VLANデバイスとVLANデバイスが接続された中継サーバとの間におけるセッションである。 
 VLANグループ情報更新部136は、VLANグループ情報に変更があった場合に、更新されたVLANグループ情報を、VLANクライアント端末およびVLANクライアント端末が接続されている中継サーバとの間で共有させる。
 中継サーバ通信制御部137は、LANインターフェース121AおよびWANインターフェース121Bを介して行う様々な通信を制御する処理部であり、TCP/IP、UDPまたはSIPなどのプロトコルに従った様々な通信処理を制御する。また中継サーバ通信制御部137は、仮想アドレス情報およびVLANセッションを利用したVLANデバイス間の通信を制御する。具体的には、中継サーバ通信制御部137は、第1中継サーバAに接続されているクライアント端末からLANインターフェース121Aを介して受信した通信パケットを解析する。そして、通信パケットに仮想アドレスが含まれていれば、仮想アドレスを参照し、ハブセッションを介して他の中継サーバに通信パケットを送信する。また、中継サーバ通信制御部137は、他の中継サーバからWANインターフェース121Bを介して通信パケットを受信した場合、受信した通信パケットを解析する。そして、通信パケットに仮想アドレスが含まれていれば、中継サーバ通信制御部137は、仮想アドレスが割り当てられている第1中継サーバA配下のクライアント端末のVLANインターフェース(後述)に対してデバイスセッションを介して通信パケットを送信する。一方、仮想アドレスが含まれていなければ、中継サーバ通信制御部137は、第1中継サーバA配下のクライアント端末のLANインターフェース(後述)に対して通信パケットを送信する。
 データベース格納部123は、例えば、ハードディスクまたは不揮発RAMであり、各種データを保存可能である。データベース格納部123は、中継グループ情報格納部141、中継サーバ情報格納部142、クライアント端末情報格納部143、VLANグループ情報格納部144および仮想アドレス情報格納部145を有する。中継グループ情報格納部141、中継サーバ情報格納部142、クライアント端末情報格納部143、VLANグループ情報格納部144および仮想アドレス情報格納部145に格納される情報の詳細は後述する。
 また、第2中継サーバBおよび第3中継サーバCの構成要素は第1中継サーバAと同様であるので説明を省略する。
 4.クライアント端末の構成要素
 クライアント端末は、ユーザが直接操作できる端末である。クライアント端末は、例えば、ユーザによって日々の業務に利用されるパーソナルコンピュータである。各クライアント端末には、同一のLAN内でユニークに管理されたプライベートIPアドレスが付与される。
 図3は、第1クライアント端末A1の構成要素を示す。第1クライアント端末A1は、LANインターフェース221A、VLANインターフェース221B、制御部222、データベース格納部223、表示部224および操作入力部225を有している。
 LANインターフェース221Aは、プライベートIPアドレスを利用して、第1LAN1内の第1中継サーバAおよび他の端末に対して通信を実行することができる。
 VLANインターフェース221Bは、後述する仮想IPアドレスおよびデバイスセッションを利用して、第1中継サーバAを介して第1中継グループ内の他の端末に対して通信を実行することができる。
 制御部222は、例えば、制御および演算の機能を有するCPUであり、ロードされたプログラムにより各種処理を実行可能である。本実施形態の制御部222は、情報共有部231、VLANグループ情報制御部232、起動コマンド制御部233、仮想アドレス制御部234、VLANグループ情報更新部235、IPパケット処理部236、VLANセッション制御部237およびクライアント通信制御部238を有する。
 情報共有部231は、中継グループ情報を中継グループ内の中継サーバおよび中継サーバに接続されたクライアント端末と共有し、中継グループ情報格納部241(後述)に格納する。さらに情報共有部231は、中継サーバ情報を中継グループ内の中継サーバおよび中継サーバに接続されたクライアント端末と共有し、中継サーバ情報格納部242(後述)に格納する。さらに、情報共有部131は、クライアント端末情報を中継グループ内の中継サーバおよびクライアント端末と共有し、クライアント端末情報格納部243(後述)に格納する。
 VLANグループ情報制御部232は、中継グループ内のVLANクライアント端末とVLANクライアント端末が接続された中継サーバとの間でVLANグループ情報を共有し、VLANグループ情報格納部244(後述)に格納する。またVLANグループ情報制御部232は、VLANグループ情報を作成するVLANグループ情報作成部232aを有し、作成したVLANグループ情報をVLANクライアント端末に送信する。
 起動コマンド制御部233は、VLANグループの起動処理を行う。具体的には、起動コマンド制御部233は、起動するVLANグループの選択をユーザから受け付けると、VLANクライアント端末に接続された中継サーバのうち起動している中継サーバに対して起動コマンドを送信する。起動コマンドは、VLANグループの起動を通知するコマンドであって、起動時刻およびVLANグループのVLANグループ情報と共に送信される。ここで起動コマンド制御部233は、中継サーバ情報格納部242に格納された中継サーバ情報を参照して、抽出した中継サーバが起動可能かどうかを判断する。
 また、起動コマンド制御部233は、起動コマンドに対応した応答信号を中継サーバから受信すれば、応答信号からVLANデバイスのIPアドレスとMACアドレスを抽出する。
 仮想アドレス制御部234は、VLANデバイスのIPアドレスおよびMACアドレスを含めた応答信号を受信した場合に仮想アドレス情報を作成する仮想アドレス作成部234aを有し、作成した仮想アドレス情報を第1クライアント端末A1が接続された中継サーバに送信する。また仮想アドレス制御部234は、仮想アドレス情報および初期化コマンドを受信した場合、受信した仮想アドレス情報を仮想アドレス情報格納部245に格納する。
 VLANグループ情報更新部235は、VLANグループ情報に変更があった場合に、更新されたVLANグループ情報をVLANクライアント端末およびVLANクライアント端末が接続されている中継サーバとの間で共有する。
 IPパケット処理部236は、LANインターフェース221Aから受信した通信パケットをクライアント通信制御部238へ出力する。また、IPパケット処理部236は、VLANインターフェース221Bを介して仮想アドレスを含む通信パケットを受信した場合、VLANセッション制御部237に出力する。
 VLANセッション制御部237は、仮想アドレスを含む通信パケットを処理し、デバイスセッションをVLANセッションとして機能させる。VLANセッション制御部237は、VLANセッションを利用して仮想アドレスを含む通信パケットを送信する場合には、通信パケットをVLANインターフェース221Bを介して送信する。
 クライアント通信制御部238は、VLANセッション以外の通信パケットを処理し、LANインターフェース221Aを介して行うTCP/IP、UDPまたはSIPなどのプロトコルに従った様々な通信を制御する。
 データベース格納部223は、例えば、ハードディスクまたは不揮発RAMであり、各種データを保存可能である。データベース格納部223は、中継グループ情報格納部241、中継サーバ情報格納部242、クライアント端末情報格納部243、VLANグループ情報格納部244および仮想アドレス情報格納部245を有する。中継グループ情報格納部241と、中継サーバ情報格納部242と、クライアント端末情報格納部243と、VLANグループ情報格納部244と、仮想アドレス情報格納部245とに格納される情報の詳細は後述する。
 また、第2クライアント端末A2、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1は、第1クライアント端末A1と同様であるので説明を省略する。
 5.中継グループ情報
 図4は、中継グループ情報20の概略構成を示す。中継グループ情報20は、中継通信システムにおける各中継グループの概要を示す情報であって、中継サーバの中継グループ情報格納部141およびクライアント端末の中継グループ情報格納部241に格納される。図4は、第1中継グループが、第1中継サーバAと、第2中継サーバBと、第3中継サーバCとから構成されていることを示す。
 図5は、中継グループ情報20の詳細構成を示す。中継グループ情報20は、上位情報201、下位情報202から構成される。
 上位情報201は、第1中継グループ自体についての情報である。「group id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。
 下位情報202は、第1中継サーバA、第2中継サーバB、第3中継サーバCについての情報である。「site id」は、各中継サーバの識別情報を示す。
 中継グループ情報20は、第1中継サーバAと、第2中継サーバBと、第3中継サーバCとの間で共有されて、各中継サーバの中継グループ情報格納部141に格納される。さらに、中継グループ情報20は、中継サーバとクライアント端末との間でも共有され、各クライアント端末の中継グループ情報格納部241に格納される。
 6.中継サーバ情報
 図6は、中継サーバ情報30の概略構成を示す。中継サーバ情報30は、中継通信システムを構成する中継サーバおよびクライアント端末の概要を示す情報であって、中継サーバの中継サーバ情報格納部142およびクライアント端末の中継サーバ情報格納部242に格納される。
 図6に示すように、第1中継サーバAには、第1クライアント端末A1および第2クライアント端末A2が接続されている。第2中継サーバBには、第3クライアント端末B1および第4クライアント端末B2が接続されている。第3中継サーバCには、第5クライアント端末C1が接続されている。
 図7は、中継サーバ情報30の詳細構成を示す。中継サーバ情報30は、上位情報301-1、301-2、301-3および下位情報302-1、302-2、302-3から構成される。
 上位情報301-1、301-2、301-3は、中継サーバについての情報である。「site id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。「stat」は、中継サーバが起動しているか否かについての情報を示す。
 下位情報302-1、302-2、302-3は、クライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「site」は、クライアント端末がログオンしている場合にログオン先の中継サーバの識別情報を示す。
 中継サーバ情報30は、第1中継サーバA、第2中継サーバB、第3中継サーバC間で共有され、各中継サーバの中継サーバ情報格納部142において格納される。また、中継サーバ情報30は、中継サーバおよびクライアント端末間で共有され、各クライアント端末の中継サーバ情報格納部242に格納される。
 中継サーバが起動しているときには、上位情報301-1、301-2、301-3の「stat」が「active」になっている。中継サーバが起動していないときには、「stat」が空欄になっている。これにより、中継サーバが起動しているか否かについての情報が、中継通信システム全体として共有される。
 クライアント端末が中継サーバにログオンしているときには、下位情報302-1、302-2、302-3の「site」にクライアント端末のログオン先の中継サーバの識別情報が記載されている。クライアント端末が中継サーバにログオンしていないときには、「site」は空欄になっている。これにより、クライアント端末が中継サーバにログオンしているか否かについての情報が、中継通信システム全体として共有される。
 7.クライアント端末情報
 図8、図9および図10は、クライアント端末情報の具体例として、クライアント端末情報40、50、60をそれぞれ示す。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報であって、中継サーバのクライアント端末情報格納部143およびクライアント端末のクライアント端末情報格納部243に格納される。
 「addr」は、クライアント端末のアドレス情報であり、具体的にはクライアント端末のIPアドレスを示す。「div」は、クライアント端末の部署名を示す。「expr」は、クライアント端末の有効期限情報であり、具体的にはクライアント端末のレジスト有効期限を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。「port」は、クライアント端末ポート情報であり、具体的にはクライアント端末のポート番号を示す。
 クライアント端末情報40、50、60は、中継グループ内の中継サーバとクライアント端末との間で共有され、各中継サーバのクライアント端末情報格納部143および各クライアント端末のクライアント端末情報格納部243に格納される。
 8.VLANグループ情報
 VLANグループ情報とは、VLANグループを構成するVLANクライアント端末の情報と、VLANクライアント端末が接続された中継サーバの情報と、中継サーバ間のセッション情報とが含まれた情報である。
 図11は、VLANグループ情報70の詳細構成を示す。VLANグループ情報70は、グループ情報71、VLANクライアント端末情報72およびセッション情報73を含む。
 グループ情報71は、VLANグループに関する情報である。グループ情報71において、「group」は、VLANグループが構成される中継グループの識別情報である。「id」は、VLANグループの識別情報を示す。「lastmod」は、VLANグループ情報の最新更新時刻を示す。「name」は、VLANグループの名称を示す。
 VLANクライアント端末情報72は、VLANグループを構成するVLANクライアント端末に関する情報である。「dev id」とは、VLANクライアント端末の識別情報を示す。この例では、第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1がVLANクライアント端末である。
 セッション情報73には、ハブ情報および経路情報が含まれる。ハブ情報とは、VLANクライアント端末が接続された中継サーバの識別情報である。経路情報とは、中継サーバ間の通信経路を定義した情報であって、「sp」および「ep」が含まれる。「sp」とは、接続経路のスタートポイントであり、「sp」に示される中継サーバは、接続経路の接続側となる。「ep」とは、接続経路のエンドポイントであり、「ep」に示される中継サーバは、接続経路の被接続側となる。
 この例では、ハブ情報として第1中継サーバA、第2中継サーバBおよび第3中継サーバの識別情報が含まれる。また、経路情報として、スタートポイントが第1中継サーバAであり、エンドポイントが第2中継サーバBであるセッションが定義されている。さらに、スタートポイントが第1中継サーバAでありエンドポイントが第3中継サーバCであるセッションと、スタートポイントが第2中継サーバBでありエンドポイントが第3中継サーバCであるセッションとが定義されている。このように、セッション情報73において中継サーバ間の通信経路のスタートポイントとエンドポイントとを定義することで、中継サーバ間の通信経路が重複することが防げられている。
 VLANグループ情報70は、VLANクライアント端末およびVLANクライアント端末が接続された中継サーバ間で共有され、各VLANクライアント端末のVLANグループ情報格納部244および各中継サーバのVLANグループ情報格納部144に格納される。一方、VLANグループ情報70は、VLANクライアント端末間のみで共有されてもよい。
 以下の本実施形態では、VLANグループ情報70がVLANクライアント端末間で共有され、各VLANクライアント端末のVLANグループ情報格納部244に格納される例を挙げる。VLANグループ情報70の作成および共有に関する処理は、後に詳述する。
 9.仮想アドレス情報
 仮想アドレス情報は、VLANグループのクライアント端末として起動可能なVLANデバイスの識別情報、仮想IPアドレスおよび仮想MACアドレスから構成された情報である。仮想アドレス情報は、VLANデバイスの仮想アドレス情報格納部245に格納される。また、仮想アドレス情報は、中継サーバの仮想アドレス情報格納部145に格納されてもよい。
 図12は、仮想アドレス情報80の詳細構成を示す。仮想アドレス情報80には、VLANデバイスの識別情報、仮想IPアドレスおよび仮想MACアドレスが対応付けられる。仮想IPアドレスおよび仮想MACアドレスは、VLANデバイスが実際に使用しているIPアドレスおよびMACアドレスと重複しないように付与される。また、仮想IPアドレスおよび仮想MACアドレスは、VLANグループ内でそれぞれ同士が重複しないように付与される。
 この例における仮想アドレス情報80では、VLANデバイスとしての第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1に関する識別情報、仮想IPアドレスおよび仮想MACアドレスが対応付けられている。
 後述するように、VLANデバイス間で仮想アドレス情報80が共有されることにより、異なるLANに所属するクライアント端末同士がVLANデバイスとして通信可能になる。仮想アドレス情報80の作成および共有に関する処理は、後に詳述する。
 10.初期設定
 図13のシーケンス図を用いて、第1中継グループの初期設定について説明する。具体的には、図13は、中継グループ情報、中継サーバ情報およびクライアント端末情報の作成に関連する処理の流れを示す。
 10.1. アカウントの作成
 第1中継サーバAの管理者は、第1クライアント端末A1および第2クライアント端末A2のユーザに対して、アカウントを作成する(ステップS1、ステップS2:Create_Account())。第2中継サーバBの管理者は、第3クライアント端末B1および第4クライアント端末B2のユーザに対して、アカウントを作成する(ステップS3、ステップS4:Create_Account())。第3中継サーバCの管理者は、第5クライアント端末C1のユーザに対して、アカウントを作成する(ステップS5:Create_Account())。
 以上の処理において、第1中継サーバAは、中継サーバ情報を作成し保存する。第2中継サーバBは、中継サーバ情報を作成し保存する。第3中継サーバCは、中継サーバ情報を作成し保存する。また、第1中継サーバAはクライアント端末情報を作成して格納し、第2中継サーバBはクライアント端末情報を作成して格納し、第3中継サーバCはクライアント端末情報を作成して格納する。
 図14、図15および図16は、中継サーバ情報31-1、中継サーバ情報31-2および中継サーバ情報31-3をそれぞれ示す。中継サーバ情報31-1は、第1中継サーバAが作成し保存する情報である。中継サーバ情報31-2は、第2中継サーバBが作成し保存する情報である。中継サーバ情報31-3は、第3中継サーバCが作成し保存する情報である。
 図14は、中継サーバ情報31-1を示す。上位情報311-1は、第1中継サーバAについての情報である。「site id」として、「serverA@trial.net」が設定されている。「name」として、「ServerA」が設定されている。「stat」として、「active」が設定されている。
 下位情報312-1は、第1クライアント端末A1および第2クライアント端末A2についての情報である。
 第1クライアント端末A1についての情報は以下の通りである。「div」として、「dev」が設定されている。「group」として、「1279671471393.clientA1.rd.002@trial.net」が設定されている。「id」として、「clientA1.rd.002@ServerA.trial.net」が設定されている。「name」として、「clientA1」が設定されている。なお、図14において「site」は、「serverA.trial.net」が設定されており、第1クライアント端末A1のユーザは第1中継サーバAにログオンしていることになっているが、実際は図13のステップS1~S5の段階では「site」は空欄になっている。
 第2クライアント端末A2についての情報は以下の通りである。「div」として、「dev」が設定されている。「group」として、「1279671471393.clientA1.rd.002@trial.net」が設定されている。「id」として、「clientA2.rd.002@serverA.trial.net」が設定されている。「name」として、「clientA2」が設定されている。なお、「site」の表記は、第1クライアント端末A1の場合と同様である。
 中継サーバ情報31-2および中継サーバ情報31-3の内容は、中継サーバ情報31-1の内容と同様であるので、説明を省略する。
 10.2 中継グループ情報の作成
 中継グループ情報、中継サーバ情報、クライアント端末情報の作成に関連する処理の流れを再び図13を参照して説明する。図13において、第1中継サーバAは、第2中継サーバBに対して、中継通信システムのグループ構築を要求する(ステップS6:Set_Group())。第1中継サーバAおよび第2中継サーバBは、中継グループ情報を作成して格納する。次に、第1中継サーバAは、第2中継サーバBに対して中継サーバ情報の交換を要求する(ステップS7:Exchange(db))。これにより、第1中継サーバAは第2中継サーバに対して中継サーバ情報を送信し、第2中継サーバBは第1中継サーバAに対して中継サーバ情報を送信する。第1中継サーバAおよび第2中継サーバBは、中継サーバ情報を合成して新たな中継サーバ情報として、それを保存する。なお、図示していないが、ステップS6およびステップS7と同様の処理は、第1中継サーバAと第3中継サーバCとの間でも実行され、さらに、第2中継サーバBと第3中継サーバCとの間でも実行される。その結果、第1中継サーバA、第2中継サーバBおよび第3中継サーバCの間で共通の中継サーバ情報が保有される。
 10.3 ログオン動作時における中継サーバ情報の更新
 第2クライアント端末A2のユーザは、第2クライアント端末A2の識別情報とパスワードを入力して、第1中継サーバAにログオンする(ステップS8:Register)。第1中継サーバAは、クライアント端末情報を参照して、第2クライアント端末A2のユーザ認証を行う。第1中継サーバAは、クライアント端末情報を更新する。
 続いて、第2クライアント端末A2は、第1中継サーバAに対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS9:Get())。第1中継サーバAは、第2クライアント端末A2に対して、中継グループ情報および中継サーバ情報を送信する。第2クライアント端末A2は、中継グループ情報および中継サーバ情報を格納する。
 第1中継サーバAは、中継サーバ情報を参照し、第2中継サーバBに関する「site」が「active」になっていることを確認すれば、中継サーバ情報が更新されたことを第2中継サーバBに通知すべきと判断する。そして、第1中継サーバAは、第2中継サーバBに対して、中継サーバ情報が更新されたことを通知する(ステップS10:Notify())。第2中継サーバBは、中継サーバ情報を更新し、それを格納する。なお、第1中継サーバAは、中継サーバ情報が更新されたことを、第3中継サーバCにも通知する(ステップS11:Notify())。
 第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1のユーザが各中継サーバにログオンすれば、同様にして中継サーバにおける中継サーバ情報が更新される。また、同様にして、各クライアント端末のユーザがログオフした場合にも中継サーバにおける中継サーバ情報が更新される。
 また、中継サーバ情報の更新は、ログオン中の各クライアント端末にも通知される。
 11.各情報の共有
 11.1 中継グループ情報の共有
 中継グループの情報が変更された場合の共有処理について、図17を参照して説明する。図17は、中継グループ情報および中継サーバ情報の共有に関わる処理の流れを示す図である。
 図17において、第1中継グループに変更が生じると、例えば、第1中継サーバAは、第2中継サーバBに対して、変更された中継グループ情報を送信する(ステップS21:Set_Group(中継グループ情報))。すると、第2中継サーバBは、第3クライアント端末B1と第4クライアント端末B2に中継グループ情報を送信する(ステップS21.1およびステップS21.2:Set_Group(中継グループ情報))。第3クライアント端末B1および第4クライアント端末B2からそれぞれOKが返ってくると、第2中継サーバBは第1中継サーバAにOKを返す。
 さらに、第1中継サーバAは、変更された中継グループ情報を第2クライアント端末A2に送信する(ステップS22:Set_Group(中継グループ情報))。第2クライアント端末A2は第1中継サーバAにOKを返す。第1中継サーバAは、変更された中継グループ情報を第1クライアント端末A1に送信する(ステップS23:Set_Group(中継グループ情報))。第1クライアント端末A1は第1中継サーバAにOKを返す。
 第1中継サーバAは、第3中継サーバCに対して、変更された中継グループ情報を送信する(ステップS21.3:Set_Group(中継グループ情報))。すると、第3中継サーバCは、第5クライアント端末C1に中継グループ情報を送信する(ステップS21.3.1:Set_Group(中継グループ情報))。第5クライアント端末C1からOKが返ってくると、第3中継サーバCは第1中継サーバAにOKを返す。
 以上の処理により、全ての中継サーバおよびクライアント端末が中継グループ情報を共有する。
 11.2 中継サーバ情報の共有
 中継サーバ情報の共有について再び図17を参照して説明する。この例では、共有のための処理は、イベント通知のフレームワークを用いる。イベント通知において、購読者はリソースの状態通知を要求するエージェントであり、通知者はリソースの状態を通知するエージェントである。購読期間中にリソースの状態に変化があったときには、通知者から購読者に変化が通知される。
 第1中継サーバAは、第2中継サーバBに対して、中継サーバ情報の購読を申し込む(ステップS24:Subscribe())。第2中継サーバBは、中継サーバ情報が示す状態に変更があった場合には、第2中継サーバBが保持している中継サーバ情報を更新する。そして、第2中継サーバBは、更新した中継サーバ情報を第1中継サーバAに送信する。第1中継サーバAは、第2中継サーバBから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第1中継サーバAは、中継サーバ情報が更新されたことを第1クライアント端末A1に通知し(ステップS25:Notify(中継サーバ情報))、さらに第2クライアント端末A2に通知する(ステップS26:Notify(中継サーバ情報))。
 次に、第1中継サーバAは、第3中継サーバCに対して、中継サーバ情報の購読を申し込む(ステップS27:Subscribe())。第3中継サーバCは、中継サーバ情報が示す状態に変更があった場合に、第3中継サーバCが保持している中継サーバ情報を更新する。そして、第3中継サーバCは、更新した中継サーバ情報を第1中継サーバAに送信する。第1中継サーバAは、第3中継サーバCから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第1中継サーバAは、中継サーバ情報が更新されたことを第1クライアント端末A1に通知し(ステップS28:Notify(中継サーバ情報))、さらに第2クライアント端末A2に通知する(ステップS29:Notify(中継サーバ情報))。
 第2中継サーバBは、第1中継サーバAに対して、中継サーバ情報の購読を申し込む(ステップS30:Subscribe())。第1中継サーバAは、中継サーバ情報が示す状態に変更があった場合に、第1中継サーバAが保持している中継サーバ情報を更新する。そして、第1中継サーバAは、更新した中継サーバ情報を第2中継サーバBに送信する。第2中継サーバBは、第1中継サーバAから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第2中継サーバBは、中継サーバ情報が更新されたことを第3クライアント端末B1に通知し(ステップS31:Notify(中継サーバ情報))、さらに第4クライアント端末B2に通知する(ステップS32:Notify(中継サーバ情報))。
 第2中継サーバBは、第3中継サーバCに対して、中継サーバ情報の購読を申し込む(ステップS33:Subscribe())。第3中継サーバCは、中継サーバ情報が示す状態に変更があった場合に、第3中継サーバCが保持している中継サーバ情報を更新する。そして、第3中継サーバCは、更新した中継サーバ情報を第2中継サーバBに送信する。第2中継サーバBは、第3中継サーバCから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第2中継サーバBは、中継サーバ情報が更新されたことを第3クライアント端末B1に通知し(ステップS34:Notify(中継サーバ情報))、さらに第4クライアント端末B2に通知する(ステップS35:Notify(中継サーバ情報))。
 第3中継サーバCは、第2中継サーバBに対して、中継サーバ情報の購読を申し込む(ステップS36:Subscribe())。第2中継サーバBは、中継サーバ情報が示す状態に変更があった場合に、第2中継サーバBが保持している中継サーバ情報を更新する。そして、第2中継サーバBは、更新した中継サーバ情報を第3中継サーバCに送信する。第3中継サーバCは、第2中継サーバBから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第3中継サーバCは、中継サーバ情報が更新されたことを第5クライアント端末C1に通知する(ステップS37:Notify(中継サーバ情報))。
 第3中継サーバCは、第1中継サーバAに対して、中継サーバ情報の購読を申し込む(ステップS38:Subscribe())。第1中継サーバAは、中継サーバ情報が示す状態に変更があった場合に、第1中継サーバAが保持している中継サーバ情報を更新する。そして、第1中継サーバAは、更新した中継サーバ情報を第3中継サーバCに送信する。第3中継サーバCは、第1中継サーバAから送信されてきた中継サーバ情報を利用して、中継サーバ情報を更新する。第3中継サーバCは、中継サーバ情報が更新されたことを第5クライアント端末C1に通知する(ステップS39:Notify(中継サーバ情報))。
 以上の処理により、第1中継サーバA、第2中継サーバBおよび第3中継サーバCは、中継サーバ情報が更新された場合にも、直ちに更新された中継サーバ情報を共有する。従って、第1中継サーバA、第2中継サーバBおよび第3中継サーバCは、他の中継サーバの起動状態、中継サーバに接続されているクライアント端末の種類およびログオン状態を常に知ることができる。
 11.3 情報共有のまとめ
 中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化した場合には、一の中継サーバは、状態変化を認識したときには、その内容に応じて、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
 そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
 しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
 これにより、LANおよびクライアント端末の増減状態および接続状態についての情報は、中継通信システム全体としてリアルタイムに共有される。
 12.中継通信システムにおけるデータの送受信
 上記のように中継通信システムにおいてLANおよびクライアント端末の増減状態および接続状態についての情報が共有された後に、クライアント端末を使用するユーザが他のクライアント端末を指定して通信するときには、以下のようにデータが送受信される。
 具体的にクライアント端末は、指定先のクライアント情報のクライアント端末情報と送信したいデータとを含む通信パケットを、クライアント端末が接続された中継サーバに送信する。通信パケットを受信した中継サーバは、中継サーバ情報を参照し、指定されたクライアント端末が中継グループ内のどの中継サーバに配下にあるかを確認する。また、中継サーバは、指定されたクライアント端末を配下におく中継サーバが起動状態であるかどうか、および指定されたクライアント端末がログオン状態であるかどうかを確認する。具体的には、中継サーバ情報の上位情報「stat」が「active」に設定されていることを確認することによって、中継サーバが起動状態にあるかどうか判断できる。また、中継サーバ情報の下位情報「site」にクライアント端末のログオン先の中継サーバの識別情報が記載されているかどうかを確認することによって、クライアント端末がログオン状態にあるかどうか判断する。
 中継サーバの起動状態およびクライアント端末のログオン状態が確認できると、指定されたクライアント端末を配下におく中継サーバに対して受信した通信パケットが送信される。また、通信パケットを受信した中継サーバは、中継サーバの配下にある指定されたクライアント端末に対して通信パケットを送信する。
 13.VLANグループ情報の作成および共有
 次に、VLANグループ情報の作成および共有について、図18を参照して説明する。図18は、VLANグループ情報の作成処理を示すフローチャートである。以下では、第1中継グループ内で、LANおよびクライアント端末の増減状態および接続状態についての情報が共有された状態で(図17参照)、第1クライアント端末A1がVLANグループ情報を作成する例を挙げる。また、この例では、第1中継グループにおける第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1がVLANクライアント端末として選択される。
 13.1 VLANグループ情報の作成
 まず、第1クライアント端末A1のVLANグループ情報制御部232のVLANグループ情報作成部232aは、ユーザから中継グループの選択を受け付ける(ステップS101)。例えば、ユーザは、中継グループ情報格納部241に格納された中継グループ情報を参照して第1クライアント端末A1が備える表示部224および操作入力部225を介して中継グループを選択する。この例では、第1中継グループが中継グループとして選択される。
 VLANグループ情報作成部232aは、第1中継グループの選択を受け付けると、中継サーバ情報格納部242に格納された中継サーバ情報を参照して第1中継グループの識別情報を抽出する。なお、ここで中継サーバ情報の代わりに、中継グループ情報が参照されてもよい。
 第1中継グループの選択を受け付けると、VLANグループ情報作成部232aは、中継サーバ情報を参照し、第1中継グループを構成するクライアント端末の一覧を表示部224に表示する(ステップS102)。その後VLANグループ情報作成部232aは、操作入力部225を介してユーザからVLANクライアント端末の選択を受け付ける(ステップS103)。このとき、VLANグループ情報作成部232aは、中継サーバ情報を参照して、選択を受け付けたVLANクライアント端末の識別情報を抽出する。
 VLANグループ情報作成部232aは、VLANクライアント端末の選択を受け付けた後、セッション情報を作成する(ステップS104)。具体的には、VLANグループ情報作成部232aは、ハブセッションを確立するための中継サーバ間の経路構成を決定して、セッション情報を作成する。
 例えば、VLANグループ情報作成部232aは、第1中継サーバAと第2中継サーバBとのセッションに関して、第1中継サーバAを接続側、第2中継サーバBを被接続側と決定する。そして、VLANグループ情報作成部232aは、「sp」に第1中継サーバAの識別番号を入力し、「ep」に第1中継サーバBの識別番号を入力する。なお、VLANグループ情報作成部232aによって作成されたセッション情報は、操作入力部225等を介してユーザによって修正されてもよい。
 セッション情報を作成した後、VLANグループ情報作成部232aは、VLANグループを識別する識別情報を作成する(ステップS105)。その後、VLANグループ情報作成部232aは、作成したVLANグループの識別情報と、VLANクライアント端末の識別情報と、セッション情報とを含むVLANグループ情報をVLANグループ情報格納部244に格納する(ステップS106)。
 この処理で作成されたVLANグループ情報の一例が、図11で示すVLANグループ情報70である。前述のとおり、VLANグループ情報70には、グループ情報71と、VLANクライアント端末情報72と、セッション情報73とが含まれる。具体的にグループ情報71は、第1中継グループの識別情報として「1279671471393.clientA1.rd.002@trial.net」を有する。また、VLANグループ識別情報として「1279672104671.clientA1.rd.002@trial.net」、およびVLANグループの名称として「vlangroup1」を有する。以下、VLANグループ情報70が示すVLANグループを、第1VLANグループという。
 また、VLANクライアント端末情報72には、ユーザによって選択された第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1それぞれの識別情報が示される。
 さらに、セッション情報73は、「sp」が第1中継サーバAであり「ep」が第2中継サーバBであるセッション情報を有する。また、セッション情報73は、「sp」が第1中継サーバAであり「ep」が第3中継サーバCであるセッション情報、および「sp」が第2中継サーバBであり「ep」が第3中継サーバCであるセッション情報を有する。
 上記のように作成されたVLANグループ情報70は、その後VLANクライアント端末に送信される(ステップS107)。
 13.2 VLANグループ情報の共有
 次に図19のシーケンス図を参照して、VLANクライアント端末間でVLANグループ情報70が共有される処理を説明する。図19は、VLANグループ情報の共有に関わる処理の流れを示す図である。VLANグループ情報70の共有に関わる処理は、各中継サーバのVLANグループ情報制御部132および各クライアント端末のVLANグループ情報制御部232によって制御される。
 VLANグループ情報70を作成した第1クライアント端末A1は、VLANクライアント端末である第3クライアント端末B1に対して、VLANグループ情報70を送信する。具体的には、第1クライアント端末A1は、まず第1中継サーバAに対してVLANグループ情報70を送信する(ステップS41:createVlanGroup(vlanGroup))。第1中継サーバAは、受信したVLANグループ情報70を第2中継サーバBに対して送信する(ステップS41.1:createVlanGroup(vlanGroup))。第2中継サーバBは、第3クライアント端末B1に対してVLANグループ情報70を送信する(ステップS41.1.1:createVlanGroup(vlanGroup))。VLANグループ情報70を受信すれば、第3クライアント端末B1は、受信したVLANグループ情報70をVLANグループ情報格納部244に格納し、第2中継サーバBにOKを返す。また、第2中継サーバBは、第1中継サーバAにOKを返し、第1中継サーバAは第1クライアント端末A1にOKを返す。
 次に、第1クライアント端末A1は、VLANクライアント端末である第4クライアント端末B2に対してVLANグループ情報70を送信する。具体的には、第1クライアント端末A1は、第1中継サーバAに対してVLANグループ情報70を送信する(ステップS42:createVlanGroup(vlanGroup))。第1中継サーバAは、受信したVLANグループ情報70を第2中継サーバBに対して送信する(ステップS42.1:createVlanGroup(vlanGroup))。第2中継サーバBは、受信したVLANグループ情報70を第4クライアント端末B2に対して送信する(ステップS42.1.1:createVlanGroup(vlanGroup))。VLANグループ情報70を受信すれば、第4クライアント端末B2は、受信したVLANグループ情報70をVLANグループ情報格納部244に格納し、第2中継サーバBにOKを返す。また、第2中継サーバBは、第1中継サーバAにOKを返し、第1中継サーバAは、第1クライアント端末A1にOKを返す。
 さらに、第1クライアント端末A1は、第5クライアント端末C1に対してVLANグループ情報70を送信する。具体的には、第1クライアント端末A1は、第1中継サーバAに対してVLANグループ情報70を送信する(ステップS43:createVlanGroup(vlanGroup))。第1中継サーバAは、受信したVLANグループ情報70を第3中継サーバCに対して送信する(ステップS43.1:createVlanGroup(vlanGroup))。第3中継サーバCは、受信したVLANグループ情報を第5クライアント端末C1に対して送信する(ステップS43.1.1:createVlanGroup(vlanGroup))。VLANグループ情報70を受信した第5クライアント端末C1は、受信したVLANグループ情報70をVLANグループ情報格納部244に格納し、第3中継サーバCにOKを返す。また、第3中継サーバCは、第1中継サーバAにOKを返し、第1中継サーバAは、第1クライアント端末A1にOKを返す。
 以上の処理により、VLANグループの構成するクライアント端末として選択された全てのVLANクライアント端末がVLANグループ情報70を共有する。このようにして、VLANグループ内のクライアント端末同士で行われるVLANセッションの準備が実現されたことになる。
 なお、上記の処理において、VLANグループ情報70は、VLANクライアント端末間だけでなく、VLANクライアント端末が接続された中継サーバ間においても共有されてもよい。この場合、各中継サーバは、VLANグループ情報70を受信した際に、VLANグループ情報70をVLANグループ情報格納部144に格納すればよい。
 14.クライアント端末におけるVLANセッションの確立処理およびVLAN通信開始の処理
 本実施形態の中継通信システムでは、上記の処理により作成し共有されたVLANグループ情報70に基づきVLANセッションが確立され、ハブの機能を実現する複数の中継サーバを介して、クライアント端末同士がVLANデバイスとして互いに通信可能となる。以下、VLANグループ情報の起動指示を受け付けたクライアント端末におけるVLANセッション確立処理およびVLAN通信開始の処理について、図20を参照して説明する。図20は、クライアント端末によるVLANセッションの確立処理を示すフローチャートを示す。
 VLANセッション確立の処理は、VLANグループを構成するいずれかのVLANクライアント端末またはVLANクライアント端末が接続された中継サーバが、ユーザからVLANグループの起動指示を受け付けることによって開始される。この例では、第1クライアント端末A1が、VLANグループ情報70に示される第1VLANグループに対する起動指示をユーザから受け付ける。またこの例では、第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1がVLANデバイスである。
 14.1 起動コマンドの送信および応答信号受信
 まず、第1クライアント端末A1の起動コマンド制御部233は、起動するVLANグループの選択を受け付ける(ステップS111)。具体的に起動コマンド制御部233は、表示部224にVLANグループ情報格納部244に格納されているVLANグループ情報の一覧を表示し、操作入力部225を介して起動すべきVLANグループの選択を受け付ける。この例では、VLANグループ情報70に示される第1VLANグループが選択される。
 第1VLANグループの選択を受け付けると、起動コマンド制御部233は、VLANグループ情報70から中継サーバの情報を読み出す(ステップS112)。具体的には、起動コマンド制御部233は、VLANグループ情報70のセッション情報73から、ハブの役割を果たす中継サーバの識別情報を読み出す。このとき、起動コマンド制御部233は、フィルタリング処理を介して中継サーバの識別情報が重複しないように読み出す。この例では、起動コマンド制御部233は、第1中継サーバA、第2中継サーバBおよび第3中継サーバCの識別情報を読み出す。
 次に、起動コマンド制御部233は、ステップS113~ステップS116の処理を行う。具体的には、起動コマンド制御部223は、中継サーバ情報格納部242に格納されている中継サーバ情報を参照して、読み出した中継サーバのうち、第1クライアント端末A1以外のVLANクライアント端末が接続されている中継サーバが起動しているかどうかを判断する(ステップS113)。そして、起動コマンド制御部233は、起動している中継サーバに対してステップS114~ステップS116の処理を行う。この例では、第1クライアント端末A1以外のVLANクライアント端末が接続された第2中継サーバBおよび第3中継サーバCに対してステップS114~ステップS116の処理が行われる。
 まず、起動コマンド制御部233は、中継サーバ情報格納部242に格納されている中継サーバ情報を参照して第2中継サーバBが起動しているかどうか判断する。具体的に起動コマンド制御部233は、中継サーバ情報の上位情報「stat」が「active」に設定されていることを確認することによって、第2中継サーバBが起動可能かどうかを判断する。第2中継サーバBが起動している場合には、起動コマンド制御部233は、起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を第2中継サーバBに送信する(ステップS114)。起動コマンドとは、VLANグループの起動を通知するコマンドである。なおこの時、起動情報を受信した第2中継サーバBは、VLANグループ情報70をVLANグループ情報格納部144に格納する。一方、VLANグループ情報の共有処理において、VLANクライアント端末間だけでなく第2中継サーバBおよび第3中継サーバCにおいてもVLANグループ情報70が共有されている場合には、VLANグループ情報70の送信は省略され、第1VLANグループの識別情報のみが送信されてもよい。
 次に、起動コマンド制御部233は、第2中継サーバBからの応答信号を受信する。ここで第2中継サーバBからの応答信号には、第2中継サーバBに接続されたVLANクライアント端末のうち、VLANデバイスの識別情報とIPアドレスとMACアドレスとが含まれている。第2中継サーバBによる応答信号の作成処理は後述する。
 起動コマンド制御部233は、第2中継サーバBからの応答信号を受信すれば(ステップS115でYes)、受信した応答信号から、VLANデバイスの識別情報、IPアドレスおよびMACアドレスを抽出する(ステップS116)。
 その後、起動コマンド制御部233は、中継サーバ情報を再び参照して、ステップS113~ステップS116の処理が行われるべき他の中継サーバがあるかどうか判断する(ステップS117)。他に中継サーバがある場合は(ステップS117でYes)、起動コマンド制御部233は、他の中継サーバそれぞれに対してステップS113からステップS116の処理を行う。
 以下、ステップS115において第2中継サーバBおよび第3中継サーバCから応答信号を受信した例を挙げて説明を続ける。
 図21は、VLANデバイスのIPアドレスとMACアドレスに関する第1抽出情報の一例を示す。第1抽出情報90には、ステップS116において応答信号から抽出したVLANデバイスの識別情報、IPアドレスおよびMACアドレスが含まれる。図21に示す第1抽出情報90-1は、第2中継サーバBから受信した応答信号から抽出した抽出情報であり、第1抽出情報90-2は、第3中継サーバCから受信した応答信号から抽出した抽出信号である。第1抽出情報90-1には、第2中継サーバBに接続されたVLANデバイスである第3クライアント端末B1および第4クライアント端末B2それぞれの識別情報、IPアドレスおよびMACアドレスが含まれる。第1抽出情報90-2には、第3中継サーバCに接続されたVLANデバイスである第5クライアント端末C1の識別情報、IPアドレスおよびMACアドレスが含まれる。
 なお、中継サーバが起動していないと判断した場合(ステップS113でNo)および中継サーバから応答信号を受信しなかった場合(ステップS115でNo)には、ステップS117に進む。
 14.2 仮想アドレス情報の作成および送信
 他の中継サーバがないと判断した場合(ステップS117でNo)は、次に仮想アドレス制御部234の仮想アドレス作成部234aによって仮想アドレス情報が作成される(ステップS118)。仮想アドレス情報には、各VLANデバイスに割り当てられる仮想IPアドレスおよび仮想MACアドレスが含まれる。
 仮想アドレスの作成処理について、図12および図21と、さらに図22を参照して説明する。図22は、図21の第1抽出情報に第1クライアント端末A1のIPアドレスおよびMACアドレスを追加した第2抽出情報の一例を示す。
 仮想アドレス作成部234aは、まず第1抽出情報90に、第1クライアント端末A1の識別情報、IPアドレスおよびMACアドレスを追加する。そして、仮想アドレス作成部234aは、第1クライアント端末A1およびステップS116で抽出したVLANデバイスの情報を全て合わせた第2抽出情報91を作成する。図22に示すとおり、第2抽出情報91では、第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1それぞれの識別情報、IPアドレスおよびMACアドレスが一つのテーブルにまとめられている。
 次に仮想アドレス作成部234aは、第2抽出情報91に示されるIPアドレスおよびMACアドレスに基づいて仮想アドレス情報を作成する。具体的には、仮想アドレス作成部234aは、第2抽出情報91に示されるIPアドレスと重複しないIPアドレスを仮想IPアドレスとして各VLANデバイスに割り当てる。また仮想アドレス作成部234aは、第2抽出情報91に示されるMACアドレスと重複しないMACアドレスを、仮想MACアドレスとして各VLANデバイスに割り当てる。さらに仮想アドレス作成部234aは、各VLANデバイス間で仮想IPアドレスおよび仮想MACアドレスが重複しないように、VLANデバイスに仮想IPアドレスおよび仮想MACアドレスを割り当てる。この例では、仮想IPアドレスおよび仮想MACアドレスの末尾にそれぞれ異なる数字を割り当てることにより、VLANデバイス間の仮想アドレスの重複を防ぐ。
 上記の処理により作成された仮想アドレス情報が、図12に示す仮想アドレス情報80である。この例では、識別情報「clientA1.rd.002@trial.net」によって識別される第1クライアント端末A1に対して、仮想IPアドレス「117.112.0.1」および仮想MACアドレス「00.11.22:f0.00.01」が割り当てられる。また、識別情報「clientB1.rd.002@trial.net」によって識別される第3クライアント端末B1に対して、仮想IPアドレス「117.112.0.2」および仮想MACアドレス「00.11.22:f0.00.02」が割り当てられる。識別情報「clientB2.rd.002@trial.net」によって識別される第4クライアント端末B2に対して、仮想IPアドレス「117.112.0.3」および仮想MACアドレス「00.11.22:f0.00.03」が割り当てられる。識別情報「clientC1.rd.002@trial.net」によって識別される第5クライアント端末C1に対して、仮想IPアドレス「117.112.0.4」および仮想MACアドレス「00.11.22:f0.00.04」が割り当てられる。
 14.3 VLANセッションの確立
 次に、仮想アドレス制御部234は、作成した仮想アドレス情報80を初期化コマンドと共にハブの役割を果たす中継サーバに送信する(ステップS119)。初期化コマンドとは、VLANインターフェースの初期化に関するコマンドであって、第1VLANグループの識別情報である「1279672104671.clientA1.rd.002@trial.net」が含まれる。この例では、仮想アドレス制御部234は、第1中継サーバA、第2中継サーバBおよび第3中継サーバCに対して作成した仮想アドレス情報80と初期化コマンドとを送信する。
 この時、仮想アドレス情報80と初期化コマンドを受信した第1中継サーバA、第2中継サーバBおよび第3中継サーバCは、VLANグループ情報70のセッション情報73を参照して中継サーバ間のハブセッションを確立する。中継サーバ間のハブセッションの確立については後に詳述する。
 その後VLANセッション制御部237は、第1クライアント端末A1が接続されている第1中継サーバAとの間にデバイスセッションの確立処理を行う(ステップS120)。詳細には、第1中継サーバAからのデバイスセッションの確立要求に対してOKを返すことで、デバイスセッションをVLANセッションとして機能させる。なお、この際、第2中継サーバBと第3クライアント端末B1および第4クライアント端末B2との間においてもデバイスセッションが確立される。また、第3中継サーバCと第5クライアント端末C1との間においてもデバイスセッションが確立される。
 14.4 VLAN通信の開始
 以上のとおり、VLANグループ内においてハブセッションおよびデバイスセッションを含むVLANセッションが確立されると、VLANセッション制御部237は、第1クライアント端末A1のVLANインターフェース221Bを初期化し、VLANインターフェース221Bに仮想アドレスを設定する。具体的には、VLANセッション制御部237は、第1クライアント端末A1のVLANインターフェース221Bに、仮想アドレス情報80の仮想IPアドレスおよび仮想MACアドレスを設定する(ステップS121)。このとき、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1も、第1クライアント端末A1のVLANインターフェースに、仮想アドレス情報80の仮想IPアドレスおよび仮想MACアドレスを設定する(ステップS121)。
 以上の処理により各VLANデバイスにおいて仮想アドレスが設定されると、仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS122)。
 15.中継サーバにおけるVLANセッションの確立およびVLAN通信開始の処理
 次に、VLANグループ情報の起動指示を受け付けたクライアント端末から起動情報を受信した中継サーバにおけるVLANセッション確立およびVLAN通信開始の処理について説明する。この例では、第1クライアント端末A1から起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を受信した第2中継サーバBの処理を説明する(図20のステップS114参照)。なお、第1クライアント端末A1から起動情報を受け付ける第3中継サーバCの処理については、第2中継サーバBと同様の処理であるためその説明を省略する。
 15.1 応答信号の送信
 第2中継サーバBの起動コマンド制御部133は、第1クライアント端末A1から起動コマンド、起動時刻およびVLANグループ情報70を受信した場合、VLANグループ情報70からVLANグループの識別情報を抽出する。この例では、起動コマンド制御部133は、VLANグループ情報70から「1279672104671.clientA1.rd.002@trial.net」を抽出する。そして、起動コマンド制御部133は、この識別情報を有する第1VLANグループが起動されていないことを確認したうえで、VLANグループ情報70から第2中継サーバBに接続されているVLANクライアント端末を抽出する。この例では、起動コマンド制御部133は、VLANクライアント端末として第3クライアント端末B1および第4クライアント端末B2を抽出する。
 次に起動コマンド制御部133は、第3クライアント端末B1および第4クライアント端末B2がVLANデバイスであるかどうかを判断する。VLANデバイスとは、現在ログイン中でありかつ他のVLANグループに現在参加していないクライアント端末をいう。具体的に起動コマンド制御部133は、中継サーバ情報格納部142に格納された中継サーバ情報を参照して、第3クライアント端末B1および第4クライアント端末B2がログイン中であるかどうかを判断する。また、起動コマンド制御部133は、ログイン中である第3クライアント端末B1および第4クライアント端末B2に起動コマンドを送信する。そして、第3クライアント端末B1および第4クライアント端末B2から起動コマンドに対するOK信号を受信すれば、起動コマンド制御部133は、第3クライアント端末B1および第4クライアント端末B2がVLANデバイスであると判断する。
 その後起動コマンド制御部133は、応答信号を第1クライアント端末A1へ送信する。応答信号には、第3クライアント端末B1および第4クライアント端末B2それぞれの識別情報、IPアドレスおよびMACアドレスが含まれる。ここで、起動コマンド制御部133は、ログイン中である第3クライアント端末B1および第4クライアント端末B2とはLANを介してIP通信をしている。従って、起動コマンド制御部133は、第3クライアント端末B1および第4クライアント端末B2それぞれのIPアドレスおよびMACアドレスを、第3クライアント端末B1および第4クライアント端末B2に問い合わせることを要しない。なお、応答信号を受信した第1クライアント端末A1は、受信した応答信号に基づき仮想アドレス情報80を作成する(図20のステップS115およびステップS116参照)。
 15.2 VLANセッションの確立
 次に、初期化コマンドと(図20のステップS119参照)第1クライアント端末A1が作成した仮想アドレス情報80を第2中継サーバBが受信した場合の処理を、図23を参照して説明する。図23は、初期化コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャートである。なお、第1クライアント端末A1から仮想アドレス情報80と初期化コマンドとを受信した場合の第3中継サーバCの動作は、第2中継サーバBの処理と同様であるので説明を省略する。
 第2中継サーバBのVLANセッション制御部135は、第1クライアント端末A1から仮想アドレス情報80と初期化コマンドとを受信すれば(ステップS131でYes)、初期化コマンドからVLANグループの識別情報を抽出する(ステップS132)。この例では、VLANセッション制御部135は、「1279672104671.clientA1.rd.002@trial.net」を抽出する。
 次にVLANセッション制御部135は、抽出した識別情報から識別される第1VLANグループが起動処理中であるかどうか判断する(ステップS133)。ここで、第1VLANグループが起動処理中でない場合は、第1クライアント端末A1に対してエラー応答を返信し(ステップS135)、処理を終了する。
 一方、第1VLANグループが起動処理中である場合は、VLANセッション制御部135は、仮想アドレス情報80からVLANデバイスを抽出する(ステップS134)。この例では、VLANセッション制御部135は、VLANデバイスである第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1を抽出する。次にVLANセッション制御部135は、VLANグループ情報格納部144に格納されているVLANグループ情報70を参照して、抽出したVLANデバイスの中からさらに配下の、すなわち第2中継サーバBに接続されたVLANデバイスを抽出する(ステップS136)。この例では、第3クライアント端末B1および第4クライアント端末B2が抽出される。その後VLANセッション制御部135は、配下のVLANデバイスに対して受信した初期化コマンドおよび仮想アドレス情報80を送信する(ステップS137)。また、第2中継サーバB以外の中継サーバに接続されたVLANデバイスに対しては、VLANセッション制御部135は、VLANグループ情報70を参照し、中継サーバを介して初期化コマンドおよび仮想アドレス情報80を送信する。
 次に、VLANセッション制御部135は、VLANグループ情報70からセッション情報73を抽出する(ステップS138)。セッション情報73を抽出した後、VLANセッション制御部135は、セッション情報73を参照して、「sp」として第2中継サーバが設定されていてかつ未確立であるハブセッションを確立する(ステップS139)。この例では、VLANセッション制御部135は、「ep」として設定されている第3中継サーバCとの間にハブセッションを確立する。なお、このとき、第1中継サーバAにおいても、「sp」として第2中継サーバが設定されていてかつ未確立であるハブセッションを確立する処理が行われる。
 第3中継サーバCからハブセッションの確立に対するOKの応答信号を受信すれば(ステップS140)、VLANセッション制御部135は、VLANグループ情報70を参照し、第2中継サーバと接続されたVLANデバイスとの間にデバイスセッションを確立する(ステップS141)。この例では、VLANセッション制御部135は、VLANグループ情報70のVLANクライアント端末情報72を参照し、第3クライアント端末B1および第4クライアント端末B2との間にデバイスセッションを確立する。
 その後第3クライアント端末B1および第4クライアント端末B2からOKの応答信号を受信すれば、仮想アドレスおよびVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS142)。
 16.VLANセッションの一例
 図24のシーケンス図を参照して、VLANセッションを確立する際のデータの流れを説明する。図24は、VLANセッションの確立に関わる処理の流れの一例を示す図である。
 以下、第1VLANグループにおけるVLANセッションの確立処理を説明する。この例では、第1クライアント端末A1がユーザから図11に示すVLANグループ情報70に表される第1VLANグループの起動指示を受け付け、図12に示す仮想アドレス情報80を作成する。また、VLANデバイスは、第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1である。
 なお、この間、第1中継グループ内における起動中の各中継サーバは、通常のIPアドレスおよびMACアドレスを利用して、WANインターフェースを介して第1中継グループ内の他の起動中の中継サーバと通信している。そして、各中継サーバ間で、第1中継グループ内における接続状態の変化を共有している。また、第1中継グループ内における起動中の各クライアント端末は、LANインターフェースを介して接続された中継サーバと通信している。そして、クライアント端末と中継サーバとの間で、中継通信システムにおける接続状態の変化が共有されている。
 最初に、第1クライアント端末A1は、第1中継サーバAを介して、VLANグループ内でハブの役割を果たし起動状態である第2中継サーバBに対して、起動情報を送信する(ステップS51:StartVlan(vlanGroupID)、ステップS51.1:StartVlan(vlanGroupID))。第2中継サーバBは、VLANグループ情報70を参照し、第2中継サーバBに接続されているVLANクライアント端末である第3クライアント端末B1および第4クライアント端末B2を抽出する。そして、第2中継サーバBは、第3クライアント端末B1および第4クライアント端末B2がVLANデバイスであるかどうか判断した上で、起動情報を送信する。具体的には、第2中継サーバBは、VLANデバイスである第3クライアント端末B1に対して起動情報を送信する(ステップS51.1.1.A:StartVlan(vlanGroupID))。また、第2中継サーバBは、VLANデバイスである第4クライアント端末B2に対して起動情報を送信する(ステップS51.1.1.B:StartVlan(vlanGroupID))。
 第3クライアント端末B1および第4クライアント端末B2よりOKを受信した後、第2中継サーバBは、応答信号(OK(clientB1(ip,mac),clientB2(ip,mac)))を第1中継サーバAを介して第1クライアント端末A1へ送信する。応答信号には、第3クライアント端末B1および第4クライアント端末B2それぞれの識別情報、IPアドレスおよびMACアドレスが含まれている。
 また、第1クライアント端末A1は、第1中継サーバAを介して、VLANグループ内でハブの役割を果たし起動状態である第3中継サーバCに対して、起動情報を送信する(ステップS52:StartVlan(vlanGroupID)、ステップS52.1:StartVlan(vlanGroupID))。第3中継サーバCは、VLANグループ情報を参照し、第3中継サーバCに接続されているVLANクライアント端末である第5クライアント端末C1を抽出する。そして、第3中継サーバCは、第5クライアント端末C1がVLANデバイスであるかどうか判断した上で、第5クライアント端末C1に対して起動情報を送信する(ステップS52.1.1:StartVlan(vlanGroupID))。
 第5クライアント端末C1よりOKを受信した第3中継サーバCは、応答信号(OK(clientC1(ip,mac)))を第1中継サーバAを介して第1クライアント端末A1へ送信する。応答信号には、第5クライアント端末C1の識別情報、IPアドレスおよびMACアドレスが含まれている。
 次に、第1クライアント端末A1は、応答信号からの抽出処理および仮想アドレス情報80の作成処理を行い(図20のステップS116、S118参照)、ハブを構成する中継サーバに対して初期化コマンドおよび作成した仮想アドレス情報80を送信する。まず、第1クライアント端末A1は、第1中継サーバAを介して第2中継サーバBに対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS53:configVlan(vlanGroupID,addrList)、ステップS53.1:configVlan(vlanGroupID,addrList))。次に第2中継サーバBは、抽出した第3クライアント端末B1(図23のステップS131~ステップS134およびステップS136参照)に対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS53.1.1.A:configVlan(vlanGroupID,addrList))。さらに第2中継サーバBは、同様に第4クライアント端末B2に対して初期化コマンドおよび仮想アドレス情報を送信する(ステップS53.1.1.B:configVlan(vlanGroupID,addrList))。第3クライアント端末B1および第4クライアント端末B2よりOKを受信した後、第2中継サーバBは第1中継サーバAにOKを返信する。OKを受信した第1中継サーバAは第1クライアント端末A1にOKを返信する。
 また、第1クライアント端末A1は、第1中継サーバAを介して第3中継サーバCに対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS54:configVlan(vlanGroupID,addrList)、ステップS54.1:configVlan(vlanGroupID,addrList))。次に第3中継サーバCは、抽出した第5クライアント端末C1(図23のステップS131~ステップS134およびステップS136参照)に対して初期化コマンドおよび仮想アドレス情報80を転送する(ステップS54.1.1:configVlan(vlanGroupID,addrList))。第5クライアント端末C1よりOKを受信した後、第3中継サーバCは第1中継サーバAにOKを返信する。OKを受信した第1中継サーバAは第1クライアント端末A1にOKを返信する。以上の処理により、第1VLANグループ内の全てのVLANデバイスに仮想アドレス情報80が送信される。
 その後、ハブの役割を果たす中継サーバは、VLANグループ情報70のセッション情報73を参照し、「sp」として中継サーバが設定されていてかつ未確立であるハブセッションを確立する。この例では、全てのハブセッションも未確立である。そこで、まず「sp」として指定されている第1中継サーバAが、「ep」として指定されている第2中継サーバBに対してハブセッションの確立を要求する(ステップS55:createHubSsn(vlanGroupID))。第2中継サーバBからOKが返されると、第1中継サーバAと第2中継サーバBとの間にハブセッションが確立する。また、「sp」として指定されている第1中継サーバAは、「ep」として指定されている第3中継サーバCに対してハブセッションの確立を要求する(ステップS56:createHubSsn(vlanGroupID))。第3中継サーバCからOKが返されると、第1中継サーバAと第3中継サーバCとの間にハブセッションが確立する。
 さらに、「sp」として指定されている第2中継サーバBは、「ep」として指定されている第3中継サーバCに対してハブセッションの確立を要求する(ステップS57:createHubSsn(vlanGroupID))。第3中継サーバCからOKが返されると、第2中継サーバBと第3中継サーバCとの間にハブセッションが確立する。
 ハブセッションが確立されると、ハブの役割を果たす中継サーバは、中継サーバに接続されているVLANデバイスとの間にデバイスセッションを確立する。まず、第1中継サーバAは、第1クライアント端末A1に対してデバイスセッションの確立を要求する(ステップS58:createDeviceSsn(vlanGroupID))。第1クライアント端末A1からOKが返信されると、第1中継サーバAと第1クライアント端末A1との間にデバイスセッションが確立する。
 また、第2中継サーバBは、第3クライアント端末B1に対してデバイスセッションの確立を要求する(ステップS59:createDeviceSsn(vlanGroupID))。第3クライアント端末B1からOKが返されると、第2中継サーバBと第3クライアント端末B1との間にデバイスセッションが確立する。第2中継サーバBは、第4クライアント端末B2に対してデバイスセッションの確立を要求する(ステップS60:createDeviceSsn(vlanGroupID))。第4クライアント端末B2からOKが返されると、第2中継サーバBと第4クライアント端末B2との間にデバイスセッションが確立する。
 さらに、第3中継サーバCは、第5クライアント端末C1に対してデバイスセッションの確立を要求する(ステップS61:createDeviceSsn(vlanGroupID))。第5クライアント端末C1からOKが返されると、第3中継サーバCと第5クライアント端末C1との間にデバイスセッションが確立する。
 上記のようにVLANグループ内でハブセッションおよびデバイスセッションを含むVLANセッションが確立されると、各VLANデバイスは、LANデバイスのVLANインターフェースを初期化し、VLANインターフェースに仮想アドレスを設定する。各VLANデバイスにおいて仮想アドレスが設定されると、仮想アドレスとVLANセッションを使ってVLANデバイス同士がVLANデバイスとして互いに通信可能となる。
 例えば、仮想IPアドレスが「117.112.0.1」であり、仮想MACアドレス「00.11.22:f0:00:01」である第1クライアント端末A1は、VLANセッションを介して、仮想IPアドレスが「117.112.0.3」であり仮想MACアドレスが「00.11.22:f0:00:03」である第3クライアント端末B1にデータ転送が行える。具体的には、第1クライアント端末A1は、デバイスセッションを介して第1中継サーバAに通信パケットを送信する(ステップS62:sendData(packet01))。通信パケットには、送信先である第3クライアント端末B1の仮想アドレスと送信したいデータが含まれる。次に第1中継サーバAは、ハブセッションを介して第2中継サーバBに通信パケットを送信する(ステップS62.1:sendData(packet01))。その後第2中継サーバBは、デバイスセッションを介して第3クライアント端末B1に通信パケットを送信する(ステップS62.1.1:sendData(packet01))。
 本実施形態の中継システムでは、上記のとおりVLANグループ間でVLANグループ情報を共有する。また、VLANグループを起動させると、VLANデバイス間にVLANセッションを確立し、VLANグループを起動する際に作成した仮想アドレス情報をVLANデバイス間で共有する処理を行う。さらに、VLANデバイスのVLANインターフェースに仮想アドレスを設定する処理が行われ、VLANインターフェースおよびVLANセッションを介してVLANデバイス間でデータが送受信される。このように、本実施形態の中継システムでは、WAN4を介して仮想アドレスおよびVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる。
 17.他の実施形態
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態および変形例は必要に応じて任意に組合せ可能である。
 17.1 中継サーバ情報に登録されたクライアント端末は、同じ中継グループを構成する中継サーバであれば、接続された中継サーバとは異なる他の中継サーバを介してリモートログインできる。従って、VLANグループ情報の作成時と、VLANグループの起動時とでは、VLANクライアント端末が異なる中継サーバを介してログインしている場合がある。このようにクライアント端末が他の中継サーバを介してログインしている状態は、中継サーバ情報の共有により同一中継グループ内で起動している中継サーバおよびクライアント端末間において共有されている。
 上記のような場合、起動するVLANグループの選択を受け付けたクライアント端末のVLANグループ情報更新部235は、セッション情報を、リモートログインを受け付けた中継サーバを含めたセッション情報へと更新する。そしてVLANグループ情報更新部235は、更新したVLANグループ情報をVLANクライアント端末およびVLANクライアント端末が接続された中継サーバ間で共有させる。
 例えば、第1中継グループが、第1中継サーバA、第2中継サーバBおよび第3中継サーバCに加えてさらにVLANクライアント端末が接続されていない第4中継サーバから構成されていると仮定する。このような第1中継グループにおいて、第1クライアント端末A1が第1中継サーバAではなく第4中継サーバを介して第1中継グループにリモートログインした場合、共有されているセッション情報には、第4中継サーバの識別情報は含まれていない。
 そこで、上記のような状態でVLANグループの起動指示を受け付けた際には、VLANグループ情報更新部235は、セッション情報のハブ情報に第4中継サーバの識別情報を追加する。また、VLANグループ情報更新部235は、第4中継サーバとVLANデバイスが接続された他の中継サーバとの間の経路情報を作成して、VLANグループ情報のセッション情報を更新する。そして、更新したVLANグループ情報をVLANデバイスおよびVLANデバイスが接続された中継サーバに対して送信する。
 本発明は、互いに通信可能な複数の中継サーバと、複数のクライアント端末と、クライアント端末を中継サーバに接続するLANとを有する中継通信システム、およびそれに用いられる中継サーバに広く適用できる。
1   第1LAN
2   第2LAN
3   第3LAN
4   WAN
30  中継サーバ情報
40  クライアント端末情報
50  クライアント端末情報
60  クライアント端末情報
70  VLANグループ情報
80  仮想アドレス情報
A   第1中継サーバ
B   第2中継サーバ
C   第3中継サーバ
A1  第1クライアント端末
A2  第2クライアント端末
B1  第3クライアント端末
B2  第4クライアント端末
C1  第5クライアント端末

Claims (10)

  1.  第1ネットワークと、
     第2ネットワークと、
     前記第1ネットワークに接続される第1中継サーバと、
     前記第2ネットワークに接続され、第3ネットワークを介して前記第1中継サーバと通信可能な第2中継サーバと、
     前記第1中継サーバと前記第1ネットワークを介して接続されるクライアント端末と、
     前記第2中継サーバと前記第2ネットワークを介して接続されるクライアント端末と、
    を備え、
     前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末は、
     前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末が中継グループを構成することを示す中継グループ情報を格納する中継グループ情報格納部と、
     前記第1中継サーバの起動情報と、前記第2中継サーバの起動情報と、前記第1中継サーバに接続されるクライアント端末の起動・登録情報と、前記第2中継サーバに接続されるクライアント端末の起動・登録情報と、を含む中継サーバ情報を格納する中継サーバ情報格納部と、
     前記中継グループ情報および前記中継サーバ情報を、前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末の間で共有させる情報共有部と、
     前記第1中継サーバに接続されたクライアント端末および前記第2中継サーバに接続されたクライアント端末のうち二以上のクライアント端末は前記中継グループにおいてVLANグループを構成するVLANクライアント端末であって、前記VLANクライアント端末が接続された前記第1中継サーバの識別情報および前記第2中継サーバの識別情報を含むハブ情報と、前記第1中継サーバおよび前記第2中継サーバ間で確立されるセッションの接続側と被接続側を示すセッション情報と、前記VLANクライアント端末を識別する識別情報とを含むVLANグループ情報を、前記VLANクライアント端末間で共有させるVLANグループ情報制御部と、
    を有し、
     前記第1中継サーバおよび前記第2中継サーバは、
     前記VLANグループの起動指示を受信した場合に起動可能な前記VLANクライアント端末としてのVLANデバイスのアドレス情報を含む応答信号を送信する起動コマンド制御部と、
     前記セッション情報に基づき前記第1中継サーバと前記第2中継サーバとの間にVLANセッションとしてのハブセッションを確立し、前記第1中継サーバまたは前記第2中継サーバに接続された前記VLANデバイスとの間にVLANセッションとしてのデバイスセッションを確立するVLANセッション制御部と、
    をさらに有し、
     前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末は、
     前記応答信号に基づき前記VLANデバイスそれぞれに対して付与される仮想アドレスを含む仮想アドレス情報を作成し、前記仮想アドレス情報を前記VLANデバイスに送信する仮想アドレス制御部をさらに有し、
     前記VLANデバイスである場合に、付与された前記仮想アドレスを前記クライアント端末のVLANインターフェースに設定し、前記仮想アドレス情報および前記VLANセッションを利用して他の前記VLANデバイスと通信する中継通信システム。
  2.  前記第1中継サーバおよび前記第2中継サーバは、前記VLANデバイス間の通信を制御する中継サーバ通信制御部をさらに有し、
     前記中継サーバ通信制御部は、通信パケットを受信した場合、受信した前記通信パケットを解析し前記通信パケットに前記仮想アドレスが含まれていれば、前記仮想アドレスを参照して、前記仮想アドレスが付与された前記VLANデバイスと接続された第1中継サーバまたは前記第2中継サーバに前記ハブセッションを介して前記通信パケットを送信し、または前記仮想アドレスを参照して、前記デバイスセッションを介して前記仮想アドレスが付与された前記VLANデバイスに対して前記通信パケットを送信する、請求項1に記載の中継通信システム。
  3.  前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末は、前記VLANクライアント端末の接続の変化に応じて、前記VLANグループ情報を更新するVLANグループ情報更新部をさらに有する、請求項1または2に記載の中継通信システム。
  4.  第3ネットワークを介して前記第1中継サーバおよび前記第2中継サーバと通信可能であり前記中継グループを構成する第3中継サーバをさらに備え、
     前記中継グループ情報および前記中継サーバ情報にはさらに前記第3中継サーバの情報が含まれ、
     前記VLANグループ情報更新部は、前記VLANグループの起動指示を受信した場合に前記VLANクライアント端末が前記ハブ情報に示された前記第1中継サーバおよび前記第2中継サーバとは異なる前記第3中継サーバに接続されていれば、前記VLANグループの前記ハブ情報に前記第3中継サーバの識別情報を追加し、前記第3中継サーバを含むセッション情報を作成して前記VLANグループ情報を更新する、請求項3に記載の中継通信システム。
  5.  前記仮想アドレスは、前記VLANデバイスに付与される仮想IPアドレスおよび仮想MACアドレスを含む、請求項1~4のいずれかに記載の中継通信システム。
  6.  第1ネットワークとして接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバであって、
     前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末が中継グループを構成することを示す中継グループ情報を格納する中継グループ情報格納部と、
     前記第1中継サーバの起動情報と、前記第2中継サーバの起動情報と、前記第1中継サーバに接続されるクライアント端末の起動・登録情報と、前記第2中継サーバに接続されるクライアント端末の起動・登録情報と、を含む中継サーバ情報を格納する中継サーバ情報格納部と、
     前記中継グループ情報および前記中継サーバ情報を、前記第1中継サーバ、前記第2中継サーバ、前記第1中継サーバに接続されるクライアント端末および前記第2中継サーバに接続されるクライアント端末の間で共有させる情報共有部と、
     前記第1中継サーバに接続されたクライアント端末および前記第2中継サーバに接続されたクライアント端末のうち二以上のクライアント端末は前記中継グループにおいてVLANグループを構成するVLANクライアント端末であって、前記VLANクライアント端末が接続された前記第1中継サーバの識別情報および前記第2中継サーバの識別情報を含むハブ情報と、前記第1中継サーバと前記第2中継サーバとの間で確立されるセッションの接続側と被接続側を示すセッション情報と、前記VLANクライアント端末を識別する識別情報とを含むVLANグループ情報を、前記VLANクライアント端末間で共有させるVLANグループ情報制御部と、
     前記VLANグループの起動指示を受信した場合に起動可能な前記VLANクライアント端末としてのVLANデバイスのアドレス情報を含む応答信号を送信する起動コマンド制御部と、
     前記応答信号に基づき作成された前記VLANデバイスそれぞれに対して付与された仮想アドレスを含む仮想アドレス情報を受信すれば、前記VLANデバイスに前記仮想アドレス情報を送信する仮想アドレス制御部と、
     前記セッション情報に基づき前記第1中継サーバとの間にVLANセッションとしてのハブセッションを確立し、前記中継サーバに接続された前記VLANデバイス端末との間にVLANセッションとしてのデバイスセッションを確立するVLANセッション制御部と、
     前記仮想アドレス情報および前記VLANセッションを利用した前記VLANデバイス間の通信を制御する中継サーバ通信制御部と、
    を備える中継サーバ。
  7.  前記中継サーバ通信制御部は、通信パケットを受信した場合、受信した前記通信パケットを解析し、前記通信パケットに前記仮想アドレスが含まれていれば、前記仮想アドレスを参照して、前記仮想アドレスが付与された前記VLANデバイスと接続された前記第1中継サーバに前記通信パケットを前記ハブセッションを介して送信し、または前記仮想アドレスを参照して、前記デバイスセッションを介して前記仮想アドレスが付与された前記VLANデバイスに対して前記通信パケットを送信する、請求項6に記載の中継サーバ。
  8.  前記VLANクライアント端末の接続の変化に応じて、前記VLANグループ情報を更新するVLANグループ情報更新部をさらに備える、請求項6または請求項7に記載の中継サーバ。
  9.  前記VLANグループ情報更新部は、前記VLANグループの起動指示を受信した場合に、前記VLANクライアント端末が、前記ハブ情報に示された前記第1中継サーバおよび前記第2中継サーバとは異なり前記中継グループを構成する第3中継サーバに接続されていれば、前記VLANグループの前記ハブ情報に前記第3中継サーバの識別情報を追加し、前記第3中継サーバを含むセッション情報を作成して前記VLANグループ情報を更新する、請求項6に記載の中継サーバ。
  10.  前記仮想アドレスは、前記VLANデバイスに付与される仮想IPアドレスおよび仮想MACアドレスを含む、請求項5~9のいずれかに記載の中継サーバ。
     
PCT/JP2011/073873 2010-12-16 2011-10-17 中継通信システムおよび中継サーバ WO2012081303A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/994,185 US9380130B2 (en) 2010-12-16 2011-10-17 Relay communication system and relay servers
EP11849412.9A EP2654253B1 (en) 2010-12-16 2011-10-17 Relay communication system and relay servers
CN201180060497.0A CN103262477B (zh) 2010-12-16 2011-10-17 中继通信系统及中继服务器
SG2013043484A SG191017A1 (en) 2010-12-16 2011-10-17 Relay communication system and relay servers
KR1020137015746A KR101446974B1 (ko) 2010-12-16 2011-10-17 중계 통신 시스템 및 중계 서버

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010280035A JP5636940B2 (ja) 2010-12-16 2010-12-16 中継通信システムおよび中継サーバ
JP2010-280035 2010-12-16

Publications (1)

Publication Number Publication Date
WO2012081303A1 true WO2012081303A1 (ja) 2012-06-21

Family

ID=46244418

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/073873 WO2012081303A1 (ja) 2010-12-16 2011-10-17 中継通信システムおよび中継サーバ

Country Status (8)

Country Link
US (1) US9380130B2 (ja)
EP (1) EP2654253B1 (ja)
JP (1) JP5636940B2 (ja)
KR (1) KR101446974B1 (ja)
CN (1) CN103262477B (ja)
SG (1) SG191017A1 (ja)
TW (1) TWI568218B (ja)
WO (1) WO2012081303A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5636940B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5773205B2 (ja) * 2011-11-30 2015-09-02 村田機械株式会社 中継サーバ及び中継通信システム
US10379884B2 (en) * 2016-03-25 2019-08-13 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Communication method and apparatus, and electronic device and program product thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129991A (ja) * 2006-11-24 2008-06-05 Murata Mach Ltd 中継サーバおよび中継通信システム
JP2010068051A (ja) * 2008-09-08 2010-03-25 Murata Machinery Ltd 中継サーバ、中継通信システム
JP2010268312A (ja) * 2009-05-15 2010-11-25 Murata Machinery Ltd 中継通信システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186321A (ja) * 1999-12-24 2001-07-06 Murata Mach Ltd ファクシミリ装置
US20040114194A1 (en) * 2002-12-11 2004-06-17 Murata Kikai Kabushiki Kaisha Facsimile machine
JP3990272B2 (ja) * 2002-12-20 2007-10-10 富士通株式会社 メーリングリスト管理システムおよび電子メール送受信装置
JP2004234292A (ja) * 2003-01-30 2004-08-19 Murata Mach Ltd 通信装置
US20040246531A1 (en) * 2003-06-03 2004-12-09 Murata Kikai Kabushiki Kaisha Server device having electronic bulletin board function
JP2005210548A (ja) * 2004-01-26 2005-08-04 Murata Mach Ltd ネットワークファクシミリ装置
JP2005217938A (ja) * 2004-01-30 2005-08-11 Murata Mach Ltd ネットワークファクシミリ装置
US20060112271A1 (en) * 2004-11-22 2006-05-25 Murata Kikai Kabushiki Kaisha Cipher mail server device
JP2006222476A (ja) * 2005-02-08 2006-08-24 Murata Mach Ltd 電子メール端末装置
JP4038221B2 (ja) * 2005-12-08 2008-01-23 フリービット株式会社 中継装置及びクライアント機器とサーバとの接続方法
JP4492575B2 (ja) * 2006-03-29 2010-06-30 村田機械株式会社 中継装置および通信システム
EP1942634B1 (en) 2006-11-24 2012-08-29 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
CN100566300C (zh) * 2007-07-06 2009-12-02 中国科学院沈阳计算技术研究所有限公司 一种控制媒体传输路径的网状中继方法及ip通信系统
JP4734374B2 (ja) * 2008-06-04 2011-07-27 アラクサラネットワークス株式会社 ネットワーク中継装置、および、ネットワーク中継装置方法
TWI455547B (zh) * 2008-09-01 2014-10-01 Murata Machinery Ltd Relay server and relay communication system
EP2323320B1 (en) * 2008-09-05 2013-04-17 Murata Machinery, Ltd. Relay server, relay communication system and communication apparatus
EP2432174B1 (en) * 2009-05-15 2018-09-19 Murata Machinery, Ltd. Relay communication system and first relay server
JP5636941B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5636940B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129991A (ja) * 2006-11-24 2008-06-05 Murata Mach Ltd 中継サーバおよび中継通信システム
JP2010068051A (ja) * 2008-09-08 2010-03-25 Murata Machinery Ltd 中継サーバ、中継通信システム
JP2010268312A (ja) * 2009-05-15 2010-11-25 Murata Machinery Ltd 中継通信システム

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
SG191017A1 (en) 2013-07-31
JP2012129830A (ja) 2012-07-05
EP2654253B1 (en) 2016-03-16
TW201228298A (en) 2012-07-01
CN103262477B (zh) 2015-12-02
KR20130096302A (ko) 2013-08-29
JP5636940B2 (ja) 2014-12-10
EP2654253A1 (en) 2013-10-23
CN103262477A (zh) 2013-08-21
US9380130B2 (en) 2016-06-28
EP2654253A4 (en) 2015-04-22
TWI568218B (zh) 2017-01-21
US20130275501A1 (en) 2013-10-17
KR101446974B1 (ko) 2014-10-06

Similar Documents

Publication Publication Date Title
WO2012081304A1 (ja) 中継通信システムおよび中継サーバ
US9521012B2 (en) Relay server and relay communication system
US8554935B2 (en) Relay server and relay communication system
JP5636940B2 (ja) 中継通信システムおよび中継サーバ
JP5636942B2 (ja) 中継通信システムおよび中継サーバ
JP5786620B2 (ja) 中継サーバ
JP5857603B2 (ja) 中継サーバ
JP5862231B2 (ja) 中継サーバ
JP5347894B2 (ja) 中継サーバおよび中継通信システム
JP5633693B2 (ja) 中継サーバ及び中継通信システム

Legal Events

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

Ref document number: 11849412

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13994185

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20137015746

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011849412

Country of ref document: EP