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

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

Info

Publication number
WO2012081304A1
WO2012081304A1 PCT/JP2011/073874 JP2011073874W WO2012081304A1 WO 2012081304 A1 WO2012081304 A1 WO 2012081304A1 JP 2011073874 W JP2011073874 W JP 2011073874W WO 2012081304 A1 WO2012081304 A1 WO 2012081304A1
Authority
WO
WIPO (PCT)
Prior art keywords
relay server
vlan
information
client terminal
relay
Prior art date
Application number
PCT/JP2011/073874
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,187 priority Critical patent/US9319484B2/en
Priority to KR1020137015844A priority patent/KR101406854B1/ko
Priority to EP11849263.6A priority patent/EP2654249B1/en
Priority to SG2013043450A priority patent/SG191015A1/en
Priority to CN201180060485.8A priority patent/CN103262476B/zh
Publication of WO2012081304A1 publication Critical patent/WO2012081304A1/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/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

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.
  • the first relay server, the second relay server, one or more client terminals connected to the first relay server, and one or more client terminals connected to the second relay server constitute a relay group
  • the relay group information indicating that it is to be stored is stored.
  • the relay server information storage unit includes start information of the first relay server, start information of the second relay server, start / registration information of one or more client terminals connected to the first relay server, and a second relay server And relay server information including activation / registration information of one or more client terminals connected to.
  • the information sharing unit transmits the relay group information and the relay server information to the first relay server, the second relay server, one or more client terminals connected to the first relay server, and one or more clients connected to the second relay server. Share between devices.
  • the VLAN group information control unit forms a VLAN group in a relay group that is two or more client terminals among one or more client terminals connected to the first relay server and one or more client terminals connected to the second relay server.
  • VLAN group information is shared among VLAN client terminals that perform the same operation.
  • the 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 a VLAN session control unit and an activation command control unit.
  • One or more client terminals connected to the first relay server and one or more client terminals connected to the second relay server further include a virtual address control unit.
  • the virtual address control unit is based on virtual address information including a virtual address assigned to a VLAN device constituting the active VLAN group.
  • the virtual address information is updated by adding the created client terminal virtual address.
  • the virtual address control unit transmits the updated virtual address information to the VLAN device.
  • the VLAN session control unit further establishes an unestablished VLAN session related to the midway participating VLAN client terminal.
  • the midway participating VLAN client terminal and the VLAN device communicate using the updated virtual address information and the established VLAN session including the hub session and the device session.
  • the VLAN client terminal can join the activated VLAN group halfway. Therefore, it is possible to prevent the VLAN group from starting up redundantly.
  • the activation command control unit determines whether or not a virtual address is assigned to the VLAN device of the active VLAN group, and when the virtual address is assigned, an intermediate participation signal is transmitted to the intermediate participation VLAN client terminal. You may send it.
  • the virtual address control unit refers to the virtual address information to determine whether the virtual address for the client terminal can be created. When the virtual address control unit determines that the virtual address cannot be created, the process of joining the VLAN group halfway may be terminated. .
  • the virtual address may include a virtual IP address and a virtual MAC address.
  • 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 VLAN session control unit, and an activation command control unit.
  • the first relay server, the second relay server, one or more client terminals connected to the first relay server, and one or more client terminals connected to the second relay server constitute a relay group
  • the relay group information indicating that it is to be stored is stored.
  • the relay server information storage unit includes start information of the first relay server, start information of the second relay server, start / registration information of one or more client terminals connected to the first relay server, and a second relay server And relay server information including activation / registration information of one or more client terminals connected to.
  • the information sharing unit transmits the relay group information and the relay server information to the first relay server, the second relay server, one or more client terminals connected to the first relay server, and one or more connected to the second relay server. Share between client terminals.
  • the VLAN group information control unit forms a VLAN group in a relay group that is two or more client terminals among one or more client terminals connected to the first relay server and one or more client terminals connected to the second relay server.
  • the activation command control unit When the activation command control unit receives an activation instruction related to the VLAN group and the VLAN group is activated, the activation command control unit transmits a midway participation signal to the VLAN group to the midway participation VLAN client terminal.
  • the VLAN session control unit responds to the midway participation signal, and includes a virtual address that is assigned to the VLAN device as the startable VLAN client terminal among the VLAN client terminals that constitute the active VLAN group. If the virtual address information updated by adding the virtual address of the midway participating VLAN client terminal to the address information is received, an unestablished VLAN session for the midway participating VLAN client terminal is established. Further, the midway participating VLAN client terminal and the VLAN device communicate using the virtual address information and the established VLAN session including the hub session and the device session.
  • the activation command control unit may determine whether or not a virtual address is assigned to the VLAN device of the activated VLAN group, and may transmit a midway participation signal when the virtual address is assigned.
  • a virtual network can be dynamically created in constructing a relay communication system having a plurality of relay servers that can communicate with each other. Further, even if the VLAN group is activated when an instruction to activate the VLAN group is transmitted, the VLAN client terminal can join the activated VLAN group halfway. Therefore, it is possible to prevent the VLAN group from starting up redundantly.
  • 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
  • 7 is a flowchart (part 2) illustrating a response signal transmission process performed by the relay server in response to the initialization command.
  • 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 that are 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 the terminals 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 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).
  • a VLAN client terminal is a client terminal that constitutes a VLAN group in a relay group.
  • the activation command control unit 133 determines whether the same VLAN group as the received VLAN group has already been activated.
  • the activation information includes a VLAN group activation command, activation time, and VLAN group information.
  • the activation command control unit 133 transmits an intermediate participation signal to the client terminal that is the source of the activation instruction, and the client terminal joins the VLAN group in the middle. Execute the process to allow The midway participation signal is a signal for permitting midway participation in the VLAN group, and is transmitted together with virtual address information described later.
  • the activation command control unit 133 refers to the activation time of the activation information that activated the VLAN group first and the activation time of the received activation information, so that the activation is performed earlier.
  • the activation information having the time is determined to be valid.
  • the startup command control unit 133 has already received an initialization command and virtual address information related to valid startup information having an earlier startup time for a client terminal that is a source of startup information that is not valid. Judge whether. If the initialization command and the virtual address information have already been received, the above-mentioned halfway participation signal is transmitted to the client terminal that is the transmission source of the invalid activation information.
  • the activation command control unit 133 when the activation command control unit 133 has not received the initialization command and the virtual address information regarding the valid activation information, the activation command control unit 133 ends the process of joining the VLAN group halfway. On the other hand, if it is determined that the received activation information is valid, the activation command control unit 133 executes a VLAN group activation process.
  • the start command control unit 133 first extracts the VLAN client terminal connected to the first relay server A from the 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. Further, 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. If it is determined that there is 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 source of valid 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 receives a midway participation command to be described later, when the client terminal that is the transmission source of the midway participation command is connected to the first relay server A, the VLAN session control unit 135 is the transmission source of the midway participation command. Establish a VLAN session associated with a client terminal.
  • 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 transmits 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.
  • 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 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 virtual address control unit 234 refers to the virtual address information and determines whether the first client terminal A1 can determine a virtual address.
  • the virtual address control unit 234 determines the virtual address for the first client terminal A1, adds the virtual address information of the first client terminal A1, and sets the virtual address information. Update. Thereafter, the virtual address control unit 234 transmits the updated virtual address information and the midway participation command to the relay server to which the first client terminal A1 is connected. On the other hand, if the virtual address control unit 234 determines that the virtual address cannot be determined for the first client terminal A1, the process of joining the VLAN group halfway is terminated.
  • 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 via the VLAN interface 221B when transmitting a communication packet including a virtual address using the VLAN session.
  • 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.
  • FIG. 4 shows a schematic configuration of the relay group information 20.
  • the relay group information 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 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 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.
  • 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 virtual address information.
  • 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.
  • identification information, a virtual IP address, and a virtual MAC address regarding the first client terminal A1, the third client terminal B1, and the fifth client terminal C1 as VLAN devices are associated with each other.
  • virtual address information 80 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.
  • the administrator of the first relay server A creates accounts 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.
  • FIG. 14 shows the relay server information 31-1.
  • the upper information 311-1 is information about the first relay server A.
  • “ServerA@trial.net” is set as “site id”.
  • “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 about 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. Since the contents of the relay server information 31-2 and the relay server information 31-3 are the same as the contents of the relay server information 31-1, description thereof will be omitted.
  • 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 ()).
  • 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. Through the above processing, all relay servers and client terminals share relay group information.
  • 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 itself.
  • 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 itself 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.
  • 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.
  • the group information 71 includes “1279672104671.clientA1.rd.002@trial.net” as VLAN group identification information and “vlangroup1” 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 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 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 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 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 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 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.
  • 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, and the fifth client terminal C1 are VLAN devices.
  • the activation command control unit 233 performs the processing from step S113 to step S116. Specifically, referring to the relay server information stored in the relay server information storage unit 242, the relay server to which the VLAN client terminal other than the first client terminal A1 is connected among the read relay servers is activated. It is determined whether or not (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.
  • 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 the third client terminal B1, which is a VLAN device 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.
  • step S113 If it is determined that the relay server is not activated (No in step S113), 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 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 each 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 IP address “117.112.0.3” and the virtual MAC address “00.11.22: f0” .0.03 is assigned.
  • the virtual address control unit 234 transmits the created virtual address information 80 together with the initialization command to the relay server configuring the 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 (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. 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 and the fifth client terminal C1 also set the virtual IP address and virtual MAC address of the virtual address information 80 in their respective VLAN interfaces. 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).
  • the first VLAN group is already another client terminal or relay server It may be activated by the activation instruction from. In such a case, the following processing is performed to eliminate duplication of activation of the first VLAN group.
  • the midway participation signal is a signal that permits midway participation of the first client terminal A1 in the first VLAN group.
  • the midway participation signal includes virtual address information already created by the activation of the first VLAN group. Whether or not the first client terminal A1 can join the first VLAN group halfway is determined by any relay server to which the VLAN client terminal is connected and activated.
  • the midway join signal is transmitted from the second relay server B to the first client terminal A1 via the first relay server A.
  • the transmission of the midway participation signal by the relay server will be described in detail later.
  • the activation command control unit 233 executes the activation error process and ends the activation process (step S125). ).
  • the virtual address control unit 234 next reads the virtual address information received together with the midway participation signal (step S124), and the virtual IP address assigned to the VLAN device from the virtual address information and A virtual MAC address is extracted (step S126).
  • the virtual address control unit 234 refers to the extracted virtual IP address and virtual MAC address to determine whether or not the virtual address can be determined for the first client terminal A1 (step S127). Specifically, the virtual address control unit 234 determines whether the IP address currently used by the first client terminal A1 is not the same address system as the extracted virtual IP address. Further, the virtual address control unit 234 determines whether or not the MAC address currently used by the first client terminal A1 is the same address system as the extracted virtual MAC address. Here, for example, when the segment of the address of the first client terminal A1 and the segment of the virtual address are the same, the virtual address control unit 234 determines that it is an activation error and ends the process of joining the VLAN group halfway ( Step S128).
  • the virtual address control unit 234 performs virtual processing for the first client terminal A1.
  • the address is determined and the virtual address information is updated (step S129).
  • the virtual address control unit 234 assigns the virtual IP address and virtual MAC address obtained by changing the end of each of the extracted virtual IP address and virtual MAC address to the first client terminal A1.
  • the virtual address control unit 234 updates the virtual address information by adding the assigned virtual IP address and virtual MAC address and the identification information of the first client terminal A1 to the virtual address information.
  • the virtual address control unit 234 transmits the updated virtual address information and the midway participation command to the first relay server A (step S131).
  • the midway participation command is a command indicating midway participation in the VLAN, and includes VLAN group identification information. If a response of OK is received from the first relay server A (Yes in step S132), the process proceeds to step S120, and the VLAN session control unit 237 performs a process for establishing a device session with the first relay server A. Is called. On the other hand, when an OK response is not received from the first relay server A (No in step S132), the virtual address control unit 234 determines that it is a start error and ends the process (step S133). The updated virtual address information and midway participation command are then transmitted to each VLAN device via the relay server.
  • Execute duplication of the first VLAN group can be eliminated by executing the above process. Even if the activation instruction for the first VLAN group is duplicated, the client terminal that issued the activation instruction later has the same address used by the client terminal and the virtual address created by the activation of the first VLAN group. If it is not an address system, it is possible to join the first VLAN group halfway.
  • the VLAN session establishment process and the VLAN communication start process in the relay server that has received the activation information from the client terminal that has received the VLAN group activation instruction 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. 20A).
  • 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.
  • FIG. 23A and FIG. 23B are flowcharts showing a response signal transmission process by the relay server for the activation information.
  • the start command control unit 133 of the second relay server B receives the start information including the start command, the start time, and the VLAN group information 70 from the first client terminal A1 (Yes in Step S141), the VLAN command information is sent from the VLAN group information 70 to the VLAN.
  • Group identification information is extracted (step S142).
  • the startup command control unit 133 extracts the identification information “1279672104671.clientA1.rd.002@trial.net” from the VLAN group information 70.
  • the activation command control unit 133 determines whether an initialization command and virtual address information are received (step S148). That is, the activation command control unit 133 determines whether the activation of the first VLAN group has already been executed until the process of sending the initialization command and the virtual address information.
  • the activation command control unit 133 When the initialization command and the virtual address information are received (Yes in step S148), the activation command control unit 133 notifies the first client terminal A1 of the midway participation signal, the received initialization command and the virtual address information. Address information is transmitted (step S149). As described above, the halfway participation signal is a signal that permits the first client terminal A1 to join the first VLAN group. If the initialization command and virtual address information have not been received (No in step S148), the activation command control unit 133 returns an activation process duplication error signal to the first client terminal A1, and ends the activation process. (Step S150). This is because, when virtual address information is not received, the virtual address assignment process to the second relay server B based on the received virtual address information cannot be executed (see steps S127 and S129 in FIG. 20B). .
  • the activation command control unit 133 extracts the third client terminal B1 as the VLAN device.
  • the activation command control unit 133 refers to the relay server information stored in the relay server information storage unit 142 to determine whether the third client terminal B1 is logged in. to decide.
  • the activation command control unit 133 transmits an activation command to the third client terminal B1 that is logging in.
  • the activation command control unit 133 determines that the third client terminal B1 is a VLAN device.
  • the start command control unit 133 transmits a VLAN start command to the third client terminal B1 (step S155).
  • the VLAN activation command is a command for activating a VLAN client terminal as a VLAN device.
  • the activation command control unit 133 transmits a response signal to the first client terminal A1 (Step S157).
  • the response signal includes identification information, IP address, and MAC address of the third client terminal B1.
  • the start command control unit 133 performs IP communication with the third client terminal B1 that is logging in via the LAN. Therefore, the activation command control unit 133 does not need to inquire the third client terminal B1 about the IP address and MAC address of the third client terminal B1.
  • the first client terminal A1 that has received the response signal creates virtual address information 80 from the received response signal (see step S115 and step S116 in FIG. 20A).
  • the activation command control unit 133 transmits an activation OK signal to the first client terminal A1.
  • the activation OK signal simply indicates an OK response to the received activation command.
  • the activation command control unit 133 transmits the activation OK signal. To do.
  • FIG. 24 is a flowchart showing a VLAN session establishment process in the relay server that has received the initialization command. Note that the operation of the third relay server C when receiving the virtual address information 80 and the initialization command from the first client terminal A1 is the same as the processing of the second relay server B described below, so the description thereof is omitted. To do.
  • the VLAN session control unit 135 of the second relay server B receives the virtual address information 80 and the initialization command from the first client terminal A1 (Yes in step S161), it extracts the VLAN group identification information from the initialization command. (Step S162). 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 S163). If the first VLAN group is not in the startup process, an error response is returned to the first client terminal A1 (step S165), and the process is terminated.
  • the VLAN session control unit 135 extracts the VLAN device from the virtual address information 80 (step S164). In this example, the VLAN session control unit 135 extracts the first client terminal A1, the third client terminal B1, 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 subordinate to the second relay server B from the extracted VLAN devices. 2. The VLAN device connected to the relay server B is extracted (step S166). In this example, the third client terminal B1 is extracted. Thereafter, the VLAN session control unit 135 transfers the received initialization command and virtual address information to the third client terminal B1 (step S167).
  • the VLAN session control unit 135 extracts the session information 73 from the VLAN group information 70 (step S168). 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 B is set as “sp” and is not established (step S169). ). 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, also in the first relay server A, the first relay server A is set as “sp” and a process of establishing an unestablished hub session is performed.
  • the VLAN session control unit 135 After receiving an OK response signal for the establishment of the hub session from the third relay server C (step S170), the VLAN session control unit 135 refers to the VLAN group information 70, and the VLAN device connected to the second relay server B A device session is established between (step S171).
  • 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 with the third client terminal B1 that is a VLAN device. If an OK response signal is received from the third client terminal B1, the client terminals can communicate with each other as a VLAN device using the virtual address and the VLAN session (step S172).
  • FIG. 25 is a flowchart showing a VLAN session establishment process in the relay server that has received the midway participation command.
  • the VLAN session control unit 135 of the second relay server B receives the virtual address information and the midway participation command from the first client terminal A1 (Yes in step S181), it extracts the VLAN group identification information from the midway participation command (Ste S182).
  • the VLAN session control unit 135 extracts a VLAN device from the updated virtual address information (step S184).
  • the VLAN session control unit 135 refers to the VLAN group information 70 stored in the VLAN group information storage unit 144, and further subordinates to the second relay server B from the extracted VLAN devices, that is, the second relay server.
  • the VLAN device connected to B is extracted (step S186).
  • the VLAN session control unit 135 transmits the midway participation command and the updated virtual address information to the VLAN device under the second relay server B, that is, connected to the second relay server B (step S187).
  • the VLAN session control unit 135 extracts the session information 73 from the VLAN group information 70 (step S188). 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 B is set as “sp” and is not established (step S189). ). That is, the VLAN session control unit 135 uses the hub session already established by the activation of the first VLAN group as it is, and selects the hub session that needs to be established by the participation of the VLAN client terminal permitted to join midway. Establish new. At this time, a process for establishing a hub session is also performed between other relay servers serving as hubs.
  • the VLAN session control unit 135 After receiving the OK response signal from the relay server to which the hub session is connected (step S190), the VLAN session control unit 135 refers to the VLAN group information 70 and is under the second relay server B, that is, the second It is determined whether there is a VLAN device connected to the relay server B (step S191). If there is a VLAN device under the second relay server B (Yes in step S191), the VLAN session control unit 135 establishes a device session with the VLAN device under the second relay server B (step S192). When a device session is established with the VLAN device under the second relay server B, or when there is no VLAN device under the second relay server B (No in step S191), the virtual address and the VLAN session are used thereafter. Client terminals can communicate with each other as VLAN devices (step S193).
  • the fourth client terminal B2 logs on, and the fourth client terminal B2 receives an instruction to activate the first VLAN group from the user.
  • 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.
  • 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 relay server A refers to the relay server information and notifies the first client terminal A1 of logout of the fourth client terminal B2 (step S53.1: notifyLogout (client B2)).
  • the first relay server A returns OK to the second relay server B.
  • the first relay server A refers to the relay server information and notifies the logout of the fourth client terminal B2 to the second client terminal A2 constituting the first relay group.
  • the second relay server B refers to the relay server information and notifies the third relay server C of logout of the fourth client terminal B2 (step S54: notifyLogout (clientB2)).
  • the third relay server C refers to the relay server information and notifies the fifth client terminal C1 of logout of the fourth client terminal B2 (step S54.1: notifyLogout (client B2)).
  • step S54.1 notifyLogout (client B2)
  • the third relay server C returns OK to the second relay server B.
  • the activation process for the first VLAN group is started.
  • the first client terminal A1 sends a start command, a start time, and VLAN group information 70 to the second relay server B that is in the active state and plays the role of a hub in the VLAN group via the first relay server A.
  • Step S55 StartVlan (vlanGroupID)
  • step S55.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.
  • the second relay server B transmits activation information to the VLAN device.
  • the second relay server B since the fourth client terminal B2 is logged out, the second relay server B transmits the start command, the start time, and the VLAN group information 70 to the third client terminal B1, which is a VLAN device (step S55.1.1: StartVlan (vlanGroupID)).
  • the second relay server B transmits a response signal (OK (clientB1 (ip, mac))) to the first client terminal A1 via the first relay server A.
  • the response signal includes identification information, IP address, and MAC address of the third client terminal B1.
  • the first client terminal A1 acts as a hub in the VLAN group, and with respect to the third relay server C that is in the activated state, the first client terminal A1 sends the activation command, activation time, and VLAN group information 70 via the first relay server A.
  • Step S56 StartVlan (vlanGroupID)
  • Step S56.1 StartVlan (vlanGroupID)
  • the third relay server C refers to the VLAN group information 70 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 an activation command, an activation time, and VLAN group information 70 to the fifth client terminal C1 (step S56).
  • 1.1 StartVlan (vlanGroupID)).
  • the third relay server C 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 the extraction process from the response signal and the virtual address information creation process (see steps S116 and S118 in FIG. 20A), and the VLAN device and the relay server to which the VLAN device is connected.
  • the initialization command and the created virtual address information 80 are transmitted.
  • the virtual address information 80 includes identification information, a virtual IP address, and a virtual MAC address of each of the first client A1 terminal, the third client terminal B1, and the fifth client terminal C1, as shown in FIG. .
  • 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 S58: configVlan (vlanGroupID, addrList), step S58. .1: configVlan (vlanGroupID, addrList)).
  • the third relay server C transfers the initialization command and the virtual address information to the fifth client terminal C1 extracted through the above-described processing (see Steps S161 to S164 and Step S166 in FIG. 24) (Step S161).
  • S58.1.1 configVlan (vlanGroupID, addrList)
  • 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 is transmitted to all VLAN devices in the first VLAN group.
  • the first relay server A designated as “sp” requests the third relay server C designated as “ep” to establish a hub session (step S60: createHubSsn (vlanGroupID)).
  • step S60 createHubSsn (vlanGroupID)
  • the second relay server B designated as “sp” requests the third relay server C designated as “ep” to establish a hub session (step S61: createHubSsn (vlanGroupID)).
  • step S61 createHubSsn (vlanGroupID)
  • the relay server connected to the VLAN device 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 S62: 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 S63: createDeviceSn (vlanGroupID)).
  • step S63 createDeviceSn (vlanGroupID)
  • step S64 createDeviceSsn (vlanGroupID)
  • step S64 createDeviceSsn (vlanGroupID)
  • 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, client terminals can communicate with each other as a VLAN device using the virtual address and the VLAN session.
  • the fourth client terminal B2 logs on again. Specifically, the fourth client terminal B2 notifies the second relay server B of logon (step S65: login ()) and receives OK from the second relay server B.
  • the second relay server B notified of the logon refers to the relay server information and notifies the third client terminal B1 of the logon of the fourth client terminal B2 (step S66: notifyLogon (client B2)).
  • the third client terminal B1 returns OK to the second relay server B.
  • the second relay server B refers to the relay server information and notifies the first relay server A of the logon of the fourth client terminal B2 (step S67: notifyLogon (clientB2)).
  • Step S69 StartVlan (VlanGroupID ).
  • the second relay server B refers to the received start command, start time, and VLAN group information 70 to determine whether the received start time is valid. Further, the second relay server B determines whether or not the initialization command and the virtual address information are received, and then transmits a midway participation signal (notifyJoin (addrList)) to the fourth client terminal B2 (step in FIG. 23A). (See S143 to S146, S148 to S149).
  • the second relay server B since the activation time received from the fourth client terminal B2 is later than the activation time received from the first client terminal A1 in steps S55 and S55.1, the second relay server B is connected to the fourth client terminal B2. It is determined that the received start time is not valid. Further, the second relay server B has already received the initialization command and the virtual address information 80 in steps S57 and S57.1. Therefore, the second relay server B transmits an initialization command, virtual address information 80, and a midway participation signal to the fourth client terminal B2.
  • the fourth client terminal B2 refers to the allocated virtual address extracted from the virtual address information 80, determines a virtual address for the fourth client terminal B2, and determines the virtual address information. Update. Then, the fourth client terminal B2 transmits the updated virtual address information (see steps S123 to 131 in FIG. 20B). In this example, the fourth client terminal B2 determines that the virtual address can be determined with respect to the fourth client terminal B2, and the virtual IP obtained by changing the end of each of the extracted allocated virtual IP address and virtual MAC address is extracted. The address and the virtual MAC address (177.112.0.4, 00-11-22-f0-00-04) are assigned to the fourth client terminal B2.
  • the second relay server B transmits the updated virtual address information and the midway participation command to the third client terminal B1 (step S70.2: JoinVlan (vlanGroupID, addrList)).
  • the third client terminal B1 returns OK to the second relay server B.
  • 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 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

