Abstract: To build a relay communication system having a plurality of relay servers capable of communicating with another, a virtual network is dynamically created. VLAN group information is shared between VLAN client terminals that configure a VLAN group in the relay communication system. On the basis of the VLAN group information, a VLAN session is established between the VLAN devices from among the VLAN client terminals that are bootable as VLAN client terminals, and processing is performed for the sharing between VLAN devices of virtual address information created when the VLAN group is booted up. If the VLAN group has already been booted up when instructed to be booted up, then a VLAN group midway participation signal is transmitted to a midway participant VLAN client terminal, which is the transmission origin of the boot-up instruction, and an unestablished VLAN session pertaining to the midway participant VLAN client terminal is established.
I DESCRIPTION
TITLE OF INVENTION Relay communication system and relay
I servers . ••
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
I
| ;
! network (VPN), it is difficult to configure a network that is expandable and
flexible.
i
[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
i
1
I
I
configure a network with expandability and flexibility, unlike the virtual
private network (VPN).
CITATION LIST
PATENT LITERATURE
[0004]
Patent Literature 1- Japanese Laid-open Patent Publication No.
2008-129991
SUMMARY OF INVENTION
TECHNICAL PROBLEM }
i
| [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
I,
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]
2
Hereinafter, a plurality of aspects as means for solving problems
will be explained. The aspects can be combined with each other as
necessary.
[0008]
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 or more client terminals are
connected to the first relay server via the first network. Anther one or
more client terminals are connected to the relay server via the second
network.
Each of the first relay server, the second relay server, the one or
more client terminals connected to the first relay server, and the one or
more client terminals connected to the second relay server 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, the
one or more client terminals connected to the first relay server, and the one
or more client terminals connected to the second relay server constitute a
j relay group. The relay server information storage unit is configured to
store relay server information including activation information of the first
3
I
relay server, activation information of the second relay server,
activation/registration information of the one or more client terminals
connected to the first relay server, and activation/registration information of
the one or more client terminals connected to the second relay server. The
information sharing unit is configured to allow the first relay server, the
I second relay server, the one or more client terminals connected to the first
j relay server, and the one or more client terminals connected to the second
I relay server, to share the relay group information and the relay server
i
i 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
i
| one or more client terminals connected to the first relay server and the one
or more client terminals connected to the second relay server are the VLAN
I
client terminals. The VLAN group information includes hub information
having identification information of the first relay server or identification
information of the second relay server to which the VLAN client terminal is
connected, and 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
I VLAN client terminal.
Each of the first relay server and the second relay server further j
j
| includes a VLAN session control unit, and an activation command control j
unit. The VLAN session control unit is configured to, if the VLAN group is j
1 |
j not activated in a case of receiving an activation instruction of the VLAN j
! I
4
I
I
group, 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 a VLAN device as an
activatable VLAN client terminal and the first relay server or the second
I relay server to which the VLAN device is connected. The activation
command control unit configured to, if the VLAN group is activated in a
case of receiving an activation instruction of the VLAN group, transmit a
join-in-progress signal for allowing a join in-progress with a VLAN group to
a join-in-progress VLAN client terminal as a transmission source of the
activation instruction.
Each of the one or more client terminals connected to the first relay
i
i
! server and the one or more client terminals connected to the second relay
server further includes a virtual address control unit. The virtual address
control unit is configured to, if the client terminal is the join-in-progress
VLAN client terminal and receives the join-in-progress signal, update the
virtual address information by adding virtual address for a client terminal
created based on the virtual address information including virtual address
I
I
I assigned to the VLAN device constituting the VLAN group in active state,
and transmit the updated virtual address information to the VLAN device.
The VLAN session control unit is configured to establish a VLAN session
that is related to the join-in-progress VLAN client terminal and has not j
been established yet. The join-in-progress VLAN client terminal and the I
t
VLAN device are configured to communicate with each other, using the J
l
updated virtual address information and the established VLAN session |
1 1
5
including the hub session and the device session.
In this case, the VLAN session control unit further establishes a
VLAN session that is related to the johvin-progress VLAN client terminal
and has not been established yet. Furthermore, the join-in-progress VLAN
client terminal and the VLAN device communicate with each other, using
the updated virtual address information and the established VLAN session
including the hub session and the device session.
In this case, even if the VLAN group is in active state when
receiving the activation instruction of the VLAN group, the VLAN client
i terminal can join hvprogress with the VLAN group in active state.
Accordingly, the overlapped activation of the VLAN group is prevented.
[0009]
! The activation command control unit is preferably configured to
determine whether or not the virtual address is assigned to the VLAN
device of the VLAN group in active state, and transmit the join-in-progress
signal to the join-in-progress VLAN client terminal if the virtual address is
!
assigned.
The virtual address control unit is preferably configured to
determine whether or not virtual address for a client terminal can be
created referring to the virtual address information, and finish a process of
joining in-progress with the VLAN group if it is determined that the virtual
address can not be created.
[0010]
The virtual address preferably includes a virtual IP address and a
i j;
I ':
6
virtual MAC address.
[0011]
According to another aspect of the present invention, a relay server
is 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 comprises a relay group information storage
unit, a relay server information storage unit, an information sharing unit, a
VLAN group information control unit, a VLAN session control unit, an
activation command 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, one or more client terminals connected to the first relay server, and
one or more client terminals connected to the second relay server constitute
a relay group. The relay server information storage unit is configured to
store relay server information including activation information of the first
relay server, activation information of the second relay server,
activation/registration information of the one or more client terminals
| connected to the first relay server, and activation/registration information of
} the one or more client terminals connected to the second relay server. The J
i
information sharing unit is configured to allow the first relay server, the
second relay server, the one or more client terminals connected to the first
relay server, and the one or more client terminals connected to the second
relay server, to share the relay group information and the relay server
| information. The VLAN group information control unit is configured to
7 I
allow VLAN client terminals constituting a VLAN group in the relay group
to share VLAN group information. At least two client terminals among the
one or more client terminals connected to the first relay server and the one
or more client terminals connected to the second relay server are the VLAN
client terminals. The VLAN group information including hub information
having identification information of the first relay server and identification
of the second relay server to which the VLAN client terminal is connected,
and session information that indicates a connecting-side and a
connected-side of a session established between the first relay server and
i
J the second relay server, and identification information that identifies the
VLAN client terminal. The VLAN session control unit is configured to, if
the VLAN group is not in active state in a case of receiving activation
instruction of the VLAN group, establish a hub session as a VLAN session
with the first relay server based on the session information, and establish a
device session as a VLAN session with a VLAN device as an activatable
VLAN client terminal among the VLAN client terminals connected to the
relay server. The activation command control unit is configured to, if the
VLAN group is in active state in a case of receiving activation instruction
related to the VLAN group, transmit join-in progress signal for permitting
i joining in-progress with the VLAN group to a join-in-progress VLAN client
terminal as a transmission source of the activation instruction. The relay
server communication control unit is configured to control communication of
the VLAN group. The VLAN session control unit is configured to, in response to the join-in-progress signal, if receiving the virtual address
8
#
i
I information updated by adding a virtual address of the join-in-progress
i
i
VLAN client terminal to a virtual address assigned to the VLAN device
constituting the activated VLAN group, establish a VLAN session that is
related to the join-in-progress VLAN client terminal and has not been
j established yet. The relay server communication control unit is configured
to control communication between the join-in-progress VLAN client
terminal and the VLAN device, the communication being performed using
the updated virtual address information and the established VLAN session
i including the hub session and the device session.
| [0012]
I The activation command control unit is configured to determine
whether or not virtual address has been assigned to the VLAN device of the
activated VLAN group, and transmit the join-in-progress signal to the
I
| join-in-progress VLAN client terminal if the virtual address is assigned.
i
i
! [0013]
i
; The virtual address includes a virtual IP address and a virtual MAC
address.
ADVANTAGEOUS EFFECT
[0014]
According to the present invention, a virtual network can be
dynamically created when constructing a relay communication system
I
having a plurality of relay servers that can communicate with each other.
Furthermore, when transmitting the activation instruction of the
VLAN group, even if the VLAN group is in active state, the VLAN client
9
i
terminal can join in-progress with the VLAN group in active state.
Accordingly, the overlapped activation of the VLAN group is prevented.
BRIEF DESCRIPTION OF DRAWINGS
[0015]
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
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.
Fig. 5 is a view showing a detailed configuration of a relay group
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.
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.
! I
10
Fig. 11 is a view showing a detailed configuration of a VLAN group
| information.
I
I 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
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.
I 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.
i
I Fig. 20A is a flowchart showing a process of establishing a VLAN
session by a client terminal (Part 1).
Fig. 20B is a flowchart showing a process of establishing a VLAN
j
I session by a client terminal (Part 2).
Fig. 21 is a view showing an example of the first extraction
information related to IP address and MAC address of the VLAN device.
11
i
Fig. 22 is a view showing an example of the second extraction
information formed by adding IP address and MAC address of the first
client terminal to the first extraction information.
i
Fig. 23A is a flowchart showing a process of transmitting a response
j signal by the relay serer in response to the initialization command (Part 1).
Fig. 23B is a flowchart showing a process of transmitting a response
signal by the relay serer in response to the initialization command (Part 2).
Fig. 24 is a flowchart showing a process of establishing the VLAN
session in the relay server which has received the initialization command.
Fig. 25 is a flowchart showing a process of establishing the VLAN
session in the relay server which has received the join-hvprogress
! command.
Fig. 26 is a view showing an example of flow process related to the
i I
establishment of the VLAN session.
DESCRIPTION OF EMBODIMENTS
[0016]
I 1. Summary of this embodiment
i
| In a relay communication system of this embodiment, client
j
I terminals can communicate with each other through a wide area network
i (WAN), through a plurality of relay servers realizing a function similar to
hubs.
[0017]
2. Overall structure of the relay communication system
! Hereinafter, referring to drawings, a preferred embodiment of the
12
!
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
server C of the third LAN 3 constitute a first relay group as a relay server
group.
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 second client terminal A2 and a second communication equipment 9 are
connected with each other.
[0018]
j 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 I
f:
connected. To the eighth LAN 13, a fourth client terminal B2 is connected.
13
I
j In the third LAN 3, the third relay server C and the fifth client
i
terminal Cl are connected with each other.
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.
[0019]
! The first relay server A, the second relay server B and the third
i
relay server C relay 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.
[0020]
! 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.
[0021]
!
I
| Fig. 2 shows constituent elements of the first relay server A.
The first relay server A includes a LAN interface 121A, a WAN
interface 121B, a control unit 122, a database storage unit 123, a display
14
c
unit 124, and an operation input unit 125.
i
| The LAN interface 121A executes communication with a terminal in
s
I
I the first LAN 1 using the private IP address. The WAN interface 121B
I executes communication with the wide area network (WAN) 4 using the
global IP address.
[0022]
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, and a relay server communication control unit 137.
[0023]
I The information sharing unit 131 creates and updates relay group
i
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
I terminals connected to the relay server, and stores it in a relay server
i
information storage unit 142 (later described). The information sharing
• :
!
15 •!
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).
[0024]
I 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
i the relay group.
[ [0025]
j The activation command control unit 133 determines whether or not
i
| the VLAN group that is the same as the received VLAN group has been
I already activated, when receiving the activation information of the VLAN
I
group from the client terminal, which has received the activation
instruction of the VLAN group from a user. The activation information
includes activation command of the VLAN group, activation time, and
VLAN group information. Here, if the VLAN group has been already
activated, the activation command control unit 133 transmits
join-in-progress signal to a client terminal as a transmission source of the
activation instruction, and executes a process of permitting the client
j terminal to join in-progress with the VLAN group. The join-in-progress
|
signal is a signal permitting to join in-progress with the VLAN group, and is
i
i
I transmitted together with later-described virtual address information.
16
j
Specifically, if the same VLAN group has already been activated, the
i activation command control unit 133 refers to the activation time of the
activation information which has in advance activated the VLAN group and
1 the activation time of the received activation information, and determines
I that the activation time having earlier activation time is valid.
I
I After that, the activation command control unit 133 determines
i whether or not the client terminal which is a transmission source of the
| invalid activation information has already received the initialization
i command and the virtual address information related to the valid activation
I
| information having the earlier activation time. Then, if the initialization
| command and the virtual address information have been already received,
| the activation command control unit 133 transmits the above-described
join-in-progress signal to the client terminal as a transmission source of the
invalid activation information. Here, the activation command control unit
133 finishes the process of joining in-progress with the VLAN group if the
initialization command and the virtual address information related to the
valid activation information has not been received.
I On the other hand, if it is determined that the received activation
| information is valid, the activation command control unit 133 executes the
! process of activating the VLAN group. The activation command control
j unit 133 first extracts a VLAN client terminal connected to the first relay
server A, from the VLAN group information. Then, the activation
j command control unit 133 determines whether or not the extracted VLAN
client terminal is activatable or not. The activatable VLAN client terminal
17
•j
means a client terminal that is currently logging in and is not currently
joining other VLAN groups. The activation command control unit 133
refers to relay server information stored in the relay server information
storage unit 142, and determines whether or not the extracted VLAN client
1 terminal is logging in. Furthermore, the activation command control unit
I 133 determines whether or not the extracted VLAN client terminal is
activatable by sending a later-described activation command, the detail of
I
which will be described later. Below, the VLAN client terminal which is
determined as activatable by the activation command control unit 133 is
called 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 valid activation information of the
VLAN group. The detail of the VLAN group information will be described
i
later.
[0026]
When virtual address control unit 134 receives the virtual address
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.
i
18 J
j
1 [0027]
i
The VLAN session control unit 135 refers to the VLAN group
information, and establishes a hub session as a VLAN session with another
relay server to which the VLAN device is connected. In addition, the
VLAN session control unit 135 refers to the VLAN group information, and
I
I establishes a device session as a VLAN session with a VLAN device
I
connected to the first relay server A. The hub session is a session among
the relay servers to which the VLAN device is connected. The device
session is a session between the VLAN device and the relay server to which
f the VLAN device is connected.
I Furthermore, the VLAN session control unit 135 establishes a
| VLAN session related to the client terminal as a transmission source of the
join-in-progress command, when receiving the later-described
join-in-progress command if the client terminal as a transmission source of
the join-in-progress command is connected to the first relay server A.
[0028]
If the VLAN group information is changed, the VLAN group
information update unit 136 allows the VLAN client terminal and the relay
servers to which the client terminal is connected to share the updated
VLAN group information.
The relay server communication control unit 137 is a processing unit
that controls various communications via the LAN interface 121A and the
WAN interface 121B, and controls various communication processes in
accordance with a protocol such as TCP/IP, UDP, and SIP.
19
I
I Furthermore, 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
via LAN interface 121A from the client terminal connected to the first relay
server A. Then, if the communication packet includes the virtual address,
I the relay serer communication control unit 137 refers to the virtual address,
i
and transmits the communication packet via the hub session to the other
relay servers. If the relay server communication control unit 137 receives
the communication packet via the WAN interface 12 IB from the other relay
server, the relay server communication control unit 137 analyzes the
received communication packet. Then, if the communication packet
includes the virtual address, the relay server communication control unit
I
| 137 transmits the communication packet via the device session to a VLAN
interface (later described), to which the virtual address is assigned, of the
client terminal under the control of the first client terminal. On 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
j (later described) of the client terminal under the control of the first relay
server A.
j [0029]
i
The database storage unit 123 is a hard disk drive or a non-volatile
| RAM, for example, and can store various data therein. The database
i i
storage unit 123 includes a relay group information storage unit 141, a
20
relay server information storage unit 142, a client terminal information
storage unit 143, a VLAN group information storage unit 144, and a virtual
address information storage unit 145. The detail of the information to be
stored into the relay group information storage unit 141, the relay server
I
J information storage unit 142, the client terminal information storage unit 1
j 143, the VLAN group information storage unit 144, and the virtual address
S
I
| information storage unit 145 will be described later. The constituent
I
elements of the second relay server B and the third relay server C are the
I same as those of the first relay server A, and their explanation will be
i omitted.
!
i
| [0030]
|
j 4. Components of the client terminal
i
The client terminal is a terminal the user can directly operate. The
j 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
i
i
managed in the same LAN.
[0031]
Fig. 3 shows elements of the first client terminal Al. The first
client terminal Al includes a LAN interface 221A, a VLAN interface 221B, a
control unit 222, a database storage unit 223, a display unit 224, and an
operation input unit 225.
[0032]
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
21
address.
I The VLAN interface 22 IB can execute communication with other
i
terminal in the first relay group via the first relay server A using the virtual
| IP address (later described) and the device session.
! [0033]
! 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
I group information update unit 235, an IP packet processing unit 236, a
VLAN session control unit 237, and a client communication control unit
238.
j [0034]
i
The information sharing unit 231 shares the relay group
| information with the relay server in the relay group and client terminals
j. connected to the relay server, and stores them in the relay group
information storage unit 241 (later described). In addition, the
j information sharing unit 231 shares the relay server information with the
relay server in the relay group and client 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 the client terminals in the
relay group, and stores it into the client terminal information storage unit
I
; 22
243 (later described).
[0035]
I The VLAN group information control unit 232 shares the VLAN
I 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
I the VLAN group information storage unit 244 (later described). In
I
| addition, the VLAN group information control unit 232 includes a VLAN
I
I group information creating section 232a that creates the VLAN group
i
I
j information, and transmits the created VLAN group information to the
j VLAN client terminal.
[0036]
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
i
! 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,
23
0
it extracts the IP address and the MAC address of the VLAN device from
the response signal.
I [0037]
!
S The virtual address control unit 234 includes a virtual address
j
« creating unit 234a that creates virtual address information when receiving
[ a response signal including the IP address and the MAC address of the
j
I VLAN device. The virtual address control unit 234 transmits the created
| virtual address information to the relay server to which the first client
terminal Al is connected. Furthermore, the virtual address control unit
234 stores, when receiving the virtual address information and the
i
initialization command, the received virtual address information into the
i
virtual address information storage unit 245.
Furthermore, the virtual address control unit 234 refers to the
virtual address information, when receiving the virtual address information
and the join-in-progress signal, and determines whether or not it can
determine the virtual address for the first client terminal Al. If it is
| determined that virtual address can be determined, the virtual address
control unit 234 determines the virtual address for the first client terminal
Al, and updates virtual address information by adding the virtual address
information of the first client terminal Al. After that, the virtual address
control unit 234 transmits the updated virtual address information and
| join-in-progress command to the relay server to which the first client
terminal Al is connected. On the other hand, the virtual address control
unit 234 finishes the process of joining in-progress with the VLAN group if
24 1
it is determined that the virtual address for the first client terminal Al can
not be determined.
[0038]
J When the VLAN group information is changed, the VLAN group
I information update unit 235 shares the updated VLAN group information
j
I with a VLAN client terminal and a relay server to which the VLAN client
|
I
| terminal is connected.
[ [0039]
i
i
The IP packet processing unit 236 outputs the communication
packet received from the LAN interface 221A to the client communication
j
• 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
transmit the communication packet including the virtual address using the
VLAN session, it transmits the communication packet via the VLAN
| interface 22 IB.
i
The client communication control unit 238 processes the
j
communication packet other than the VLAN session, and controls various
| communication in accordance with a protocol such as TCP/IP, UDP, and SIP
j via the LAN interface 221A.
25
[0040]
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
1 223 includes a relay group information storage unit 241, a relay server
information storage unit 242, a client terminal information storage unit 243,
I 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
i
[ storage unit 242, the client terminal information storage unit 243, the
!
I 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.
[0041]
i
t
5. Relay group information
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
i
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.
I Fig. 4 shows that the first relay group consists of the first relay server A, the
second relay server B, and the third relay server C.
26
i
i
4BI
[0042]
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.
[0043]
The upper information 201 is information on the first relay group
I itself, "group id" indicates identification information of the relay group.
!
| "lastmod" indicates the latest update time of the relay group information. 1
I "name" indicates the name of the relay group.
i
I [0044]
I
\ The lower information 202 is information on the first relay server A,
i
| the second relay server B, and the third relay server C. "site id" indicates
i
i identification information of each relay server.
[0045]
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 addition, the relay group information 20 is shared between the relay
j
server and the client terminal, and is stored into the relay group
information storage unit 241 of the client terminals.
[0046]
6. Relay server information
j Fig. 6 shows a schematic configuration of the relay server
S information 30. The relay server information 30 is information showing a
27
£1
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.
[0047]
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.
[0048]
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.
[0049]
The upper information 301-1, 301-2, 301-3 is information on the
relay servers, "site id" indicates identification information of the relay
server, "name" indicates name of the relay server, "stat" indicates
information on whether or not the relay server is activated.
[0050]
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
28 I
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.
[0051]
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.
[0052]
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
S 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.
i
i [0053]
!
i
I
! When the client terminal is being logging onto the relay server, I
; 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.
I [0054]
!
29
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.
[0055]
"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
I 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,
specifically.
| [0056]
| 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.
30 I
[0057]
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.
[0058]
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.
[0059]
The VLAN client terminal information 72 is information related to
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.
j [0060]
j The session information 73 includes hub information and routing 31
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.
[0061]
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 C. 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 path among the relay servers are defined, the
communication paths among the relay servers are prevented from
overlapping each other.
| [0062]
j The VLAN group information 70 is shared between and VLAN client
| terminals and the relay servers to which the VLAN client terminal is
32
#
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.
I 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.
! [0063]
i
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, and 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
j storage unit 145 of the relay server.
[0064]
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 j
! i
I i
33
#
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.
[0065]
In the virtual address information 80 of this example, the
identification information, the virtual IP address and the virtual MAC
address are associated with the first client terminal Al, the third client
terminal Bl, the fourth client terminal B2, and the fifth client terminal Cl,
I as the VLAN devices.
i
I
! As later described, since among the VLAN devices the virtual
f
address information 80 is shared, the client terminal belonging to different
I 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.
[0066]
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
|
34
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 Cl (step S5: Create_Account 0).
[0067]
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
I server C creates and stores the relay server information therein. The first
relay server A creates and stores the client terminal information therein,
I 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.
[0068]
Fig. 14, Fig. 15, and Fig. 16 respectively shows 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
in formation that the second relay server B creates and stores. The relay
server information 31-3 is information the third relay server C creates and
| stores.
| [0069]
! Fig. 14 shows relay server information 311. The upper
i
information 311-1 is information related to the first relay server A. As
35 '
0
"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 A1 and the second client terminal A2.
[0070]
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 Al is logging onto the first relay
serverA, "site" is, in fact, blank in steps SI to S5 in Fig. 13
[0071]
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.
l
| It should be noticed that denotation of the "site" is similar to a case of the
| first client terminal Al.
| [0072]
| The contents of the relay server information 31-2 and the relay
j server information 31-3 are similar to the content of the relay server
| information 31-1, so the explanation thereof will be omitted.
| [0073]
36 I
«
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
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 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
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 that the processes similar to step S6 and step S7 are executed
I between the first relay server A and the third relay server C, and are
j
I 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
I relay server A, the second relay server B, and the third relay server C.
; [0074]
i
i
\ 10.3 Update of the relay server information at the logging-on
! operation ! i
A user of the second client terminal A2 inputs identification
information of the second client terminal A2 and the password for logging {
1 I
37
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
the second client terminal A2. The first relay server A updates the client
terminal information.
[0075]
I Then, the second client terminal A2 requests the first relay server A
| to transmit the relay group information and the relay server information
l
I (step S9- Get 0). The first relay server A transmits the relay group
! information and the relay server information to the second client terminal
I A2. The second client terminal A2 stores the relay group information and
| the relay server information therein.
i
I
! [0076]
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
j 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
I relay server A notifies the third relay server C as well that the relay server
|
! information has been updated (step Sll- Notify 0). <
i *
| [0077]
! If the users of the first client terminal Al, the third client terminal
Bl, the fourth client terminal B2, or the fifth client terminal Cl logs onto
38
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.
[0078]
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 of process related to the sharing of the relay group
I information and the relay server information.
In Fig. 17, if the first relay group is changed, the first relay server A
i
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
!
I
I
j third client terminal Bl and the fourth client terminal B2, the second relay
server B returns OK to the first relay server A.
[0079] 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
I
the first relay server A. The first relay server A transmits the changed
: j
39
relay 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.
[0080]
I 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 Cl (step S21.3.1: Set_Group (relay
group information)). If OK returns from the fifth client terminal Cl, the
third relay server C returns OK to the first relay server A.
According to the above-described processes, the whole of the relay
servers and the client terminals share the relay group information.
[0081]
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
i notifier is an agent who notifies status of the resource. If the status of the
i
resource is changed during the subscription period, the notifier notifies the
subscriber of the change.
| [0082]
| The first relay server A subscribes the relay server information to
i
the second relay server B (step S24: Subscribe 0). If the status indicated
40
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
I 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
I terminal A2 (step S26- Notify (relay server information)).
[0083]
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
i
| updates the relay server information held by the third relay server C.
!
Then, the third relay server C transmits the updated relay server
I information to the first relay server A. The first relay server A updates the
I 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 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)).
! [0084]
i !
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
41
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 server information)), and then notifies the fourth client
terminal B2 (step S32: Notify (relay server information)).
| [0085]
j
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
i
j the relay server information held by the third relay server C. Then, the
i
| third relay server C 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 third
relay server C. The second relay server B notifies the third client terminal
| Bl that the relay server information has been updated (step S34^ Notify
| (relay server information)), and then notifies the fourth client terminal B2
! (step S35- Notify (relay server information)).
[0086]
\ The third relay server C subscribes the relay server information to
| the second relay server B (step S36: Subscribe 0). If the status indicated
42
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
i from the second relay server B. The third relay server C notifies the fifth
| client terminal CI that the relay server information has been updated (step
l
S37-' Notify (relay server information)).
[0087]
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
CI that the relay server information has been updated (step S39^ Notify
(relay server information)).
[0088]
| According to the above-described processes, the first relay server A,
I the second relay server B, and the third relay server C instantly share the [
j relay server information when the relay server information is updated.
Accordingly, the first relay server A, the second relay server B, and the third
43 I
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
j
I servers.
[0089]
11.3 Summary of the Information Sharing
In the relay communication system, if the number and the
j connection states of the LANs and the client terminals are changed, one
i
I relay server instantly updates the relay group information, the relay server
information, and the client terminal information depending on its content
when recognizing the changes in state.
[0090]
Then, one relay server instantly notifies other relay servers recited
in the relay group information and the relay server information that the
I relay group information and the relay server information have been
j
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.
[0091]
However, one relay server will not instantly notify the other relay
i
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
and the relay server information. In addition, one relay server will not
1 !
j instantly notify the client terminals when it is determined that the client j
terminals are in an unconnected state even if the client terminal is recited j
44
in the client terminal information.
[0092]
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.
[0093]
12. Data transmission/reception in the relay communication system
After the information on the changes in the number and the
connection states of the LANs and the client terminals in the relay
communication system is shared, assume that a user using the client
terminal appoints other client terminal for communication. In this case,
the data is transmitted and received as follows.
[0094]
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
under which relay server in the relay group the appointed client terminal
exists. In addition, the relay server confirms whether or not the relay
|
I server with the client terminals under the control thereof is in an activated
!
state, and confirms whether or not the appointed client terminal is in a
• I
I I
log-on state. Specifically, it is possible to determine that the relay sever is j
! I
in an activated state by confirming "stat" of the upper information of the
45
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.
[0095]
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
j communication packet, transmits the communication packet to the client
terminal under the control of the relay server.
[0096]
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
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
i
third client terminal Bl, the fourth client terminal B2, and the fifth client
terminal CI in the first relay group are selected as the VLAN client
terminals.
[0097]
46
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,
I
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
identification information of the first relay group by referring to the relay
server information stored in the relay server information storage unit 242
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.
[0098]
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 display unit 224 (step S102). After that, VLAN group
information creating section 232a receives the selection of the VLAN client I
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.
47
[0099]
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.
[0100]
| For example, the VLAN group information creating section 232a
I determines that, the first relay server A is on a connecting-side, and the
l
I
I second relay server B is on a connected-side, regarding a session between
the 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.
After creating the session information, the VLAN group information
i
creating section 232a creates identification information for identifying the j
VLAN group (step S105). After that, the VLAN group information creating j
section 232a stores the VLAN group information into VLAN group j
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).
[0101]
48
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
j 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.
[0102]
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 CI, 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.
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
information in which "sp" is the second relay server B and "ep" is the third
relay server C.
[0103]
The VLAN group information 70 is, after created as described above,
49
1
j transmitted to the VLAN client terminal (step S107).
I
I [0104]
i
!
\ 13.2 Share of the VLAN group information j
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.
•i
[0105]
The first client terminal Al, which has created the VLAN group
information 70, transmits the VLAN group information 70 to the third
client 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 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 ?
•
50
i
I
first relay server A returns OK to the first client terminal Al.
[0106]
Next, the first client terminal Al transmits the VLAN group
information 70 to the fourth client terminal B2 as a VLAN client terminal.
I 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: create VlanGroup
(vlanGroup)). The second relay server B transmits the received VLAN
group information 70 to the fourth client terminal B2 (step S42.1.1:
create VlanGroup (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.
[0107]
Furthermore, the first client terminal Al transmits the VLAN group
l 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: ere ate VlanGroup (vlanGroup)). The first relay server A
transmits the received VLAN group information 70 to the third relay server
C (step S43.1-* create VlanGroup (vlanGroup)). The third relay server C
transmits the received VLAN group information to the fifth client terminal
} 51
1
f
I
c
i Cl (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.
[0108]
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.
[0109]
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
| 52
i
I
i
client terminals can communicate with each other as VLAN devices via a
! plurality of relay servers as a hub. Hereinafter, processes of establishing
j the VLAN session process and starting of the VLAN communication in a
j client terminal which receives activation instruction of the VLAN group
information will be described with reference to Fig. 20A and Fig. 20B. Fig.
20A and Fig. 20B show a flowchart showing a process of establishing the
VLAN session by the client terminal.
[0110]
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, and the fifth client terminal
CI are VLAN devices.
[0111]
14.1 Transmission of the activation command and reception of the
response signal
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
I 53
I
I
I
i
i
| 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.
[0112]
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
l
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.
[0113]
Next, the activation command control unit 233 performs processes of
step S113 through step S116. Specifically, the activation command control
i
; unit 233 refers to the relay server information stored in the relay server
information storage unit 242, and determines whether or not a relay sever
\ 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
54
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.
[0114]
First, the activation command control unit 233 refers to the relay
server information stored in the relay server information storage unit 242,
I and determines whether or not the second relay server B is activated.
Specifically, the activation command control unit 233 confirms that the
j
| 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.
j If the second relay server B is activated, the activation command control
| unit 233 transmits activation information including the activation
command, the 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 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.
[0115]
Next, the activation command control unit 233 receives a response
55
i
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).
[0116]
i
I 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.
[0117]
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
56
! 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, 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.
[0118]
If it is determined that the relay server is not activated (No at step
S113), a process proceeds to step S117.
[0119]
| 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 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
57
I
I
information in Fig. 21.
j [0120]
i
| 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, and the fifth client
terminal CI are combined in one table.
[0121]
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
i 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,
58
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.
[0122]
The virtual address information created according to the
above-described process is 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 assigned to the first client terminal Al identified by
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
assigned to the third client terminal Bl, which is identified by identification
information "clientBl.rd.002@trial.net". Virtual IP address "117.112.0.3"
and virtual MAC address "00.11.22:f0.00.03" are assigned to the fifth client
terminal CI, which is identified by identification information
"clientCl.rd.002@trial.net".
[0123]
14.3 Establishment of VLAN session
I Next, the virtual address control unit 234 transmits the created
i
virtual address information 80 with the initialization command to a relay
server constituting a hub (step S119). The initialization command is a
command related to initialization of the VLAN interface, and includes
"1279672104671.clientAl.rd.002@trial.net" as 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
59
I
I
! 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, refer to the
session information 73 of the VLAN group information 70, and establish a
hub session among the relay servers. The establishment of the hub session
among the relay servers will be later described in detail.
| [0124]
j After that, the VLAN session control unit 237 performs a process of
l
| establishing a device session with the first relay server A (step S120). In
detail, OK is returned corresponding to the request of establishing the
I 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
between the second relay server B and the third client terminal Bl. A
I
i device session is also established between the third relay server C and the
fifth client terminal CI.
[0125]
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
22 IB. Specifically, the VLAN session control unit 237 sets the virtual IP
address and the virtual MAC address of the virtual address information 80
i
l
[ 60
r
!
|
I into the VLAN interface 22IB of the first client terminal Al (step S121).
At this time, the third client terminal Bl, and the fifth client terminal CI
set the virtual IP address and virtual MAC address of the virtual address
information 80 into the VLAN interface of the first client terminal Al (step
S121), too.
When the virtual address is set in the VLAN devices according to
i the above-described process using the virtual address and the VLAN session,
the client terminals can communicate with each other as VLAN devices
(step S122).
[0126]
| 14.5 Joinning in-progress with the VLAN group
I
I In the above-described example, when the first client terminal Al is
to transmit the activation information upon receiving the selection of the
I activation of the first VLAN group, the first VLAN group may have been
! activated in accordance with the activation instruction from the other client
terminal or the relay server. In this case, in order to address the
| overlapped activation of the VLAN groups, the following process is
performed.
[0127]
i
If the first VLAN group has been already activated, a response
signal (refer to step S114) is not transmitted in response to the transmission
of the activation information from the second relay server B and/or the third
relay server C. Accordingly, the activation command control unit 233 does
not receive the response signal (No at step S115), and determines whether
61
f
or not it has received join-irrprogress signal from the second relay server B
I and/or the third relay server C (step S123). The join-in-progress signal is a
| signal for permitting the first client terminal Al to join in-progress with the
I first VLAN group. The join-in-progress signal includes the virtual
I address information, which has been already created by the previous
activation of the first VLAN group.
Whether or not the first client terminal Al can join in-progress with
the first VLAN group is determined by any of the relay servers, to which the
VLAN client terminal is connected and which has bee activated. For
example, if the second relay server B determines the join-in-progress, the
second relay server B transmits the join-in-progress signal to the first client
terminal Al via the first relay server A. The transmission of the
join-in-progress signal by the relay server will be later described in detail.
If the join-in-progress signal is not received from the second relay
server B (No at step S123), the activation command control unit 233
executes a process of overlap error of the activation process to finish the
activation process (step S125).
[0128]
On the other hand, if the join-in-progress signal is received, then,
the virtual address control unit 234 reads out virtual address information
that has been received together with the join-in-progress signal (step S124),
and extracts the virtual IP address and the virtual MAC address assigned
[ to the VLAN devices, from the virtual address information (step S126).
i
I [0129]
i 62
f
i i
I
Next, the virtual address control unit 234 refers to the extracted
virtual IP address and virtual MAC address, and determines whether or not
the virtual address can be determined for the first client terminal Al (step
S127). Specifically, the virtual address control unit 234 determines
whether or not the IP address which the first client terminal Al is currently
using belongs to the same address system as that of the extracted virtual IP
address. Furthermore, the virtual address control unit 234 determines
whether or not the MAC address which the first client terminal Al is
currently using belongs to the same address system as that of the extracted
| virtual MAC address. If the address segment of the first client terminal Al
I is the same as that of the virtual address, the virtual address control unit
| 234 finishes the process of joining hvprogress with the VLAN group because
i
it determines that the activation error happens (step S128).
[0130]
On the other hand, if IP address and MAC address of the first client
terminal Al and the virtual IP address and the virtual MAC address belong
| to different address systems, the virtual address control unit 234
determines the virtual address for the first client terminal Al, and updates
! the virtual address information (step S129). For example, the virtual
i
address control unit 234 assigns the virtual IP address and the virtual MAC
address formed by changing the ends of the extracted virtuallP address and
the virtual MAC address, to the first client terminal Al. Then, the virtual
address control unit 234 updates the virtual address information by adding
the assigned virtual IP address and virtual MAC address as well as the
63 I
[
c
identification information of the first client terminal Al to the virtual
address information.
[0131]
After updating the virtual address information, the virtual address
control unit 234 transmits the updated virtual address information and
join-in-progress command to the first relay server A (step S131). The
join-in-progress command is a command showing the join-in-progress to the
VLAN, and includes the identification information of the VLAN group.
[ If receiving OK response from the first relay server A (Yes at step
|
S132), a process proceeds to step S120, and the VLAN session control unit
i
! 237 performs a process of establishing a device session with the first relay
i
I server A. On the other hand, if no OK response is received from the first
I
i relay server A (No at step S132), the virtual address control unit 234
determines that the activation error happens and finishes the process (step
S133).
| The updated virtual address information and join-in-progress
|
| command are transmitted to the VLAN devices via the relay servers after
i
that.
[0132]
i
The execution of the above-described process can address the
overlapping of the activation of the first VLAN group. Furthermore, even
if the activation instructions of the first VLAN group are overlapped with
each other, the client terminal which has later transmitted the activation
instruction can join in-progress with the first VLAN group if the address
64
f
i
which the client terminal uses and the virtual address previously created by
the activation of the first VLAN group do not belong to the same address
system.
[0133]
15. Process of establishing the VLAN session and starting the VLAN
communication in the relay server
Next, a process of establishing the VLAN session process and
starting of the 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
I example, a process by the second relay server B, which has received the
I
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.
[0134]
15.1 Transmission of response signal
First, referring to Fig. 23A and Fig. 23B, a process of transmitting a
response signal by the second relay server B in response to the activation
information will be explained. Fig. 23A and Fig. 23B are flowcharts
showing a process of transmitting response signal by the relay server in
i
response to the activation information. The activation command control
65
I
1
f
I
unit 133 of the second relay server B extracts the identification information
of the VLAN group from the VLAN group information 70 (step S142), when
!
| receiving activation information including the activation command, the
i
activation time and the VLAN group information 70 from the first client
terminal A (Yes at step S141),. In this example, the activation command
control unit 133 extracts, from the VLAN group information 70,
identification information "1279672104671. clientAl .rd.002@trial.net".
Then, the activation command control unit 133 confirms whether or not the
first VLAN group, having this identification information, has been already
activated (step S143). If the first VLAN group has not been activated, the
activation process of the first VLAN group is started (step S144), and a
| process proceeds to step S151 (later described).
[0135]
On the other hand, if the first VLAN group has been already
activated, the activation command control unit 133 compares the activation
time received from the first client terminal Al with the activation time
included in the previously received activation information of the first VLAN
group (step S145). If the activation time received from the first client
terminal Al is valid (Yes at step S146), the activation command control unit
133 overwrites the already received activation time with the activation time
I received from the first client terminal Al (step S147), and a process
i
I proceeds to step S151. Here, it is determined that earlier activation time is
| valid activation time.
[0136]
•
66
r
If the activation time received from the first client terminal Al is
I invalid (No at step S146), the activation command control unit 133 further
determines whether or not the initialization command and the virtual
address information have been received (step S148). In other words, the
activation command control unit 133 determines whether or not, in the
previous activation of the first VLAN group, a process of transmitting the
initialization command and the virtual address information has been
already executed.
[0137]
If the activation command control unit 133 has received the
initialization command and the virtual address information (Yes at step
S148), the activation command control unit 133 transmits the I
join-in-progress signal, the received initialization command, and the virtual
address information to the first client terminal Al (step S149). As
described above, the join-in-progress signal means a signal for permitting
the first client terminal Al to join-in-progress with the VLAN group.
If the initialization command and the virtual address information
have not been received (No at step S148), the activation command control
unit 133 returns overlap error signal of the activation process to the first
client terminal Al, and the activation process is finished (step S150). This
l
| is because if the virtual address information has not been received, it is
|
impossible to execute a process of assigning the virtual address to the
second relay server B based on the received virtual address information
j (refer to step S127, step S129 in Fig. 20B).
67
j
I [0138]
If the activation process of the first VLAN group is started (step
S144), or the overwrite process of the activation time is executed (step S147),
the activation command control unit 133 next executes a process of
j extracting the VLAN client terminals connected to the second relay server B
[
I from the VLAN group information 70 (step S151). If there is a VLAN
client terminal connected to the second relay server B (Yes at step S152),
the activation command control unit 133 determines whether or not the
VLAN client terminal can be activated (step SI54). The activatable VLAN
client terminal means a client terminal that is currently logging in and is
not currently joining other VLAN groups. Below, the VLAN terminal
which is determined as activatable by the activation command control unit
133 will be called VLAN device. In this example, the activation command
!
I
} control unit 133 extracts the third client terminal Bl as a VLAN device.
|
| When determining whether or not the client terminal is a VLAN device, the
activation command control unit 133 refers to the relay server information
j stored in the relay server information storage unit 142, and determines
whether or not the third client terminal Bl is logging in. In addition, the
activation command control unit 133 transmits the activation command to
i
I the third client terminal Bl, which is logging in. Then, if the activation
| command control unit 133 receives OK signal in response to the activation
I command from the third client terminal Bl, the activation command control
i
unit 133 determines that third client terminal Bl is a VLAN device.
| [0139]
68
!
After that, the activation command control unit 133 transmits the
VLAN activation command to the third client terminal Bl (step S155).
The VLAN activation command is a command for activating the VLAN
client terminal as a VLAN device. If the activation command control unit
133 receives OK response from the third client terminal Bl (Yes at step
S156), the activation command control unit 133 transmits the response
signal to the first client terminal Al (step S157). The response signal
includes the identification information, the IP address and the MAC
address of the third client terminal Bl. In this case, the activation
command control unit 133 executes IP communication with the third client
i
terminal Bl, which is logging in, via the LANs. Accordingly, the
activation command control unit 133 does not need to ask the third client
terminal Bl about the IP address and the MAC address of third client
terminal Bl. The first client terminal Al, which has received the response
signal, creates the virtual address information 80 from the received
response signal (refer to step S115 and step S116 in Fig. 20A).
[0140]
If there is no VLAN client terminal connected to the second relay
i server B (No at step SI52), the activation command control unit 133
i
| transmits an activation OK signal to the first client terminal Al. The
activation OK signal just represents OK response to the activation
| command which has been received. If the VLAN device does not exist (No
| at step S154), or if the OK response in response to the transmission of the
i
VLAN activation command is not received (No at step S156), the activation
i
69
I
i I
command control unit 133 also transmits the activation OK signal.
[0141]
15.2 Establishment of the VLAN session
Next, a process will be described of establishing the VLAN session
by the relay server after the virtual address information is created by the
client terminal.
15.2.1 Process after the initialization command is received
First, referring to Fig. 24, a process will be described when the
second relay server B receives the virtual address information 80, which has
been transmitted after the first client terminal Al creates the virtual
address information 80, and the initialization command (step S119 in Fig.
20A). Fig. 24 is a flowchart showing a process of establishing the VLAN
session in a relay server that has received the initialization command. The
operation by the third relay server C after it receives from the first client
i
terminal Al, the virtual address information 80 and the initialization
command is similar to that of the second relay server B, which will be
described below, so their explanation will be omitted.
[0142]
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 S161), extracts
identification information of the VLAN group from the initialization
| command (step S162). In this example, the VLAN session control unit 135
extracts "1279672104671. clientAl.rd.002@trial.net".
•
70
[0143]
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 S163). If the first VLAN group is not in
i
i
i the activation process, an error reply is returned to the first client terminal
| Al (step S165), and the process is finished.
[0144]
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 S164). 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 CI,
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 SI66). 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 SI67).
[0145]
Next, the VLAN session control unit 135 extracts the session
information 73 from the VLAN group information 70 (step S168). After
71
{CI
extracting the session information 73, the VLAN session control unit 135
refers to the session information 73, and establishes a hub session in which
the second relay server B is set as "sp" and that has not been established yet
(step S169). 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.
[0146]
After receiving a response signal meaning OK to the establishment
of the hub session from the third relay server C (step S170), the VLAN
session control unit 135 refers to the VLAN group information 70, and
establishes a device session with the VLAN devices connected to the second
relay server B (step S171). 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 as a VLAN device.
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 S172).
I
j [0147]
15.2.2 Process after receiving join-inprogress command
Next, a process performed by the second relay server B when the
72
second relay server receives the updated virtual address information and
join-in-progress command (refer to step S131 in Fig. 20B) from the first
client terminal Al will be described with reference to Fig. 25. Fig. 25 is a
I flowchart showing a process of establishing the VLAN session in the relay
] server which has received the join-in-progress command.
i
[0148]
If the VLAN session control unit 135 of the second relay server B
receives the virtual address information and the join-in-progress command
from the first client terminal Al (Yes at step S181), the VLAN session
control unit 135 extracts the identification information of the VLAN group
from the join-in-progress command (step S182).
[0149]
\ 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 S183). If the first VLAN group is not in
the activation process, the VLAN session control unit 135 returns an error
reply to the first client terminal Al (step S185), and the process is finished.
[0150]
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
1 the updated virtual address information (step S184). Next, the VLAN
session control unit 135 refers to the VLAN group information 70 stored in
j the VLAN group information storage unit 144, and extracts, from the VLAN
j
j devices, the VLAN devices under the control of the second relay server B,
73
i
[ i.e., the VLAN devices connected to the second relay server B (step S186).
i
| After that, the VLAN session control unit 135 transmits the join-in-progress
command and the updated virtual address information to the VLAN devices
under the control of the second relay server B, i.e., the VLAN devices
connected to the second relay server B (step S187).
[0151]
Next, the VLAN session control unit 135 extracts the session
information 73 from the VLAN group information 70 (step SI88). After
extracting the session information 73, the VLAN session control unit 135
refers to the session information 73, and establishes a hub session in which
the second relay server B is set as "sp" and which has not been established
yet (step S189). In other words, the VLAN session control unit 135 uses
the hub session which has been already established by the previous
; activation of the first VLAN group, and newly establishes a hub session that
l
\ has needed to be established by joining of the VLAN client terminal which
has been allowed the join-in-progress. At this time, among other relay
servers serving as a hub, a process is performed to establish the hub
session.
[0152]
After receiving OK response signal from a relay server to which the
| hub session is connected (step S190), the VLAN session control unit 135
refers to the VLAN group information 70, and determines whether or not
there is a VLAN device under the control of the second relay server B, i.e.,
the VLAN device connected to the second relay server B exist (step S191).
74
! If there is a VLAN device under the control of the second relay server B (Yes
J at step S191), the VLAN session control unit 135 establishes a device
i
! session with the VLAN device under the control of the second relay server B
| (step S192).
i
If the device session is established with the VLAN devices under the
control of the second relay server B, or if there is no VLAN device under the
control of the second relay server B (No at step S191), then the client
terminals can communicate with each other as VLAN devices using the
virtual address and the VLAN session (step S193).
[0153]
16. Example of the VLAN session
With reference to a sequence diagram of Fig. 26, a flow of data when
the VLAN session is established will be described. Fig. 26 is a view
showing an example of a flow of process related to establishment of the
VLAN session.
Below, a process for establishing a VLAN session in the first VLAN
group will be described with a following example. In this example, in a
state wherein the VLAN group information 70 is shared among the first
client terminal Al, the third client terminal Bl, the fourth client terminal
B2, and the fifth client terminal Cl (refer to Fig. 19), the fourth client
terminal B2 logs out from the first relay group. After that, after the VLAN
session is established in the first VLAN group, the fourth client terminal
B2 logs on again, and the fourth client terminal B2 receives an activation
instruction of the first VLAN group from a user.
75
I
I
i
I
I
ft
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.
[0154]
First, the fourth client terminal B2 logs out from the first relay
group. Specifically, the fourth client terminal B2 notifies the second relay
server B of the logging-out (step S5l:logout0), and receives OK from the
second relay server B. The second relay server B, to which the logging-out
has been notified, refers to the relay server information, and notifies the
third client terminal Bl of the logging-out of the fourth client terminal B2
(step S52:notifyLogout(clientB2)). The third client terminal Bl returns
OK to the second relay server B. The second relay server B refers to the
relay server information, and notifies the first relay server A of the
logging-out of the fourth client terminal B2 (step
S53:notifyLogout(clientB2)). The first relay server A refers to the relay I
server information, and notifies the first client terminal Al of the
logging-out of the fourth client terminal B2 (step
S53.1-notifyLogout(clientB2)). If OK is returned from the first client
76
I terminal Al, the first relay server A returns OK to the second relay server B.
In this example, although not shown in the figures, the first relay server A
refers to the relay server information, and notifies the second client
i
terminal A2, which constitutes the first relay group, of the logging-out of the
fourth client terminal B2.
Furthermore, the second relay server B refers to the relay server
information, and notifies the third relay server C of the logging-out of the
fourth client terminal B2 (step S54:notifyLogout(clientB2)). The third
relay server C refers to the relay server information, and notifies the fifth
client terminal CI of the logging-out of the fourth client terminal B2 (step
S54.l:notifyLogout(clientB2)). If OK is returned from the fifth client
| terminal CI, the third relay server C returns OK to the second relay server
i B. According to the above-described process, all of the relay servers and
the client terminals in the first relay group share the logging-out of the
fourth client terminal B2.
[0155]
After that, if the first client terminal Al receives the activation
instruction of the first VLAN group from the user, the activation process of
the first VLAN group is started. First, the first client terminal Al
i
transmits the activation information including the activation command, the
activation time, and the VLAN group information 70, to the second relay
server B, which servers as hub in the VLAN group and is in active state, via
the first relay server A (step S55: StartVlan(vlanGroupID), step S55.1:
StartVlan(vlanGroupID)). The second relay server B refers to the VLAN
j
77
I
I
I
group information 70, and extracts the third client terminal Bl and the
fourth client terminal B2, which are 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 VLAN devices, and then transmits the activation information to the
VLAN devices. In this example, since the fourth client terminal B2 has
logged out, the second relay server B transmits the activation command, the
activation time, and the VLAN group information 70 to the third client
terminal Bl, which is a VLAN device (step S55.1.1:
StartVLan(vlanGroupID)).
I [0156]
j
I If OK is returned from the third client terminal Bl, the second relay
j
server B transmits a response signal (OK (clientBl(ip,mac))) via the first
relay server A 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.
j [0157]
i
| Furthermore, the first client terminal Al transmits the activation
| command, the activation time, and the VLAN group information 70 to the
i
third relay server C, which serves as a hub in the VLAN group and is in
active state, via the first relay server A (step S56: StartVlan(vlanGroupID),
step S56.1: StartVlan(vlanGroupID)). The third relay server C refers to
the VLAN group information 70, and extracts the fifth client terminal CI,
i
| which is a VLAN client terminal connected to the third relay server C.
i
78
L
I
I
I
Then, the third relay server C determines whether or not the fifth client
terminal Cl is a VLAN device, and then transmits the activation command,
the activation time, and the VLAN group information 70 to the fifth client
terminal Cl (step S56.1.1: StartVlan(vlanGroupID)).
[0158]
If OK is returned from the fifth client terminal Cl, the third relay
j
server C transmits the response signal (OK (clientCl(ip,mac))) via the first
relay server A to the first client terminal Al. The response signal includes
the identification information, the IP address, and the MAC address of the
fifth client terminal Cl.
[0159]
Next, the first client terminal Al performs a process of extracting
from the response signal and creating the virtual address information (refer
to step S116, S118 in Fig. 20A), and transmits the initialization command
and the created virtual address information 80 to the relay servers to which
the VLAN device and the VLAN device are connected. The virtual address
information 80 includes, as shown in Fig. 12, the identification information,
the virtual IP address, and the virtual MAC address of the first client
terminal Al, the third client terminal Bl, and the fifth client terminal Cl.
[0160]
First, the first client terminal Al transmits the initialization
command and the virtual address information 80, via the first relay server,
to the second relay server B (step S57^configVlan(vlanGroupID, addrList),
step S57.i:configVlan(vlanGroupID, addrList)). Next, the second relay
79
I
I
I server B transmits the initialization command and the virtual address
information 80 to the third client terminal Bl (step S57.1.1:
configVlan(vlanGroupID, addrList)), which has been extracted through the
extraction process (refer to step S161 through step Si64 and step S166 in
Fig. 24). If OK is received from the third client terminal Bl, the second
relay server B returns OK to the first relay server A. The first relay server
A, which has received OK, returns OK to the first client terminal Al.
[0161]
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 S58-configVlan(vlanGroupID, addrList), step
S58.i:configVlan(vlanGroupID, addrList)). Next, the third relay server C
forwards the initialization command and the virtual address information to
[
the fifth client terminal CI (step S58.1.1'configVlan(vlanGroupID,
addrList)), which has been extracted through the above-described process
(refer to step S161 through step S164 and step S166 in Fig. 24). If OK is
received from the fifth client terminal CI, the third relay server C returns
OK to the first relay server A. The first relay server A, which has received
OK, returns OK to the first client terminal Al. According to the
above-described process, the virtual address information is transmitted to
| all of the VLAN devices in the first VLAN group.
[0162]
After that, the relay sever to which the VLAN device is connected
| refers to the session information 73 of the VLAN group information 70, and
80
!
|
i
i
i
| establishes a hub session in which the relay server is set as "sp" and which
has not been established yet. In this example, any of the hub sessions have
not been established yet and therefore the first relay server A, which is
designated as "sp", requests the second relay server B, which is designated
as "ep", to establish a hub session (step S59: createHubSsn(vlanGroupID)).
If OK is returned from the second relay server B, a hub session is
established between the first relay server A and the second relay server B.
Furthermore, 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 S60^ createHubSsn(vlanGroupID)). If OK is returned from
the third relay server C, a hub session is established between the first relay
| server A and the third relay server C.
j [0163]
| 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 S61- createHubSsn(vlanGroupID)). If OK is returned
from the third relay server C, a hub session is established between the
second relay server B and the third relay server C.
[0164]
If the hub session is established, a relay server to which the VLAN
I
| device is connected establishes a device session with a VLAN device
connected to the relay server. First, the first relay server A requests the
| first client terminal Al to establish a device session (step S62:
I
createDeviceSsn(vlanGroupID)). If OK is returned from the first client
81
! terminal Al, a device session is established between the first relay server A
| and the first client terminal Al.
[0165]
The second relay server B requests the third client terminal Bl to
establish a device session (step S63: createDeviceSsn(vlanGroupID) ). If
OK is returned from the third client terminal Bl, a device session is
established between the second relay server B and the third client terminal
Bl. Furthermore, the third relay server C requests the fifth client
terminal CI to establish a device session (step S64-
createDeviceSsn(vlanGroupID)). If OK is returned from the fifth client
terminal Cl, a device session is established between the third relay server C
and the fifth client terminal Cl.
| [0166]
As described above, if a VLAN session is established including a hub
session and a device session in the VLAN group, the VLAN devices
initializes the VLAN interfaces of the LAN devices, and set the virtual
addresses in the VLAN interfaces. If the virtual address is set in the
VLAN devices, the client terminals can communicate with each other as
VLAN devices using the virtual address and the VLAN session.
[0167]
| In this state, the fourth client terminal B2 logs on again.
I
| Specifically, the fourth client terminal B2 notifies the second relay server B
| of the logging-on (step S65'login0), and receives OK from the second relay
! server B. The second relay server B, being notified of the logging-on, refers
i
82
!
|
to the relay server information, and notifies the third client terminal Bl of
the logging-on of the fourth client terminal B2 (step
S66:notifyLogon(clientB2)). The third client terminal Bl returns OK to
the second relay server B. The second relay server B refers to the relay
server information, and notifies the first relay server A of the logging-on of
the fourth client terminal B2 (step S67:notifyLogon(clientB2)). The first
relay server A refers to the relay server information, and notifies the first
client terminal Al of the logging on of the fourth client terminal B2 (step
S67.i:notifyLogon(clientB2)). If OK is returned from the first client
terminal Al, the first relay server A returns OK to the second relay server B.
In this example, although not shown in the figures, the first relay server A
j refers to the relay server information, and notifies the second client
terminal A2, constituting the first relay group, of the logging-on of the
fourth client terminal B2.
| [0168]
Furthermore, the second relay server B refers to the relay server
information, and notifies the third relay server C of the logging-on of the
j fourth client terminal B2 (step S68:notifyLogon(clientB2)). The third relay
I server C refers to the relay server information, and notifies the fifth client
| terminal Cl of the logging-on of the fourth client terminal B2 (step
i
| S68.i:notifyLogon(clientB2)). If OK is returned from the fifth client
I
terminal Cl, the third relay server C returns OK to the second relay server
| B. According to the above-described process, all of the relay servers and
I the client terminals in the first relay group share the logging-on of the
83 I
I
I
I
I
I
I
fourth client terminal B2.
[0169]
After that, if the fourth client terminal B4 receives the activation
instruction of the first VLAN group from a user, the fourth client terminal
B4 transmits, to the second relay server B, the activation command, the
activation time, and the VLAN group information 70 (step
S69:StartVlan(VlanGroupID).
At this time, the second relay server B refers to the received
activation command, the activation time, and the VLAN group information
70, and determines whether or not the received activation time is valid. In
addition, the second relay server B determines whether or not the
initialization command and the virtual address information have been
received, and then transmits the join-in-progress signal (notifyJoin(addr
List)) to the fourth client terminal B2 (refer to step S143 through S146,
S148 through S149 in Fig. 23A). In this example, since the activation time
received from the fourth client terminal B2 is later than the activation time
received from the first client terminal Al at step S55, S55.1, the second
relay server B determines that the activation time received from the fourth
client terminal B2 is invalid. Furthermore, since the second relay server B
| has already received the initialization command and the virtual address
I
| information 80 at step S57, S57.1, the second relay server B transmits, to
j the fourth client terminal B2, the initialization command, the virtual
I
| address information 80, and the join-in-progress signal.
[0170]
84
j
I
I c
! If the fourth client terminal Bl receives the join-in-progress signal,
the fourth client terminal B2 refers to the assigned virtual address
extracted from the virtual address information 80, determines the virtual
address for the fourth client terminal B2, and updates the virtual address
information. Then, the fourth client terminal B2 transmits the updated
| virtual address information (refer to step S123 through 131 in Fig. 20B).
In this example, the fourth client terminal B2 determines that it can
determine the virtual address for the fourth client terminal B2, and assigns
virtual IP address and virtual MAC address (177.112.0.4,00-ll-22-fO00-04)
to the fourth client terminal B2, which are formed by changing the ends of
the extracted assigned virtual IP address and virtual MAC address.
[0171]
After that, the updated virtual address information and
join-in-progress command are transmitted to the VLAN devices based on
the updated virtual address information and the VLAN group information
70. First, the fourth client terminal B2 transmits the updated virtual
address information and join-in-progress command to the second relay
server B (step S70:JoinVlan(vlanGroupID, addr List)). The second relay
server B transmits the updated virtual address information and the
join-in-progress command to the first relay server A (step
| S70.1JoinVlan(vlanGroupID, addr List)). The first relay server A
| transmits the updated virtual address information and the join-in-progress
| command to the first client terminal Al (step
i
S70.1.1:JoinVlan(vlanGroupID, addr List)). If OK is returned from the
85
i
first client terminal Al, the first relay server A returns OK to the second
relay server B.
[0172]
The second relay server B transmits the updated virtual address
information and join-in-progress command to the third client terminal Bl
I (step S70.2:JoinVlan(vlanGroupID, addr List)). The third client terminal
Bl returns OK to the second relay server B.
[0173]
Furthermore, the second relay server B transmits the updated
virtual address information and join-in-progress command to the third relay
server C (step S70.3:JoinVlan(vlanGroupID, addr List)). The third relay
server C transmits the updated virtual address information and
join-in-progress command to the fifth client terminal CI (step
S70.3.l:JoinVlan(vlanGroupID, addr List)). If OK is returned from the
fifth client terminal CI, the third relay server C returns OK to the second
relay server B. If the second relay server B receives OK from the first
client terminal Al, the third client terminal Bl, and the fifth client terminal
CI, the second relay server B returns OK to the fourth client terminal B2.
According to the above-described process, the updated virtual
| address information is transmitted to the VLAN devices.
i
i [0174]
| After that, a relay sever serving as a hub refers to the session
information 73 of the VLAN group information 70, and establishes a hub
i
session in which the relay server is set as "sp" and which has not been
86
i
i
I
established yet. In this example, all of the hub sessions have been
established. In addition, if there is a device session that has not been
established with a VLAN device connected to the relay server, the relay
server serving as a hub establishes a device session. In this example, the
second relay server B establishes a device session with the fourth client
terminal B2 (step S71: createDeviceSsn(vlanGroupID)).
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.
i [0175]
I For example, the first client terminal Al, which has virtual IP
I
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 fourth client terminal B2, which
has virtual IP address of "117.112.0.4" and virtual MAC address of
"00.11.22:f0:00:04". Specifically, the first client terminal Al transmits the
communication packet to the first relay server A) via the device session
(step S72: sendData (packetOl)). The communication packet includes
i 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
i
I communication packet to the second relay server B via the hub session (step
S72.1: sendData (packetOl)). After that, the second relay server B
87
! transmits the communication packet to the fourth client terminal B2 via the
| device session (step S72.1.1: sendData (packetOl)).
[0176]
In the relay system of this embodiment, as described above, the
VLAN group information is shared in the VLAN group. Furthermore, if
i 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, using the virtual address and the VLAN session.
Furthermore, in the relay system of this embodiment, the
overlapping of the activation of the VLAN group is prevented. If the
activation instructions of the VLAN group are overlapped, the VLAN client
terminal which has later instructed the same VLAN group to be activated
can join in-progress with the VLAN group unless the address the VLAN
client terminal actually uses and the virtual address belong to the same
address system.
| [0177]
i
I 17. Other embodiment
Although one embodiment according to the present invention was
88
i
explained above, the present invention is not limited to the above-described
embodiment. The embodiment can be altered in various ways without
departing from the scope of the present invention. Particularly, a plurality
of embodiments and variations can be arbitrarily combined with each other
j as necessary.
| [0178]
17.1 A client terminal registered in the relay server information can
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
l
server information.
[0179]
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.
[0180]
89
i !
I
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
| 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.
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
[0181]
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
i
l
connecting the client terminals to the relay servers, and to a relay server
used in the relay server communication system.
90
I
REFERENCE SIGNS LIST
[0182]
i 1 first LAN
I 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
91
1
I
I
CLAIMS
1. A relay communication system comprisinga
first network;
a second network,'
j a first relay server connected to the first network,'
j a second relay server connected to the second network, and
I
configured to communicate with the first relay server via a third network,'
one or more client terminals connected to the first relay server via
i
the first network ;
i one or more client terminals connected to the second relay server
i
via the second network ,'
! each of the first relay server, the second relay server, the one or
more client terminals connected to the first relay server, and the one or
more client terminals connected to the second relay server includes^
a relay group information storage unit configured to store
relay group information that indicates the first relay server, the
second relay server, the one or more client terminals connected to
the first relay server, and the one or more client terminals
connected to the second relay server 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 one or more client
terminals connected to the first relay server, and
92
activation/registration information of the one or more client
terminals connected to the second relay server;
an information sharing unit configured to allow the first
relay server, the second relay server, the one or more client
I terminals connected to the first relay server, and the one or more
client terminals connected to the second relay server, to share the
relay group information and the relay server information,'
i
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 one or more client terminals connected to the
first relay server and the one or more client terminals connected to
the second relay server being the VLAN client terminals, and the
VLAN group information including hub information 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^
a VLAN session control unit configured to, if the VLAN
group is not activated in a case of receiving an activation
I
93
I
instruction of the VLAN group, 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 a VLAN device as an activatable VLAN
client terminal and the first relay server or the second relay server
to which the VLAN device is connected; and
an activation command control unit configured to, if the
VLAN group is activated in a case of receiving an activation
instruction of the VLAN group, transmit a joinin-progress signal
for allowing a join in-progress with a VLAN group to a
join-in-progress VLAN client terminal as a transmission source of
the activation instruction! wherein
each of the one or more client terminals connected to the first relay
server and the one or more client terminals connected to the second relay
server further includes a virtual address control unit configured to, if the
client terminal is the join-in-progress VLAN client terminal and receives
the join-in-progress signal, update the virtual address information by
adding virtual address for a client terminal created based on the virtual
address information including virtual address assigned to the VLAN device
constituting the VLAN group in active state, and transmit the updated
virtual address information to the VLAN device,
the VLAN session control unit is configured to establish a VLAN
session that is related to the join-inprogress VLAN client terminal and has
not been established yet, and
i
94
the joirrirrprogress VLAN client terminal and the VLAN device are
i
I configured to communicate with each other, using the updated virtual
address information and the established VLAN session including the hub
session and the device session.
2. The relay communication system according to claim 1, wherein
| the activation command control unit is configured to determine whether or
| not the virtual address is assigned to the VLAN device of the VLAN group
in active state, and transmit the join-in-progress signal to the
join-in-progress VLAN client terminal if the virtual address is assigned.
3. The relay communication system according to claim 1 or claim 2,
wherein the virtual address control unit is configured to determine whether
or not virtual address for a client terminal can be created referring to the
virtual address information, and finish a process of join-in progress to the
VLAN group if it is determined that the virtual address can not be created.
4. The relay communication system according to any of claims 1
through 3, wherein the virtual address includes a virtual IP address and a
virtual MAC address.
5. 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:
95
9
a relay group information storage unit configured to store relay
group information that indicates that the first relay server, the second relay
server, one or more client terminals connected to the first relay server, and
one or more client terminals connected to the second relay server 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 one or more client terminals connected to the first relay
server, and activation/registration information of the one or more client
terminals connected to the second relay server!
an information sharing unit configured to allow the first relay server,
the second relay server, the one or more client terminals connected to the
first relay server, and the one or more client terminals connected to the
second relay server, to share the relay group information and the relay
server information!
a VLAN group information control unit configured to allow VLAN
client terminals constituting a VLAN group in the relay group to share
I
| VLAN group information, at least two client terminals among the one or
i
| more client terminals connected to the first relay server and the one or more
client terminals connected to the second relay server being the VLAN client
terminals, and the VLAN group information including hub information
having identification information of the first relay server and identification
of the second relay server to which the VLAN client terminal is connected,
96
i
i
I
I session information that indicates a connecting-side and a connected-side of
| a session established between the first relay server and the second relay
I
server, and identification information that identifies the VLAN client
j terminal;
a VLAN session control unit configured to, if the VLAN group is not
in active state in a case of receiving activation instruction of the VLAN
group, establish a hub session as aVLAN session with the first relay server
j based on the session information, and establish a device session as a VLAN
session with a VLAN device as an activatable VLAN client terminal among
the VLAN client terminals connected to the relay server;
an activation command control unit configured to, if the VLAN
| group is in active state in a case of receiving activation instruction related
to the VLAN group, transmit join-in progress signal for permitting join
in-progress with the VLAN group to a join-in-progress VLAN client
terminal as a transmission source of the activation instruction; and
! a relay server communication control unit configured to control
communication of the VLAN group; wherein
I the VLAN session control unit is configured to, in response to the
join-in-progress signal, if receiving the virtual address information updated
by adding a virtual address of the join-in-progress VLAN client terminal to
a virtual address assigned to the VLAN device constituting the activated
VLAN group, establish a VLAN session that is related to the
join-in-progress VLAN client terminal and has not been established yet,
the relay server communication control unit is configured to control
97
!
i
I
I
I
communication between the join-in-progress VLAN client terminal and the
VLAN device, the communication being performed using the updated
I
virtual address information and the established VLAN session including
the hub session and the device session.
6. The relay server according to claim 5, wherein the activation
command control unit is configured to determine whether or not virtual
address has been assigned to the VLAN device of the activated VLAN group,
and transmit the join-in-progress signal to the join-in-progress VLAN client
terminal if the virtual address is assigned.
7. The relay server according to claim 5 or 6, wherein the virtual
address includes a virtual IP address and a virtual MAC address.
| # | Name | Date |
|---|---|---|
| 1 | 5599-DELNP-2013-RELEVANT DOCUMENTS [22-08-2022(online)].pdf | 2022-08-22 |
| 1 | 5599-DELNP-2013.pdf | 2013-06-25 |
| 2 | 5599-delnp-2013-Form-3-(11-12-2013).pdf | 2013-12-11 |
| 2 | 5599-DELNP-2013-IntimationOfGrant27-06-2021.pdf | 2021-06-27 |
| 3 | 5599-DELNP-2013-PatentCertificate27-06-2021.pdf | 2021-06-27 |
| 3 | 5599-delnp-2013-Correspondence Others-(11-12-2013).pdf | 2013-12-11 |
| 4 | 5599-delnp-2013-Form-13-(07-01-2014).pdf | 2014-01-07 |
| 4 | 5599-DELNP-2013-Correspondence-190819.pdf | 2019-08-23 |
| 5 | 5599-DELNP-2013-Power of Attorney-190819.pdf | 2019-08-23 |
| 5 | 5599-delnp-2013-Correspondence-Others-(07-01-2014).pdf | 2014-01-07 |
| 6 | 5599-delnp-2013-GPA.pdf | 2014-01-29 |
| 6 | 5599-DELNP-2013-CLAIMS [14-08-2019(online)].pdf | 2019-08-14 |
| 7 | 5599-delnp-2013-Form-5.pdf | 2014-01-29 |
| 7 | 5599-DELNP-2013-COMPLETE SPECIFICATION [14-08-2019(online)].pdf | 2019-08-14 |
| 8 | 5599-delnp-2013-Form-3.pdf | 2014-01-29 |
| 8 | 5599-DELNP-2013-FER_SER_REPLY [14-08-2019(online)].pdf | 2019-08-14 |
| 9 | 5599-DELNP-2013-FORM 3 [14-08-2019(online)].pdf | 2019-08-14 |
| 9 | 5599-delnp-2013-Form-2.pdf | 2014-01-29 |
| 10 | 5599-delnp-2013-Form-18.pdf | 2014-01-29 |
| 10 | 5599-DELNP-2013-FORM-26 [14-08-2019(online)].pdf | 2019-08-14 |
| 11 | 5599-delnp-2013-Form-1.pdf | 2014-01-29 |
| 11 | 5599-DELNP-2013-Information under section 8(2) (MANDATORY) [14-08-2019(online)].pdf | 2019-08-14 |
| 12 | 5599-delnp-2013-Drawings.pdf | 2014-01-29 |
| 12 | 5599-DELNP-2013-OTHERS [14-08-2019(online)].pdf | 2019-08-14 |
| 13 | 5599-delnp-2013-Description (Complete).pdf | 2014-01-29 |
| 13 | 5599-DELNP-2013-PETITION UNDER RULE 137 [14-08-2019(online)].pdf | 2019-08-14 |
| 14 | 5599-delnp-2013-Correspondence-others.pdf | 2014-01-29 |
| 14 | 5599-DELNP-2013-OTHERS-290419.pdf | 2019-05-13 |
| 15 | 5599-delnp-2013-Claims.pdf | 2014-01-29 |
| 15 | 5599-DELNP-2013-Correspondence-290419.pdf | 2019-05-06 |
| 16 | 5599-delnp-2013-Abstract.pdf | 2014-01-29 |
| 16 | 5599-DELNP-2013-certified copy of translation (MANDATORY) [25-04-2019(online)].pdf | 2019-04-25 |
| 17 | 5599-delnp-2013-Form-3-(14-08-2014).pdf | 2014-08-14 |
| 17 | 5599-DELNP-2013-FER.pdf | 2019-02-20 |
| 18 | 5599-delnp-2013-Correspondence-Others-(14-08-2014).pdf | 2014-08-14 |
| 18 | Form 3 [24-08-2016(online)].pdf | 2016-08-24 |
| 19 | 5599-delnp-2013-Correspondence Others-(12-03-2015).pdf | 2015-03-12 |
| 19 | 5599-delnp-2013-Form-3-(12-03-2015).pdf | 2015-03-12 |
| 20 | 5599-delnp-2013-Correspondence Others-(12-03-2015).pdf | 2015-03-12 |
| 20 | 5599-delnp-2013-Form-3-(12-03-2015).pdf | 2015-03-12 |
| 21 | 5599-delnp-2013-Correspondence-Others-(14-08-2014).pdf | 2014-08-14 |
| 21 | Form 3 [24-08-2016(online)].pdf | 2016-08-24 |
| 22 | 5599-DELNP-2013-FER.pdf | 2019-02-20 |
| 22 | 5599-delnp-2013-Form-3-(14-08-2014).pdf | 2014-08-14 |
| 23 | 5599-delnp-2013-Abstract.pdf | 2014-01-29 |
| 23 | 5599-DELNP-2013-certified copy of translation (MANDATORY) [25-04-2019(online)].pdf | 2019-04-25 |
| 24 | 5599-DELNP-2013-Correspondence-290419.pdf | 2019-05-06 |
| 24 | 5599-delnp-2013-Claims.pdf | 2014-01-29 |
| 25 | 5599-delnp-2013-Correspondence-others.pdf | 2014-01-29 |
| 25 | 5599-DELNP-2013-OTHERS-290419.pdf | 2019-05-13 |
| 26 | 5599-delnp-2013-Description (Complete).pdf | 2014-01-29 |
| 26 | 5599-DELNP-2013-PETITION UNDER RULE 137 [14-08-2019(online)].pdf | 2019-08-14 |
| 27 | 5599-delnp-2013-Drawings.pdf | 2014-01-29 |
| 27 | 5599-DELNP-2013-OTHERS [14-08-2019(online)].pdf | 2019-08-14 |
| 28 | 5599-delnp-2013-Form-1.pdf | 2014-01-29 |
| 28 | 5599-DELNP-2013-Information under section 8(2) (MANDATORY) [14-08-2019(online)].pdf | 2019-08-14 |
| 29 | 5599-delnp-2013-Form-18.pdf | 2014-01-29 |
| 29 | 5599-DELNP-2013-FORM-26 [14-08-2019(online)].pdf | 2019-08-14 |
| 30 | 5599-DELNP-2013-FORM 3 [14-08-2019(online)].pdf | 2019-08-14 |
| 30 | 5599-delnp-2013-Form-2.pdf | 2014-01-29 |
| 31 | 5599-delnp-2013-Form-3.pdf | 2014-01-29 |
| 31 | 5599-DELNP-2013-FER_SER_REPLY [14-08-2019(online)].pdf | 2019-08-14 |
| 32 | 5599-delnp-2013-Form-5.pdf | 2014-01-29 |
| 32 | 5599-DELNP-2013-COMPLETE SPECIFICATION [14-08-2019(online)].pdf | 2019-08-14 |
| 33 | 5599-delnp-2013-GPA.pdf | 2014-01-29 |
| 33 | 5599-DELNP-2013-CLAIMS [14-08-2019(online)].pdf | 2019-08-14 |
| 34 | 5599-DELNP-2013-Power of Attorney-190819.pdf | 2019-08-23 |
| 34 | 5599-delnp-2013-Correspondence-Others-(07-01-2014).pdf | 2014-01-07 |
| 35 | 5599-delnp-2013-Form-13-(07-01-2014).pdf | 2014-01-07 |
| 35 | 5599-DELNP-2013-Correspondence-190819.pdf | 2019-08-23 |
| 36 | 5599-DELNP-2013-PatentCertificate27-06-2021.pdf | 2021-06-27 |
| 36 | 5599-delnp-2013-Correspondence Others-(11-12-2013).pdf | 2013-12-11 |
| 37 | 5599-delnp-2013-Form-3-(11-12-2013).pdf | 2013-12-11 |
| 37 | 5599-DELNP-2013-IntimationOfGrant27-06-2021.pdf | 2021-06-27 |
| 38 | 5599-DELNP-2013-RELEVANT DOCUMENTS [22-08-2022(online)].pdf | 2022-08-22 |
| 38 | 5599-DELNP-2013.pdf | 2013-06-25 |
| 1 | search_19-02-2019.pdf |