A hardware relay server configured to serve as a second hardware relay server connected to a second network, and communicate with a first hardware relay server connected to a first network, the hardware relay server comprising:
- a relay group information storage unit configured to store relay group information that indicates that 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 define a relay group;
- a relay server information storage unit configured to store relay server information including activation information of the first relay server, activation information of the second relay server, activation/registration information of the one or more client terminals connected to the first relay server, and activation/registration information of the one or more client terminals connected to the second relay server;
- an information sharing unit configured to allow the first relay server, the second relay server, the one or more client terminals connected to the first relay server, and the one or more client terminals connected to the second relay server, to share the relay group information and the relay server information;
- a VLAN group information control unit programmed and configured to allow VLAN client terminals defining the VLAN group in the relay group to share VLAN group information, at least two client terminals among the one or more client terminals connected to the first relay server and the one or more client terminals connected to the second relay server being the VLAN client terminals, and the VLAN group information including hub information including identification information of the first relay server and identification of the second relay server to which the VLAN client terminal is connected, session information that indicates a connecting-side and a connected-side of a session established between the first relay server and the second relay server, and identification information that identifies the VLAN client terminal;
- a VLAN session control unit programmed and configured to, if the VLAN group is not in an active state in a case of receiving activation instruction of the VLAN group, establish a hub session as a VLAN session with the first relay server based on the session information, and establish a device session as a VLAN session with a VLAN device as an activatable VLAN client terminal among the VLAN client terminals connected to the second relay server;
- an activation command control unit programmed and configured to transmit join-in progress signal permitting join-in-progress to the VLAN group to a join-in-progress VLAN client terminal as a transmission source of the activation instruction if the VLAN group is in an active state in a case of receiving an activation instruction related to the VLAN group;
- and
- a relay server communication control unit programmed and configured to control communication of the VLAN group;
- wherein
- the VLAN session control unit is programmed and configured to, in response to the join-in-progress signal, if receiving the virtual address information updated by adding a virtual address of the join-in-progress VLAN client terminal to a virtual address assigned to the VLAN device constituting the activated VLAN group, establish a VLAN session that is related to the join-in-progress VLAN client terminal and has not been established yet,
- the relay server communication control unit is programmed and configured to control communication between the join-in-progress VLAN client terminal and the VLAN device, the communication being performed using the updated virtual address information and the established VLAN session including the hub session and the device session.