Abstract: A virtual network is dynamically created, when a relay communication system is constructed including a plurality of relay servers that can communicate with each other. In the relay communication system, the VLAN client terminals constituting the VLAN group are allowed to share I | VLAN group information. In addition, a VLAN session is established between the activatable VLAN devices among the VLAN client terminals based on the VLAN group information, and the VLAN devices are allowed to of share virtual address information created when the VLAN group is activated. The VLAN device sets the given virtual address into a VLAN interface of the VLAN device, and communicates with
•
DESCRIPTION
TITLE OF INVENTION Relay communication system and relay
servers
I TECHNICAL FIELD
[0001]
The present invention relates to a relay communication system
including a plurality of relay servers that can communicate with each other,
a plurality of client terminals, and LANs connecting the client terminal to
the relay server, and further to a relay server used in the relay
communication system.
BACKGROUND ART
[0002]
In some systems, client terminals connected to remote local area
networks (LANs) communicate with each other through a wide area network
(WAN). A virtual private network (VPN) makes it possible to configure a
virtual network in which the remote local area networks (LANs) are
connected directly with each other. However, in the virtual private network
(VPN), it is difficult to configure a network that is expandable and flexible.
[0003]
A relay communication system shown in Patent Document 1 can
configure a virtual network in which the remote local area networks (LANs)
are directly connected with each other, as in the virtual private network
(VPN). Moreover, in the relay communication system, it is easy to configure
a network with expandability and flexibility, unlike the virtual private
1
network (VPN).
CITATION LIST
PATENT LITERATURE
[0004]
Patent Literature l: Japanese Laid-open Patent Publication No.
2008-129991
SUMMARY OF INVENTION
TECHNICAL PROBLEM
[0005]
In the relay communication system shown in Patent Document 1, the
number and the connection states of LANs and client terminals may be
changed. However, in Patent Document 1, no specific means is disclosed
that confirms in a real time changes to the number of client terminals and
connection states of client terminals when the relay server designates a
destination for communication. In Patent Document 1, no specific means is
disclosed to dynamically configure a virtual network between a client
terminal and a relay server.
[0006]
It is an object of the present invention to dynamically create a virtual
network when configuring a relay communication system that includes a
plurality of relay servers able to communicate with each other.
SOLUTION TO PROBLEM
[0007]
Hereinafter, a plurality of aspects as means for solving problems will
2
! •
be explained. The aspects can be combined with each other as necessary.
According to one aspect of the present invention, a relay
communication system comprises a first network, a second network, a first
relay server, a second relay server, and client terminals. The first relay
server is connected to the first network. The second relay server is
connected to the second network, and is configured to communicate with the
first relay server via a third network. One of the client terminals is
connected to the first relay server via the first network. Another one of the
client terminals is connected to the second relay server via the second
network.
Each of the first relay server, the second relay server, the client
terminal connected to the first relay server, and the client terminal
connected to the second relay server includes, a relay group information
storage unit, a relay server information storage unit, an information sharing
unit, and a VLAN group information control unit. The relay group
information storage unit is configured to store relay group information that
indicates the first relay server, the second relay server, and the client
terminal connected to the first relay server, and the client terminal
connected to the second relay server constitute a relay group. The relay
server information storage unit is configured to store relay server
information that includes activation information of the first relay server,
activation information of the second relay server, activation/registration
information of the client terminal connected to the first relay server, and
activation/registration information of the client terminal connected to the
3
second relay server. The information sharing unit is configured to allow the
first relay server, the second relay server, the client terminal connected to
the first relay server, and the client terminal connected to the second relay
server, to share the relay group information and the relay server information.
The VLAN group information control unit is configured to allow VLAN client
terminals constituting a VLAN group in the relay group to share VLAN
group information. At least two client terminals among the client terminal
connected to the first relay server and the client terminal connected to the
second relay server are the VLAN client terminals. The VLAN group
information includes hub information having identification information of
the first relay server and identification information of the second relay server,
to which the VLAN client terminal is connected, session information that
indicates a connecting-side and a connected-side of a session established
between the first relay server and the second relay server, and identification
information that identifies the VLAN client terminal.
Each of the first relay server and the second relay server further
includes an activation command control unit, and a VLAN session control
unit. The activation command control unit is configured to transmit a
response signal including address information of a VLAN device as a VLAN
client terminal that can be activated in a case of receiving an activation
instruction of the VLAN group. The VLAN session control unit is
configured to establish a hub session as a VLAN session between the first
relay server and the second relay server based on the session information,
and establish a device session as a VLAN session between VLAN devices
4
•
connected to the first relay server or the second relay server.
Each of the client terminal connected to the first relay server and the
client terminal connected to the second relay server further includes a
virtual address control unit configured to create virtual address information
that includes virtual addresses given to the VLAN device based on the
response signal, and transmit the virtual address information to the VLAN
device. If the client terminal connected to the first relay server or the client
terminal connected to the second relay server is a VLAN device, the client
terminal is configured to set the given virtual address into a VLAN interface
of the client terminal, and communicate with other VLAN device using the
virtual address information and the VLAN session.
In this case, if the client terminal connected to the first relay server
or the client terminal connected to the second relay server is a VLAN device,
the given virtual address is set into the VLAN interface of the client terminal,
and the client terminal communicates with other VLAN devices using the
virtual address information and the VLAN session.
In this case, a process is performed of sharing the VLAN group
information in the VLAN group, and a process is performed of establishing
the VLAN session between the VLAN devices, and sharing the virtual
address information that is created when the VLAN group is activated.
Furthermore, the VLAN device sets the given virtual address into the VLAN
interface of the client terminal. As a result, the client terminals can
communicate with each other as VLAN devices using the virtual address
information and the VLAN session.
5
I
[0008]
Preferably, each of the first relay server and the second relay server
further include a relay server communication control unit. The relay server
communication unit is configured to control communication between the
VLAN devices. The relay server communication control unit, in a case of
j
receiving a communication packet, is configured to analyze the received
| communication packet to confirm whether or not the communication packet
includes the virtual address. If the analyzed communication packet
includes the virtual address, the relay server communication control unit is
configured to refer to the virtual address and transmit the communication
packet via the hub session to the first relay server or the second relay server,
| which is connected to the VLAN device to which the virtual address is given,
j
I or refer to the virtual address and transmits the communication packet via
j the device session to the VLAN device to which the virtual address is given.
I Preferably, each of the first relay server, the second relay server, the
client terminal connected to the first relay server, and the client terminal
connected to the second relay server further includes a VLAN group
information update unit. The VLAN group information update unit is
configured to update the VLAN group information in accordance with change
to a connection state of the VLAN client terminal.
[0009]
Preferably, the relay communication system further comprises a
third relay server. The third relay server is configured to communicate with
the first relay server and the second relay server via a third network, and
6
constitute the relay group. Each of the relay group information and the
relay server information further includes information of the third relay
server. In a case that the VLAN group information update unit receives an
activation instruction of the VLAN group, if the VLAN client terminal is
connected to the third relay server, rather than the first relay server or the
second relay server indicated in the hub information, the VLAN group
information update unit is configured to update the VLAN group information
by adding identification information of the third relay server to the hub
information of the VLAN group and by creating a session information
including the third relay server.
The virtual address preferably includes a virtual IP address and a
virtual MAC address given to the VLAN device.
[0010]
According to another aspect of the present invention, a relay server is
configured to communicate with a first relay server connected to a first
network and server as a second relay server connected to a second network.
The relay server comprises a relay group information storage unit, a relay
server information storage unit, an information sharing unit, a VLAN group
information control unit, an activation command control unit, a virtual
address control unit, a VLAN session control unit, and a relay server
communication control unit. The relay group information storage unit is
configured to store relay group information that indicates that the first relay
server, the second relay server, a client terminal connected to the first relay
server, and a client terminal connected to the second relay server constitute
7
a relay group. The relay server information storage unit is configured to
store relay server information including an activation information of the first
relay server, activation information of the second relay server,
activation/registration information of the client terminal connected to the
I first relay server, and activation/registration information of the client
terminal connected to the second relay server. The information sharing
i
unit is configured to allow the first relay server, the second relay server, the
client terminal connected to the first relay server, and the client terminal
connected to the second relay server, to share the relay group information
and the relay server information. The VLAN group information control unit
is configured to share VLAN group information among the VLAN client
terminals constituting a VLAN group in the relay group. At least two client
terminals among the client terminals connected to the first relay server and
the second relay server are the VLAN client terminals. The VLAN group
| information includes hub information having identification information of
the first relay server and the second relay server to which the VLAN client
terminal is connected, session information that indicates a connecting-side
and a connected-side in a session established between the first relay server
and the second relay server, and identification information that identifies the
VLAN client terminal. The activation command control unit is configured
to transmit a response signal including address information of a VLAN
device that can be activated as a VLAN client terminal that can be activated
in a case of receiving an activation instruction of the VLAN group. The
virtual address control unit is configured to transmit virtual address
8
!
information to the VLAN device, in a case of receiving the virtual address
information including virtual addresses which is given to the VLAN devices
and is created based on the response signal. The VLAN session control unit
is configured to establish a hub session as a VLAN session with the first
relay server based on the session information, and establish a device session
as a VLAN session with the VLAN device connected to the relay server. The
relay server communication control unit is configured to control
communication among the VLAN devices using the virtual address and the
VLAN session.
[0011]
In a case of receiving a communication packet, the relay server
communication control unit preferably analyzes the received communication
packet to confirm whether or not the communication packet includes a
virtual address information. If the communication packet includes the
virtual address information, preferably, the relay server communication
control unit is configured to refer to the virtual address and transmit the
communication packet via the hub session to the relay server connected to
the VLAN device to which the virtual address is given, or refer to the virtual
address and transmit the communication packet via the device session to the
VLAN device to which the virtual address is given.
The relay server further comprises a VLAN group information
update unit. The VLAN group information update unit is configured to
update the VLAN group information in accordance with a change of the
connection state of the VLAN client terminal.
9
[0012]
In the case that the VLAN client terminal is connected to a third
relay sever constituting the relay group, rather than the first relay server or
! the second relay server indicated by the hub information when the VLAN
group information update unit receives an activation instruction of the
VLAN group, the VLAN group information update unit is preferably
I configured to update the VLAN group information by adding identification
i
information of the third relay sever to the hub information of the VLAN
group and by creating a session information including the third relay server.
The virtual address preferably includes a virtual IP address and a
virtual MAC address given to the VLAN device.
ADVANTAGEOUS EFFECT
[0013]
In a relay communication system according to the present invention,
when a relay communication system is constructed having a plurality of
! relay servers that can communicate with each other; the communication
I system is capable of dynamically creating the virtual network, and in which
I
client terminals are capable of communicating with each other as VLAN
devices using the virtual address and the VLAN session.
BRIEF DESCRIPTION OF DRAWINGS
[0014]
Fig. 1 is a schematic diagram the overall configuration of a relay
communication system.
Fig. 2 is a block diagram showing a configuration of a first relay
10
I
•
server.
Fig. 3 is a block diagram showing a configuration of a first client
terminal.
! Fig. 4 is a view showing a schematic configuration of a figure relay
group information.
j
Fig. 5 is a view showing a detailed configuration of a relay group
I
| information.
Fig. 6 is a view showing a schematic configuration of a relay server
information.
i
Fig. 7 is a view showing a detailed configuration of a relay server
information.
I Fig. 8 is a view showing a schematic configuration of a client
terminal information stored in a first relay server.
Fig. 9 is a view showing a schematic configuration of a client
terminal information stored in a second relay server.
Fig. 10 is a view showing a schematic configuration of a client
| terminal information stored in a third relay server.
Fig. 11 is a view showing a detailed configuration of a VLAN group
information.
Fig. 12 is a view showing a detailed configuration of a virtual address
information.
Fig. 13 is a view showing a process flow related to a construction of a
relay group.
Fig. 14 is a view showing the detailed configuration of a relay server
11
•
information before the exchange.
Fig. 15 is a view showing the detailed configuration of the relay
server information before the exchange.
Fig. 16 is a view showing the detailed configuration of the relay
server information before the exchange.
Fig. 17 is a view showing a flow process related to the sharing a relay
| group information and a relay server information.
Fig. 18 is a flowchart showing a process that creates a VLAN group
information.
Fig. 19 is a view showing a flow process related to sharing a VLAN
group information.
J Fig. 20 is a flowchart showing a process that establishes a VLAN
session by client terminals.
Fig. 21 is a view showing an example of the first extraction
information related to the IP address and the MAC address of the VLAN
| devices.
Fig. 22 is a view showing an example of second extraction
information, which was formed by adding an IP address and a MAC address
of a first client terminal to first extraction information.
Fig. 23 is a flowchart showing a process of the relay server that has
received the initialization command establishing the VLAN session.
Fig. 24 is a view showing an example of a process flow related to
establishment of a VLAN session.
DESCRIPTION OF EMBODIMENTS
12
i
[0015]
1. Summary of this embodiment
In a relay communication system of this embodiment, client
| terminals can communicate with each other through a wide area network
(WAN), through a plurality of relay servers realizing a function similar to
hubs.
[0016]
2. Overall structure of the relay communication system
Hereinafter, referring to drawings, a preferred embodiment of the
present invention will be explained. Fig. 1 shows an overall structure of the
relay communication system. The relay communication system is
constituted by a first LAN 1, a second LAN 2, a third LAN, a wide area
network (WAN) 4. The first LAN 1, the second LAN 2 and the third LAN 3
! are a small-sized network remotely provided. The wide area network
| (WAN) 4 is a large-scale network such as Internet.
In this embodiment, explained in detail later, a first relay server A of
the first LAN 1, a second relay server B of the second LAN 2, a third relay
i server C of the third LAN 3 constitute a first relay group as a relay server
group.
[0017]
The first LAN 1 includes a fourth LAN 6 and a fifth LAN 7, and the
fourth LAN 6 and the fifth LAN 7 are connected with each other via a first
general purpose router 8. In the fourth LAN 6, a first relay server A and a
first client terminal Al are connected with each other. In the fifth LAN 7, a
13
S second client terminal A2 and a second communication equipment 9 are
connected with each other.
[0018]
The second LAN 2 includes a sixth LAN 11, a seventh LAN 12, and
| an eighth LAN 13. The sixth LAN 11 and the seventh LAN 12 are
connected with each other via a second general purpose router 14, and the
sixth LAN 11 and the eighth LAN 13 are connected with each other through
a third general purpose router 15. To the sixth LAN 11, the second relay
server B belongs. To the seventh LAN 12, the third client terminal Bl is
connected. To the eighth LAN 13, a fourth client terminal B2 is connected.
In the third LAN 3, the third relay server C and the fifth client
terminal CI are connected with each other.
[0019]
The first client terminal Al, the second client terminal A2, the third
client terminal Bl, the fourth client terminal B2, and the fifth client
terminal Cl are personal computers, for example. The second
communication equipment 9 is also a personal computer, for example.
[0020]
The first relay server A, the second relay server B and the third relay
server C relays communication among the first client terminal Al, the
second client terminal A2, the third client terminal Bl, the fourth client
terminal B2, and the fifth client terminal Cl. It should be noticed that a
communication protocol among the first relay server A, the second relay
server B, and the third relay server C is not particularly limited.
14
j
I
€1
[0021]
3. Constituent elements of the relay server
| The relay server is connected to the wide area network (WAN) as well
| as the LAN, so that the relay sever can communicate with relay servers
! located in other LANs as well as with client terminals connected to the same
LAN. Accordingly each of the relay servers is given a global IP address as
well as a private IP address.
[0022]
Fig. 2 shows constituent elements of the first relay server A.
The first relay server A includes a LAN interface 121A, a WAN
| interface 12 IB, a control unit 122, a database storage unit 123, a display unit
j
124, and an operation input unit 125.
[0023]
The LAN interface 121A executes communication with a terminal in
the first LAN 1 using the private IP address. The WAN interface 121B
executes communication with the wide area network (WAN) 4 using the
global IP address.
[0024]
The control unit 122 is a CPU having functions of the control and
operation, for example, and can execute various processes according to
loaded programs. The control unit 122 in this embodiment includes an
information sharing unit 131, a VLAN group information control unit 132,
an activation command control unit 133, a virtual address control unit 134, a
VLAN session control unit 135, a VLAN group information update unit 136,
15
I
i
I
i
i
and a relay server communication control unit 137.
[0025]
The information sharing unit 131 creates and updates relay group
information, relay server information, and client terminal information,
which will be later described. Moreover, the information sharing unit 131
shares the created and updated relay group information with a relay server
in the relay group and client terminals connected to the relay server, and
stores it in a relay group information storage unit 141 (later described).
The information sharing unit 131 shares the created and updated relay
server information with a relay server in the relay group and client
} terminals connected to the relay server, and stores it in a relay server
l
information storage unit 142 (later described). The information sharing
unit 131 shares the created and updated client terminal information with
relay servers and client terminals in the relay group, and stores it in a client
terminal information storage unit 143 (later described).
J [0026]
The VLAN group information control unit 132 shares a VLAN group
information (later described) with a VLAN client terminal in the relay group
and a relay server connected to the VLAN client terminal, and stores it in a
VLAN group information storage unit 144 (later described). The VLAN
client terminal is a client terminal that constitutes a VLAN group in the
relay group.
[0027]
The activation command control unit 133 extracts a VLAN client
16
terminal connected to the first relay server A from the VLAN group
information when it receives activation information of the VLAN group from
a client terminal that receives an activation instruction of the VLAN group
from a user. The activation information includes an activation command,
activation time, and the VLAN group information of the VLAN group. In
|
addition, the activation command control unit 133 determines whether or
i
not the extracted VLAN client terminal is activatable. The activatable
VLAN client terminal means a client terminal that is currently logging in
and is not currently joining other VLAN groups. Specifically, the activation
command control unit 133 refers to the relay server information stored in the
relay server information storage unit 142, and then determines whether or
not the extracted VLAN client terminal is logging in. In addition, the
activation command control unit 133 transmits an activation command (later
described), and determines whether or not the extracted VLAN client
terminal is activatable, which will be later described in detail. Hereinafter,
a VLAN client terminal that is determined as activatable by the activation
command control unit 133 will be referred to as a VLAN device.
If it is determined that the VLAN device exists, the activation
command control unit 133 transmits a response signal including the IP
address and the MAC address of the VLAN device to a client terminal as a
transmission source of the activation information of the VLAN group. The
detail of the VLAN group information will be later described.
[0028]
When virtual address control unit 134 receives the virtual address
17
j;
j
I information and an initialization command, it transmits the virtual address
information and the initialization command to the VLAN device connected to
the first relay server A. In addition, the virtual address control unit 134
stores the virtual address information into the virtual address information
storage unit 145 (later described). The detail of the virtual address
information will be later described. The initialization command is a
command related to initialization of the VLAN interface 221B.
[0029]
The VLAN session control unit 135 refers to the VLAN group
information, and then establishes a hub session as a VLAN session with
another relay server to which the VLAN device is connected. In addition,
the VLAN session control unit 135 refers to the VLAN group information,
and then establishes a device session as a VLAN session with VLAN devices
connected to the first relay server A. The hub session is a session between
the relay servers to which the VLAN device is connected. The device
session is a session between the VLAN device and relay server to which the
VLAN device is connected.
[0030]
The VLAN group information update unit 136 allows the VLAN
client terminals and the relay servers to which the VLAN client terminals
are connected to share the updated VLAN group information, when the
VLAN group information is changed.
The relay server communication control unit 137 is a processing unit
that controls various communications through the LAN interface 121A and
18
the WAN interface 12IB, and controls various communication processes in
accordance with a protocol such as TCP/IP, UDP, and SIP. The relay server
communication control unit 137 controls communication between the VLAN
devices using the virtual address information and the VLAN session.
| Specifically, the relay server communication control unit 137 analyzes a
communication packet received from the client terminal connected to the
first relay server A through the LAN interface 121A. Then, if the
communication packet includes the virtual address, the control unit 137
refers to the virtual address, and transmits the communication packet to the
other relay server via the hub session. Moreover, when the relay server
communication control unit 137 receives a communication packet from the
other relay server via the WAN interface 12 IB, it analyzes the received
communication packet. Then, if the communication packet includes the
virtual address, the relay server communication control unit 137 transmits
the communication packet to the VLAN interface (later described) of the
client terminal to which the virtual address is given under the control of the
first relay server A, via the device session. In the other hand, if the virtual
address is not included, the relay server communication control unit 137
transmits the communication packet to the LAN interface (later described) of
the client terminal under the control of the first relay server A.
[0031]
The database storage unit 123 is a hard disk drive or a non-volatile
RAM for example, and can store various data. The database storage unit
123 includes a relay group information storage unit 141, a relay server
19
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. The detail of the information to be 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 later described.
It should be noticed that constituent elements of the second relay
server B and the third relay server C are similar to those of the first relay
server A, so the explanation thereof will be omitted.
[0032]
4. Components of the client terminal
The client terminal is a terminal the user can directly operate. The
client terminal is a personal computer used for day-to-day operations by the
user. Each of the client terminals is given a private IP address uniquely
managed in the same LAN.
[0033]
I Fig. 3 shows elements of the first client terminal Al. The first
| client terminal Al includes a LAN interface 221 A, a VLAN interface 22IB, a
control unit 222, a database storage unit 223, a display unit 224, and an
operation input unit 225.
[0034]
The LAN interface 221A can execute communication with the first
relay server A and other terminals in the first LAN 1 using the private IP
20
[
I
\ •
address.
The VLAN interface 221B can execute communication with other
terminal in the first relay group via the first relay server A using the virtual
IP address (later described) and the device session.
[0035]
The control unit 222 is a CPU that has functions of the control and
operation, and can execute various processes according to the loaded
program. The control unit 222 in this embodiment includes an information
sharing unit 231, a VLAN group information control unit 232, an activation
command control unit 233, a virtual address control unit 234, a VLAN group
information update unit 235, an IP packet processing unit 236, a VLAN
session control unit 237, and a client communication control unit 238.
[0036]
j
The information sharing unit 231 shares the relay group information
with the relay server in the relay group and client terminals connected to the
relay server, and stores them in the relay group information storage unit 241
i
(later described). In addition, the information sharing unit 231 shares the
relay server information with the relay server in the relay group and client
i
terminals connected to the relay server, and stores it into the relay server
information storage unit 242 (later described). In addition, the information
sharing unit 131 shares the client terminal information with the relay server
and tlje client terminals in the relay group, and stores it into the client
terminal information storage unit 243 (later described).
[0037]
21
i
5 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 connected to the VLAN client terminal, and stores it into the
VLAN group information storage unit 244 (later described). In addition,
the VLAN group information control unit 232 includes a VLAN group
information creating section 232a that creates the VLAN group information,
and transmits the created VLAN group information to the VLAN client
terminal.
[0038]
The activation command control unit 233 executes an activation
process of the VLAN group. Specifically, when the activation command
control unit 233 receives the selection for the VLAN group to be activated
from the user, it transmits an activation command to an activated relay
server among the relay servers connected to the VLAN client terminal. The
activation command is a command for notifying of activation of the VLAN
group, and is transmitted together with activation time and VLAN group
information of the VLAN group. The activation 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 is
activatable.
When the activation command control unit 233 receives the response
signal in response to the activation command from the relay server, it
extracts the IP address and the MAC address of the VLAN device from the
response signal.
22
i
[0039]
The virtual address control unit 234 includes a virtual address
creating unit 234a that creates virtual address information when it receives
a response signal including the IP address and the MAC address of the
VLAN devices, and transmits the created virtual address information to the
relay server to which the first client terminal Al is connected. When the
virtual address control unit 234 receives the virtual address information and
the initialization command, it stores the received virtual address
information into the virtual address information storage unit 245.
[0040]
When the VLAN group information is changed, the VLAN group
information update unit 235 shares the updated VLAN group information
with a VLAN client terminal and a relay server to which the VLAN client
terminal is connected.
[0041]
The IP packet processing unit 236 outputs the communication packet
received from the IAN interface 221A to the client communication control
unit 238. In addition, the IP packet processing unit 236 outputs the
communication packet to the VLAN session control unit 237 when it receives
the commutation packet including the virtual address via the VLAN
interface 22IB.
The VLAN session control unit 237 processes the communication
packet including the virtual address, and allows the device session to
function as a VLAN session. When the VLAN session control unit 237 is to
23
ii
transmit the communication packet including the virtual address using the
VLAN session, it transmits the communication packet via the VLAN
interface 22IB.
The client communication control unit 238 processes the
communication packet other than the VLAN session, and controls various
communication in accordance with a protocol such as TCP/IP, UDP, and SIP
via the LAN interface 221 A.
[0042]
The database storage unit 223 is a hard disk drive or a non-volatile
RAM for example, and can store various data. The database storage unit
223 includes a relay group information storage unit 241, a relay server
information storage unit 242, a client terminal information storage unit 243,
a VLAN group information storage unit 244, and a virtual address
information storage unit 245. The detail of information to be stored in the
| relay group information storage unit 241, the relay server information
storage unit 242, the client terminal information storage unit 243, the VLAN
group information storage unit 244, and the virtual address information
storage unit 245 will be described later.
It should be noticed that since the second client terminal A2, the
third client terminal Bl, the fourth client terminal B2, and the fifth client
terminal CI are similar to the first client terminal Al, the explanation
thereof will be omitted.
[0043]
5. Relay group information
24
Fig. 4 shows a schematic configuration of the relay group information
20. The relay group information 20 is information indicating a summary of
the relay groups 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
| first relay group consists of the first relay server A, the second relay server B,
and the third relay server C.
[0044]
Fig. 5 shows a detailed configuration of the relay group information
20. The relay group information 20 consists of upper information 201 and
lower information 202.
[0045]
The upper information 201 is information on the first relay group
itself, "group id" indicates identification information of the relay group,
"lastmod" indicates the latest update time of the relay group information,
"name" indicates the name of the relay group.
[0046]
! The lower information 202 is information on 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.
[0047]
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 into
the relay group information storage unit 141 of the relay servers. In
25
I
I
I
•
addition, the relay group information 20 is shared between the relay server
and the client terminal, and is stored into the relay group information
storage unit 241 of the client terminals.
[0048]
6. Relay server information
Fig. 6 shows a schematic configuration of the relay server
information 30. The relay server information 30 is information showing a
summary of the relay servers and the client terminals constituting the relay
communication system, and is stored into the relay server information
storage unit 142 of the relay servers and the relay server information storage
unit 242 of the client terminals.
[0049]
As shown in Fig. 6, to the first relay server A, the first client terminal
Al and the second client terminal A2 are connected. To the second relay
server B, the third client terminal Bl and the fourth client terminal B2 are
connected. To the third relay server C, the fifth client terminal CI is
| connected.
[0050]
I Fig. 7 shows a detailed configuration of the relay server information
30. The relay server information 30 consists of upper information 301-1,
301-2, 301-3, and lower information 302-1, 302-2, 302-3.
[0051]
The upper information 301-1, 301-2, 301-3 is information on the relay
servers, "site id" indicates identification information of the relay server.
26
\ •
"name" indicates name of the relay server, "stat" indicates information on
whether or not the relay server is activated.
[0052]
The lower information 302-1, 302-2, 302-3 is information on the client
terminal, "div" indicates name of division of the client terminal, "group"
indicates identification information of the relay server to which the client
terminal belongs, "id" indicates identification information of the client
terminal, "name" indicates name of the client terminal, "site" indicates
identification information of the relay server to which the client terminal
logs in when the client terminal logs in.
[0053]
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 into the relay server information storage unit 142 of the relay servers.
In addition, the relay server information 30 is shared among the relay
servers and the client terminals, and is stored into the relay server
information storage unit 242 of the client terminals.
[0054]
When the relay server is being activated, "stat" of the upper
information 301-1, 301-2, 301-3 is "active". When the relay server is not
being activated, "stat" is blank. Accordingly, the information on whether or
not the relay server is being activated is shared in the whole relay
communication system.
[0055]
27
i
•
When the client terminal is being logging onto the relay server,
identification information of the relay server into which the client terminal
logs onto is shown in "site" of the lower information 302-1, 302-2, 302-3.
When the client terminal is not logging onto the relay server, "site" is blank.
Accordingly, information on whether or not the client terminal is logging onto
the relay server is shared in the whole relay communication system.
[0056]
7. Client terminal information
Fig. 8, Fig. 9, and Fig. 10 respectively show client terminal
information 40, 50, 60 as specific examples of the client terminal information.
The client terminal information is information on detail of the client
terminal constituting the relay communication system, and is stored into the
client terminal information storage unit 143 of the relay servers and the
client terminal information storage unit 243 of the client terminals.
[0057]
"addr" is address information of the client terminal, and indicates IP
address of the client terminal, specifically, "div" indicates name of division
of the client terminal, "expr" is expiration period information of the client
terminal, and indicates registration expiration period of the client terminal,
specifically, "group" indicates identification information of the relay group
to which the client terminal belongs. "id" indicates identification
information of the client terminal, "name" indicates name of the client
terminal, "pass" indicates password of the client terminal, "port" is client
terminal port information, and indicates port number of the client terminal,
28
\ •
specifically.
[0058]
The client terminal information 40, 50, and 60 are shared with the
relay servers and the client terminals in the relay group, and are stored into
the client terminal information storage unit 143 of the relay servers and into
the client terminal information storage unit 243 of the client terminals.
[0059]
8. VLAN group information
VLAN group information is information including information of
VLAN client terminals constituting the VLAN group, information of the
relay servers to which the VLAN client terminals are connected, and the
session information among the relay servers.
[0060]
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 about the VLAN group. In
the group information 71, "group" is identification information of the relay
group constituting the VLAN group. "id" indicates identification
information of the VLAN group, "lastmod" indicates latest update time of
the VLAN group information, "name" indicates name of the VLAN group.
[0061]
The VLAN client terminal information 72 is information related to
29
! •
j VLAN client terminals constituting the VLAN group, "dev id" indicates
identification information of the VLAN client terminals. In this example,
| the first client terminal Al, the third client terminal Bl, the fourth client
terminal B2, and the fifth client terminal CI are the VLAN client terminals.
| [0062]
The session information 73 includes hub information and routing
! information. The hub information is identification information of the relay
server to which the VLAN client terminal is connected. The routing
information is information that defines communication paths among the
relay servers, and includes "sp" and "ep". "sp" is a start point of the
connection path, and a relay server indicated by the "sp" is on a
connecting-side of the relay server, "ep" is an end point of the connection
path, and a relay server indicated by the "ep" is on a connected-side of the
connection path.
[0063]
In this example, the hub information includes identification
information of the first relay server A, the second relay server B, and the
third relay server. As the routing information, a session is defined in which
the start point is the first relay server A and the end point is the second relay
server B. In addition, a session is defined in which the start point is the
first relay server A and the end point is the third relay server C, and a
session is defined in which the start point is the second relay server B and
the end point is the third relay server C. Accordingly, in the session
information 73, since the start point and the end point of the communication
30
I
I
I
path among the relay servers are defined, the communication paths among
the relay servers are prevented from overlapping each other.
[0064]
The VLAN group information 70 is shared between and VLAN client
I terminals and the relay servers to which the VLAN client terminal is
connected, and is stored into the VLAN group information storage unit 244 of
the VLAN client terminals and the VLAN group information storage unit
144 of the relay servers. On the other hand, the VLAN group information
70 may be shared only among the VLAN client terminals.
In this embodiment below, an example will be described in which the
VLAN group information 70 is shared among the VLAN client terminals,
and is stored into the VLAN group information storage unit 244 of the VLAN
client terminals. The processes of creating and sharing the VLAN group
information 70 will be later described in detail.
| [0065]
9. Virtual address information
! The virtual address information is information consisting of
identification information of the VLAN device that is activatable as a client
terminal of the VLAN group, a virtual IP address and a virtual MAC address.
The virtual address information is stored in the virtual address information
storage unit 245 of the VLAN device. In addition, the virtual address
information may be stored into the virtual address information storage unit
145 of the relay server.
[0066]
31
•
Fig. 12 shows a detailed configuration of the virtual address
information 80. The virtual address information 80 is associated with the
identification information, the virtual IP address, and the virtual MAC
address of the VLAN device. The virtual IP address and the virtual MAC
address are given such that they do not overlap the IP address and MAC
address the VLAN devices actually use. In addition, the virtual IP address
and virtual MAC address are given such that they do not overlap each other
in the VLAN group.
[0067]
In the virtual address information 80 of this example, the
identification information, the virtual IP address and the virtual MAC
address are associated of the first client terminal Al, the third client
terminal Bl, the fourth client terminal B2, and the fifth client terminal CI,
as the VLAN devices.
I As later described, since among the VLAN devices the virtual
address information 80 is shared, the client terminal belonging to different
LANs can communicate with each other as the VLAN devices. The
processes of creating and sharing the virtual address information 80 will be
later described in detail.
10. Initialization
Using a sequence diagram of Fig. 13, the initialization of the first
relay group will be described. Specifically, Fig. 13 shows a flow of processes
creating the relay group information, the relay server information, and the
client terminal information.
j 32
! •
j [0068]
10.1. Account creation
The administrator of the first relay server A creates accounts for
users of the first client terminal Al and the second client terminal A2 (step
SI, step S2- Create_Account 0). The administrator of the second relay
I
server B creates accounts for users of the third client terminal Bl and the
fourth client terminal B2 (step S3, step S4: Create_Account 0). The
administrator of the third relay server C creates an account for a user of the
fifth client terminal CI (step S5: Create_Account 0).
[0069]
In the above-described process, the first relay server A creates and
stores the relay server information therein. The second relay server B
creates and stores the relay server information therein. The third relay
server C creates and stores the relay server information therein. The first
relay server A creates and stores the client terminal information therein, the
second relay server B creates and stores the client terminal information
therein, and the third relay server C creates and stores the client terminal
information therein.
[0070]
Fig. 14, Fig. 15, and Fig. 16 respectively show relay server
information 31-1, relay server information 31-2, and relay server information
31-3. The relay server information 31-1 is information the first relay server
A creates and stores. The relay server information 31-2 information that
the second relay server B creates and stores. The relay server information
33
j
! •
31-3 is information the third relay server C creates and stores.
[0071]
Fig. 14 shows relay server information 31-1. The upper information
311-1 is information related to the first relay server A. As "site id",
"serverA@trial.net" is set. As "name", "Server A" is set. As "stat", "active"
is set.
The lower information 312*1 is information related to the first client
terminal Al and the second client terminal A2.
[0072]
The information related to the first client terminal Al will be
described as follows. As "div", "dev" is set. As "group",
"1279671471393.clientAl.rd.002@trial.net" is set. As "id, "clientAl.rd.
002@ServerA.trial. net" is set. As "name", "clientAl" is set. It should be
noticed that although "serverA. trial, net" is set as "site" in Fig. 14, meaning
that a user of the first client terminal A1 is logging onto the first relay server
A, "site" is, in fact, blank in steps Si to S5 in Fig. 13
[0073]
The information related to the second client terminal A2 will be
described as follows. As "div", "dev" is set. As "group"
"1279671471393.clientAl.rd.002@trial.net" is set. As "id",
"clientA2.rd.002@ serverA.trial.net" is set. As "name", "clientA2" is set. It
should be noticed that denotation of the "site" is similar to a case of the first
client terminal Al.
[0074]
I 34
i |
j
•
The contents of the relay server information 31-2 and the relay
server information 31-3 are similar to the content of the relay server
information 31-1, so the explanation thereof will be omitted.
[0075]
10.2 Creation of the relay group information
The flow of processes related to creating the relay group information,
the relay server information, and the client terminal information will be
described, with reference to Fig. 13 again. In Fig. 13, the first relay server
A requests the second relay server B to send the construction group of the
i
relay communication system (step S6: Set_Group 0). The first relay server
A and the second relay server B create the relay group information and store
it therein. Next, the first relay server A requests the second relay server B
i
to exchange the relay server information (step S7^ Exchange (db)).
Accordingly, the first relay server A transmits the relay server information to
the second relay server, and the second relay server B transmits the relay
I server information to the first relay server A. The first relay server A and
the second relay server B synthesize the relay server information to make
new relay server information, and then store it therein. It should be noticed
j that the processes similar to step S6 and step S7 are executed between the
first relay server A and the third relay server C, and are executed between
the second relay server B and the third relay server C. As a result, the
common relay server information is shared among the first relay server A,
the second relay server B, and the third relay server C.
[0076]
35
1 •
10.3 Update of the relay server information at the loggingon
operation
A user of the second client terminal A2 inputs identification
information of the second client terminal A2 and the password for logging
onto the first relay server A (step S8- Register). The first relay server A
| refers to the client terminal information, and then authenticates the user of
i
the second client terminal A2. The first relay server A updates the client
terminal information.
[0077]
Then, the second client terminal A2 requests the first relay server A
to transmit the relay group information and the relay server information
(step S9: Get 0). The first relay server A transmits the relay group
information and the relay server information to the second client terminal
A2. The second client terminal A2 stores the relay group information and
the relay server information therein.
[0078]
The first relay server A refers to the relay server information, and
determines that it should notify the second relay server B that the relay
server information has been updated if it confirms "site" related to the
second relay server B has become "active". Then, the first relay server A
notifies the second relay server B that the relay server information has been
updated (step S10: Notify 0). The second relay server B updates the relay
server information, and stores it therein. It should be noticed that the first
relay server A notifies the third relay server C as well that the relay server
36
I
j
1
•
j information has been updated (step S l i : Notify 0).
[0079]
If the users of the first client terminal Al, the third client terminal
Bl, the fourth client terminal B2, or the fifth client terminal CI log onto the
| relay server, the relay server information of the relay server is updated
similarly. In addition, similarly, if the user of the client terminals logs off,
the relay server information in the relay server is updated.
Also, the update of the relay server information is notified to the
client terminals that are logging on.
[0080]
11. Share of each information
11.1 Share of the relay group information
The share process when the information of the relay group is changed
will be described with reference to Fig. 17. Fig. 17 is a view showing a flow
I of process related to the sharing of the relay group information and the relay
server information.
In Fig. 17, if the first relay group is changed, the first relay server A
transmits the changed relay group information to the second relay server B,
for example (step S21: Set_Group (relay group information)). Then, the
second relay server B transmits the relay group information to the third
client terminal Bl and the fourth client terminal B2 (step S21.1 and step
S21.2: Set_Group (relay group information)). If the OKs return from the
third client terminal Bl and the fourth client terminal B2, the second relay
server B returns OK to the first relay server A.
| 37
I
I
•
[0081]
Furthermore, 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
I
group information to the first client terminal Al (step S23: Set_Group (relay
group information)). The first client terminal Al returns OK to the first
relay server A.
[0082]
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 CI (step S21.3.1: Set_Group (relay
group information)). If OK returns from the fifth client terminal CI, the
third relay server C returns OK to the first relay server A.
[0083]
According to the above-described processes, the whole of the relay
servers and the client terminals share the relay group information.
[0084]
11.2 Share of the relay server information
The sharing of the relay server information will be described with
reference to Fig. 17 again. In this example, the process for sharing employs
a framework of event notification. In the event notification, a subscriber is
an agent who requests state notification of a resource, a notifier is an agent
38
who notifies status of the resource. If the status of the resource is changed
during the subscription period, the notifier notifies the subscriber of the
change.
I
[0085]
The first relay server A subscribes the relay server information to the
second relay server B (step S24: Subscribe 0). If the status indicated by the
relay server information has been changed, the second relay server B
updates the relay server information held by the second relay server B.
Then, the second relay server B transmits the updated relay server
information to the first relay server A. The first relay server A updates the
relay server information using the relay server information transmitted from
the second relay server B. The first relay server A notifies the first client
terminal Al that the relay server information has been updated (step S25:
Notify (relay server information)), and then notifies the second client
terminal A2 (step S26: Notify (relay server information)).
[0086]
Next, the first relay server A subscribes the relay server information
to the third relay server C (step S27: Subscribe 0). If the status indicated
by the relay server information has been changed, the third relay server C
updates the relay server information held by the third relay server C. Then,
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 Al
39
[
i
•
; that the relay server information has been updated (step S28: Notify (relay
server information)), and notifies the second client terminal A2 (step S29:
Notify (relay server information)).
[0087]
The second relay server B subscribes the relay server information to
the first relay server A (step S30^ Subscribe 0). If the status indicated by
the relay server information has been changed, the first relay server A
updates the relay server information held by the first relay server A. 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
Bl that the relay server information has been updated (step S31: Notify
(relay group information)), and then notifies the fourth client terminal B2
(step S32: Notify (relay group information)).
[0088]
! The second relay server B subscribes the relay server information to
the third relay server C (step S33: Subscribe 0). If the status indicated by
the relay server information is changed, the third relay server C updates the
relay server information held by the third relay server C. Then, the third
relay server C transmits the updated relay server information to the second
i relay server B. The second relay server B updates the relay server
information using the relay server information transmitted from the third
relay server C. The second relay server B notifies the third client terminal
40
i
I
i
i
Bl that the relay server information has been updated (step S34: Notify
(relay group information)), and then notifies the fourth client terminal B2
(step S35: Notify (relay group information)).
| [0089]
i
The third relay server C subscribes the relay server information to
the second relay server B (step S36: Subscribe 0). If the status indicated by
the relay server information is changed, the second relay server B updates
the relay server information held by the second relay server B. 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 CI
I that the relay server information has been updated (step S37: Notify (relay
i
group information)).
[0090]
The third relay server C subscribes the relay server information to
the first relay server A (step S38: Subscribe 0). If the status indicated by
! relay server information is changed, the first relay server A updates the
relay server information held by the first relay server A. 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 Cl
that the relay server information has been updated (step S39: Notify (relay
41
I
i
•
group information)).
[0091]
According to the above-described processes, the first relay server A,
the second relay server B, and the third relay server C instantly share the
relay server information when the relay server information is updated.
I
Accordingly, the first relay server A, the second relay server B, and the third
i
j relay server C can always know activation states of the other relay servers,
and kinds and log-on status of the client terminals connected to relay
servers.
[0092]
11.3 Summary of the Information Sharing
In the relay communication system, if the number and the connection
states of the LANs and the client terminals are changed, one relay server
instantly updates the relay group information, the relay server information,
and the client terminal information depending on its content when
I
i recognizing the changes in state.
[0093]
Then, one relay server instantly notifies other relay servers recited in
I the relay group information and the relay server information that the relay
group information and the relay server information have been updated. In
addition, one relay server instantly notifies the client terminals recited in
the client terminal information that the relay group information, and the
relay server information, have been updated.
[0094]
42
I
I
•
However, one relay server will not instantly notify the other relay
servers when it is determined that the other relay server is an unconnected
state even if the other relay server is recited in the relay group information
j
and the relay server information. In addition, one relay server will not
instantly notify the client terminals when it is determined that the client
terminals are in an unconnected state even if the client terminal is recited in
the client terminal information.
[0095]
Accordingly, information on changes in the number and the
connection states of the LANs and the client terminals is shared in the whole
relay communication system in real time.
[0096]
12. Data transmission/reception in the relay communication system
After the information on the changes in the number and the
I connection states of the LANs and the client terminals in the relay
communication system is shared, assume that a user using the client
i terminal appoints other client terminal for communication. In this case,
the data is transmitted and received as follows.
[0097]
Specifically, the client terminal transmits a communication packet
including the client terminal information of the client information of the
specified destination and data to be transmitted, to a relay server to which
the client terminal is connected. The relay server, which has received the
communication packet, refers to the relay server information, and confirms
43
1 •
under which relay server in the relay group the appointed client terminal
exists. In addition, the relay server confirms whether or not the relay
server with the client terminals under the control thereof is in an activated
j
state, and confirms whether or not the appointed client terminal is in a
i
| log-on state. Specifically, it is possible to determine that the relay sever is
in an activated state by confirming "stat" of the upper information of the
relay server information is set to "active". It is also possible to determine
that the client terminal is in a logging-on state by confirming that the lower
information "site" of the relay server information recites identification
information of the relay server to which the client terminal logs on.
[0098]
If it is confirmed that the relay server is in active state and the client
terminal is in the logging-on state, the received communication packet is
transmitted to the relay server with the appointed client terminal under the
control thereof. In addition, the relay server, which has received
communication packet, transmits the communication packet to the client
terminal under the control of the relay server.
[0099]
13. Creation and share of the VLAN group information
Next, the creation and the sharing of the VLAN group information
will be described with reference to Fig. 18. Fig. 18 is a flowchart showing a
process of creating the VLAN group information. In a following example,
while the information on the changes in the number and the connection
states of the LANs and the client terminals are shared in the first relay
44
1 •
group (refer to Fig. 17), the first client terminal Al creates the VLAN group
information. In addition, in this example, the first client terminal Al, the
I third client terminal Bl, the fourth client terminal B2, and the fifth client
terminal Cl in the first relay group are selected as the VLAN client
terminals.
[0100]
13.1 Creation of the VLAN group information
First, the VLAN group information creating section 232a of the
VLAN group information control unit 232 in the first client terminal Al
receives selection of the relay group from a user (step S101). For example,
the user selects a relay group by referring to the relay group information
stored in the relay group information storage unit 241 with the display unit
224 and the operation input unit 225 of the first client terminal Al. In this
example, the first relay group is selected as a relay group.
The VLAN group information creating section 232a extracts
l identification information of the first relay group by referring to the relay
j server information stored in the relay server information storage unit 242
i
when receiving the selection of the first relay group. It should be noticed
that the relay group information may be referred to instead of the relay
server information.
[0101]
When receiving the selection of the first relay group, the VLAN group
information creating section 232a refers to the relay server information, and
displays a list of the client terminals consisting of the first relay group on the
45
[
1 •
display unit 224 (step S102). After that, VLAN group information creating
section 232a receives the selection of the VLAN client terminal from a user
through the operation input unit 225 (step S103). At this time, the VLAN
group information creating section 232a refers to the relay server
information, and extracts identification information of the VLAN client
terminal which has received the selection.
[0102]
The VLAN group information creating section 232a creates session
information after receiving the selection of the VLAN client terminal (step
S104). Specifically, the VLAN group information creating section 232a
determines a route configuration among the relay servers for establishing
the hub session, and creates the session information.
[0103]
For example, the VLAN group information creating section 232a
determines that, the first relay server A is on a connecting-side, and the
second relay server B is on a connected-side, regarding a session between the
i
| first relay server A and the second relay server B. Then, the VLAN group
information creating section 232a inputs the identification number of the
| first relay server A into "sp", and inputs the identification number of the first
relay server B into "ep". It should be noticed that the session information
created by the VLAN group information creating section 232a may be
| corrected by a user through the operation input unit 225 or the like.
i
I After creating the session information, the VLAN group information
creating section 232a creates identification information for identifying the
46
•
VLAN group (step SI05). After that, the VLAN group information creating
section 232a stores the VLAN group information into VLAN group
information storage unit 244, including the created identification
information of the VLAN group, identification information of the VLAN
client terminal, and the session information (step S106).
[0104]
An example of the VLAN group information created in this process is
VLAN group information 70 shown in Fig. 11. As described above, the
VLAN group information 70 includes the group information 71, the VLAN
client terminal information 72, and the session information 73. Specifically,
the group information 71 includes
"1279671471393.clientAl.rd.002@trial.net" as identification information of
the first relay group. The group information 71 includes
"1279672104671.clientAl.rd.002@trial.net" as the VLAN group
identification information and "vlangroupl" as name of the VLAN group.
Below, the VLAN group indicated by the VLAN group information 70 will be
called as a first VLAN group.
[0105]
The VLAN client terminal information 72 shows identification
information of the first client terminal Al, the third client terminal Bl, the
fourth client terminal B2, and the fifth client terminal Cl, which have been
selected by the user.
In addition, the session information 73 includes session information
in which "sp" is the first relay server A and "ep" is the second relay server B.
! 47
i
j
i
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 session
i
i
i information in which "sp" is the second relay server B and "ep" is the third
| relay server C.
[0106]
j
The VLAN group information 70 is, after created as described above,
transmitted to the VLAN client terminal (step S107).
[0107]
13.2 Share of the VLAN group information
Next, with reference to a sequence diagram of Fig. 19, a process will
be described in which the VLAN group information 70 is shared among
VLAN client terminals. Fig. 19 is a view of showing a flow of process of
sharing the VLAN group information. The process related to the sharing of
the VLAN group information 70 is controlled by the VLAN group
information control unit 132 of the relay servers and the VLAN group
information control unit 232 of the client terminals.
[0108]
| The first client terminal Al, which has created the VLAN group
i
information 70, transmits the VLAN group information 70 to the third client
i
terminal Bl as a VLAN client terminal. Specifically, the first client
terminal Al 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
48
•
server B transmits the VLAN group information 70 to the third client
terminal Bl (step S41.1.1: createvlanGroup (vlanGroup)). After receiving
the VLAN group information 70, the third client terminal Bl stores the
received VLAN group information 70 into the VLAN group information
storage unit 244, and returns OK to the second relay server B. In addition,
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 Al.
[0109]
Next, the first client terminal Al transmits the VLAN group
information 70 to the fourth client terminal B2 as a VLAN client terminal.
Specifically, the first client terminal Al 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
i
(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)). After receiving the VLAN group
information 70, the fourth client terminal B2 stores the received VLAN
group information 70 into the VLAN group information storage unit 244, and
returns OK to the second relay server B. In addition, 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 Al.
[0110]
Furthermore, the first client terminal Al transmits the VLAN group
49
I
i
1 •
information 70 to the fifth client terminal CI. Specifically, the first client
terminal Al 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
CI (step S43.1.1: createvlanGroup (vlanGroup)). After receiving the VLAN
group information 70, the fifth client terminal Cl stores the received VLAN
group information 70 into the VLAN group information storage unit 244, and
returns OK to the third relay server C. In addition, 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 Al.
[0111]
According to the above-described processes, all of the VLAN client
terminals selected as client terminals constituting the VLAN group share
the VLAN group information 70. Accordingly, the preparation is performed
for the VLAN session among the client terminals within the VLAN group.
It should be noticed that, in the above-described process, the VLAN
group information 70 may be shared among the relay servers to which the
VLAN client terminals are connected as well as among the VLAN client
terminals. In this case, when receiving the VLAN group information 70,
the relay server stores the VLAN group information 70 into the VLAN group
information storage unit 144.
[0112]
50
I
I
1 •
14. Processes in the client terminals of establishing the VLAN
session and starting the VLAN communication
In a relay communication system of this embodiment, a VLAN
session is established in accordance with the VLAN group information 70
created and shared according to the above-described processes, so that the
client terminals can communicate with each other as VLAN devices via a
plurality of relay servers as a hub. Hereinafter, processes of establishing
the VLAN session process and starting of the VLAN communication in a
client terminal which receives activation instruction of the VLAN group
information will be described with reference to Fig. 20. Fig. 20 shows a
flowchart showing a process of establishing the VLAN session by the client
terminal.
[0113]
When a VLAN client terminal constituting the VLAN group or a
relay server to which the VLAN client terminal is connected receives
activation instruction of the VLAN group from a user, the process of
establishing the VLAN session is started. In this example, the first client
terminal Al receives from a user an activation instruction of the first VLAN
groups indicated in the VLAN group information 70. In this case, the first
client terminal Al, the third client terminal Bl, the fourth client terminal B2,
and the fifth client terminal CI are VLAN devices.
[0114]
14.1 Transmission of the activation command and reception of the
response signal
51
•
First, the activation command control unit 233 of the first client
terminal Al receives selection of the VLAN group to be activated (step Sill).
Specifically, the activation command control unit 233 displays on the display
unit 224 a list of the VLAN group information stored in the VLAN group
information storage unit 244, and receives a selection of the VLAN group to
be activated via the operation input unit 225. In this example, the first
VLAN group indicated by the VLAN group information 70 is selected.
[0115]
After receiving the selection of the first VLAN group, the activation
command control unit 233 reads out the information of the relay server from
the VLAN group information 70 (step S112). Specifically, the activation
command control unit 233 reads out identification information of a relay
server which serves as a hub from the session information 73 of the VLAN
group information 70. At this time, the activation command control unit
233 reads out the information via a filtering unit such that the identification
information of the relay servers are not overlapped with each other. In this
example, the activation command control unit 233 reads out the
identification information of the first relay server A, the second relay server
B, and the third relay server C.
[0116]
Next, the activation command control unit 233 performs processes of
step S113 through step S116. Specifically, the activation command control
unit 223 refers to the relay server information stored in the relay server
information storage unit 242, and determines whether or not a relay sever
52
i
1 •
among the read-out relay servers is activated to which a VLAN client
terminal other than the first client terminal Al is connected (step S113).
Then, the activation command control unit 233 performs a process of step
S114 through step S116 on the activated relay servers. In this example, the
processes of step S114 through step S116 are performed on the second relay
server B and the third relay server C, which relay servers to which the
VLAN client terminals are connected except the first client terminal Al.
[0117]
First, the activation 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 second relay server B is activated.
Specifically, the activation command control unit 233 confirms that the
upper information "stat" of the relay server information is set as "active" in
order to determine whether or not the second relay server B is activatable.
If the second relay server B is activated, the activation command control unit
233 transmits activation information including the activation command, the
i
activation time and the VLAN group information 70 to the second relay
server B (step S114). The activation command is a command of notifying
the activation of the VLAN group. At this time, the second relay server B,
after receiving the activation information, stores the VLAN group
information 70 into the VLAN group information storage unit 144. On the
other hand, according to the sharing process of the VLAN group information,
if the VLAN group information 70 is shared not only among the VLAN client
terminals but also between the second relay server B and the third relay
53
•
server C, it is acceptable that the transmission of the VLAN group
information 70 may be omitted, and only the identification information of the
first VLAN group may be transmitted.
[0118]
Next, the activation command control unit 233 receives a response
signal from the second relay server B. Here, the response signal from the
second relay server B includes the identification information, the IP address
and the MAC address of the VLAN device among the VLAN client terminals
connected to the second relay server B. The process of creating the response
signal by the second relay server B will be later described.
The activation command control unit 233, after receiving the
response signal from the second relay server B (Yes at step S115), extracts
the identification information, the IP address, and the MAC address of the
VLAN device from the received response signal (step S116).
[0119]
After that, the activation command control unit 233 refers to the
relay server information again, and determines whether or not there is
another relay server by which the processes of step S113 through step S116
should be performed (step S117). If there is another relay server (Yes at
step S117), the activation command control unit 233 performs processes of
step S113 through step S116 on the other relay servers.
Hereinafter, at step S115, an example will be described in which a
response signal is received from the second relay server B and the third relay
server C.
54
J [0120]
Fig. 21 shows an example of the first extraction information related
to the IP address and the MAC address of the VLAN device. The first
extraction information 90 includes the identification information, the IP
address and the MAC address of the VLAN device extracted from the
response signal at step S116. The first extraction information 90-1 shown
in Fig. 21 is the extraction information extracted from the response signal
received from the second relay server B, and the first extraction information
90-2 is the extracted signal extracted from the response signal received from
the third relay server C. The first extraction information 90-1 includes
identification information, the IP address and the MAC address of the third
client terminal Bl and the fourth client terminal B2, which are VLAN
devices connected to the second relay server B. The first extraction
information 90-2 includes the identification information, the IP address and
the MAC address of the fifth client terminal CI, which is a VLAN device
connected to the third relay server C.
If it is determined that the relay server is not activated (No at step
S113) and no response signal is received from the relay server (No at step
S115), a process proceeds through step S117.
[0121]
14.2 Creation and transmission of the virtual address information
If it is determined that the other relay server exists (No at step S117),
then the virtual address creating unit 234a of the virtual address control
unit 234 creates the virtual address information (step S118). The virtual
55
•
address information includes virtual IP address and virtual MAC address to
be given to the VLAN devices.
A process of creating the virtual address will be described with
reference to Fig. 12, Fig. 21 and Fig. 22. Fig. 22 shows an example of the
| second extraction information, which is formed by adding the IP address and
the MAC address of the first client terminal Al to the first extraction
information in Fig. 21.
[0122]
The virtual address creating unit 234a first adds the identification
information, the IP address and MAC address of the first client terminal Al
to the first extraction information 90. Then, the virtual address creating
unit 234a creates the second extraction information 91 that consists of all of
information of the first client terminal Al and the VLAN devices extracted at
step S116. As shown in Fig. 22, in the second extraction information 91, the
identification information, the IP address and the MAC address of the first
client terminal Al, the third client terminal Bl, the fourth client terminal B2,
and the fifth client terminal Cl are combined in one table.
[0123]
Next, the virtual address creating unit 234a creates virtual address
information, based on the IP address and MAC address indicated by the
second extraction information 91. Specifically, the virtual address creating
unit 234a assigns IP address that is not overlapped with IP address
indicated by the second extraction information 91 to the VLAN devices, as
virtual IP addresses. In addition, the virtual address creating unit 234a
56
•
assigns MAC address that is not overlapped with the MAC address indicated
by the second extraction information 91 to the VLAN devices, as a virtual
MAC address. In addition, the virtual address creating unit 234a assigns
the virtual IP address and the virtual MAC address to the VLAN devices
such that the virtual IP address and the virtual MAC address are not
overlapped with each other among the VLAN devices. In this example,
different numbers are given to the end of the virtual IP address and the
virtual MAC address in order not to overlap the virtual addresses among the
VLAN devices.
[0124]
Virtual address information created according to the above-described
process is the virtual address information 80 shown in Fig. 12. In this
example, virtual IP address "117.112.0.1" and virtual MAC address
"00.11.22:f0.00.01 are given to the first client terminal Al, which can be
identified by the identification information "clientAl.rd.002@trial.net". In
addition, virtual IP address "117.112.0.2" and virtual MAC address
"00.11.22:f0.00.02" are given to the third client terminal Bl, which can be
identified by the identification information "clientBl.rd.002@trial.net". The
virtual IP address "117.112.0.3" and virtual MAC address "00.11.22:f0.00.03"
are given to the fourth client terminal B2, which can be identified by the
identification information "clientB2.rd.002@trial.net". To the fifth client
terminal CI, which can be identified with the identification information
"clientCl.rd.002@trial.net", the virtual IP address "117.112.0.4" and the
virtual MAC address "00.11.22:f0.00.04" are given.
57
•
[0125]
14.3 Establishment of the VLAN session
Next, the virtual address control unit 234 transmits the created
virtual address information 80 together with the initialization command to a
relay server serving as a hub (step S119). The initialization command is a
command related to the initialization of the VLAN interface and including
"1279672104671.clientAl.rd.002@trial.net" as the identification information
of the first VLAN group. In this example, 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.
At this time, the first relay server A, the second relay server B, and
the third relay server C, which have received the virtual address information
80 and the initialization command, establish a hub session among the relay
servers with reference to the session information 73 of the VLAN group
information 70. The hub session between the relay servers will be described
later.
[0126]
After that, the VLAN session control unit 237 performs a process of
establishing a device session with the first relay server A, to which the first
client terminal Al is connected (step S120). In detail, OK is returned
corresponding to the request of establishing the device session from the first
relay server A, allowing the device session to serve as a VLAN session. At
this time, a device session is established among the second relay server B,
58
the third client terminal Bl, and the fourth client terminal B2. A device
session is also established between the third relay server C and the fifth
client terminal CI.
[0127]
14.4 Start of the VLAN communication
As described above, in the VLAN group, when the VLAN session is
established including the hub session and the device session, the VLAN
session control unit 237 initializes the VLAN interface 22IB of the first
client terminal Al, and sets the virtual address for the VLAN interface 22IB.
Specifically, the VLAN session control unit 237 sets the virtual IP address
and the virtual MAC address of the virtual address information 80 into the
VLAN interface 221B of the first client terminal Al (step S121). At this
time, the third client terminal Bl, the fourth client terminal B2, and the fifth
client terminal Cl set the virtual IP address and virtual MAC address of the
virtual address information 80 into the VLAN interface of the first client
terminal A1 (step S121), too.
When the virtual address is set in the VLAN devices according to the
above-de scribed process using the virtual address and the VLAN session, the
client terminals can communicate with each other as VLAN devices (step
S122).
[0128]
15. Process of establishing the VLAN session and starting the VLAN
communication in the relay server
Next, a process of establishing the VLAN session and starting of the
59
i
VLAN communication in the relay server which has received the activation
information from a client terminal which has accepted the activation
instruction of the VLAN group, will be described. In this example, a process
by the second relay server B, which has received the activation information
including the activation command, the activation time and the VLAN group
information 70 from the first client terminal Al (refer to step S114 in Fig. 20).
It should be noticed that a process by the third relay server C, which has
received the activation information from the first client terminal Al, will be
omitted because it is similar to the process of the second relay server B.
[0129]
15.1 Transmission of the response signal
The activation command control unit 133 of the second relay server B
extracts, when receiving from the first client terminal Al the activation
command, the activation time and the VLAN group information 70, the
identification information of the VLAN group from the VLAN group
information 70. In this example, the activation command control unit 133
extracts "1279672104671.clientAl.rd.002@trial.net" from the VLAN group
information 70. Then, the activation command control unit 133 confirms
that the first VLAN group including this identification information is not
activated, and extracts the VLAN client terminals connected to the second
relay server B, from the VLAN group information 70. In this example, the
activation command control unit 133 extracts the third client terminal Bl
and the fourth client terminal B2 as VLAN client terminals.
[0130]
60
i
Next, the activation command control unit 133 determines whether
or not the third client terminal Bl and the fourth client terminal B2 are the
VLAN devices. The VLAN device means client terminals that are currently
logging in and not joining other VLAN groups. Specifically, the activation
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
third client terminal Bl and the fourth client terminal B2 are logging in. In
addition, the activation command control unit 133 transmits the activation
command to the third client terminal Bl and the fourth client terminal B2,
which are logging in. Then, receiving OK signal to the activation command
from the third client terminal Bl and the fourth client terminal B2, the
activation command control unit 133 determines that the third client
terminal Bl and the fourth client terminal B2 are VLAN devices.
After that, the activation command control unit 133 transmits the
response signal to the first client terminal Al. The response signal includes
the identification information, the IP address and the MAC address of the
third client terminal Bl and the fourth client terminal B2. Here, the
activation command control unit 133 communicates with the third client
terminal Bl and the fourth client terminal B2, which are logging in, using IP
communication with the LAN. Accordingly, the activation command control
unit 133 does not have to request the third client terminal Bl and the fourth
client terminal B2 to send the IP address and the MAC address of the third
client terminal Bl and the fourth client terminal B2. The first client
terminal Al, when receiving the response signal, creates the virtual address
61
•
information 80 based on the received response signal (refer to step S115 and
step S116 in Fig. 20).
[0131]
15.2 Establishment of the VLAN session
Next, a process when the second relay server B receives the
initialization command (refer to step S119 in Fig. 20) and the virtual address
information 80 created by the first client terminal Al will be described with
reference to Fig. 23. Fig. 23 is a flowchart showing a process of establishing
the VLAN session in the relay server that has received the initialization
command. The operation of the third relay server C which has received the
virtual address information 80 and the initialization command from the first
client terminal Al is similar to the process of the second relay server B, so
the explanation about thereof will be omitted.
[0132]
The VLAN session control unit 135 of the second relay server B,
when receiving the virtual address information 80 and the initialization
command from the first client terminal Al (Yes at step S131), extracts
identification information of the VLAN group from the initialization
command (step S132). In this example, the VLAN session control unit 135
extracts "1279672104671. clientAl.rd.002@trial.net".
[0133]
Next, the VLAN session control unit 135 determines whether or not
the first VLAN group identified by the extracted identification information is
in an activation process (step S133). If the first VLAN group is not in the
62
activation process, an error reply is returned to the first client terminal Al
(step S135), and the process is finished.
[0134]
On the other hand, if the first VLAN group is in the activation
process, the VLAN session control unit 135 extracts the VLAN device from
virtual address information 80(step SI34). In this example, the VLAN
session control unit 135 extracts the first client terminal Al, the third client
terminal Bl, the fourth client terminal B2, and the fifth client terminal Cl,
as 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 further extracts the VLAN devices under the control of the
already extracted VLAN devices, i.e., the VLAN device connected to the
second relay server B (step SI36). In this example, the third client terminal
Bl and the fourth client terminal B2 are extracted. After that, the VLAN
session control unit 135 forwards the received initialization command and
the virtual address information 80 to the VLAN devices under the control
thereof (step S137). In addition, to the VLAN devices connected to the relay
servers except the second relay server B, the VLAN session control unit 135
transmits, with reference to the VLAN group information 70, the
initialization command and the virtual address information 80 via the relay
server.
[0135]
Next, the VLAN session control unit 135 extracts the session
information 73 from the VLAN group information 70 (step Si38). After
63
•
extracting the session information 73, the VLAN session control unit 135
refers to the session information 73, and establishes a hub session in which
the second relay server is set as "sp" and that has not been established yet
(step SI39). In this example, the VLAN session control unit 135 establishes
a hub session with the third relay server C, which is set as "ep". At this
time, in the first relay server A too, a process is performed to establish a hub
session in which the second relay server is set as "sp" and that has not been
established yet.
[0136]
After receiving a response signal meaning OK to the establishment of
the hub session from the third relay server C (step S140), the VLAN session
control unit 135 refers to the VLAN group information 70, and establishes a
device session with the VLAN devices connected to the second relay server
(step S141). In this example, 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 Bl and the
fourth client terminal B2.
After that, after receiving the response signal meaning OK from the
third client terminal Bl and the fourth client terminal B2, the client
terminals can communicate with each other as VLAN devices using the
virtual address and the VLAN session (step S142).
[0137]
16. Example of the VLAN session
With reference to a sequence diagram of Fig. 24, a flow of data when
64
•
the VLAN session is established will be described. Fig. 24 is a view showing
an example of a flow of process related to establishment of the VLAN session.
Hereinafter, a process of establishing the VLAN session in the first
VLAN group will be described. In this example, the first client terminal Al
receives from a user an activation instruction of the first VLAN group
indicated by the VLAN group information 70 shown in Fig. 11, and creates
the virtual address information 80 shown in Fig. 12. The VLAN device is
the first client terminal Al, the third client terminal Bl, the fourth client
terminal B2, and the fifth client terminal CI.
During this time, the relay servers in the first relay group
communicate, using the ordinary IP address and MAC address, with the
activated other relay servers in the first relay group via the WAN interface.
And, among the relay servers, change in the connection state in the first
relay group is shared. The activated client terminals in the first relay
group communicate with the relay servers to which the client terminals are
connected via the LAN interface. And, between the client terminal and the
relay server, the change in the connection state in the relay communication
system is shared.
[0138]
First, the first client terminal Al transmits, via the first relay server
A, the activation information to the second relay server B, which serves as a
hub in the VLAN group and is in active state (step S51: StartVlan
(vlanGroupID), step S51.1: Start Vlan (vlanGroupID)). The second relay
server B extracts, referring to the VLAN group information 70, the third
65
client terminal Bl and the fourth client terminal B2, which are the VLAN
client terminals connected to the second relay server B. Then, the second
relay server B determines whether or not the third client terminal Bl and
the fourth client terminal B2 are the VLAN devices, and then transmits the
activation information. Specifically, the second relay server B transmits the
activation information to the third client terminal Bl, which is the VLAN
device (step S51.1.1.A: StartVlan (vlanGroupID)). The second relay server
B transmits the activation information to the fourth client terminal B2,
which is the VLAN device (step S51.1.1.B: StartVlan (vlanGroupID)).
[0139]
After receiving OK from the third client terminal Bl and the fourth
client terminal B2, the second relay server B transmits a response signal
(OK (clientBl(ip,mac), clientB2(ip,mac))) to the first client terminal Al via
the first relay server A. The response signal includes identification
information, the IP address and the MAC address of the third client terminal
Bl, and the fourth client terminal B2.
In addition, the first client terminal Al transmits, via the first relay
server A, the activation information to the third relay server C, which serves
as a hub in the VLAN group and in an activated state (step S52: StartVlan
(vlanGroupID), step S52.1: StartVlan (vlanGroupID)). The third relay
server C refers to the VLAN group information, and extracts the fifth client
terminal CI, which is a VLAN client terminal connected to the third relay
server C. Then, the third relay server C determines whether or not the fifth
client terminal CI is a VLAN device, and then transmits the activation
66
I information to the fifth client terminal CI (step S52.1.1: StartVlan
(vlanGroupID)).
[0140]
After receiving OK from the fifth client terminal CI, the third relay
server C transmits the response signal (OK (clientCl(ip,mac))) to the first
client terminal Al via the first relay server A. The response signal includes
the identification information, the IP address and the MAC address of the
fifth client terminal Cl.
[0141]
Next, the first client terminal Al performs a process of extracting
from the response signal and of creating the virtual address information 80
(refer to S116, S118 in Fig. 20), and transmits the initialization command
and the created virtual address information 80 to a relay server serving as
hub. First, the first client terminal Al transmits the initialization
command and the virtual address information 80 to the second relay server
B via the first relay server A (step S53: configVlan (vlanGroupID, addrList),
step S53.1: configVlan (vlanGroupID, addrList)). Next, the second relay
server B transmits the initialization command and the virtual address
information 80 to the third client terminal Bl (step S53.1.1.A- configVlan
(vlanGroupID, addrList)), which has been extracted (refer to step S131
through step S134 and step S136 in Fig. 23). Furthermore, the second relay
server B similarly transmits the initialization command and the virtual
address information to the fourth client terminal B2 (step S53.1.1.B:
configVlan (vlanGroupID, addrList)). After receiving OK from the third
j 67
i
I
I
i
client terminal Bl and the fourth client terminal B2, the second relay server
B returns OK to the first relay server A. After receiving OK, the first relay
server A returns OK to the first client terminal Al.
[0142]
Moreover, the first client terminal Al transmits the initialization
command and the virtual address information 80 to the third relay server C
via the first relay server A (step S54: configVlan (vlanGroupID, addrList),
step S54.1: configVlan (vlanGroupID, addrList)). Next, the third relay
server C forwards the initialization command and the virtual address
information 80 to the fifth client terminal CI (step S54.1.1: configVlan
(vlanGroupID, addrList)), which has been extracted (refer to step S131
through step S134 and step S136 in Fig. 23). After receiving OK from the I
fifth client terminal CI, the third relay server C returns OK to the first relay
server A. After receiving OK, the first relay server A returns OK to the first
client terminal Al. According to the above-described process, the virtual
address information 80 is transmitted to all of the VLAN devices in the first
VLAN group.
[0143]
After that, a relay server serving as a hub refers to session
information 73 of the VLAN group information 70, and establishes a hub
session in which the relay server is set as "sp" but that has not been
established yet. In this example, all of the hub session have not been
established yet. Therefore, the first relay server A, which is designated as
"sp", requests the second relay server B, in which the first relay server A is
68
I
I
I
I
designated as "ep", to establish a hub session (step S55: createHubSsn
(vlanGroupID)). After receiving OK from the second relay server B, a hub
session is established between the first relay server A and the second relay
server B. In addition, the first relay server A, which is designated as "sp",
requests the third relay server C, which is designated as "ep", to establish a
hub session (step S56: createHubSsn (vlanGroupID)). After receiving OK
from the third relay server C, a hub session is established between the first
relay server A and the third relay server C.
Furthermore, the second relay server B, which is designated as "sp",
requests the third relay server C, which is designated as "ep", to establish a
hub session (step S57- createHubSsn (vlanGroupID)). After receiving OK
from the third relay server C, a hub session is established between the
second relay server B and the third relay server C.
[0144]
After the hub session is established, a relay server serving as a hub
establishes a device session with a VLAN device connected to the relay
server. First of all, the first relay server A requests the first client terminal
Al to establish a device session (step S58: createDeviceSsn (vlanGroupID)).
After receiving OK from the first client terminal Al, a device session is
established between the first relay server A and the first client terminal Al.
[0145]
Moreover, the second relay server B requests the third client
terminal Bl to establish the device session (step S59: createDeviceSsn
(vlanGroupID)). After OK is returned from the third client terminal Bl, a
69
I
j
•
device session is established between the second relay server B and the third
client terminal Bl. The second relay server B requests the fourth client
terminal B2 to establish a device session (step S60: createDeviceSsn
(vlanGroupID)). After OK is returned from the fourth client terminal B2, a
device session is established between the second relay server B and the
fourth client terminal B2.
Moreover, the third relay server C requests the fifth client terminal
CI to establish a device session (step S61- createDeviceSsn (vlanGroupID)).
After OK is returned from the fifth client terminal CI, a device session is
established between the third relay server C and the fifth client terminal CI.
[0146]
As described above, after the VLAN session including the hub session
and the device session is established in the VLAN group, the VLAN devices
initialize the VLAN interfaces of the VLAN devices, and set the virtual
addresses in the VLAN interfaces. After the virtual address is set in the
VLAN devices, the VLAN device can communicate with each other as VLAN
devices using the virtual address and the VLAN session.
[0147]
For example, the first client terminal Al, which has virtual IP
address of "117.112.0.1" and virtual MAC address of "00.11.22:f0:00:01", can
forward data, via the VLAN session, to the third client terminal Bl, which
has virtual IP address of "117.112.0.3" and virtual MAC address of
"00.11.22:f0:00:03". Specifically, the first client terminal Al transmits, via
the device session, the communication packet to the first relay server A (step
70
I
I
S62: sendData (packetOl)). The communication packet includes virtual
address of the third client terminal Bl as a transmit target, and data to be
transmitted. Next, the first relay server A transmits the communication
packet to the second relay server B via the hub session (step S62.1: sendData
(packetOl)). After that, the second relay server B transmits the
communication packet to the third client terminal Bl via the device session
(step S62.1.1: sendData (packetOl)).
In the relay system of this embodiment, as described above, the
VLAN group information is shared in the VLAN group. Furthermore, if the
VLAN group is activated, a VLAN session is established among the VLAN
devices, and a process is performed of sharing among the VLAN devices the
virtual address information that has been created when activating the VLAN
group. Furthermore, a process is performed of setting virtual address in the
VLAN interface of the VLAN devices, the data is sent and received among
the VLA devices via the VLAN interfaces and the VLAN sessions. As
described above, in the relay communication system of this embodiment, the
client terminals can communicate with each other as VLAN devices via the
wide area network (WAN) 4, using the virtual address and the VLAN
session.
[0148]
17. Other embodiment
Although one embodiment according to the present invention was
explained above, the present invention is not limited to the above-described
embodiment. The embodiment can be altered in various ways without
71
I
•
departing from the scope of the present invention. Particularly, a plurality
of embodiments and variations can be arbitrarily combined with each other
as necessary.
[0149]
17.1 A client terminal registered in the relay server information can
i
log in remotely via other relay servers other than a relay server to which the
client terminal is connected, if the relay server constitutes the same relay
group. Accordingly, the VLAN client terminal can log in via different relay
servers between when creating the VLAN group information and when
activating the VLAN group. The state of the client terminal logging in via
the other relay server is shared among the relay servers and the client
terminals activated in the same relay group by sharing the same relay server
information.
[0150]
In the above-described case, the VLAN group information update
unit 235 of the client terminal updates, receiving the selection of the VLAN
group to be activated, the session information to session information
including a relay server which has received the remote log-in. Then, the
VLAN group information update unit 235 allows the VLAN client terminals
and relay severs to which the VLAN client terminal is connected to share the
updated VLAN group information.
[0151]
For example, it is assumed that the first relay group consists of the
fourth relay server to which the VLAN client terminal is not connected, in
72
i
I
•
addition to the first relay server A, the second relay server B, and the third
relay server C. In this first relay group, if the first client terminal Al
remotely logs into the first relay group via the fourth relay server instead of
the first relay server A, the shared session information does not include the
identification information of the fourth relay server.
[0152]
Therefore, when receiving the activation instruction of the VLAN
group in the above-described state, the VLAN group information update unit
235 adds the identification information of the fourth relay server to the hub
information of the session information. In addition, the VLAN group
information update unit 235 creates routing information between the fourth
relay server and another relay server to which the VLAN device is connected,
and updates the session information of the VLAN group information. Then,
the VLAN group information update unit 235 transmits the updated VLAN
group information to the VLAN devices and the relay servers to which the
VLAN devices are connected.
INDUSTRIAL APPLICABILITY
[0153]
The present invention can be applied to a relay server
communication system including a plurality of relay servers that can
communicate with each other, a plurality of client terminals, LANs
connecting the client terminals to the relay servers, and to a relay server
used in the relay server communication system.
REFERENCE SIGNS LIST
73
•
[0154]
1 first LAN
2 second LAN
3 third LAN
4 wide area network (WAN)
30 relay server information
40 client terminal information
50 client terminal information
60 client terminal information
70 VLAN group information
80 virtual address information
A first relay server
B second relay server
C third relay server
Al first client terminal
A2 second client terminal
Bl third client terminal
B2 fourth client terminal
CI fifth client terminal
74
•
CLAIMS
1. A relay communication system comprisinga
first network;
a second network;
a first relay server connected to the first network;
a second relay server connected to the second network, and
configured to communicate with the first relay server via a third network;
a client terminal connected to the first relay server via the first
network; and
a client terminal connected to the second relay server via the second
network; wherein
each of the first relay server, the second relay server, the client
terminal connected to the first relay server, and the client terminal
connected to the second relay server includes^
a relay group information storage unit configured to store
relay group information that indicates the first relay server, the
second relay server, and the client terminal connected to the first
relay server, and the client terminal connected to the second relay
server constitute a relay group;
a relay server information storage unit configured to store
relay server information that includes activation information of the
first relay server, activation information of the second relay server,
activation/registration information of the client terminal connected j
to the first relay server, and activation/registration information of
75
i
•
the client terminal connected to the second relay server!
an information sharing unit configured to allow the first relay
server, the second relay server, the client terminal connected to the
first relay server, and the client terminal connected to the second
relay server, to share the relay group information and the relay
server information)'
a VLAN group information control unit configured to allow
VLAN client terminals constituting a VLAN group in the relay group
to share VLAN group information, at least two client terminals
among the client terminal connected to the first relay server and the
client terminal connected to the second relay server being the VLAN
client terminals, and the VLAN group information including hub
information having identification information of the first relay
server and identification information of the second relay server to
which the VLAN client terminal is connected, session information
that indicates a connecting-side and a connected-side of a session
established between the first relay server and the second relay
server, and identification information that identifies the VLAN
client terminal,
each of the first relay server and the second relay server further
include s^
an activation command control unit configured to transmit a
response signal including address information of a VLAN device as a
VLAN client terminal that can be activated in a case of receiving an
76
activation instruction of the VLAN group! and
a VLAN session control unit configured to establish a hub
session as a VLAN session between the first relay server and the
second relay server based on the session information, and establish a
device session as a VLAN session between the VLAN devices
connected to the first relay server or the second relay server!
each of the client terminal connected to the first relay server and the
client terminal connected to the second relay server further includes a
virtual address control unit configured to create virtual address information
that includes virtual addresses given to the VLAN devices based on the
response signal, and transmit the virtual address information to the VLAN
device,
if the client terminal connected to the first relay server or the client
terminal connected to the second relay server is a VLAN device, the client
terminal is configured to set the given virtual address into a VLAN interface
of the client terminal, and communicate with other VLAN device using the
virtual address information and the VLAN session.
2. The relay communication system according to claim 1, wherein
each of the first relay server and the second relay server further includes a
relay server communication control unit configured to control
communication between the VLAN devices,
the relay server communication control unit is configured to, in a
case of receiving a communication packet, analyze the received
77
I
•
communication packet to confirm whether or not the communication packet
includes the virtual address,
if the analyzed communication packet includes the virtual address,
the relay server communication control unit is configured to refer to the
virtual address and transmit the communication packet via the hub session
to the first relay server or the second relay server, which is connected to the
VLAN device to which the virtual address is given, or refer to the virtual
address and transmit the communication packet via the device session to the
VLAN device to which the virtual address is given.
3. The relay communication system according to claim 1 or 2,
wherein each of the first relay server, the second relay server, the client
terminal connected to the first relay server, and the client terminal
connected to the second relay server further includes a VLAN group
information update unit configured to update the VLAN group information
in accordance with change of connection state of the VLAN client terminal.
4. The relay communication system according to claim 3, further
comprising a third relay server configured to communicate with the first
relay server and the second relay server via a third network, and constitute
the relay group, wherein
each of the relay group information and the relay server information
further includes information of the third relay server,
in a case that the VLAN group information update unit receives an
78
•
activation instruction of the VLAN group, if the VLAN client terminal is
connected to the third relay server, rather than the first relay server or the
second relay server indicated in the hub information, the VLAN group
information update unit is configured to update the VLAN group information
by adding identification information of the third relay server to the hub
information of the VLAN group and by creating a session information
including the third relay server.
5. The relay communication system according to any of claims 1 to 4,
wherein the virtual address includes a virtual IP address and a virtual MAC
address given to the VLAN device.
6. A relay server configured to serve as a second relay server
connected to a second network, and communicate with a first relay server
connected to a first network, the relay server comprising:
a relay group information storage unit configured to store relay group
information indicating that the first relay server, the second relay server, a
client terminal connected to the first relay server, and a client terminal
connected to the second relay server constitute a relay group)
a relay server information storage unit configured to store relay
server information including activation information of the first relay server,
activation information of the second relay server, activation/registration
information of the client terminal connected to the first relay server, and
activation/registration information of the client terminal connected to the
79
!
second relay server;
an information sharing unit configured to allow the first relay server,
the second relay server, the client terminal connected to the first relay server,
and the client terminal connected to the second relay server, to share the
relay group information and the relay server information;
a VLAN group information control unit configured to share VLAN
group information among VLAN client terminals constituting a VLAN group
in the relay group, at least two client terminals among the client terminals
connected to the first relay server and the second relay server being the
VLAN client terminals, and the VLAN group information including hub
information having identification information of the first relay server and
the second relay server to which the VLAN client terminal is connected,
session information that indicates a connecting-side and a connected-side in
a session established between the first relay server and the second relay
server, and identification information that identifies the VLAN client
terminal;
an activation command control unit configured to transmit a
response signal including address information of a VLAN device as a VLAN
client terminal that can be activated in a case of receiving an activation
instruction of the VLAN group;
a virtual address control unit configured to transmit virtual address
information to the VLAN device, when receiving the virtual address
information that includes virtual addresses given to the VLAN devices and is
created based on the response signal;
80
a VLAN session control unit configured to establish a hub session as
a VLAN session with the first relay server based on the session information,
and establish a device session as a VLAN session with the VLAN device
connected to the relay server! and
a relay server communication control unit configured to control
communication among the VLAN devices using the virtual address
information and the VLAN session.
7. The relay server according to claim 6, wherein in a case of
receiving a communication packet, the relay server communication control
unit (137) is configured to analyze the received communication packet to
confirm whether or not the communication packet includes a virtual address,
and
if the communication packet includes the virtual address, the relay
server communication control unit is configured to refer to the virtual
address and transmit the communication packet via the hub session to the
first relay server connected to the VLAN device to which the virtual address
is given, or refer to the virtual address and transmit the communication
packet via the device session to the VLAN device to which the virtual
address is given.
8. The relay server according to claim 6 or 7, further comprising a
VLAN group information update unit configured to update the VLAN group
information in accordance with a change of the connection state of the VLAN
81
client terminal.
9. The relay server according to claim 6, wherein in a case of the
VLAN group information update unit receives an activation instruction of
the VLAN group, if the VLAN client terminal is connected to a third relay
sever constituting the relay group, rather than the first relay server or the
second relay server indicated by the hub information, the VLAN group
information update unit is configured to update the VLAN group information
by adding identification information of the third relay sever to the hub
information of the VLAN group and by creating a session information
including the third relay server.
10. The relay server according to any of claims 5 to 9, wherein the
virtual address includes a virtual IP address and a virtual MAC address
given to the VLAN device.
| # | Name | Date |
|---|---|---|
| 1 | 5598-DELNP-2013-RELEVANT DOCUMENTS [11-09-2023(online)].pdf | 2023-09-11 |
| 1 | 5598-DELNP-2013.pdf | 2013-06-25 |
| 2 | 5598-delnp-2013-Form-3-(18-12-2013).pdf | 2013-12-18 |
| 2 | 5598-DELNP-2013-RELEVANT DOCUMENTS [22-08-2022(online)].pdf | 2022-08-22 |
| 3 | 5598-DELNP-2013-IntimationOfGrant07-04-2021.pdf | 2021-04-07 |
| 3 | 5598-delnp-2013-Correspondence Others-(18-12-2013).pdf | 2013-12-18 |
| 4 | 5598-DELNP-2013-PatentCertificate07-04-2021.pdf | 2021-04-07 |
| 4 | 5598-delnp-2013-Form-13-(07-01-2014).pdf | 2014-01-07 |
| 5 | 5598-delnp-2013-Correspondence-Others-(07-01-2014).pdf | 2014-01-07 |
| 5 | 5598-DELNP-2013-Correspondence-090318.pdf | 2018-03-16 |
| 6 | 5598-DELNP-2013-OTHERS-090318.pdf | 2018-03-16 |
| 6 | 5598-delnp-2013-GPA.pdf | 2014-01-29 |
| 7 | 5598-delnp-2013-Form-5.pdf | 2014-01-29 |
| 7 | 5598-DELNP-2013-ABSTRACT [12-03-2018(online)].pdf | 2018-03-12 |
| 8 | 5598-delnp-2013-Form-3.pdf | 2014-01-29 |
| 8 | 5598-DELNP-2013-CLAIMS [12-03-2018(online)].pdf | 2018-03-12 |
| 9 | 5598-DELNP-2013-COMPLETE SPECIFICATION [12-03-2018(online)].pdf | 2018-03-12 |
| 9 | 5598-delnp-2013-Form-2.pdf | 2014-01-29 |
| 10 | 5598-DELNP-2013-FER_SER_REPLY [12-03-2018(online)].pdf | 2018-03-12 |
| 10 | 5598-delnp-2013-Form-18.pdf | 2014-01-29 |
| 11 | 5598-delnp-2013-Form-1.pdf | 2014-01-29 |
| 11 | 5598-DELNP-2013-OTHERS [12-03-2018(online)].pdf | 2018-03-12 |
| 12 | 5598-DELNP-2013-certified copy of translation (MANDATORY) [07-03-2018(online)].pdf | 2018-03-07 |
| 12 | 5598-delnp-2013-Drawings.pdf | 2014-01-29 |
| 13 | 5598-delnp-2013-Description (Complete).pdf | 2014-01-29 |
| 13 | 5598-DELNP-2013-FORM 3 [06-03-2018(online)].pdf | 2018-03-06 |
| 14 | 5598-delnp-2013-Correspondence-others.pdf | 2014-01-29 |
| 14 | 5598-DELNP-2013-Information under section 8(2) (MANDATORY) [06-03-2018(online)].pdf | 2018-03-06 |
| 15 | 5598-delnp-2013-Claims.pdf | 2014-01-29 |
| 15 | 5598-DELNP-2013-PETITION UNDER RULE 137 [06-03-2018(online)].pdf | 2018-03-06 |
| 16 | 5598-delnp-2013-Abstract.pdf | 2014-01-29 |
| 16 | 5598-DELNP-2013-FER.pdf | 2017-12-29 |
| 17 | 5598-delnp-2013-Form-3-(07-08-2014).pdf | 2014-08-07 |
| 17 | 5598-delnp-2013-Correspondence Others-(12-03-2015).pdf | 2015-03-12 |
| 18 | 5598-delnp-2013-Correspondence-Others-(07-08-2014).pdf | 2014-08-07 |
| 18 | 5598-delnp-2013-Form-3-(12-03-2015)-.pdf | 2015-03-12 |
| 19 | 5598-delnp-2013-Form-3-(12-03-2015).pdf | 2015-03-12 |
| 20 | 5598-delnp-2013-Correspondence-Others-(07-08-2014).pdf | 2014-08-07 |
| 20 | 5598-delnp-2013-Form-3-(12-03-2015)-.pdf | 2015-03-12 |
| 21 | 5598-delnp-2013-Correspondence Others-(12-03-2015).pdf | 2015-03-12 |
| 21 | 5598-delnp-2013-Form-3-(07-08-2014).pdf | 2014-08-07 |
| 22 | 5598-delnp-2013-Abstract.pdf | 2014-01-29 |
| 22 | 5598-DELNP-2013-FER.pdf | 2017-12-29 |
| 23 | 5598-delnp-2013-Claims.pdf | 2014-01-29 |
| 23 | 5598-DELNP-2013-PETITION UNDER RULE 137 [06-03-2018(online)].pdf | 2018-03-06 |
| 24 | 5598-DELNP-2013-Information under section 8(2) (MANDATORY) [06-03-2018(online)].pdf | 2018-03-06 |
| 24 | 5598-delnp-2013-Correspondence-others.pdf | 2014-01-29 |
| 25 | 5598-DELNP-2013-FORM 3 [06-03-2018(online)].pdf | 2018-03-06 |
| 25 | 5598-delnp-2013-Description (Complete).pdf | 2014-01-29 |
| 26 | 5598-DELNP-2013-certified copy of translation (MANDATORY) [07-03-2018(online)].pdf | 2018-03-07 |
| 26 | 5598-delnp-2013-Drawings.pdf | 2014-01-29 |
| 27 | 5598-delnp-2013-Form-1.pdf | 2014-01-29 |
| 27 | 5598-DELNP-2013-OTHERS [12-03-2018(online)].pdf | 2018-03-12 |
| 28 | 5598-DELNP-2013-FER_SER_REPLY [12-03-2018(online)].pdf | 2018-03-12 |
| 28 | 5598-delnp-2013-Form-18.pdf | 2014-01-29 |
| 29 | 5598-DELNP-2013-COMPLETE SPECIFICATION [12-03-2018(online)].pdf | 2018-03-12 |
| 29 | 5598-delnp-2013-Form-2.pdf | 2014-01-29 |
| 30 | 5598-DELNP-2013-CLAIMS [12-03-2018(online)].pdf | 2018-03-12 |
| 30 | 5598-delnp-2013-Form-3.pdf | 2014-01-29 |
| 31 | 5598-delnp-2013-Form-5.pdf | 2014-01-29 |
| 31 | 5598-DELNP-2013-ABSTRACT [12-03-2018(online)].pdf | 2018-03-12 |
| 32 | 5598-DELNP-2013-OTHERS-090318.pdf | 2018-03-16 |
| 32 | 5598-delnp-2013-GPA.pdf | 2014-01-29 |
| 33 | 5598-delnp-2013-Correspondence-Others-(07-01-2014).pdf | 2014-01-07 |
| 33 | 5598-DELNP-2013-Correspondence-090318.pdf | 2018-03-16 |
| 34 | 5598-DELNP-2013-PatentCertificate07-04-2021.pdf | 2021-04-07 |
| 34 | 5598-delnp-2013-Form-13-(07-01-2014).pdf | 2014-01-07 |
| 35 | 5598-DELNP-2013-IntimationOfGrant07-04-2021.pdf | 2021-04-07 |
| 35 | 5598-delnp-2013-Correspondence Others-(18-12-2013).pdf | 2013-12-18 |
| 36 | 5598-DELNP-2013-RELEVANT DOCUMENTS [22-08-2022(online)].pdf | 2022-08-22 |
| 36 | 5598-delnp-2013-Form-3-(18-12-2013).pdf | 2013-12-18 |
| 37 | 5598-DELNP-2013-RELEVANT DOCUMENTS [11-09-2023(online)].pdf | 2023-09-11 |
| 37 | 5598-DELNP-2013.pdf | 2013-06-25 |
| 1 | Searchstrategy(1)_22-12-2017.pdf |