互いに通信可能な複数の中継サーバを有する中継通信システムを構築する上で、仮想ネットワークを動的に作成する。中継通信システムにおいてVLANグループを構成するVLANクライアント端末間で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グループが起動中でなければ、セッション情報に基づき第1中継サーバと第2中継サーバとの間にVLANセッションとしてのハブセッションを確立し、起動可能なVLANクライアント端末としてのVLANデバイスとVLANデバイスが接続された第1中継サーバまたは第2中継サーバとの間にVLANセッションとしてのデバイスセッションを確立する。起動コマンド制御部は、VLANグループの起動指示を受信した場合に、VLANグループが起動中であれば、起動指示の送信元である途中参加VLANクライアント端末に対してVLANグループへ途中参加を許可する途中参加信号を送信する。
 第1中継サーバに接続される一以上のクライアント端末および第2中継サーバに接続される一以上のクライアント端末は、仮想アドレス制御部をさらに有する。仮想アドレス制御部は、クライアン端末が途中参加VLANクライアント端末であって途中参加信号を受信した場合、起動中のVLANグループを構成するVLANデバイスに対して割り当てられた仮想アドレスを含む仮想アドレス情報に基づき作成したクライアント端末用仮想アドレスを追加して仮想アドレス情報を更新する。そして、仮想アドレス制御部は、更新された仮想アドレス情報をVLANデバイスに対して送信する。
 ここで、VLANセッション制御部は、途中参加VLANクライアント端末に関する未確立のVLANセッションをさらに確立する。また、途中参加VLANクライアント端末とVLANデバイスとは、更新された仮想アドレス情報と、ハブセッションおよびデバイスセッションを含む確立されたVLANセッションとを利用して通信する。
 ここでは、VLANグループの起動の指示を送信した場合にVLANグループが起動中であっても、VLANクライアント端末は、起動中のVLANグループに途中参加できる。従って、VLANグループが重複して起動することを防止できる。
 起動コマンド制御部は、起動中のVLANグループのVLANデバイスに対して仮想アドレスが割り当てられているかどうかを判断し、仮想アドレスが割り当てられている場合に途中参加信号を途中参加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グループ情報は、第1中継サーバの識別情報および第2中継サーバの識別情報を含むハブ情報と、第1中継サーバと第2中継サーバとの間で確立されるセッションの接続側と被接続側を示すセッション情報と、VLANクライアント端末を識別する識別情報とを含む。VLANセッション制御部は、VLANグループの起動指示を受信したとき、VLANグループが起動中でない場合には、セッション情報に基づき第1中継サーバとの間にVLANセッションとしてのハブセッションを確立し、中継サーバに接続された起動可能なVLANクライアント端末としてのVLANデバイスとの間にVLANセッションとしてのデバイスセッションを確立する。起動コマンド制御部は、VLANグループに関する起動指示を受信した場合に、VLANグループが起動中であれば、途中参加VLANクライアント端末に対してVLANグループへの途中参加信号を送信する。ここでVLANセッション制御部は、途中参加信号に対応して、起動中のVLANグループを構成するVLANクライアント端末のうち起動可能なVLANクライアント端末としてのVLANデバイスに対して割り当てられた仮想アドレスを含む仮想アドレス情報に対して途中参加VLANクライアント端末の仮想アドレスが追加されて更新された仮想アドレス情報を受信すれば、途中参加VLANクライアント端末に関する未確立のVLANセッションを確立する。また、途中参加VLANクライアント端末とVLANデバイスとは、仮想アドレス情報と、ハブセッションおよびデバイスセッションを含む確立されたVLANセッションとを利用して通信する。
 起動コマンド制御部は、起動中のVLANグループのVLANデバイスに対して仮想アドレスが割り当てられているかどうかを判断し、仮想アドレスが割り当てられている場合に途中参加信号を送信してもよい。
 仮想アドレスは、仮想IPアドレスおよび仮想MACアドレスを含んでいてもよい。
 本発明では、互いに通信可能な複数の中継サーバを有する中継通信システムを構築する上で、仮想ネットワークを動的に作成できる。
 また、VLANグループの起動の指示を送信した場合にVLANグループが起動中であっても、VLANクライアント端末は、起動中のVLANグループに途中参加できる。従って、VLANグループが重複して起動することを防止できる。
