WO2012081304A1 - 中継通信システムおよび中継サーバ - Google Patents
中継通信システムおよび中継サーバ Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate 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
Description
第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クライアント端末は、起動中のVLANグループに途中参加できる。従って、VLANグループが重複して起動することを防止できる。
本実施形態における中継通信システムでは、ハブと同様の機能を実現する複数の中継サーバを介して、クライアント端末同士がWANを超えて互いに通信可能となる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。図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とが互いに接続されている。
第3LAN3では、第3中継サーバCと、第5クライアント端末C1とが互いに接続されている。
第1クライアント端末A1、第2クライアント端末A2、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1は、例えば、パーソナルコンピュータである。また、第2通信機器9も、例えばパーソナルコンピュータである。
中継サーバは、LANだけでなくWANにも接続されており、同一のLANに接続されている各クライアント端末と通信可能であるとともに、他のLANに配置された中継サーバと通信可能になっている。そのため、各中継サーバには、プライベートIPアドレスに加えて、グローバルIPアドレスが付与されている。
第1中継サーバAは、LANインターフェース121A、WANインターフェース121B、制御部122、データベース格納部123、表示部124および操作入力部125を有する。
LANインターフェース121Aは、プライベートIPアドレスを利用して、第1LAN1内の端末に対して通信を実行する。WANインターフェース121Bは、グローバルIPアドレスを利用して、WAN4に対して通信を実行する。
VLANグループ情報制御部132は、後述するVLANグループ情報を中継グループ内におけるVLANクライアント端末およびVLANクライアント端末が接続された中継サーバとの間で共有し、VLANグループ情報格納部144(後述)に格納する。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グループ情報の詳細は後述する。
また、VLANセッション制御部135は後述する途中参加コマンドを受信した場合、途中参加コマンドの送信元であるクライアント端末が第1中継サーバAに接続されている場合には、途中参加コマンドの送信元であるクライアント端末に関連する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インターフェース(後述)に対して通信パケットを送信する。
クライアント端末は、ユーザが直接操作できる端末である。クライアント端末は、例えば、ユーザによって日々の業務に利用されるパーソナルコンピュータである。各クライアント端末には、同一のLAN内でユニークに管理されたプライベートIPアドレスが付与される。
VLANインターフェース221Bは、後述する仮想IPアドレスおよびデバイスセッションを利用して、第1中継サーバAを介して第1中継グループ内の他の端末に対して通信を実行することができる。
また、起動コマンド制御部233は、起動コマンドに対応した応答信号を中継サーバから受信すれば、応答信号からVLANデバイスのIPアドレスとMACアドレスを抽出する。
また、仮想アドレス制御部234は、仮想アドレス情報および途中参加信号を受信した場合には、仮想アドレス情報を参照して、第1クライアント端末A1に対して仮想アドレスを決定できるかどうかを判断する。仮想アドレスを決定できると判断した場合には、仮想アドレス制御部234は、第1クライアント端末A1に対して仮想アドレスを決定し、第1クライアント端末A1の仮想アドレス情報を追加して仮想アドレス情報を更新する。その後、仮想アドレス制御部234は、第1クライアント端末A1が接続された中継サーバに更新した仮想アドレス情報および途中参加コマンドを送信する。一方、仮想アドレス制御部234は、第1クライアント端末A1に対して仮想アドレスを決定できないと判断した場合には、VLANグループへの途中参加の処理を終了する。
VLANセッション制御部237は、仮想アドレスを含む通信パケットを処理し、デバイスセッションをVLANセッションとして機能させる。VLANセッション制御部237は、VLANセッションを利用して仮想アドレスを含む通信パケットを送信する場合には、VLANインターフェース221Bを介して通信パケットを送信する。
クライアント通信制御部238は、VLANセッション以外の通信パケットを処理し、LANインターフェース221Aを介して行うTCP/IP、UDPまたはSIPなどのプロトコルに従った様々な通信を制御する。
また、第2クライアント端末A2、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1は、第1クライアント端末A1と同様であるので説明を省略する。
図4は、中継グループ情報20の概略構成を示す。中継グループ情報は、中継通信システムにおける各中継グループの概要を示す情報であって、中継サーバの中継グループ情報格納部141およびクライアント端末の中継グループ情報格納部241に格納される。図4は、第1中継グループが、第1中継サーバAと、第2中継サーバBと、第3中継サーバCとから構成されていることを示す。
図6は、中継サーバ情報30の概略構成を示す。中継サーバ情報30は、中継通信システムを構成する中継サーバおよびクライアント端末の概要を示す情報であって、中継サーバの中継サーバ情報格納部142およびクライアント端末の中継サーバ情報格納部242に格納される。
図8、図9および図10は、クライアント端末情報の具体例として、クライアント端末情報40、50、60をそれぞれ示す。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報であって、中継サーバのクライアント端末情報格納部143およびクライアント端末のクライアント端末情報格納部243に格納される。
VLANグループ情報とは、VLANグループを構成するVLANクライアント端末の情報と、VLANクライアント端末が接続された中継サーバの情報と、中継サーバ間のセッション情報とが含まれた情報である。
グループ情報71は、VLANグループに関する情報である。グループ情報71において、「group」は、VLANグループが構成される中継グループの識別情報である。「id」は、VLANグループの識別情報を示す。「lastmod」は、VLANグループ情報の最新更新時刻を示す。「name」は、VLANグループの名称を示す。
以下の本実施形態では、VLANグループ情報70がVLANクライアント端末間で共有され、各VLANクライアント端末のVLANグループ情報格納部244に格納される例を挙げる。VLANグループ情報70の作成および共有に関する処理は、後に詳述する。
仮想アドレス情報は、VLANグループのクライアント端末として起動可能なVLANデバイスの識別情報、仮想IPアドレスおよび仮想MACアドレスから構成された情報である。仮想アドレス情報は、VLANデバイスの仮想アドレス情報格納部245に格納される。また、仮想アドレス情報は、中継サーバの仮想アドレス情報格納部145に格納されてもよい。
後述するように、VLANデバイス間で仮想アドレス情報80が共有されることにより、異なるLANに所属するクライアント端末同士がVLANデバイスとして通信可能になる。仮想アドレス情報80の作成および共有に関する処理は、後に詳述する。
10.初期設定
図13のシーケンス図を用いて、第1中継グループの初期設定について説明する。具体的には、図13は、中継グループ情報、中継サーバ情報およびクライアント端末情報の作成に関連する処理の流れを示す。
第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())。
中継サーバ情報31-2および中継サーバ情報31-3の内容は、中継サーバ情報31-1の内容と同様であるので、説明を省略する。
中継グループ情報、中継サーバ情報、クライアント端末情報の作成に関連する処理の流れを再び図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の間で共通の中継サーバ情報が保有される。
第2クライアント端末A2のユーザは、第2クライアント端末A2の識別情報とパスワードを入力して、第1中継サーバAにログオンする(ステップS8:Register)。第1中継サーバAは、クライアント端末情報を参照して、第2クライアント端末A2のユーザ認証を行う。第1中継サーバAは、クライアント端末情報を更新する。
また、中継サーバ情報の更新は、ログオン中の各クライアント端末にも通知される。
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を返す。
以上の処理により、全ての中継サーバおよびクライアント端末が中継グループ情報を共有する。
中継サーバ情報の共有について再び図17を参照して説明する。この例では、共有のための処理は、イベント通知のフレームワークを用いる。イベント通知において、購読者はリソースの状態通知を要求するエージェントであり、通知者はリソースの状態を通知するエージェントである。購読期間中にリソースの状態に変化があったときには、通知者から購読者に変化が通知される。
中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化した場合には、一の中継サーバは、状態変化を認識したときには、その内容に応じて、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
上記のように中継通信システムにおいてLANおよびクライアント端末の増減状態および接続状態についての情報が共有された後に、クライアント端末を使用するユーザが他のクライアント端末を指定して通信するときには、以下のようにデータが送受信される。
次に、VLANグループ情報の作成および共有について、図18を参照して説明する。図18は、VLANグループ情報の作成処理を示すフローチャートである。以下では、第1中継グループ内で、LANおよびクライアント端末の増減状態および接続状態についての情報が共有された状態で(図17参照)、第1クライアント端末A1がVLANグループ情報を作成する例を挙げる。また、この例では、第1中継グループにおける第1クライアント端末A1、第3クライアント端末B1、第4クライアント端末B2および第5クライアント端末C1がVLANクライアント端末として、選択される。
まず、第1クライアント端末A1のVLANグループ情報制御部232のVLANグループ情報作成部232aは、ユーザから中継グループの選択を受け付ける(ステップS101)。例えば、ユーザは、中継グループ情報格納部241に格納された中継グループ情報を参照して第1クライアント端末A1が備える表示部224および操作入力部225を介して中継グループを選択する。この例では、第1中継グループが中継グループとして選択される。
VLANグループ情報作成部232aは、第1中継グループの選択を受け付けると、中継サーバ情報格納部242に格納された中継サーバ情報を参照して第1中継グループの識別情報を抽出する。なお、ここで中継サーバ情報の代わりに、中継グループ情報が参照されてもよい。
セッション情報を作成した後、VLANグループ情報作成部232aは、VLANグループを識別する識別情報を作成する(ステップS105)。その後、VLANグループ情報作成部232aは、作成したVLANグループの識別情報と、VLANクライアント端末の識別情報と、セッション情報とを含むVLANグループ情報をVLANグループ情報格納部244に格納する(ステップS106)。
さらに、セッション情報73は、「sp」が第1中継サーバAであり「ep」が第2中継サーバBであるセッション情報を有する。また、セッション情報73は、「sp」が第1中継サーバAであり「ep」が第3中継サーバCであるセッション情報、および「sp」が第2中継サーバBであり「ep」が第3中継サーバCであるセッション情報を有する。
次に図19のシーケンス図を参照して、VLANクライアント端末間でVLANグループ情報70が共有される処理を説明する。図19は、VLANグループ情報の共有に関わる処理の流れを示す図である。VLANグループ情報70の共有に関わる処理は、各中継サーバのVLANグループ情報制御部132および各クライアント端末のVLANグループ情報制御部232によって制御される。
なお、上記の処理において、VLANグループ情報70は、VLANクライアント端末間だけでなく、VLANクライアント端末が接続された中継サーバ間においても共有されてもよい。この場合、各中継サーバは、VLANグループ情報70を受信した際に、VLANグループ情報70をVLANグループ情報格納部144に格納すればよい。
本実施形態の中継通信システムでは、上記の処理により作成し共有されたVLANグループ情報70に基づきVLANセッションが確立され、ハブの機能を実現する複数の中継サーバを介して、クライアント端末同士がVLANデバイスとして互いに通信可能となる。以下、VLANグループ情報の起動指示を受け付けたクライアント端末におけるVLANセッション確立処理およびVLAN通信開始の処理について、図20Aおよび図20Bを参照して説明する。図20Aおよび図20Bは、クライアント端末によるVLANセッションの確立処理を示すフローチャートを示す。
まず、第1クライアント端末A1の起動コマンド制御部233は、起動するVLANグループの選択を受け付ける(ステップS111)。具体的に起動コマンド制御部233は、表示部224にVLANグループ情報格納部244に格納されているVLANグループ情報の一覧を表示し、操作入力部225を介して起動すべきVLANグループの選択を受け付ける。この例では、VLANグループ情報70に示される第1VLANグループが選択される。
なおこの時、起動情報を受信した第2中継サーバBは、VLANグループ情報70をVLANグループ情報格納部144に格納する。一方、VLANグループ情報の共有処理において、VLANクライアント端末間だけでなく第2中継サーバBおよび第3中継サーバCにおいてもVLANグループ情報70が共有されている場合には、VLANグループ情報70の送信は省略され、第1VLANグループの識別情報のみが送信されてもよい。
起動コマンド制御部233は、第2中継サーバBからの応答信号を受信すれば(ステップS115でYes)、受信した応答信号から、VLANデバイスの識別情報、IPアドレスおよびMACアドレスを抽出する(ステップS116)。
以下、ステップS115において第2中継サーバBおよび第3中継サーバCから応答信号を受信した例を挙げて説明を続ける。
他の中継サーバがないと判断した場合(ステップS117でNo)は、次に仮想アドレス制御部234の仮想アドレス作成部234aによって仮想アドレス情報が作成される(ステップS118)。仮想アドレス情報には、各VLANデバイスに割り当てられる仮想IPアドレスおよび仮想MACアドレスが含まれる。
仮想アドレスの作成処理について、図12および図21と、さらに図22を参照して説明する。図22は、図21の第1抽出情報に第1クライアント端末A1のIPアドレスおよびMACアドレスを追加した第2抽出情報の一例を示す。
次に、仮想アドレス制御部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グループ内においてハブセッションおよびデバイスセッションを含む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)。
上記の例において、第1クライアント端末A1が第1VLANグループの起動の選択を受け付けて起動情報を送信する場合において、すでに第1VLANグループが他のクライアント端末または中継サーバからの起動指示によって起動されている場合がある。このような場合、第1VLANグループの起動の重複を解消するために、以下の処理が行われる。
第1クライアント端末A1が第1VLANグループへ途中参加できるかどうかは、VLANクライアント端末が接続されていて起動しているいずれかの中継サーバによって判断される。例えば、第2中継サーバBによって途中参加の判断がなされた場合は、第1中継サーバAを介して第2中継サーバBから第1クライアント端末A1に対して途中参加信号が送信される。中継サーバによる途中参加信号の送信については、後に詳述する。
ここで、第2中継サーバBから途中参加信号を受信しない場合は(ステップS123でNo)、起動コマンド制御部233は、起動処理の重複エラーの処理を実行し、起動処理を終了する(ステップS125)。
第1中継サーバAからOKという応答を受信した場合には(ステップS132でYes)、ステップS120へ進み、VLANセッション制御部237によって、第1中継サーバAとの間におけるデバイスセッションの確立処理が行われる。一方、第1中継サーバAからOKという応答を受信しない場合には(ステップS132でNo)、仮想アドレス制御部234は、起動エラーと判断して処理を終了する(ステップS133)。
なお、更新した仮想アドレス情報および途中参加コマンドは、その後中継サーバを介して各VLANデバイスに送信される。
次に、VLANグループの起動指示を受け付けたクライアント端末から起動情報を受信した中継サーバにおけるVLANセッション確立処理およびVLAN通信開始の処理について説明する。この例では、第1クライアント端末A1からの起動コマンド、起動時刻およびVLANグループ情報70を含む起動情報を受信した第2中継サーバBの処理を説明する(図20AのステップS114参照)。なお、第1クライアント端末A1から起動情報を受け付ける第3中継サーバCの処理については、第2中継サーバBと同様の処理であるためその説明を省略する。
まず、図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へ進む。
初期化コマンドおよび仮想アドレス情報を受信していない場合には(ステップS148でNo)、起動コマンド制御部133は、起動処理の重複エラー信号を第1クライアント端末A1に返信し、起動処理を終了する(ステップS150)。なぜなら、仮想アドレス情報を受信していない場合には、受信した仮想アドレス情報に基づく第2中継サーバBへの仮想アドレスの割り当て処理が実行できないからである(図20BのステップS127、ステップS129参照)。
次に、クライアント端末によって仮想アドレス情報が作成された後、中継サーバが行うVLANセッションの確立処理を説明する。
15.2.1 初期化コマンドを受信した場合の処理
まず、図24を参照して、第1クライアント端末A1が仮想アドレス情報80を作成した後に送信した仮想アドレス情報80および初期化コマンドを(図20AのステップS119参照)、第2中継サーバBが受信した場合の処理を説明する。図24は、初期化コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャートである。なお、第1クライアント端末A1から仮想アドレス情報80と初期化コマンドとを受信した場合の第3中継サーバCの動作は、以下に説明する第2中継サーバBの処理と同様であるので説明を省略する。
第3クライアント端末B1からOKの応答信号を受信すれば、仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS172)。
次に、第1クライアント端末A1から更新した仮想アドレス情報および途中参加コマンド(図20BのステップS131参照)を受信した場合の第2中継サーバBの処理を、図25を参照して説明する。図25は、途中参加コマンドを受信した中継サーバにおけるVLANセッションの確立処理を示すフローチャートである。
第2中継サーバB配下のVLANデバイスとの間にデバイスセッションを確立した場合、または第2中継サーバB配下のVLANデバイスがない場合は(ステップS191でNo)、その後仮想アドレスとVLANセッションを使ってクライアント端末同士がVLANデバイスとして互いに通信可能となる(ステップS193)。
図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インターフェースを介して接続された中継サーバと通信している。そして、クライアント端末と中継サーバとの間で、中継通信システムにおける接続状態の変化が共有されている。
さらに第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のログアウトを共有する。
このとき、第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および途中参加信号を送信する。
以上の処理により、VLANデバイスに対して更新された仮想アドレス情報が送信される。
上記のようにVLANグループ内でハブセッションおよびデバイスセッションを含むVLANセッションが確立されると、各VLANデバイスは、VLANデバイスのVLANインターフェースを初期化し、VLANインターフェースに仮想アドレスを設定する。各VLANデバイスにおいて仮想アドレスが設定されると、仮想アドレスとVLANセッションを使ってVLANデバイス同士がVLANデバイスとして互いに通信可能となる。
また、本実施形態の中継システムでは、VLANグループの起動の重複を解消できる。そして、VLANグループの起動指示が重複した場合には、後に同じVLANグループに対して起動指示を行ったVLANクライアント端末は、VLANクライアント端末が実際に使用するアドレスと仮想アドレスとが同じアドレス体系でなければ、VLANグループに途中参加することができる。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態および変形例は必要に応じて任意に組合せ可能である。
そこで、上記のような状態でVLANグループの起動指示を受け付けた際には、VLANグループ情報更新部235は、セッション情報のハブ情報に第4中継サーバの識別情報を追加する。また、VLANグループ情報更新部235は、第4中継サーバとVLANデバイスが接続された中継サーバ間の経路情報を作成して、VLANグループ情報のセッション情報を更新する。そして、更新したVLANグループ情報をVLANデバイスおよびVLANデバイスが接続された中継サーバに対して送信する。
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ネットワークと、
第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セッションとを利用して通信する中継通信システム。 - 前記起動コマンド制御部は、起動中の前記VLANグループの前記VLANデバイスに対して前記仮想アドレスが割り当てられているかどうかを判断し、前記仮想アドレスが割り当てられている場合に前記途中参加信号を前記途中参加VLANクライアント端末に対して送信する請求項1に記載の中継通信システム。
- 前記仮想アドレス制御部は、前記仮想アドレス情報を参照して前記クライアント端末用仮想アドレスを作成可能かどうか判断し、前記仮想アドレスを作成できないと判断した場合、前記VLANグループへの途中参加の処理を終了する請求項1または請求項2に記載の中継通信システム。
- 前記仮想アドレスは、仮想IPアドレスおよび仮想MACアドレスを含む、請求項1~3のいずれかに記載の中継通信システム。
- 第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デバイスとの間の通信を制御する中継サーバ。 - 前記起動コマンド制御部は、起動中の前記VLANグループの前記VLANデバイスに対して仮想アドレスが割り当てられているかどうかを判断し、前記仮想アドレスが割り当てられている場合に前記途中参加信号を前記途中参加VLANクライアント端末に対して送信する請求項5に記載の中継サーバ。
- 前記仮想アドレスは、仮想IPアドレスおよび仮想MACアドレスを含む、請求項5または6に記載の中継サーバ。
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)
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)
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)
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 중계 서버 |
-
2010
- 2010-12-16 JP JP2010280039A patent/JP5636941B2/ja active Active
-
2011
- 2011-10-17 CN CN201180060485.8A patent/CN103262476B/zh not_active Expired - Fee Related
- 2011-10-17 EP EP11849263.6A patent/EP2654249B1/en not_active Not-in-force
- 2011-10-17 KR KR1020137015844A patent/KR101406854B1/ko active IP Right Grant
- 2011-10-17 SG SG2013043450A patent/SG191015A1/en unknown
- 2011-10-17 US US13/994,187 patent/US9319484B2/en not_active Expired - Fee Related
- 2011-10-17 WO PCT/JP2011/073874 patent/WO2012081304A1/ja active Application Filing
- 2011-12-06 TW TW100144871A patent/TWI535244B/zh not_active IP Right Cessation
Patent Citations (3)
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)
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 |