中継通信システムの全体構成を示す模式図。 第1中継サーバの構成を示すブロック図。 第1クライアント端末の構成を示すブロック図。 中継グループ情報の概略構成を示す図。 中継グループ情報の詳細構成を示す図。 中継サーバ情報の概略構成を示す図。 中継サーバ情報の詳細構成を示す図。 第1中継サーバに格納されたクライアント端末情報の概略構成を示す図。 第2中継サーバに格納されたクライアント端末情報の概略構成を示す図。 第3中継サーバに格納されたクライアント端末情報の概略構成を示す図。 VLANグループ情報の詳細構成を示す図。 仮想アドレス情報の詳細構成を示す図。 中継グループの構築に関わる処理の流れを示す図。 交換前の中継サーバ情報の詳細構成を示す図。 交換前の中継サーバ情報の詳細構成を示す図。 交換前の中継サーバ情報の詳細構成を示す図。 中継グループ情報および中継サーバ情報の共有に関わる処理の流れを示す図。 VLANグループ情報の作成処理を示すフローチャート。 VLANグループ情報の共有に関わる処理の流れを示す図。 クライアント端末によるVLANセッションの確立処理を示すフローチャート(その1)。 クライアント端末によるVLANセッションの確立処理を示すフローチャート(その2)。 VLANデバイスのIPアドレスとMACアドレスに関する第1抽出情報の一例を示す図。 第1抽出情報に第1クライアント端末IPアドレスおよびMACアドレスを追加した第2抽出情報の一例を示す図。 初期化コマンドに対する中継サーバによる応答信号の送信処理を示すフローチャート(その1)。 初期化コマンドに対する中継サーバによる応答信号の送信処理を示すフローチャート(その2)。 初期化コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャート。 途中参加コマンドを受信した中継サーバにおける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グループと同じVLANグループがすでに起動されているかどうかを判断する。起動情報には、VLANグループの起動コマンド、起動時刻およびVLANグループ情報が含まれる。ここで、起動コマンド制御部133は、VLANグループがすでに起動されている場合には、起動指示の送信元であるクライアント端末に対して途中参加信号を送信し、クライアント端末のVLANグループへの途中参加を許可する処理を実行する。途中参加信号とは、VLANグループへの途中参加を許可する信号であって、後述する仮想アドレス情報と共に送信される。
 具体的に起動コマンド制御部133は、同じVLANグループがすでに起動されている場合、先にVLANグループを起動させた起動情報の起動時刻と受信した起動情報の起動時刻とを参照してより早い起動時刻を有する起動情報を有効と判断する。
 その後起動コマンド制御部133は、有効でない起動情報の送信元であるクライアント端末に対しては、より早い起動時刻を有する有効な起動情報に関連した初期化コマンドおよび仮想アドレス情報をすでに受信しているかどうかを判断する。そして、初期化コマンドおよび仮想アドレス情報をすでに受信している場合には、有効でない起動情報の送信元であるクライアント端末に対して前述の途中参加信号を送信する。ここで、起動コマンド制御部133は、有効である起動情報に関して初期化コマンドおよび仮想アドレス情報を受信してない場合は、VLANグループへの途中参加の処理を終了する。
 一方、受信した起動情報が有効であると判断した場合には、起動コマンド制御部133は、VLANグループの起動処理を実行する。起動コマンド制御部133は、まずVLANグループ情報から第1中継サーバAに接続されている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セッション制御部135は後述する途中参加コマンドを受信した場合、途中参加コマンドの送信元であるクライアント端末が第1中継サーバAに接続されている場合には、途中参加コマンドの送信元であるクライアント端末に関連する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に格納する。
 また、仮想アドレス制御部234は、仮想アドレス情報および途中参加信号を受信した場合には、仮想アドレス情報を参照して、第1クライアント端末A1に対して仮想アドレスを決定できるかどうかを判断する。仮想アドレスを決定できると判断した場合には、仮想アドレス制御部234は、第1クライアント端末A1に対して仮想アドレスを決定し、第1クライアント端末A1の仮想アドレス情報を追加して仮想アドレス情報を更新する。その後、仮想アドレス制御部234は、第1クライアント端末A1が接続された中継サーバに更新した仮想アドレス情報および途中参加コマンドを送信する。一方、仮想アドレス制御部234は、第1クライアント端末A1に対して仮想アドレスを決定できないと判断した場合には、VLANグループへの途中参加の処理を終了する。
 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の概略構成を示す。中継グループ情報は、中継通信システムにおける各中継グループの概要を示す情報であって、中継サーバの中継グループ情報格納部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には、VLANデバイスの識別情報、仮想IPアドレスおよび仮想MACアドレスが対応付けられている。仮想IPアドレスおよび仮想MACアドレスは、VLANデバイスが実際に使用しているIPアドレスおよびMACアドレスと重複しないように付与される。また、仮想IPアドレスおよび仮想MACアドレスは、VLANグループ内でそれぞれ同士が重複しないように付与される。
 この例における仮想アドレス情報80では、VLANデバイスとしての第1クライアント端末A1、第3クライアント端末B1および第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は、更新した中継サーバ情報を第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は、更新した中継サーバ情報を第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」を有する。また、グループ情報71は、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グループ情報は、その後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通信開始の処理について、図20Aおよび図20Bを参照して説明する。図20Aおよび図20Bは、クライアント端末によるVLANセッションの確立処理を示すフローチャートを示す。
 VLANセッション確立の処理は、VLANグループを構成するいずれかのVLANクライアント端末またはVLANクライアント端末が接続された中継サーバが、ユーザからVLANグループの起動指示を受け付けることによって開始される。この例では、第1クライアント端末A1が、VLANグループ情報70に示される第1VLANグループに対する起動指示をユーザから受け付ける。またこの例では、第1クライアント端末A1、第3クライアント端末B1および第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の処理を行う。具体的には、中継サーバ情報格納部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の識別情報、IPアドレスおよびMACアドレスが含まれる。第1抽出情報90-2には、第3中継サーバCに接続されたVLANデバイスである第5クライアント端末C1の識別情報、IPアドレスおよびMACアドレスが含まれる。
 なお、中継サーバが起動していないと判断した場合(ステップS113で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である第1クライアント端末A1の識別情報、IPアドレスおよびMACアドレスを追加する。そして、仮想アドレス作成部234aは、第1クライアント端末A1およびステップS116で抽出したVLANデバイスの情報を全て合わせた第2抽出情報91を作成する。図22に示すとおり、第2抽出情報91では、第1クライアント端末A1、第3クライアント端末B1および第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」が割り当てられる。識別情報「clientC1.rd.002@trial.net」によって識別される第5クライアント端末C1に対して、仮想IPアドレス「117.112.0.3」および仮想MACアドレス「00.11.22:f0.00.03」が割り当てられる。
 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中継サーバAとの間にデバイスセッションの確立処理を行う(ステップS120)。詳細には、第1中継サーバAからのデバイスセッションの確立要求に対してOKを返すことで、デバイスセッションをVLANセッションとして機能させる。なお、この際、第2中継サーバBと第3クライアント端末B1との間においてもデバイスセッションが確立される。また、第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および第5クライアント端末C1も、それぞれのVLANインターフェースに、仮想アドレス情報80の仮想IPアドレスおよび仮想MACアドレスを設定する。
 以上の処理により各VLANデバイスにおいて仮想アドレスが設定されると、仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS122)。
 14.5 VLANグループへの途中参加
 上記の例において、第1クライアント端末A1が第1VLANグループの起動の選択を受け付けて起動情報を送信する場合において、すでに第1VLANグループが他のクライアント端末または中継サーバからの起動指示によって起動されている場合がある。このような場合、第1VLANグループの起動の重複を解消するために、以下の処理が行われる。
 すでに第1VLANグループが起動されている場合には、第2中継サーバBおよび/または第3中継サーバCから起動情報の送信に対する応答信号(ステップS114参照)は送信されない。従って、起動コマンド制御部233は、応答信号を受信せず(ステップS115でNo)、第2中継サーバBおよび/または第3中継サーバCから途中参加信号を受信したかどうかを判断する(ステップS123)。途中参加信号とは、第1VLANグループへの第1クライアント端末A1の途中参加を許可する信号である。途中参加信号には、先の第1VLANグループの起動によってすでに作成されている仮想アドレス情報が含まれている。
 第1クライアント端末A1が第1VLANグループへ途中参加できるかどうかは、VLANクライアント端末が接続されていて起動しているいずれかの中継サーバによって判断される。例えば、第2中継サーバBによって途中参加の判断がなされた場合は、第1中継サーバAを介して第2中継サーバBから第1クライアント端末A1に対して途中参加信号が送信される。中継サーバによる途中参加信号の送信については、後に詳述する。
 ここで、第2中継サーバBから途中参加信号を受信しない場合は(ステップS123でNo)、起動コマンド制御部233は、起動処理の重複エラーの処理を実行し、起動処理を終了する(ステップS125)。
 一方、途中参加信号を受信すれば、次に仮想アドレス制御部234は、途中参加信号とともに受信した仮想アドレス情報を読み出し(ステップS124)、仮想アドレス情報からVLANデバイスに割り当てられている仮想IPアドレスおよび仮想MACアドレスを抽出する(ステップS126)。
 次に仮想アドレス制御部234は、抽出した仮想IPアドレスおよび仮想MACアドレスを参照して、第1クライアント端末A1に対して仮想アドレスを決定できるかどうかを判断する(ステップS127)。具体的には、仮想アドレス制御部234は、第1クライアント端末A1が現在使用しているIPアドレスが、抽出した仮想IPアドレスと同じアドレス体系ではないかどうかを判断する。また、仮想アドレス制御部234は、第1クライアント端末A1が現在使用しているMACアドレスが、抽出した仮想MACアドレスと同じアドレス体系ではないかどうかを判断する。ここで、例えば第1クライアント端末A1のアドレスのセグメントと仮想アドレスのセグメントが同じである場合は、仮想アドレス制御部234は、起動エラーと判断してVLANグループへの途中参加の処理を終了する(ステップS128)。
 一方、第1クライアント端末A1のIPアドレスおよびMACアドレスと、仮想IPアドレスおよび仮想MACアドレスとの間が異なるアドレス体系である場合は、仮想アドレス制御部234は、第1クライアント端末A1に対して仮想アドレスを決定し仮想アドレス情報を更新する(ステップS129)。例えば、仮想アドレス制御部234は、抽出した仮想IPアドレスおよび仮想MACアドレスそれぞれの末尾を変更した仮想IPアドレスおよび仮想MACアドレスを第1クライアント端末A1に割り当てる。そして、仮想アドレス制御部234は、割り当てた仮想IPアドレスおよび仮想MACアドレスと第1クライアント端末A1の識別情報とを仮想アドレス情報に追加することにより、仮想アドレス情報を更新する。
 仮想アドレス情報を更新した後、仮想アドレス制御部234は、更新した仮想アドレス情報および途中参加コマンドを第1中継サーバAに送信する(ステップS131)。途中参加コマンドは、VLANへの途中参加を示すコマンドであって、VLANグループの識別情報が含まれている。
 第1中継サーバAからOKという応答を受信した場合には(ステップS132でYes)、ステップS120へ進み、VLANセッション制御部237によって、第1中継サーバAとの間におけるデバイスセッションの確立処理が行われる。一方、第1中継サーバAからOKという応答を受信しない場合には(ステップS132でNo)、仮想アドレス制御部234は、起動エラーと判断して処理を終了する(ステップS133)。
 なお、更新した仮想アドレス情報および途中参加コマンドは、その後中継サーバを介して各VLANデバイスに送信される。
 上記のような処理を実行することにより、第1VLANグループの起動の重複を解消できる。また、第1VLANグループの起動指示が重複した場合であっても、後に起動指示を行ったクライアント端末は、クライアント端末が使用するアドレスと先の第1VLANグループの起動によって作成された仮想アドレスとが同じアドレス体系でなければ、第1VLANグループに途中参加できる。
 15.中継サーバにおけるVLANセッションの確立処理およびVLAN通信開始の処理
 次に、VLANグループの起動指示を受け付けたクライアント端末から起動情報を受信した中継サーバにおけるVLANセッション確立処理およびVLAN通信開始の処理について説明する。この例では、第1クライアント端末A1からの起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を受信した第2中継サーバBの処理を説明する(図20AのステップS114参照)。なお、第1クライアント端末A1から起動情報を受け付ける第3中継サーバCの処理については、第2中継サーバBと同様の処理であるためその説明を省略する。
 15.1 応答信号の送信
 まず、図23Aおよび図23Bを参照して、起動情報に対する第2中継サーバBによる応答信号の送信処理について説明する。図23Aおよび図23Bは、起動情報に対する中継サーバによる応答信号の送信処理を示すフローチャートである。第2中継サーバBの起動コマンド制御部133は、第1クライアント端末A1から起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を受信した場合(ステップS141でYes)、VLANグループ情報70からVLANグループの識別情報を抽出する(ステップS142)。この例では、起動コマンド制御部133は、VLANグループ情報70から識別情報「1279672104671.clientA1.rd.002@trial.net」を抽出する。そして、起動コマンド制御部133は、この識別情報を有する第1VLANグループがすでに起動されているかどうかを確認する(ステップS143)。第1VLANグループが起動されていない場合には、第1VLANグループの起動処理が開始され(ステップS144)、後述するステップS151へ進む。
 一方、第1VLANグループがすでに起動されている場合には、起動コマンド制御部133は、第1クライアント端末A1から受信した起動時刻と、先に受信した第1VLANグループの起動情報に含まれている起動時刻とを比較する(ステップS145)。第1クライアント端末A1から受信した起動時刻が有効である場合は(ステップS146でYes)、すでに受信している起動時刻を第1クライアント端末A1から受信した起動時刻に上書きし(ステップS147)、ステップS151に進む。ここでは、より早い起動時刻が有効な起動時刻であると判断される。
 第1クライアント端末A1から受信した起動時刻が有効でない場合は(ステップS146でNo)、起動コマンド制御部133は、さらに初期化コマンドおよび仮想アドレス情報を受信しているかどうか判断する(ステップS148)。すなわち、起動コマンド制御部133は、先の第1VLANグループの起動が初期化コマンドおよび仮想アドレス情報の送付の処理まですでに実行されているかどうかを判断する。
 初期化コマンドおよび仮想アドレス情報を受信している場合には(ステップS148でYes)、起動コマンド制御部133は、第1クライアント端末A1に対して、途中参加信号と、受信した初期化コマンドおよび仮想アドレス情報を送信する(ステップS149)。前述のとおり、途中参加信号とは、第1VLANグループへの第1クライアント端末A1の途中参加を許可する信号である。
 初期化コマンドおよび仮想アドレス情報を受信していない場合には(ステップS148でNo)、起動コマンド制御部133は、起動処理の重複エラー信号を第1クライアント端末A1に返信し、起動処理を終了する(ステップS150)。なぜなら、仮想アドレス情報を受信していない場合には、受信した仮想アドレス情報に基づく第2中継サーバBへの仮想アドレスの割り当て処理が実行できないからである(図20BのステップS127、ステップS129参照)。
 第1VLANグループの起動処理が開始され(ステップS144)、または起動時刻の上書き処理(ステップS147)がなされた場合、起動コマンド制御部133は、次にVLANグループ情報70から第2中継サーバBに接続されているVLANクライアント端末の抽出処理を実行する(ステップS151)。第2中継サーバBに接続されているVLANクライアント端末がある場合(ステップS152でYes)、起動コマンド制御部133は、VLANクライアント端末が起動できるか否かを判断する(ステップS154)。起動可能なVLANクライアント端末とは、現在ログイン中でありかつ他のVLANグループに現在参加していないクライアント端末である。以下、起動コマンド制御部133によって起動可能であると判断されたVLANクライアント端末をVLANデバイスという。この例では、起動コマンド制御部133は、VLANデバイスとして第3クライアント端末B1を抽出する。なお、VLANデバイスであるかどうかの判断に際して、起動コマンド制御部133は、中継サーバ情報格納部142に格納された中継サーバ情報を参照して、第3クライアント端末B1がログイン中であるかどうかを判断する。また、起動コマンド制御部133は、ログイン中である第3クライアント端末B1に起動コマンドを送信する。そして、第3クライアント端末B1から起動コマンドに対するOK信号を受信すれば、起動コマンド制御部133は、第3クライアント端末B1がVLANデバイスであると判断する。
 その後起動コマンド制御部133は、VLAN起動コマンドを第3クライアント端末B1に送信する(ステップS155)。VLAN起動コマンドとは、VLANクライアント端末をVLANデバイスとして起動させるコマンドである。第3クライアント端末B1よりOK応答を受信した場合(ステップS156でYes)、起動コマンド制御部133は、応答信号を第1クライアント端末A1へ送信する(ステップS157)。応答信号には、第3クライアント端末B1の識別情報、IPアドレスおよびMACアドレスが含まれる。ここで、起動コマンド制御部133は、ログイン中である第3クライアント端末B1とはLANを介してIP通信をしている。従って、起動コマンド制御部133は、第3クライアント端末B1のIPアドレスおよびMACアドレスを、第3クライアント端末B1に問い合わせることを要しない。なお、応答信号を受信した場合を受信した第1クライアント端末A1は、受信した応答信号から仮想アドレス情報80を作成する(図20AのステップS115およびステップS116参照)。
 第2中継サーバBに接続されているVLANクライアント端末がない場合(ステップS152でNo)は、起動コマンド制御部133は、第1クライアント端末A1に対して起動OK信号を送信する。起動OK信号とは、単に受信した起動コマンドに対するOK応答を示す。また、VLANデバイスがない場合(ステップS154でNo)、またはVLAN起動コマンドの送信に対してOK応答を受信しない場合(ステップS156でNo)も同様に、起動コマンド制御部133は起動OK信号を送信する。
 15.2 VLANセッションの確立
 次に、クライアント端末によって仮想アドレス情報が作成された後、中継サーバが行うVLANセッションの確立処理を説明する。
 15.2.1 初期化コマンドを受信した場合の処理
 まず、図24を参照して、第1クライアント端末A1が仮想アドレス情報80を作成した後に送信した仮想アドレス情報80および初期化コマンドを(図20AのステップS119参照)、第2中継サーバBが受信した場合の処理を説明する。図24は、初期化コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャートである。なお、第1クライアント端末A1から仮想アドレス情報80と初期化コマンドとを受信した場合の第3中継サーバCの動作は、以下に説明する第2中継サーバBの処理と同様であるので説明を省略する。
 第2中継サーバBのVLANセッション制御部135は、第1クライアント端末A1から仮想アドレス情報80と初期化コマンドとを受信すれば(ステップS161でYes)、初期化コマンドからVLANグループの識別情報を抽出する(ステップS162)。この例では、VLANセッション制御部135は、「1279672104671.clientA1.rd.002@trial.net」を抽出する。
 次にVLANセッション制御部135は、抽出した識別情報から識別される第1VLANグループが起動処理中であるかどうか判断する(ステップS163)。ここで、第1VLANグループが起動処理中でない場合は、第1クライアント端末A1に対してエラー応答を返信し(ステップS165)、処理を終了する。
 一方、第1VLANグループが起動処理中である場合は、VLANセッション制御部135は、仮想アドレス情報80からVLANデバイスを抽出する(ステップS164)。この例では、VLANセッション制御部135は、VLANデバイスである第1クライアント端末A1、第3クライアント端末B1および第5クライアント端末C1を抽出する。次にVLANセッション制御部135は、VLANグループ情報格納部144に格納されているVLANグループ情報70を参照して、上記抽出したVLANデバイスの中からさらに第2中継サーバBの配下である、すなわち第2中継サーバBに接続されたVLANデバイスを抽出する(ステップS166)。この例では、第3クライアント端末B1が抽出される。その後VLANセッション制御部135は、第3クライアント端末B1に対して受信した初期化コマンドおよび仮想アドレス情報を転送する(ステップS167)。
 次に、VLANセッション制御部135は、VLANグループ情報70からセッション情報73を抽出する(ステップS168)。セッション情報73を抽出した後、VLANセッション制御部135は、セッション情報73を参照して、「sp」として第2中継サーバBが設定されていてかつ未確立であるハブセッションを確立する(ステップS169)。この例では、VLANセッション制御部135は、「ep」として設定されている第3中継サーバCとの間にハブセッションを確立する。なお、このとき、第1中継サーバAにおいても、「sp」として第1中継サーバAが設定されていてかつ未確立であるハブセッションを確立する処理が行われている。
 第3中継サーバCからハブセッションの確立に対するOKの応答信号を受信した後(ステップS170)、VLANセッション制御部135は、VLANグループ情報70を参照し、第2中継サーバBと接続されたVLANデバイスとの間にデバイスセッションを確立する(ステップS171)。この例では、VLANセッション制御部135は、VLANグループ情報70のVLANクライアント端末情報72を参照し、VLANデバイスである第3クライアント端末B1との間にデバイスセッションを確立する。
 第3クライアント端末B1からOKの応答信号を受信すれば、仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS172)。
 15.2.2 途中参加コマンドを受信した場合の処理
 次に、第1クライアント端末A1から更新した仮想アドレス情報および途中参加コマンド(図20BのステップS131参照)を受信した場合の第2中継サーバBの処理を、図25を参照して説明する。図25は、途中参加コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャートである。
 第2中継サーバBのVLANセッション制御部135は、第1クライアント端末A1から仮想アドレス情報および途中参加コマンドを受信すれば(ステップS181でYes)、途中参加コマンドからVLANグループの識別情報を抽出する(ステップS182)。
 次にVLANセッション制御部135は、抽出した識別情報から識別される第1VLANグループが起動処理中であるかどうか判断する(ステップS183)。ここで、第1VLANグループが起動処理中でない場合は、第1クライアント端末A1に対してエラー応答を返信し(ステップS185)、処理を終了する。
 一方、第1VLANグループが起動処理中である場合は、VLANセッション制御部135は、更新された仮想アドレス情報からVLANデバイスを抽出する(ステップS184)。次にVLANセッション制御部135は、VLANグループ情報格納部144に格納されているVLANグループ情報70を参照して、抽出したVLANデバイスの中からさらに第2中継サーバB配下の、すなわち第2中継サーバBに接続されたVLANデバイスを抽出する(ステップS186)。その後VLANセッション制御部135は、第2中継サーバB配下の、すなわち第2中継サーバBに接続されたVLANデバイスに対して途中参加コマンドおよび更新された仮想アドレス情報を送信する(ステップS187)。
 次に、VLANセッション制御部135は、VLANグループ情報70からセッション情報73を抽出する(ステップS188)。セッション情報73を抽出した後、VLANセッション制御部135は、セッション情報73を参照して、「sp」として第2中継サーバBが設定されていてかつ未確立であるハブセッションを確立する(ステップS189)。すなわち、VLANセッション制御部135は、先の第1VLANグループの起動によってすでに確立されているハブセッションはそのまま利用し、途中参加が許可されたVLANクライアント端末の参加によって確立が必要となったハブセッションを新たに確立する。なお、このとき、ハブの役割を果たす他の中継サーバ間においても、ハブセッションを確立する処理が行われている。
 ハブセッションの接続先である中継サーバからOKの応答信号を受信した後(ステップS190)、VLANセッション制御部135は、VLANグループ情報70を参照し、第2中継サーバB配下である、すなわち第2中継サーバBと接続されたVLANデバイスがあるかどうかを判断する(ステップS191)。第2中継サーバB配下のVLANデバイスがある場合は(ステップS191でYes)、VLANセッション制御部135は、第2中継サーバB配下のVLANデバイスとの間にデバイスセッションを確立する(ステップS192)。
 第2中継サーバB配下のVLANデバイスとの間にデバイスセッションを確立した場合、または第2中継サーバB配下のVLANデバイスがない場合は(ステップS191でNo)、その後仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS193)。
 16.VLANセッションの一例
 図26のシーケンス図を参照して、VLANセッションを確立する際のデータの流れを説明する。図26は、VLANセッションの確立に関わる処理の流れの一例を示す図である。
 以下、第1VLANグループにおけるVLANセッションの確立処理を、以下の例を挙げて説明する。この例では、VLANグループ情報70が、第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1によって共有された状態で(図19参照)、第4クライアント端末B2が第1中継グループからログアウトする。その後第1VLANグループ間でVLANセッションが確立した後に、第4クライアント端末B2がログオンし、第4クライアント端末B2が第1VLANグループの起動指示をユーザから受け付ける。
 なお、この間、第1中継グループ内における起動中の各中継サーバは、通常のIPアドレスおよびMACアドレスを利用して、WANインターフェースを介して第1中継グループ内の他の起動中の中継サーバと通信している。そして、各中継サーバ間で、第1中継グループ内における接続状態の変化を共有している。また、第1中継グループ内における起動中の各クライアント端末は、LANインターフェースを介して接続された中継サーバと通信している。そして、クライアント端末と中継サーバとの間で、中継通信システムにおける接続状態の変化が共有されている。
 まず、第4クライアント端末B2は、第1中継グループからログアウトする。具体的には、第4クライアント端末B2は、第2中継サーバBにログアウトを通知し(ステップS51:logout())、第2中継サーバBからOKを受信する。ログアウトが通知された第2中継サーバBは、中継サーバ情報を参照し、第3クライアント端末B1に第4クライアント端末B2のログアウトを通知する(ステップS52:notifyLogout(clientB2))。第3クライアント端末B1は、第2中継サーバBにOKを返す。また第2中継サーバBは、中継サーバ情報を参照し、第1中継サーバAに第4クライアント端末B2のログアウトを通知する(ステップS53:notifyLogout(clientB2))。第1中継サーバAは、中継サーバ情報を参照し、第1クライアント端末A1に第4クライアント端末B2のログアウトを通知する(ステップS53.1:notifyLogout(clientB2))。第1クライアント端末A1からOKが返ってくると、第1中継サーバAは第2中継サーバBにOKを返す。なお、この例では図示されていないが、第1中継サーバAは、中継サーバ情報を参照し、第1中継グループを構成する第2クライアント端末A2に対しても第4クライアント端末B2のログアウトを通知する。
 さらに第2中継サーバBは、中継サーバ情報を参照し、第3中継サーバCに第4クライアント端末B2のログアウトを通知する(ステップS54:notifyLogout(clientB2))。第3中継サーバCは、中継サーバ情報を参照し、第5クライアント端末C1に第4クライアント端末B2のログアウトを通知する(ステップS54.1:notifyLogout(clientB2))。第5クライアント端末C1からOKが返ってくると、第3中継サーバCは第2中継サーバBにOKを返す。以上の処理により、第1中継グループ内の全ての中継サーバおよびクライアント端末が第4クライアント端末B2のログアウトを共有する。
 その後、第1クライアント端末A1が第1VLANグループの起動指示をユーザから受け付けると、第1VLANグループの起動処理が開始される。まず、第1クライアント端末A1は、第1中継サーバAを介して、VLANグループ内でハブの役割を果たし起動状態である第2中継サーバBに対して、起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を送信する(ステップS55:StartVlan(vlanGroupID)、ステップS55.1:StartVlan(vlanGroupID))。第2中継サーバBは、VLANグループ情報70を参照し、第2中継サーバBに接続されているVLANクライアント端末である第3クライアント端末B1および第4クライアント端末B2を抽出する。そして、第2中継サーバBは、第3クライアント端末B1および第4クライアント端末B2がVLANデバイスであるかどうか判断した上で、VLANデバイスに起動情報を送信する。この例では、第4クライアント端末B2はログアウトしているので、第2中継サーバBは、VLANデバイスである第3クライアント端末B1に対して起動コマンド、起動時刻およびVLANグループ情報70を送信する(ステップS55.1.1:StartVlan(vlanGroupID))。
 第3クライアント端末B1よりOKを受信した場合、第2中継サーバBは、応答信号(OK(clientB1(ip,mac)))を、第1中継サーバAを介して第1クライアント端末A1へ送信する。応答信号には、第3クライアント端末B1の識別情報、IPアドレスおよびMACアドレスが含まれている。
 また、第1クライアント端末A1は、VLANグループ内でハブの役割を果たし起動状態である第3中継サーバCに対して、第1中継サーバAを介して、起動コマンド、起動時刻およびVLANグループ情報70を送信する(ステップS56:StartVlan(vlanGroupID)、ステップS56.1:StartVlan(vlanGroupID))。第3中継サーバCは、VLANグループ情報70を参照し、第3中継サーバCに接続されているVLANクライアント端末である第5クライアント端末C1を抽出する。そして、第3中継サーバCは、第5クライアント端末C1がVLANデバイスであるかどうか判断した上で、第5クライアント端末C1に対して起動コマンド、起動時刻およびVLANグループ情報70を送信する(ステップS56.1.1:StartVlan(vlanGroupID))。
 第5クライアント端末C1よりOKを受信した場合、第3中継サーバCは、応答信号(OK(clientC1(ip,mac)))を、第1中継サーバAを介して第1クライアント端末A1へ送信する。応答信号には、第5クライアント端末C1の識別情報、IPアドレスおよびMACアドレスが含まれている。
 次に、第1クライアント端末A1は、応答信号からの抽出処理および仮想アドレス情報の作成処理を行い(図20AのステップS116、S118参照)、VLANデバイスおよびVLANデバイスが接続された中継サーバに対して初期化コマンドおよび作成した仮想アドレス情報80を送信する。ここで仮想アドレス情報80には、図12に示すような、第1クライアントA1端末、第3クライアント端末B1および第5クライアント端末C1それぞれの識別情報、仮想IPアドレスおよび仮想MACアドレスが含まれている。
 まず、第1クライアント端末A1は、第1中継サーバAを介して、第2中継サーバBに対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS57:configVlan(vlanGroupID,addrList)、ステップS57.1:configVlan(vlanGroupID,addrList))。次に第2中継サーバBは、抽出処理(図24ステップS161~ステップS164およびステップS166参照)を経て抽出した第3クライアント端末B1に対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS57.1.1:configVlan(vlanGroupID,addrList))。第3クライアント端末B1よりOKを受信すれば、第2中継サーバBは第1中継サーバAにOKを返信する。OKを受信した第1中継サーバAは、第1クライアント端末A1にOKを返信する。
 また、第1クライアント端末A1は、第1中継サーバAを介して、第3中継サーバCに対して初期化コマンドおよび仮想アドレス情報80を送信する(ステップS58:configVlan(vlanGroupID,addrList)、ステップS58.1:configVlan(vlanGroupID,addrList))。次に第3中継サーバCは、上述した処理(図24のステップS161~ステップS164およびステップS166参照)を経て抽出した第5クライアント端末C1に対して初期化コマンドおよび仮想アドレス情報を転送する(ステップS58.1.1:configVlan(vlanGroupID,addrList))。第5クライアント端末C1よりOKを受信すれば、第3中継サーバCは第1中継サーバAにOKを返信する。OKを受信した第1中継サーバAは、第1クライアント端末A1にOKを返信する。以上の処理により、第1VLANグループ内の全てのVLANデバイスに仮想アドレス情報が送信される。
 その後、VLANデバイスが接続された中継サーバは、VLANグループ情報70のセッション情報73を参照し、「sp」として中継サーバが設定されていてかつ未確立であるハブセッションを確立する。この例では、いずれのハブセッションも未確立であるので、まず「sp」として指定されている第1中継サーバAが、「ep」として指定されている第2中継サーバBに対してハブセッションの確立を要求する(ステップS59:createHubSsn(vlanGroupID))。第2中継サーバBからOKが返されると、第1中継サーバAと第2中継サーバBとの間にハブセッションが確立する。また、「sp」として指定されている第1中継サーバAは、「ep」として指定されている第3中継サーバCに対してハブセッションの確立を要求する(ステップS60:createHubSsn(vlanGroupID))。第3中継サーバCからOKが返されると、第1中継サーバAと第3中継サーバCとの間にハブセッションが確立する。
 さらに、「sp」として指定されている第2中継サーバBは、「ep」として指定されている第3中継サーバCに対してハブセッションの確立を要求する(ステップS61:createHubSsn(vlanGroupID))。第3中継サーバCからOKが返されると、第2中継サーバBと第3中継サーバCとの間にハブセッションが確立する。
 ハブセッションが確立されると、VLANデバイスが接続された中継サーバは、中継サーバに接続されているVLANデバイスとの間にデバイスセッションを確立する。まず、第1中継サーバAは、第1クライアント端末A1に対してデバイスセッションの確立を要求する(ステップS62:createDeviceSsn(vlanGroupID))。第1クライアント端末A1からOKが返信されると、第1中継サーバAと第1クライアント端末A1との間にデバイスセッションが確立する。
 また、第2中継サーバBは、第3クライアント端末B1に対してデバイスセッションの確立を要求する(ステップS63:createDeviceSsn(vlanGroupID))。第3クライアント端末B1からOKが返されると、第2中継サーバBと第3クライアント端末B1との間にデバイスセッションが確立する。さらに、第3中継サーバCは、第5クライアント端末C1に対してデバイスセッションの確立を要求する(ステップS64:createDeviceSsn(vlanGroupID))。第5クライアント端末C1からOKが返されると、第3中継サーバCと第5クライアント端末C1との間にデバイスセッションが確立する。
 上記のようにVLANグループ内でハブセッションおよびデバイスセッションを含むVLANセッションが確立されると、各VLANデバイスは、LANデバイスのVLANインターフェースを初期化し、VLANインターフェースに仮想アドレスを設定する。各VLANデバイスにおいて仮想アドレスが設定されると、仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる。
 この状態で、第4クライアント端末B2が再びログオンする。具体的には、第4クライアント端末B2は、第2中継サーバBにログオンを通知し(ステップS65:login())、第2中継サーバBからOKを受信する。ログオンが通知された第2中継サーバBは、中継サーバ情報を参照し、第3クライアント端末B1に第4クライアント端末B2のログオンを通知する(ステップS66:notifyLogon(clientB2))。第3クライアント端末B1は、第2中継サーバBにOKを返す。また第2中継サーバBは、中継サーバ情報を参照し、第1中継サーバAに第4クライアント端末B2のログオンを通知する(ステップS67:notifyLogon(clientB2))。第1中継サーバAは、中継サーバ情報を参照し、第1クライアント端末A1に第4クライアント端末B2のログオンを通知する(ステップS67.1:notifyLogon(clientB2))。第1クライアント端末A1からOKが返ってくると、第1中継サーバAは第2中継サーバBにOKを返す。なお、この例では図示されていないが、第1中継サーバAは、中継サーバ情報を参照し、第1中継グループを構成する第2クライアント端末A2に対しても第4クライアント端末B2のログオンを通知する。
 さらに第2中継サーバBは、中継サーバ情報を参照し、第3中継サーバCに第4クライアント端末B2のログオンを通知する(ステップS68:notifyLogon(clientB2))。第3中継サーバCは、中継サーバ情報を参照し、第5クライアント端末C1に第4クライアント端末B2のログオンを通知する(ステップS68.1:notifyLogon(clientB2))。第5クライアント端末C1からOKが返ってくると、第3中継サーバCは第2中継サーバBにOKを返す。以上の処理により、第1中継グループ内の全ての中継サーバおよびクライアント端末が第4クライアント端末B2のログオンを共有する。
 その後、第4クライアント端末B4は、第1VLANグループの起動指示をユーザから受け付けると、第2中継サーバBに対して、起動コマンド、起動時刻およびVLANグループ情報70を送信する(ステップS69:StartVlan(VlanGroupID)。
 このとき、第2中継サーバBは、受信した起動コマンド、起動時刻およびVLANグループ情報70を参照し、受信した起動時刻が有効であるかを判断する。さらに第2中継サーバBは、初期化コマンドおよび仮想アドレス情報を受信しているかどうかを判断した上で、途中参加信号(notifyJoin(addrList))を第4クライアント端末B2に送信する(図23AのステップS143~S146、S148~S149参照)。この例では、第4クライアント端末B2から受信した起動時刻は、ステップS55、S55.1において第1クライアント端末A1から受信した起動時刻より遅いため、第2中継サーバBは、第4クライアント端末B2から受信した起動時刻は有効でないと判断する。さらに、第2中継サーバBは、すでにステップS57、S57.1において初期化コマンドおよび仮想アドレス情報80を受信している。従って、第2中継サーバBは、第4クライアント端末B2に対して、初期化コマンド、仮想アドレス情報80および途中参加信号を送信する。
 途中参加信号を受信すれば、第4クライアント端末B2は、仮想アドレス情報80から抽出した割り当て済みの仮想アドレスを参照して、第4クライアント端末B2に対して仮想アドレスを決定し、仮想アドレス情報を更新する。そして、第4クライアント端末B2は、更新した仮想アドレス情報を送信する(図20BのステップS123~131参照)。この例では、第4クライアント端末B2は、第4クライアント端末B2に対して仮想アドレスを決定が可能であると判断し、抽出した割り当て済み仮想IPアドレスおよび仮想MACアドレスそれぞれの末尾を変更した仮想IPアドレスおよび仮想MACアドレス(177.112.0.4、00-11-22-f0-00-04)を第4クライアント端末B2に割り当てる。
 その後更新された仮想アドレス情報および途中参加コマンドが、更新された仮想アドレス情報およびVLANグループ情報70に基づき各VLANデバイスに送信される。まず、第4クライアント端末B2は、第2中継サーバBに更新された仮想アドレス情報および途中参加コマンドを送信する(ステップS70:JoinVlan(vlanGroupID,addrList))。第2中継サーバBは、更新された仮想アドレス情報および途中参加コマンドを第1中継サーバAに送信する(ステップS70.1:JoinVlan(vlanGroupID,addrList))。第1中継サーバAは、更新された仮想アドレス情報および途中参加コマンドを第1クライアント端末A1に送信する(ステップS70.1.1:JoinVlan(vlanGroupID,addrList))。第1クライアント端末A1からOKが返ってくると、第1中継サーバAは第2中継サーバBにOKを返す。
 また、第2中継サーバBは更新された仮想アドレス情報および途中参加コマンドを第3クライアント端末B1に送信する(ステップS70.2:JoinVlan(vlanGroupID,addrList))。第3クライアント端末B1は第2中継サーバBにOKを返す。
 さらに、第2中継サーバBは、更新された仮想アドレス情報および途中参加コマンドを第3中継サーバCに送信する(ステップS70.3:JoinVlan(vlanGroupID,addrList))。第3中継サーバCは、更新された仮想アドレス情報および途中参加コマンドを第5クライアント端末C1に送信する(ステップS70.3.1:JoinVlan(vlanGroupID,addrList))。第5クライアント端末C1からOKが返ってくると、第3中継サーバCは第2中継サーバBにOKを返す。第2中継サーバBは、第1クライアント端末A1、第3クライアント端末B1および第5クライアント端末C1からOKを受け取ると、第4クライアント端末B2にOKを返す。
 以上の処理により、VLANデバイスに対して更新された仮想アドレス情報が送信される。
 その後、ハブの役割を果たす中継サーバは、VLANグループ情報70のセッション情報73を参照し、「sp」として中継サーバが設定されていてかつ未確立であるハブセッションを確立する。この例では、全てのハブセッションが確立済みである。また、ハブの役割を果たす中継サーバは、中継サーバに接続されているVLANデバイスとの間に未確立のデバイスセッションがある場合には、デバイスセッションを確立する。この例では、第2中継サーバBは第4クライアント端末B2との間にデバイスセッションを確立する(ステップS71:createDeviceSsn(vlanGroupID))。
 上記のようにVLANグループ内でハブセッションおよびデバイスセッションを含むVLANセッションが確立されると、各VLANデバイスは、VLANデバイスの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.4」であり仮想MACアドレスが「00.11.22:f0:00:04」である第4クライアント端末B2にデータ転送が行える。具体的には、第1クライアント端末A1は、デバイスセッションを介して第1中継サーバAに通信パケットを送信する(ステップS72:sendData(packet01))。通信パケットには、送信先である第3クライアント端末B1の仮想アドレスと送信したいデータが含まれる。次に第1中継サーバAは、ハブセッションを介して第2中継サーバBに通信パケットを送信する(ステップS72.1:sendData(packet01))。その後第2中継サーバBは、デバイスセッションを介して第4クライアント端末B2に通信パケットを送信する(ステップS72.1.1:sendData(packet01))。
 本実施形態の中継システムでは、上記のとおりVLANグループ間でVLANグループ情報を共有する。また、VLANグループを起動させると、VLANデバイス間にVLANセッションを確立し、VLANグループを起動する際に作成した仮想アドレス情報をVLANデバイス間で共有する処理を行う。さらに、VLANデバイスのVLANインターフェースに仮想アドレスを設定する処理が行われ、VLANインターフェースおよびVLANセッションを介してVLANデバイス間でデータが送受信される。このように、本実施形態の中継システムでは、仮想アドレスおよびVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる。
 また、本実施形態の中継システムでは、VLANグループの起動の重複を解消できる。そして、VLANグループの起動指示が重複した場合には、後に同じVLANグループに対して起動指示を行ったVLANクライアント端末は、VLANクライアント端末が実際に使用するアドレスと仮想アドレスとが同じアドレス体系でなければ、VLANグループに途中参加することができる。
 17.他の実施形態
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態および変形例は必要に応じて任意に組合せ可能である。
 17.1 中継サーバ情報に登録されたクライアント端末は、同じ中継グループを構成する中継サーバであれば、接続された中継サーバとは異なる他の中継サーバを介してリモートログインできる。従って、VLANグループ情報の作成時と、VLANグループの起動時とでは、VLANクライアント端末が異なる中継サーバを介してログインしている場合がある。このようにクライアント端末が他の中継サーバを介してログインしている状態は、中継サーバ情報の共有により同一中継グループ内で起動している中継サーバおよびクライアント端末間において共有されている。
 上記のような場合、起動するVLANグループの選択を受け付けたクライアント端末のVLANグループ情報更新部235は、セッション情報を、リモートログインを受け付けた中継サーバを含めたセッション情報へと更新する。そして更新したVLANグループ情報をVLANクライアント端末およびVLANクライアント端末が接続された中継サーバ間で共有させる。
 例えば、第1中継グループが、第1中継サーバA、第2中継サーバBおよび第3中継サーバCに加えてさらにVLANクライアント端末が接続されていない第4中継サーバから構成されていると仮定する。このような第1中継グループにおいて、第1クライアント端末A1が第1中継サーバAではなく第4中継サーバDを介して第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 (7)

  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グループが起動中でなければ、前記セッション情報に基づき前記第1中継サーバと前記第2中継サーバとの間にVLANセッションとしてのハブセッションを確立し、起動可能な前記VLANクライアント端末としてのVLANデバイスと前記VLANデバイスが接続された前記第1中継サーバまたは前記第2中継サーバとの間にVLANセッションとしてのデバイスセッションを確立するVLANセッション制御部と、
     前記VLANグループの起動指示を受信した場合に、前記VLANグループが起動中であれば、前記起動指示の送信元である途中参加VLANクライアント端末に対して前記VLANグループへの途中参加を許可する途中参加信号を送信する起動コマンド制御部と、
    をさらに有し、
     前記第1中継サーバに接続される一以上のクライアント端末および前記第2中継サーバに接続される一以上のクライアント端末は、
     前記クライアント端末が前記途中参加VLANクライアント端末であって前記途中参加信号を受信した場合、起動中の前記VLANグループを構成する前記VLANデバイスに対して割り当てられた仮想アドレスを含む仮想アドレス情報に基づき作成したクライアント端末用仮想アドレスを追加して前記仮想アドレス情報を更新し、前記更新された仮想アドレス情報を前記VLANデバイスに対して送信する仮想アドレス制御部をさらに有し、
     前記VLANセッション制御部は、前記途中参加VLANクライアント端末に関する未確立のVLANセッションを確立し、
     前記途中参加VLANクライアント端末と前記VLANデバイスとは、前記更新された仮想アドレス情報と、前記ハブセッションおよび前記デバイスセッションを含む確立された前記VLANセッションとを利用して通信する中継通信システム。
  2.  前記起動コマンド制御部は、起動中の前記VLANグループの前記VLANデバイスに対して前記仮想アドレスが割り当てられているかどうかを判断し、前記仮想アドレスが割り当てられている場合に前記途中参加信号を前記途中参加VLANクライアント端末に対して送信する請求項1に記載の中継通信システム。
  3.  前記仮想アドレス制御部は、前記仮想アドレス情報を参照して前記クライアント端末用仮想アドレスを作成可能かどうか判断し、前記仮想アドレスを作成できないと判断した場合、前記VLANグループへの途中参加の処理を終了する請求項1または請求項2に記載の中継通信システム。
  4.  前記仮想アドレスは、仮想IPアドレスおよび仮想MACアドレスを含む、請求項1~3のいずれかに記載の中継通信システム。
  5.  第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グループが起動中でなければ、前記セッション情報に基づき前記第1中継サーバとの間にVLANセッションとしてのハブセッションを確立し、中継サーバに接続された前記VLANクライアント端末のうち起動可能なVLANクライアント端末としてのVLANデバイスとの間にVLANセッションとしてのデバイスセッションを確立するVLANセッション制御部と、
     前記VLANグループに関する起動指示を受信した場合に、前記VLANグループが起動中であれば、前記起動指示の送信元である途中参加VLANクライアント端末に対して前記VLANグループへ途中参加を許可する途中参加信号を送信する起動コマンド制御部と、
     前記VLANグループの通信を制御する中継サーバ通信制御部と、
     を備え、
     前記VLANセッション制御部は、前記途中参加信号に対応して、起動中の前記VLANグループを構成する前記VLANデバイスに対して割り当てられた仮想アドレスに前記途中参加VLANクライアント端末の仮想アドレスが追加されて更新された仮想アドレス情報を受信すれば、前記途中参加VLANクライアント端末に関する未確立のVLANセッションをさらに確立し、
     前記中継サーバ通信制御部は、前記更新された仮想アドレス情報と、前記ハブセッションおよび前記デバイスセッションを含む確立された前記VLANセッションとを利用した前記途中参加VLANクライアント端末と前記VLANデバイスとの間の通信を制御する中継サーバ。
  6.  前記起動コマンド制御部は、起動中の前記VLANグループの前記VLANデバイスに対して仮想アドレスが割り当てられているかどうかを判断し、前記仮想アドレスが割り当てられている場合に前記途中参加信号を前記途中参加VLANクライアント端末に対して送信する請求項5に記載の中継サーバ。
  7.  前記仮想アドレスは、仮想IPアドレスおよび仮想MACアドレスを含む、請求項5または6に記載の中継サーバ。
PCT/JP2011/073874 2010-12-16 2011-10-17 中継通信システムおよび中継サーバ WO2012081304A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/994,187 US9319484B2 (en) 2010-12-16 2011-10-17 Relay communication system and relay servers
KR1020137015844A KR101406854B1 (ko) 2010-12-16 2011-10-17 중계 통신 시스템 및 중계 서버
EP11849263.6A EP2654249B1 (en) 2010-12-16 2011-10-17 Relay communication system
SG2013043450A SG191015A1 (en) 2010-12-16 2011-10-17 Relay communication system and relay servers
CN201180060485.8A CN103262476B (zh) 2010-12-16 2011-10-17 中继通信系统及中继服务器

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=46244419

Family Applications (1)

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

Country Status (8)

Country Link
US (1) US9319484B2 (ja)
EP (1) EP2654249B1 (ja)
JP (1) JP5636941B2 (ja)
KR (1) KR101406854B1 (ja)
CN (1) CN103262476B (ja)
SG (1) SG191015A1 (ja)
TW (1) TWI535244B (ja)
WO (1) WO2012081304A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2481200B1 (fr) * 2009-09-22 2020-04-01 Orange Controle d'une session d'echange de donnees entre des terminaux d'un premier utilisateur avec au moins un terminal d'un deuxieme utilisateur
JP5636940B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5773205B2 (ja) * 2011-11-30 2015-09-02 村田機械株式会社 中継サーバ及び中継通信システム
US9170978B2 (en) * 2013-08-16 2015-10-27 Verizon Patent And Licensing Inc. Data center activation and configuration
KR101921308B1 (ko) * 2014-11-03 2019-02-13 한국전자통신연구원 중첩된-중앙집중형 모델에서의 관계 서버의 동작 방법 및 이를 이용하는 시스템
US10701169B2 (en) 2014-11-03 2020-06-30 Electronics And Telecommunications Research Institute Method for operating relation server and system using the same
US11659012B2 (en) * 2015-06-15 2023-05-23 Apple Inc. Relayed communication channel establishment
US11367057B2 (en) * 2017-12-21 2022-06-21 Mastercard International Incorporated Systems and methods for providing services related to access points for network transactions

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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1235416A4 (en) * 2000-10-26 2005-08-10 Mitsubishi Electric Corp INTERNET TELEPHONE NETWORK SYSTEM, NETWORK ACCESS METHOD, AND ADAPTER FOR VOICE DEVICE
JP2004080323A (ja) * 2002-08-16 2004-03-11 Fujitsu Ltd Lanスイッチング方法及びlanスイッチ
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
EP1942634B1 (en) 2006-11-24 2012-08-29 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
JP4591875B2 (ja) * 2007-12-25 2010-12-01 村田機械株式会社 中継サーバ及び中継通信システム
TWI455547B (zh) 2008-09-01 2014-10-01 Murata Machinery Ltd Relay server and relay communication system
KR101279001B1 (ko) 2009-05-15 2013-07-30 무라다기카이가부시끼가이샤 중계 통신 시스템 및 제 1 중계 서버

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 EP2654249A4

Also Published As

Publication number Publication date
EP2654249A1 (en) 2013-10-23
KR101406854B1 (ko) 2014-06-13
TWI535244B (zh) 2016-05-21
EP2654249A4 (en) 2017-10-18
CN103262476A (zh) 2013-08-21
EP2654249B1 (en) 2018-07-25
CN103262476B (zh) 2016-01-20
US9319484B2 (en) 2016-04-19
SG191015A1 (en) 2013-07-31
JP5636941B2 (ja) 2014-12-10
US20130282802A1 (en) 2013-10-24
JP2012129831A (ja) 2012-07-05
KR20130096304A (ko) 2013-08-29
TW201228299A (en) 2012-07-01

Similar Documents

Publication Publication Date Title
JP5636941B2 (ja) 中継通信システムおよび中継サーバ
US20120008634A1 (en) First relay server and second relay server
US8554935B2 (en) Relay server and relay communication system
JP5552787B2 (ja) 中継サーバおよび中継通信システム
JP5636940B2 (ja) 中継通信システムおよび中継サーバ
JP5636942B2 (ja) 中継通信システムおよび中継サーバ
JP5786620B2 (ja) 中継サーバ
JP5862231B2 (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: 11849263

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13994187

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

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011849263

Country of ref document: EP