Sign In to Follow Application
View All Documents & Correspondence

Relay Communication System And Relay Servers

Abstract: A virtual network is dynamically created, when constructing a relay communication system including a plurality of relay servers that can communicate with each other. In the relay communication system, the VLAN client terminals constituting a VLAN group are allowed to share VLAN group information. In addition, a VLAN session between VLAN devices as activatable VLAN client terminals is established based on the VLAN group information, and the VLAN devices are allowed to share virtual address information created when the VLAN group is activated. If the VLAN device constituting the activated VLAN group is suspended, suspension of the VLAN device is notified, and a VLAN device about which the suspension has been notified is deleted from the virtual address information. The VLAN session related to the VLAN device about which the suspension has been notified is closed.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
24 June 2013
Publication Number
49/2014
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2022-05-20
Renewal Date

Applicants

MURATA MACHINERY LTD.
3 Minami Ochiai cho Kisshoin Minami ku Kyoto shi Kyoto 6018326

Inventors

1. TANIMOTO Yoshifumi
c/o Murata Machinery Ltd. 136 Takeda Mukaishiro cho Fushimi ku Kyoto shi Kyoto 6128686

Specification

DESCRIPTION
TITLE OF INVENTION Relay communication system and relay
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
network (VPN), it is difficult to configure a network that is expandable and
flexible.
[0003]
A relay communication system shown in Patent Document 1 can
configure a virtual network in which the remote local area networks (LANs)
are directly connected with each other, as in the virtual private network
(VPN). Moreover, in the relay communication system, it is easy to
1
configure a network with expandability and flexibility, unlike the virtual
private network (VPN).
CITATION LIST
PATENT LITERATURE
[0004]
Patent Literature l: Japanese Laid-open Patent Publication No.
2008-129991
SUMMARY OF INVENTION
TECHNICAL PROBLEM
[0005]
In the relay communication system shown in Patent Document 1,
the number and the connection states of LANs and client terminals may be
changed. However, in Patent Document 1, no specific means is disclosed
that confirms in a real time changes to the number of client terminals and
connection states of client terminals when the relay server designates a
destination for communication. In Patent Document 1, no specific means
is disclosed to dynamically configure a virtual network between a client
terminal and a relay server.
[0006]
It is an object of the present invention to dynamically create a
virtual network when configuring a relay communication system that
includes a plurality of relay servers able to communicate with each other.
SOLUTION TO PROBLEM
[0007]
2
VLAN device as an activatable VLAN client terminal in a case of receiving
an activation instruction of the VLAN group. The VLAN session control
unit is configured to establish a hub session as a VLAN session between the
first relay server and the second relay server based on the session
information, and establish a device session as a VLAN session with the
VLAN device that is connected to the first relay server or the second relay
server. The suspension processing unit is configured to notify of
suspension of the VLAN device.
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. The virtual address
control unit is configured to create virtual address information related to
the VLAN device based on the response signal, and transmit the virtual
address information to the VLAN device.
During a time when at least two VLAN devices are communicating
with each other using the virtual address information and the VLAN
session, if the suspension processing unit notifies of the suspension of the
VLAN device, the virtual address control unit deletes the VLAN device
about which the suspension has been notified from the virtual address
information, and the VLAN session establishing unit is configured to close
the VLAN session related to the VLAN device about which the suspension
has been notified.
In this case, if the suspension processing unit notifies of suspension
of the VLAN device during a time when at least two VLAN devices are
5
communicating with each other using the virtual address information and
the VLAN session, the virtual address control unit deletes the VLAN device
to which the suspension has been notified from the virtual address
information, and the VLAN session establishing unit closes the VLAN
session related to the VLAN device to which the suspension has been
notified.
In this case, the suspension of the operation of the VLAN devices
occurring in the VLAN group can be quickly reflected on the VLAN session.
[0009]
If operation of the first relay server or the second relay server is
suspended during a time when at least two VLAN devices are
communicating with each other using the virtual address information and
the VLAN session, the suspension processing unit is preferably configured
to notify of suspension of the one or more VLAN devices connected to the
suspended first relay server or the one or more VLAN devices connected to
the suspended second relay server.
The suspension processing unit preferably determines the number
of the VLAN devices which are activated except the VLAN device about
which the suspension has been notified, and if the number of the activated
VLAN devices is one or less, the VLAN session establishing unit closes all of
the VLAN sessions established in the VLAN group.
[0010]
The virtual address information preferably includes a virtual IP
address and a virtual MAC address given to the VLAN device.
6
[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, an activation command control unit,
a relay server communication control, and a suspension processing unit.
The relay group information storage unit is configured to store relay
group information that indicates the first relay server, the second relay
server, one or more client terminals connected to the first relay serer via the
first network, and one or more client terminals connected to the second
relay server via the second network 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 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 one or more client terminals connected to the
second relay server, to share the relay group information and the relay
server information.
7
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 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 are the VLAN client
terminals.
The VLAN group information includes hub information having
identification information of the first relay server and identification
information of the second relay server, to which the VLAN client terminal is
connected, session information that indicates a connecting-side and a
connected-side of a session established between the first relay server and
the second relay server, and identification information that identifies the
VLAN client terminals.
The activation command control unit is configured to transmit a
response signal including address information of a VLAN device as an
activatable VLAN client terminal when receiving an activation instruction
of the VLAN group
The VLAN session control unit is configured to establish a hub
session as a VLAN session between the first relay server and the second
relay server based on the session information, and establish a device session
as a VLAN session with the VLAN device connected to the second relay
server.
The relay server communication control unit is configured to control
communication between the VLAN devices, the communication being
8
performed using virtual address information created for a VLAN device as
an activatable VLAN client terminal among the VLAN client terminals
constituting the VLAN group based on the response signal, and the VLAN
session. The suspension processing unit is configured to notify of
suspension of the VLAN device. If the suspension processing unit notifies
of suspension of the VLAN device, during a time when at least two VLAN
devices are communicating with each other using the virtual address
information and the VLAN session, the VLAN session control unit is
configured to close the VLAN session related to the VLAN device about
which suspension has been notified.
[0012]
If operation of the first relay server or the second relay server is
suspended during a time when at least two VLAN devices are
communicating with each other using the virtual address information and
the VLAN session, the suspension processing unit is preferably configured
to notify of suspension of the one or more VLAN devices connected to the
suspended first relay server or the one or more VLAN devices connected to
the suspended second relay server.
The suspension processing unit preferably determines the number
of the activated VLAN devices except the VLAN device about which the
suspension has been notified. If the number of the activated VLAN devices
is one or less, the VLAN session establishing unit is configured to close all of
the VLAN session established in the VLAN group.
[0013]
9
The virtual address information preferably includes a virtual IP
address and a virtual MAC address given to the VLAN device.
ADVANTAGEOUS EFFECT
[0014]
According to the present invention, when constructing a relay
communication system having a plurality of relay servers that can
communicate with each other, a virtual network can be dynamically created,
and the client terminals can communicate with each other as VLAN devices
using the virtual address and the VLAN session.
Furthermore, the suspension of the operation of the VLAN devices
occurring in the activated VLAN group can be quickly reflected on the
VLAN session.
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.
10
Fig. 6 is a view showing a schematic configuration of a relay server
information.
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.
Fig. 11 is a view showing a detailed configuration of a VLAN group
information.
Fig. 12 is a view showing a detailed configuration of a virtual
address information.
Fig. 13 is a view showing a process flow related to a construction of a
relay group.
Fig. 14 is a view showing the detailed configuration of a relay server
information before the exchange.
Fig. 15 is a view showing the detailed configuration of the relay
server information before the exchange.
Fig. 16 is a view showing the detailed configuration of the relay
server information before the exchange.
Fig. 17 is a view showing a flow process related to the sharing a
relay group information and a relay server information.
11
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.
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
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.
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.
Fig. 23A is a flowchart showing a process of transmitting a response
signal by the relay server in response to the activation command (Part 1).
Fig. 23B is a flowchart showing a process of transmitting a response
signal by the relay server in response to the activation command (Part 2).
Fig. 24 is a flowchart showing a process of establishing a VLAN
session in the relay server which has received the initialization command.
Fig. 25 is a flowchart showing a process of the establishing a VLAN
session in the relay server which has received the join-in-progress
command.
Fig. 26 is a flowchart showing the operation of the relay server in a
case where the operation is suspended.
12
Fig. 27 is a view showing an example of a process related to
establishment of VLAN session.
Fig. 28 is a view showing an example of a suspension process of the
VLAN session.
DESCRIPTION OF EMBODIMENTS
[0016]
1. Summary of this embodiment
In a relay communication system of this embodiment, client
terminals can communicate with each other through a wide area network
(WAN), through a plurality of relay servers realizing a function similar to
hubs.
[0017]
2. Overall structure of the relay communication system
Hereinafter, referring to drawings, a preferred embodiment of the
present invention will be explained. Fig. 1 shows an overall structure of
the relay communication system. The relay communication system is
constituted by a first LAN 1, a second IAN 2, a third IAN, a wide area
network (WAN) 4. The first LAN 1, the second LAN 2 and the third IAN 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 IAN 1, a second relay server B of the second IAN 2, a third relay
server C of the third LAN 3 constitute a first relay group as a relay server
group.
13
[0018]
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.
[0019]
The second LAN 2 includes a sixth LAN 11, a seventh LAN 12, and
an eighth LAN 13. The sixth LAN 11 and the seventh LAN 12 are
connected with each other via a second general purpose router 14, and the
sixth LAN 11 and the eighth LAN 13 are connected with each other through
a third general purpose router 15. To the sixth LAN 11, the second relay
server B belongs. To the seventh LAN 12, the third client terminal Bl is
connected. To the eighth LAN 13, a fourth client terminal B2 is connected.
In the third LAN 3, the third relay server C and the fifth client
terminal CI are connected with each other.
[0020]
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 CI are personal computers, for example. The second
communication equipment 9 is also a personal computer, for example.
[0021]
The first relay server A, the second relay server B and the third
14
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 CI. 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.
[0022]
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.
[0023]
Fig. 2 shows constituent elements of the first relay server A.
The first relay server A includes a LAN interface 121A, a WAN
interface 12 IB, a control unit 122, a database storage unit 123, a display
unit 124, and an operation input unit 125.
The LAN interface 121A executes communication with a terminal in
the first LAN 1 using the private IP address. The WAN interface 12IB
executes communication with the wide area network (WAN) 4 using the
global IP address.
[0024]
The control unit 122 is a CPU having functions of the control and
operation, for example, and can execute various processes according to
15
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.
[0025]
The information sharing unit 131 creates and updates relay group
information, relay server information, and client terminal information,
which will be later described. Moreover, the information sharing unit 131
shares the created and updated relay group information with a relay server
in the relay group and client terminals connected to the relay server, and
stores it in a relay group information storage unit 141 (later described).
The information sharing unit 131 shares the created and updated relay
server information with a relay server in the relay group and client
terminals connected to the relay server, and stores it in a relay server
information storage unit 142 (later described). The information sharing
unit 131 shares the created and updated client terminal information with
relay servers and client terminals in the relay group, and stores it in a client
terminal information storage unit 143 (later described).
[0026]
The VLAN group information control unit 132 shares a VLAN group
information (later described) with a VLAN client terminal in the relay
group and a relay server connected to the VLAN client terminal, and stores
it in a VLAN group information storage unit 144 (later described). The
16
VLAN client terminal is a client terminal that constitutes a VLAN group in
the relay group.
[0027]
If the activation command control unit 133 receives activation
information of the VLAN group from a client terminal that has received
activation instruction from a user, it determines whether or not a VLAN
group that is the same as the received VLAN group has been already
activated. The activation information includes activation command,
activation time, and VLAN group information of the VLAN group. The
activation command control unit 133 transmits, if the VLAN group has been
already activated, a join-in-progress signal to a client terminal as a
transmission source of the activation instruction, and executes a process of
permitting the client terminal to join in-progress the VLAN group. The
join-in-progress signal is a signal for permitting the join-in-progress to the
VLAN group, and is transmitted together with later-described virtual
address information.
Specifically, the activation command control unit 133 refers, if the
same VLAN group has been already activated, to the activation time of the
activation information which has activated the VLAN group before and the
activation time of the received activation information, and determines that
the activation information including the earlier activation time is valid.
After that, the activation command control unit 133 determines
whether or not the client terminal as a transmission source of the invalid
activation information has already received the initialization command and
17
virtual address information related to the valid activation information
having the earlier activation time. Then, the activation command control
unit 133 transmits, if it has already received the initialization command
and virtual address information, the above-described join-in-progress signal
to a client terminal as a transmission source of the invalid activation
information. Here, the activation command control unit 133 finishes a
process of joining in-progress to the VLAN group, if it has not received
initialization command and virtual address information with regard to the
valid activation information.
On the other hand, if it is determined that the received activation
information is valid, the activation command control unit 133 executes an
activation process of the VLAN group related to the valid activation
information. First, the activation command control unit 133 extracts a
VLAN client terminal connected to the first relay server A from the VLAN
group information. The activation command control unit 133 determines
whether or not the extracted VLAN client terminal is activatable. The
activatable VLAN client terminal means a client terminal that is currently
logged in and is not currently joining other VLAN groups. The activation
command control unit 133 refers to the relay server information stored in
the relay server information storage unit 142, and determines whether or
not the extracted VLAN client terminal is logging-in. Furthermore, the
activation command control unit 133 transmits an activation command
(later described), and determines that the extracted VLAN client terminal
is activatable, the detail of which will be described later. Below, a VLAN
18
client terminal which is determined as activatable by the activation
command control unit 133 is called VLAN device.
[0028]
If it is determined that there is a VLAN device, the activation
command control unit 133 transmits a response signal including the IP
address and 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 later.
[0029]
If the virtual address control unit 134 receives the virtual address
information and initialization command, it transmits the virtual address
information and the initialization command to a VLAN device connected to
the first relay server A. The virtual address control unit 134 stores the
virtual address information in the virtual address information storage unit
145 (later described). The detail of the virtual address information will be
described later. The initialization command is a command related to the
initialization of the VLAN interface 22 IB.
The virtual address control unit 234 deletes, if receiving suspension
notification of the VLAN device from a suspension processing unit 137 (later
described), a device to be suspended from the virtual address information
stored in the virtual address information storage unit 145.
[0030]
The VLAN session control unit 135 refers to the VLAN group
information, and then establishes a hub session as a VLAN session with
19
another relay server to which the VLAN device is connected. In addition,
the VLAN session control unit 135 refers to the VLAN group information,
and then establishes a device session as a VLAN session with VLAN devices
connected to the first relay server A. The hub session is a session between
the relay servers to which the VLAN device is connected. The device
session is a session between the VLAN device and relay server to which the
VLAN device is connected.
The VLAN session control unit 135 in this embodiment establishes a
VLAN session related to a client terminal as a transmission source of the
join-in-progress command, when receiving a join-in-progress command
(later described) and if a client terminal as a transmission source of the
join-in-progress command is connected to the first relay server A.
The VLAN session control unit 135 closes the VLAN session related
to a VLAN device to be suspended, if receiving notification of suspending
the VLAN device from the suspension processing unit 137 (later described).
[0031]
The VLAN group information update unit 136 allows the VLAN
client terminals and the relay servers to which the VLAN client terminals
are connected to share the updated VLAN group information if the VLAN
group information is changed.
The suspension processing unit 137 notifies of suspension of the
VLAN device. The suspension of the VLAN device means a state in which
the VLAN device can not perform data communication.
Specifically, the suspension processing unit 137 notifies of the
20
suspension of the VLAN device which has logged out or the suspension of
the VLAN device connected to relay server which has logged out, if the
VLAN device or the relay server connected to the VLAN device logs out
when the data is being transferred between the VLAN devices via the
VLAN session. In addition, the suspension processing unit 137 may notify
the suspension of all of the VLAN devices in the VLAN group, if the client
terminal receives from a user an instruction of closing the VLAN group.
In addition, the suspension processing unit 137 determines the
number of the activated VLAN devices other than VLAN devices to which
the suspension has been notified, and may notify of the suspension of all of
the activated VLAN devices if the number of the activated LAN devices is
one or less.
[0032]
The relay server communication control unit 138 is a processing unit
that controls various communications via the LAN interface 121A and the
WAN interface 121B, and controls various communications that is
performed in accordance with a protocol such as TCP/IP, UDP and SIP.
The relay server communication control unit 137 controls
communication between the VLAN devices that uses the virtual address
information and the VLAN session. Specifically, the relay server
communication control unit 138 analyzes a communication packet received
via the LAN interface 121A from a client terminal connected to the first
relay server A. Then, if the communication packet includes virtual address,
the relay server communication control unit 138 refers to the virtual
21
address, and transmits the communication packet via the hub session to
other relay servers. Furthermore, the relay server communication control
unit 138 analyzes, when receiving the communication packet from the other
relay servers via the WAN interface 121B, the received communication
packet. If the communication packet includes the virtual address, the
relay server communication control unit 137 transmits the communication
packet to a VLAN interface (later described) of a client terminal under the
control of the first relay server A, to which the virtual address is assigned,
via the device session. On the other hand, if the virtual address is not
included, the relay server communication control unit 138 transmits the
communication packet to a LAN interface (later described) of a client
terminal under the control of the first relay server A.
The database storage unit 123 is a hard disk drive or a non-volatile
RAM for example, and can store various data. The database storage unit
123 includes a relay group information storage unit 141, a relay server
information storage unit 142, a client terminal information storage unit 143,
a VLAN group information storage unit 144, and a virtual address
information storage unit 145. The detail of the information to be stored in
the relay group information storage unit 141, the relay server information
storage unit 142, the client terminal information storage unit 143, the
VLAN group information storage unit 144 and the virtual address
information storage unit 145 will be later described. It should be noticed
that constituent elements of the second relay server B and the third relay
server C are similar to those of the first relay server A, so the explanation
22
thereof will be omitted.
[0033]
4. Components of the client terminal
The client terminal is a terminal the user can directly operate. The
client terminal is a personal computer used for day-to-day operations by the
user. Each of the client terminals is given a private IP address uniquely
managed in the same LAN.
[0034]
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.
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
address.
The VLAN interface 22IB can execute communication with other
terminal in the first relay group via the first relay server A using the virtual
IP address (later described) and the device session.
[0035]
The control unit 222 is, for example, a CPU having 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,
23
a VLAN group information update unit 235, a suspension notification unit
236, an IP packet processing unit 237, a VLAN session control unit 238, and
a client communication control unit 239.
[0036]
The information sharing unit 231 allows relay servers and client
terminal connected to the relay servers in the relay group to share the relay
group information, and stores it into the relay group information storage
unit 241 (later described). Furthermore, the information sharing unit 231
allows relay servers and client terminals connected to the relay servers in
the relay group to share the relay server information, and stores it into the
relay server information storage unit 242 (later described). Furthermore,
the information sharing unit 131 allows the relay servers and the client
terminals in the relay group to share the client terminal information, and
stores it into the client terminal information storage unit 243 (later
described).
[0037]
The VLAN group information control unit 232 shares the VLAN
group information between the VLAN client terminal in the relay group and
the relay server connected to the VLAN client terminal, and stores it into
the VLAN group information storage unit 244 (later described). In
addition, the VLAN group information control unit 232 includes a VLAN
group information creating section 232a that creates the VLAN group
information, and transmits the created VLAN group information to the
VLAN client terminal.
24
[0038]
The activation command control unit 233 executes an activation
process of the VLAN group. Specifically, when the activation command
control unit 233 receives the selection for the VLAN group to be activated
from the user, it transmits an activation command to an activated relay
server among the relay servers connected to the VLAN client terminal.
The activation command is a command for notifying of activation of the
VLAN group, and is transmitted together with activation time and VLAN
group information of the VLAN group. The activation command control
unit 233 refers to the relay server information stored in the relay server
information storage unit 242, and determines whether or not the extracted
relay server is activatable.
When the activation command control unit 233 receives the
response signal in response to the activation command from the relay server,
it extracts the IP address and the MAC address of the VLAN device from
the response signal.
[0039]
The virtual address control unit 234 includes a virtual address
creating unit 234a. The virtual address creating unit 234a creates virtual
address information when it receives a response signal including IP address
and MAC address of the VLAN device. The virtual address control unit
234a transmits the created virtual address information to a relay server to
which the first client terminal Al is connected. Furthermore, the virtual
address control unit 234 stores the received virtual address information into
25
the virtual address information storage unit 245, when receiving the virtual
address information and the initialization command.
In addition, the virtual address control unit 234 refers to the virtual
address information, and determines whether or not the virtual address can
be determined for the first client terminal Al, when receiving the virtual
address information and join-in-progress signal. If it is determined that
the virtual address can be determined, the virtual address control unit 234
determines the virtual address for the first client terminal Al, and updates
the virtual address information by adding the virtual address information
of the first client terminal Al to the virtual address information. After
that, the virtual address control unit 234 transmits the updated virtual
address information and join-in-progress command to a relay server to
which the first client terminal Al is connected. On the other hand, the
virtual address control unit 234 finishes a process of joining in-process the
VLAN group if it is determined that the virtual address can not be
determined for the first client terminal Al.
Furthermore, the virtual address control unit 234 deletes the VLAN
device to be suspended from the virtual address information stored in the
virtual address information storage unit 245, when receiving a notification
of suspension of the VLAN device from the suspension processing unit 137.
[0040]
When the VLAN group information is changed, the VLAN group
information update unit 235 shares the updated VLAN group information
with a VLAN client terminal and a relay server to which the VLAN client
26
1
terminal is connected.
The suspension notifying unit 236 notifies of closing of the VLAN
group being activated after receiving an instruction from a user.
Specifically, the suspension notification unit 236 receives an instruction of
closing the whole VLAN group from a user, and notifies the suspension
processing unit 137 of the connected first relay server A of the received
instruction.
[0041]
The IP packet processing unit 237 outputs the communication
packet received from the LAN interface 221A to the client communication
control unit 239. In addition, the IP packet processing unit 237 outputs
the communication packet to the VLAN session control unit 238 when it
receives the commutation packet including the virtual address via the
VLAN interface 221B.
The VLAN session control unit 238 processes a communication
packet including the virtual address, and allows a device session to function
as a VLAN session. The VLAN session control unit 238 transmits a
communication packet including the virtual address via the VLAN interface
22IB, when it transmits the communication packet using the VLAN session.
Furthermore, the VLAN session control unit 238 closes a device session
established by the first client terminal Al when receiving a request of
closing the device session from the first relay server A.
The client communication control unit 239 processes the
communication packet other than the VLAN session, and controls various
27
communication in accordance with a protocol such as TCP/IP, UDP, and SIP
via the LAN interface 221A.
[0042]
The database storage unit 223 is a hard disk drive or a non-volatile
RAM for example, and can store various data. The database storage unit
223 includes a relay group information storage unit 241, a relay server
information storage unit 242, a client terminal information storage unit 243,
a VLAN group information storage unit 244, and a virtual address
information storage unit 245. The detail of information to be stored in the
relay group information storage unit 241, the relay server information
storage unit 242, the client terminal information storage unit 243, the
VLAN group information storage unit 244, and the virtual address
information storage unit 245 will be described later.
It should be noticed that since the second client terminal A2, the
third client terminal Bl, the fourth client terminal B2, and the fifth client
terminal CI are similar to the first client terminal Al, the explanation
thereof will be omitted.
[0043]
5. Relay group information
Fig. 4 shows a schematic configuration of the relay group
information 20. The relay group information 20 is information indicating a
summary of the relay groups in the relay communication system, and is
stored in the relay group information storage unit 141 of the relay server
and the relay group information storage unit 241 of the client terminal.
28
Fig. 4 shows that first relay group consists of the first relay server A, the
second relay server B, and the third relay server C.
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.
[0044]
The upper information 201 is information on the first relay group
itself, "group id" indicates identification information of the relay group,
"lastmod" indicates the latest update time of the relay group information,
"name" indicates the name of the relay group.
The lower information 202 is information on the first relay server A,
the second relay server B, and the third relay server C. "site id" indicates
identification information of each relay server.
[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
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
Fig. 6 shows a schematic configuration of the relay server
information 30. The relay server information 30 is information showing a
29
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
30
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, 3013 is "active". When the relay server is not
being activated, "stat" is blank. Accordingly, the information on whether
or not the relay server is being activated is shared in the whole relay
communication system.
[0053]
When the client terminal is being logging onto the relay server,
identification information of the relay server into which the client terminal
logs onto is shown in "site" of the lower information 302-1, 302-2, 302-3.
When the client terminal is not logging onto the relay server, "site" is blank.
Accordingly, information on whether or not the client terminal is logging
onto the relay server is shared in the whole relay communication system.
[0054]
31
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
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.
32
[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.
[0060]
The session information 73 includes hub information and routing
33
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. 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]
The VLAN group information 70 is shared between and VLAN client
terminals and the relay servers to which the VLAN client terminal is
34
connected, and is stored into the VLAN group information storage unit 244
of the VLAN client terminals and the VLAN group information storage unit
144 of the relay servers. On the other hand, the VLAN group information
70 may be shared only among the VLAN client terminals.
In this embodiment below, an example will be described in which the
VLAN group information 70 is shared among the VLAN client terminals,
and is stored into the VLAN group information storage unit 244 of the
VLAN client terminals. The processes of creating and sharing the VLAN
group information 70 will be later described in detail.
[0063]
9. Virtual address information
The virtual address information is information consisting of
identification information of the VLAN device that is activatable as a client
terminal of the VLAN group, a virtual IP address and a virtual MAC
address. The virtual address information is stored in the virtual address
information storage unit 245 of the VLAN device. In addition, the virtual
address information may be stored into the virtual address information
storage unit 145 of the relay server.
[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
35
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 CI,
as the VLAN devices.
As later described, since among the VLAN devices the virtual
address information 80 is shared, the client terminal belonging to different
LANs can communicate with each other as the VLAN devices. The
processes of creating and sharing the virtual address information 80 will be
later described in detail.
10. Initialization
Using a sequence diagram of Fig. 13, the initialization of the first
relay group will be described. Specifically, Fig. 13 shows a flow of
processes creating the relay group information, the relay server information,
and the client terminal information.
[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
36
server B creates accounts for users of the third client terminal Bl and the
fourth client terminal B2 (step S3, step S4: Create_Account 0). The
administrator of the third relay server C creates an account for a user of the
fifth client terminal CI (step S5: Create_Account 0).
[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
server C creates and stores the relay server information therein. The first
relay server A creates and stores the client terminal information therein,
the second relay server B creates and stores the client terminal information
therein, and the third relay server C creates and stores the client terminal
information therein.
[0068]
Fig. 14, Fig. 15, and Fig. 16 respectively show relay server
information 31-1, relay server information 31-2, and relay server
information 313. The relay server information 31-1 is information the
first relay server A creates and stores. The relay server information 31-2
information that the second relay server B creates and stores. The relay
server information 31-3 is information the third relay server C creates and
stores.
[0069]
Fig. 14 shows relay server information 31-1. The upper
information 311-1 is information related to the first relay server A. As
37
"site id", "serverA@trial.net" is set. As "name", "Server A" is set. As "stat",
"active" is set.
[0070]
The lower information 312-1 is information related to the first client
terminal Al and the second client terminal A2.
[0071]
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
[0072]
The information related to the second client terminal A2 will be
described as follows. As "div", "dev" is set. As "group"
"1279671471393.clientAl.rd.002@trial.net" is set. As "id",
"clientA2.rd.002@ serverA.trial.net" is set. As "name", "clientA2" is set.
It should be noticed that denotation of the "site" is similar to a case of the
first client terminal Al.
The contents of the relay server information 31-2 and the relay
server information 31-3 are similar to the content of the relay server
information 31-1, so the explanation thereof will be omitted.
[0073]
38
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
between the first relay server A and the third relay server C, and are
executed between the second relay server B and the third relay server C.
As a result, the common relay server information is shared among the first
relay server A, the second relay server B, and the third relay server C.
[0074]
10.3 Update of the relay server information at the logging-on
operation
A user of the second client terminal A2 inputs identification
information of the second client terminal A2 and the password for logging
39
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]
Then, the second client terminal A2 requests the first relay server A
to transmit the relay group information and the relay server information
(step S9- Get 0). The first relay server A transmits the relay group
information and the relay server information to the second client terminal
A2. The second client terminal A2 stores the relay group information and
the relay server information therein.
[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
second relay server B has become "active". Then, the first relay server A
notifies the second relay server B that the relay server information has been
updated (step S10: Notify 0). The second relay server B updates the relay
server information, and stores it therein. It should be noticed that the first
relay server A notifies the third relay server C as well that the relay server
information has been updated (step S l i : Notify 0).
[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 CI log onto the
40
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
information and the relay server information.
In Fig. 17, if the first relay group is changed, the first relay server A
transmits the changed relay group information to the second relay server B,
for example (step S21: Set_Group (relay group information)). Then, the
second relay server B transmits the relay group information to the third
client terminal Bl and the fourth client terminal B2 (step S21.1 and step
S21.2: Set_Group (relay group information)). If the OKs return from the
third client terminal Bl and the fourth client terminal B2, the second relay
server B returns OK to the first relay server A.
[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
41
the first relay server A. The first relay server A transmits the changed
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]
The first relay server A transmits the changed relay group
information to the third relay server C (step S21.3- Set_Group (relay group
information)). Then, the third relay server C transmits the relay group
information to the fifth client terminal CI (step S21.3.1- Set_Group (relay
group information)). If OK returns from the fifth client terminal CI, the
third relay server C returns OK to the first relay server A.
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
notifier is an agent who notifies status of the resource. If the status of the
resource is changed during the subscription period, the notifier notifies the
subscriber of the change.
[0082]
The first relay server A subscribes the relay server information to
42
the second relay server B (step S24- Subscribe 0). If the status indicated
by the relay server information has been changed, the second relay server B
updates the relay server information held by the second relay server B.
Then, the second relay server B transmits the updated relay server
information to the first relay server A. The first relay server A updates the
relay server information using the relay server information transmitted
from the second relay server B. The first relay server A notifies the first
client terminal Al that the relay server information has been updated (step
S25: Notify (relay server information)), and then notifies the second client
terminal A2 (step S26: Notify (relay server information)).
[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
updates the relay server information held by the third relay server C.
Then, the third relay server C transmits the updated relay server
information to the first relay server A. The first relay server A updates the
relay server information using the relay server information transmitted
from the third relay server C. The first relay server A notifies the first
client terminal Al 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]
The second relay server B subscribes the relay server information to
43
the first relay server A (step S30: Subscribe 0). If the status indicated by
the relay server information has been changed, the first relay server A
updates the relay server information held by the first relay server A. Then,
the first relay server A transmits the updated relay server information to
the second relay server B. The second relay server B updates the relay
server information using the relay server information transmitted from the
first relay server A. The second relay server B notifies the third client
terminal Bl that the relay server information has been updated (step S31-
Notify (relay server information)), and then notifies the fourth client
terminal B2 (step S32: Notify (relay server information)).
[0085]
The second relay server B subscribes the relay server information to
the third relay server C (step S33: Subscribe 0). If the status indicated by
the relay server information is changed, the third relay server C updates
the relay server information held by the third relay server C. Then, the
third relay server C transmits the updated relay server information to the
second 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
44
the second relay server B (step S36- Subscribe 0). If the status indicated
by the relay server information is changed, the second relay server B
updates the relay server information held by the second relay server B.
Then, the second relay server B transmits the updated relay server
information to the third relay server C. The third relay server C updates
the relay server information using the relay server information transmitted
from the second relay server B. The third relay server C notifies the fifth
client terminal CI that the relay server information has been updated (step
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,
the second relay server B, and the third relay server C instantly share the
relay server information when the relay server information is updated.
45
Accordingly, the first relay server A, the second relay server B, and the third
relay server C can always know activation states of the other relay servers,
and kinds and log-on status of the client terminals connected to relay
servers.
[0089]
11.3 Summary of the Information Sharing
In the relay communication system, if the number and the
connection states of the LANs and the client terminals are changed, one
relay server instantly updates the relay group information, the relay server
information, and the client terminal information depending on its content
when 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
relay group information and the relay server information have been
updated. In addition, one relay server instantly notifies the client
terminals recited in the client terminal information that the relay group
information, and the relay server information, have been updated.
[0091]
However, one relay server will not instantly notify the other relay
servers when it is determined that the other relay server is an unconnected
state even if the other relay server is recited in the relay group information
and the relay server information. In addition, one relay server will not
instantly notify the client terminals when it is determined that the client
46
terminals are in an unconnected state even if the client terminal is recited
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
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
log-on state. Specifically, it is possible to determine that the relay sever is
47
in an activated state by confirming "stat" of the upper information of the
relay server information is set to "active". It is also possible to determine
that the client terminal is in a logging-on state by confirming that the lower
information "site" of the relay server information recites identification
information of the relay server to which the client terminal logs on.
[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
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
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.
48
[0097]
13.1 Creation of the VLAN group information
First, the VLAN group information creating section 232a of the
VLAN group information control unit 232 in the first client terminal Al
receives selection of the relay group from a user (step S101). For example,
the user selects a relay group by referring to the relay group information
stored in the relay group information storage unit 241 with the display unit
224 and the operation input unit 225 of the first client terminal Al. In this
example, the first relay group is selected as a relay group.
The VLAN group information creating section 232a extracts
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
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
49
VLAN client terminal which has received the selection. ^
[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
determines that, the first relay server A is on a connecting-side, and the
second relay server B is on a connected-side, regarding a session between
the 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
creating section 232a creates identification information for identifying the
VLAN group (step S105). After that, the VLAN group information creating
section 232a stores the VLAN group information into VLAN group
information storage unit 244, including the created identification
information of the VLAN group, identification information of the VLAN
client terminal, and the session information (step S106).
50
[0101]
An example of the VLAN group information created in this process
is VLAN group information 70 shown in Fig. 11. As described above, the
VLAN group information 70 includes the group information 71, the VLAN
client terminal information 72, and the session information 73.
Specifically, the group information 71 includes
"1279671471393.clientAl.rd.002@trial.net" as identification information of
the first relay group. The group information 71 includes
"1279672104671.clientAl.rd.002@trial.net" as the VLAN group
identification information and "vlangroupl" as name of the VLAN group.
Below, the VLAN group indicated by the VLAN group information 70 will be
called as a first VLAN group.
[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 Cl, which have been
selected by the user.
In addition, the session information 73 includes session information
in which "sp" is the first relay server A and "ep" is the second relay server B.
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]
51
The VLAN group information 70 is, after created as described above,
transmitted to the VLAN client terminal (step S107).
[0104]
13.2 Share of the VLAN group information
Next, with reference to a sequence diagram of Fig. 19, a process will
be described in which the VLAN group information 70 is shared among
VLAN client terminals. Fig. 19 is a view of showing a flow of process of
sharing the VLAN group information. The process related to the sharing
of the VLAN group information 70 is controlled by the VLAN group
information control unit 132 of the relay servers and the VLAN group
information control unit 232 of the client terminals.
[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,
52
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.
[0106]
Next, the first client terminal Al transmits the VLAN group
information 70 to the fourth client terminal B2 as a VLAN client terminal.
Specifically, the first client terminal Al transmits the VLAN group
information 70 to the first relay server A (step S42: createvlanGroup
(vlanGroup)). The first relay server A transmits the received VLAN group
information 70 to the second relay server B (step S42.1: createvlanGroup
(vlanGroup)). The second relay server B transmits the received VLAN
group information 70 to the fourth client terminal B2 (step S42.1.1:
createvlanGroup (vlanGroup)). After receiving the VLAN group
information 70, the fourth client terminal B2 stores the received VLAN
group information 70 into the VLAN group information storage unit 244,
and returns OK to the second relay server B. In addition, the second relay
server B returns OK to the first relay server A, and the first relay server A
returns OK to the first client terminal Al.
[0107]
Furthermore, the first client terminal Al transmits the VLAN group
information 70 to the fifth client terminal CI. Specifically, the first client
terminal Al transmits the VLAN group information 70 to the first relay
server A (step S43: createvlanGroup (vlanGroup)). The first relay server A
transmits the received VLAN group information 70 to the third relay server
C (step S43.1: createvlanGroup (vlanGroup)). The third relay server C
53
transmits the received VLAN group information to the fifth client terminal
CI (step S43.1.1: createvlanGroup (vlanGroup)). After receiving the VLAN
group information 70, the fifth client terminal CI 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
54
created and shared according to the above-described processes, so that the
client terminals can communicate with each other as VLAN devices via a
plurality of relay servers as a hub. Hereinafter, processes of establishing
the VLAN session process and starting of the VLAN communication in a
client terminal which receives activation instruction of the VLAN group
information will be described with reference to Fig. 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 fourth client
terminal B2 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
55
group information storage unit 244, and receives a selection of the VLAN
group to be activated via the operation input unit 225. In this example, the
first VLAN group indicated by the VLAN group information 70 is selected.
[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
other. In this example, the activation command control unit 233 reads out
the identification information of the first relay server A and the second relay
server B.
[0113]
Next, the activation command control unit 233 performs processes of
step S113 through step S116. Specifically, 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 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,
56
the processes of step S114 through step S116 are performed on the second
relay server B and the third relay server C, which relay servers to which the
VLAN client terminals are connected except the first client terminal Al.
[0114]
First, the activation command control unit 233 refers to the relay
server information stored in the relay server information storage unit 242,
and determines whether or not the second relay server B is activated.
Specifically, the activation command control unit 233 confirms that the
upper information "stat" of the relay server information is set as "active" in
order to determine whether or not the second relay server B is activatable.
If the second relay server B is activated, the activation command control
unit 233 transmits activation information including the activation
command, the 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]
57
Next, the activation command control unit 233 receives a response
signal from the second relay server B. Here, the response signal from the
second relay server B includes the identification information, the IP address
and the MAC address of the VLAN device among the VLAN client terminals
connected to the second relay server B. The process of creating the
response signal by the second relay server B will be later described.
The activation command control unit 233, after receiving the
response signal from the second relay server B (Yes at step S115), extracts
the identification information, the IP address, and the MAC address of the
VLAN device from the received response signal (step S116).
[0116]
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, which is
connected to the third client terminal Bl and the fourth cliente terminal B2
as VLAN devices.
[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
58
extraction information 90 includes the identification information, the IP
address and the MAC address of the VLAN device extracted from the
response signal at step S116. The first extraction information 90-1 shown
in Fig. 21 is the extraction information extracted from the response signal
received from the second relay server B, and the first extraction information
90-2 is the extracted signal extracted from the response signal received from
the third relay server C. The first extraction information 90-1 includes
identification information, the IP address and the MAC address of the third
client terminal Bl, 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 third client
terminal Bl and the fourth client terminal B2, which are VLAN devices
connected to the second relay server B.
[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
59
reference to Fig. 12, Fig. 21 and Fig. 22. Fig. 22 shows an example of the
second extraction information, which is formed by adding the IP address
and the MAC address of the first client terminal Al to the first extraction
information in Fig. 21.
[0120]
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 fourth client
terminal B2 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
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
60
assigns the virtual IP address and the virtual MAC address to the VLAN
devices such that the virtual IP address and the virtual MAC address are
not overlapped with each other among the VLAN devices. In this example,
different numbers are given to the end of the virtual IP address and the
virtual MAC address in order not to overlap the virtual addresses among
the VLAN devices.
[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, which
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.ll.22-f0.00.03" are assigned to the fourth client terminal B2, which is
identified by identification information "clientB2.rd.002@trial.net".
[0123]
14.3 Establishment of VLAN session
Next, the virtual address control unit 234 transmits the created
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
61
"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
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]
After that, the VLAN session control unit 237 performs a process of
establishing a device session with the first relay server A (step S120). In
detail, OK is returned corresponding to the request of establishing the
device session from the first relay server A, allowing the device session to
serve as a VLAN session. At this time, a device session is established
between the second relay server B and the third client terminal Bl as well
as the fourth client terminal B2. A 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 221B of the first
62
client terminal Al, and sets the virtual address for the VLAN interface
22IB. Specifically, the VLAN session control unit 237 sets the virtual IP
address and the virtual MAC address of the virtual address information 80
into the VLAN interface 221B of the first client terminal Al (step S121).
At this time, the third client terminal Bl and the fifth client terminal CI set
the virtual IP address and virtual MAC address of the virtual address
information 80 into the VLAN interfaces of them (step S121), too.
When the virtual address is set in the VLAN devices according to
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 Join-in-progress to VLAN group
In the above-described example, when the first client terminal Al is
to transmit the activation information upon receiving the selection of the
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]
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
63
relay server C. Accordingly, the activation command control unit 233 does
not receive the response signal (No at step S115), and determines whether
or not it has received join-in-progress signal from the second relay server B
and/or the third relay server C (step S123). The johvin-progress signal is a
signal for permitting the first client terminal Al to join in-progress the first
VLAN group. The join-in-progress signal includes the virtual 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 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-hvprogress, 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
64
to the VLAN devices, from the virtual address information (step S126).
[0129]
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 A1 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
is the same as that of the virtual address, the virtual address control unit
234 finishes the process because it determines that the activation error
happens (step Si28).
[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
address control unit 234 assigns the virtual IP address and the virtual MAC
address formed by changing the ends of the extracted virtual IP address and
the virtual MAC address, to the first client terminal Al. Then, the virtual
65
address control unit 234 updates the virtual address information by adding
the assigned virtual IP address and virtual MAC address as well as the
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
237 performs a process of establishing a device session with the first relay
server A. On the other hand, if no OK response is received from the first
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
that.
[0132]
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
66
each other, the client terminal which has later transmitted the activation
instruction can join hvprogress the first VLAN group if the address 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
example, a process by the second relay server B will be described, which has
received the activation information including the activation command, the
activation time and the VLAN group information 70 from the first client
terminal Al (refer to step S114 in Fig. 20).
[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
response to the activation information. The activation command control
unit 133 of the second relay server B extracts the identification information
67
of the VLAN group from the VLAN group information 70 (step S142), when
receiving activation information including the activation command, the
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 Si43). 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 activation time of the already received activation
information with the activation time received from the first client terminal
Al (step S147), and a process proceeds to step S151. Here, it is determined
that earlier activation time is valid activation time.
[0136]
If the activation time received from the first client terminal Al is
68
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
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 to 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 SI50). This
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
(refer to step S127, step S129 in Fig. 20B).
[0138]
69
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
extracting the VLAN client terminals connected to the second relay server B
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 is a VLAN device (step S154). The VLAN device
means a client terminal that is currently logging in and is not currently
joining other VLAN groups. In this example, the activation command
control unit 133 extracts the third client terminal Bl and the fourth client
terminal B2 as VLAN devices. When determining whether or not the
client terminal is a VLAN device, the activation command control unit 133
refers to the relay server information stored in the relay server information
storage unit 142, and determines whether or not the third client terminal
Bl and the fourth client terminal B2 are logging in. In addition, the
activation command control unit 133 transmits the activation command to
the third client terminal Bl and the fourth client terminal B2, which are
logging in. Then, if the activation command control unit 133 receives OK
signal in response to the activation command from the third client terminal
Bl and the fourth client terminal B2, the activation command control unit
133 determines that third client terminal Bl and the fourth client terminal
B2 are VLAN devices.
[0139]
70
After that, the activation command control unit 133 transmits the
VLAN activation command to the third client terminal Bl and the fourth
client terminal B2 (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 and the fourth client terminal B2 (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 and the fourth client terminal B2. In this case, the
activation command control unit 133 executes IP communication with the
third client terminal Bl and the fourth client terminal B2, which is logging
in, via the LANs. Accordingly, the activation command control unit 133
does not need to ask the third client terminal Bl and the fourth client
terminal B2 about the IP address and the MAC address of third client
terminal Bl and the fourth client terminal B2. 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
server B (No at step SI52), the activation command control unit 133
transmits an activation OK signal to the first client terminal Al. The
activation OK signal just represents OK response to the activation
71
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
VLAN activation command is not received (No at step Si56), the activation
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.
[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".
[0143]
72
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
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, and the fourth client terminal B2, 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
S166). 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 extracted third client terminal Bl and fourth client
terminal B2 (step S167).
[0145]
Next, the VLAN session control unit 135 extracts the session
information 73 from the VLAN group information 70 (step S168). After
extracting the session information 73, the VLAN session control unit 135
73
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). However, in this example, since a VLAN device is not
connected to the third relay server C, a hub session is not established with
the third relay server C.
[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 device sessions with the third client
terminal Bl and the fourth client terminal B2 as VLAN devices.
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).
[0147]
15.2.2 Process after receiving join-hvprogress command
Next, a process performed by the second relay server B when the
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
74
flowchart showing a process of establishing the VLAN session in the relay
server which has received the join-in-progress command.
[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).
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.
[0149]
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
the updated virtual address information (step S184). Next, the VLAN
session control unit 135 refers to the VLAN group information 70 stored in
the VLAN group information storage unit 144, and extracts, from the VLAN
devices, 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 S186).
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
75
connected to the second relay server B (step S187).
[0150]
Next, the VLAN session control unit 135 extracts the session
information 73 from the VLAN group information 70 (step S188). After
extracting the session information 73, the VLAN session control unit 135
refers to the session information 73, and establishes a hub session in which
the second relay server B is set as "sp" and 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
has needed to be established by joining of the VLAN client terminal which
has been allowed the join-inprogress. At this time, among other relay
servers serving as a hub, a process is performed to establish the hub
session.
[0151]
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).
If there is a VLAN device under the control of the second relay server B (Yes
at step S191), the VLAN session control unit 135 establishes a device
session with the VLAN device under the control of the second relay server B
(step S191).
76
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).
[0152]
15.3 Operation in a case where suspension of operation occurs in the
activated VLAN group
When the data is being transferred between the VLAN devices via
the VLAN session using the virtual address as described above, the
operation of the VLAN device and the relay server connected to the VLAN
device may be suspended. The suspension of the operation means a state
in which the VLAN device and the relay server to which the VLAN device is
connected can not communicate with each other due to the suspension of the
operation by logging out and the like and the data can not be communicated.
The operation of the relay server in this state will be described with
reference to Fig. 26. Below, the operation of the second relay server B will
be described when the operation of the fourth client terminal B2 is
suspended in the activated first VLAN group.
[0153]
As described above, in the relay communication system of this
embodiment, changes in the number and connection states of the relay
servers and the client terminals in the relay group are shared in the whole
relay communication system in real time. Accordingly, if the operation of
77
the fourth client terminal B2 is suspended, the second relay server B
instantly updates the relay group information, the relay server information,
and the client terminal information, and notifies the other relay servers.
Furthermore, the other relay server instantly notifies the client terminal
recited in the client terminal information that the relay group information
and the relay server information have been updated.
[0154]
First, if the suspension processing unit 137 of the second relay
server B receives the updated relay group information and relay server
information, it determines whether or not it has received the notification of
suspension of operation of the relay server (step S201). In other words, it
is determined whether or not the update of relay group information and the
relay server information is caused by the change in the connection state of
the relay servers. If the notification of suspension of operation of the relay
server is received (Yes at step S201), the suspension processing unit 137
extracts identification information of the client terminal connected to the
relay server which has suspended the operation, from the relay server
information (step S202).
On the other hand, if the notification of suspension of the operation
of the relay server is not received (No at step S201), the suspension
processing unit 137 of the second relay server B determines whether or not
the notification of suspending the operation of the client terminal has been
received (step S203). In other words, it is determined whether or not the
update of the relay group information and the relay server information is
78
caused by the change in the connection state of the client terminals. If the
notification of suspending the operation of the client terminal is not
received (No at step S203), the suspension processing unit 137 finishes the
process.
[0155]
The suspension processing unit 137 creates a list of the client
terminals that performs a suspension process (step S204), if the
identification information of the client terminal is extracted at step S202, or
if the notification of suspending the operation of the client terminal at step
S203 is received. In this example, the list in which the fourth client
terminal B2 is recited, whose operation was suspended is created. If the
notification of suspending the operation of the relay server is received, the
client terminals extracted at step S202 are put on the list.
Next, the suspension processing unit 137 determines whether or not
there is a VLAN group in active (step S205). In this example, since the
first VLAN group is being activated, a process proceeds to step S206. If
there is no VLAN group in active state (No at step S205), the suspension
processing unit 137 finishes the process.
[0156]
After that, the suspension processing unit 137 reads out a client
terminal put on the created list (step S206), and determines whether or not
there is a VLAN device that constitutes the VLAN group in the activated
state in the list (step S207). In this example, the fourth client terminal B2
is a VLAN device in the first VLAN group. Therefore, the suspension
79
processing unit 137 notifies VLAN devices except the fourth client terminal
B2 via the relay servers that the fourth client terminal B2 should be deleted
from the virtual address information (step S208). It should be noticed that
the virtual address control unit 234 of the VLAN devices which have
received the notification deletes the fourth client terminal B2 from the
virtual address information. Furthermore, the VLAN session control unit
135 of the relay server closes a device session related to the fourth client
terminal B2, which has been deleted from the virtual address information.
In this example, the VLAN session control unit 135 closes a device session
between the fourth client terminal B2 and the second relay server B.
[0157]
Next, the suspension processing unit 137 determines whether or not
the current number of the VLAN devices is two or more (step S209). This
is because if the number of the activated VLAN device which is activated
becomes one or less by a process at step S208, the communication via the
VLAN session can not be realized. In this example, two VLAN devices
exist, i.e., the first client terminal Al and the third client terminal Bl.
Accordingly, the suspension processing unit 137 proceeds to step S211, and
determines whether or not there are other VLAN devices whose VLAN
session should be closed, if there is a VLAN device to be closed (Yes at step
S211), it returns to step S206. On the other hand, the suspension
processing unit 137 returns to step S205 if there is no other VLAN device
whose VLAN session should be closed (No at step S211). If the there is an
activated VLAN group at this time (Yes at step S205), the above-described
80
processes below step S205 will be performed. On the other hand, if there is
no activated VLAN group (No at step S205), the suspension processing unit
137 finishes the process.
[0158]
The suspension processing unit 137 performs a process of
suspending the VLAN group (step S210) if it is determined that the number
of the VLAN devices is one or less at step S209 (No at step S209). In this
example, the hub session and the device session as VLAN session
established in the first VLAN group is closed. After that, the process
returns to step S205, and then if there is no activated VLAN group (No at
step S205), the suspension processing unit 137 finishes the process.
[0159]
16. Example of VLAN session
With reference to a sequence diagram of Fig. 27 and Fig. 28, a flow
of data when the VLAN session is established will be described.
16.1 Establishment of VLAN session
Below, a process of establishing a VLAN session in the first VLAN
group will be described with reference to a following example. In this
example below, 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
fifth client terminal Cl logs out from the first relay group. After that, after
the VLAN session is established in the first VLAN group, the fifth client
terminal Cl logs on, and the fifth client terminal Cl receives an activation
81
instruction of the first VLAN group from a user.
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.
[0160]
First, the fifth client terminal CI logs out from the first relay group.
Specifically, the fifth client terminal CI notifies the third relay server C of
the logging-out (step S511ogout0), and receives OK from the third relay
server C. The third relay server C, to which the logging-out has been
notified, refers to the relay server information, and notifies the first relay
server Al of the logging-out of the fifth client terminal CI (step
S52:notifyLogout(clientCl)). The first relay server A refers to the relay
server information, and notifies the first client terminal Al of the
logging-out of the fifth client terminal CI (step S53:notifyLogout(clientCl)).
If OK is returned from the first client terminal Al, the first relay server A
returns OK to the third relay server C. 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 terminal A2, which constitutes
82
the first relay group, of the logging-out of the fifth client terminal CI.
[0161]
Furthermore, the third relay server C refers to the relay server
information, and notifies the second relay server B of the logging-out of the
fifth client terminal Cl (step S53:notifyLogout(clientCl)). The second
relay server B refers to the relay server information, and notifies the third
client terminal Bl of the logging-out of the fifth client terminal Cl (step
S53.i:notifyLogout(clientCl)). Furthermore, the second relay server B
refers to the relay server information, and notifies the fourth client terminal
B2 of the logging-out of the fifth client terminal Cl (step
S53.2:notifyLogout(clientCl)). If OK is returned from the third client
terminal Bl and the fourth client terminal B2, the second relay server B
returns OK to the third relay server C. 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 fifth client terminal Cl.
[0162]
After that, if the first client terminal A receives the activation
instruction of the first VLAN group from a user, a process of activating the
first VLAN group is started. First, the first client terminal Al transmits
the activation information including the activation command, the activation
time, and the VLAN group information, via the first relay server A to the
second relay server B, which serves as a hub in the VLAN group and is in
the activated state (step S54: StartVlan(vlanGroupID), step S54.1:
StartVlan(vlanGroupID)). The second relay server B refers to the VLAN
83
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 the VLAN device, and then transmits the activation information to
the VLAN device. In this example, the third client terminal Bl and the
fourth client terminal B2 are both in active state, the second relay server B
first transmits the activation information to the third client terminal Bl
(step S54.1.1: StartVlan(vlanGroupID)). Furthermore, the second relay
server B transmits the activation information to the fourth client terminal
B2 (step S54.1.2: StartVlan(vlanGroupID)).
[0163]
After receiving OK from the third client terminal Bl and the fourth
client terminal B2, the second relay server B transmits the response signal
(OK (clientBl(ip,mac), clientB2(ip,mac))) to the first client terminal Al via
the first relay server A. The response signal includes identification
information, IP addresses and MAC addresses of the third client terminal
Bl and the fourth client terminal B2.
[0164]
Next, the first client terminal Al performs a process of extracting
from the response signal and a process of 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 serves to which the VLAN device and the VLAN device are
84
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 fourth client terminal B2.
[0165]
First, the first client terminal Al transmits initialization command
and virtual address information, via the first relay server A, to the second
relay server B (step S55: "configVlan(vlanDroupID, addrList)", step S55.1:
"configVlan(vlanDroupID, addrList)"). Next, the second relay server B
transmits initialization command and virtual address information to the
third client terminal Bl (step S55.1.1: "configVlan(vlanDroupID, addrList)"),
which has been extracted through the extraction process (refer to step S161
through step S164 and step S166 in Fig. 24). The second relay server B
transmits the initialization command and virtual address information to
the extracted fourth client terminal B2 (step S55.1.2:
"configVlan(vlanGroupID, addrList)"). After receiving OK from the third
client terminal Bl and the fourth client terminal B2, the second relay server
B returns OK to the first relay server A. The first relay server A that 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 the VLAN group.
[0166]
After that, the relay server to which the VLAN device is connected
refers to the session information 73 of the VLAN group information 70, and
85
establishes a hub session in which the relay server is set as "sp" and that
has not been established yet. In this example, any of the hub sessions have
not been established yet. 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 S56: 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.
[0167]
If the hub session is established, a relay server to which the VLAN
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 S57:
createDeviceSsn(vlanGroupID)). If OK is returned from the first client
terminal Al, a device session is established between the first relay server A
and the first client terminal Al.
[0168]
The second relay server B requests the third client terminal Bl to
establish a device session (step S58: 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 second relay server B requests the fourth client
terminal B2 to establish a device session (step S59-
createDeviceSsn(vlanGroupID)). If OK is returned from the fourth client
terminal B2, a device session is established between the second relay server
86
B and the fourth client terminal B2.
[0169]
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.
[0170]
In this state, the fifth client terminal CI logs on again. Specifically,
the fifth client terminal CI notifies the third relay server C of the logging-on
(step S601ogon0), and receives OK from the third relay server C. The
third relay server C, to which the logging-on has been notified, refers to the
relay server information, and notifies the first relay server A of the
logging-on of the fifth client terminal CI (step S61^notifylogon(clientCl)).
The first relay server A refers to the relay server information, and notifies
the first client terminal Al of the logging-on of the fifth client terminal CI
(step S61.1^notifylogon(clientCl)). If OK is returned from the first client
terminal Al, the first relay server A returns OK to the third relay server C.
Although not showing the figures, the first relay server A refers to the relay
server information, and notifies the second client terminal A2 as well, which
constitutes the first relay group, of the logging-on of the fifth client terminal
CI.
[0171]
87
Furthermore, the third relay server C refers to the relay server
information, and notifies the second relay server B of the logging-on of the
fifth client terminal CI (step S62:notifylogon(clientCl)). The second relay
server B refers to the relay server information, and notifies the third client
terminal Bl of the logging-on of the fifth client terminal CI (step
S63:notifylogon(clientCl)). The second relay server B refers to the relay
server information, and notifies the fourth client terminal B2 of the
logging-on of the fifth client terminal CI (step S64^notifylogon(clientCl)).
If OK is returned from the third client terminal Bl and the fourth client
terminal B2, the second relay server B returns OK to the third relay server
C. According to the above-described process, all of the relay servers and
the client terminals in the first relay group share the logging-on of the fifth
client terminal CI.
[0172]
After that, the fifth client terminal Cl transmits the activation
information including the activation command, the activation time and the
VLAN group information 70, to the third relay server C (step S65^
StartVlan(vlanGroupID)), when receiving the activation instruction of the
first the VLAN group from a user. The transmitted activation information
is further transmitted to the second relay server B, which serves as a hub in
the VLAN group and is in an activated state (step S65.1:
StartVlan(vlanGroupID)).
[0173]
At this time, the second relay server B extracts the identification
88
terminal CI and updates the virtual address information. Then, the fifth
client terminal Cl transmits the updated virtual address information (refer
to step S123 through S131 in Fig. 20B). In this example, the fifth client
terminal Cl determines that the virtual address can be determined for the
fifth client terminal Cl, and assigns virtual IP address and virtual MAC
address (177.112.0.4, 00-ll-22-f0-00-04) to the fifth client terminal Cl,
which are formed by changing the ends of the extracted and assigned
virtual IP address and virtual MAC address. After that, the updated
virtual address information and johvin-progress command is transmitted to
the VLAN devices based on the updated virtual address information and the
VLAN group information 70.
[0175]
First, the fifth client terminal Cl transmits the updated virtual
address information and join-inprogress command to the second relay
server B via the third relay server C (step S66'joinvlan(vlanGroupID, addr
List)), step S66.l:joinvlan(vlanGroupID, addrList)). The second relay
server B transmits the updated virtual address information and
join-in-progress command to the third client terminal Bl (step
S66.1.1-joinvlan(vlanGroupID, addrList). Furthermore, the second relay
server B transmits the updated virtual address information and
join-in-progress command to the fourth client terminal B2 (step
S66.1.2o'oinvlan(vlanGroupID, addrList)). If OK is returned from the third
client terminal Bl and the fourth client terminal B2, the second relay server
B returns OK to the third relay server C.
90
[0176]
The third relay server C transmits the updated virtual address
information and join in-progress command to the first client terminal Al via
the first relay server A (step S66.2:joinvlan(vlanGroupID, addrList), step
S66.2.l:joinvlan(vlanGroupID, addrList)). If OK is returned from the first
client terminal Al, the first relay server A retunes OK to the third relay
server C.
According to the above-described process, the updated virtual
address information is transmitted to the VLAN device.
[0177]
After that, the relay server to which the VLAN device is connected
refers to the session information 73 of the VLAN group information 70, and
establishes a hub session in which the relay server is set as "sp" and which
has not been established yet. In this example, a session between the first
relay server A and the third relay server C, and a session between the
second relay server B and the third relay server C have not been established
yet. Therefore, first, 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 S67: createHubSsn(vlanGroupID)). If OK is returned
from the third relay server B, a hub session is established between the
second relay server B and the third relay server C. 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 S68:
createHubSsn(vlanGroupID)). If OK is returned from the third relay
91
server C, a hub session is established between the first relay server A and
the third relay server C.
[0178]
If an unestablished device session between the relay server and the
VLAN devices connected to the relay servers exists, the relay sever
connected to the VLAN device establishes a device session. In this
example, the third relay server C requests the fifth client terminal CI to
establish a device session between each other (step S69^
createDeviceSsn(vlanGroupID)). If OK is returned from the fifth client
terminal CI, a devices session is established between the third relay server
C and the fifth client terminal CI.
As described above, if the VLAN session including the hub session
and the device session is established in the VLAN group as described above,
the VLAN device initializes the VLAN interface of the VLAN device, and
sets the virtual addresses in the VLAN interface. If the virtual address is
set in the VLAN device, the client terminals can communicate with each
other as VLAN devices using the virtual address and the VLAN session.
[0179]
For example, the first client terminal Al, having virtual IP address
"117.112.0.1" and virtual MAC address "00.11.22:f0:00-01", can transfer the
data via the VLAN session to the fifth client terminal CI, having virtual IP
address "117.112.0.4" and virtual MAC address "00.11.22:f0:00:04".
Specifically, the first client terminal Al transmits a communication packet
to the first relay server A via the device session (step S70:
92
sendData(packetOl)). The communication packet includes the virtual
address of the fifth client terminal CI as a transmission target and the data
to be transmitted. Next, the first relay server A transmits the
communication packet to the third relay server C via the hub session (step
S70.1: sendData(packetOl)). After that, the third relay server C transmits
the communication packet to the fifth client terminal Cl via the device
session (step S70.2: sendData(packetOl)).
[0180]
16.2 Operation in a case where the suspension of the operation
occurs in the activated VLAN group
Next, in a state in which the data transfer is performed via the
VLAN session as described above, a process that is performed when the
operation of the VLAN device is suspended will be described with reference
to Fig. 28. In this example, the operation of the fourth client terminal B2
and the third client terminal Bl are suspended.
[0181]
First, if the fourth client terminal B2 is suspended, the fourth client
terminal B2 notifies the second relay server B of the suspension of the
operation of the fourth client terminal B2 (step S7l:exitVlan(vlanGroupID)),
and OK is returned from the second relay server B. The second relay
server B, to which the suspension of the operation has been notified, refers
to the relay server information, and notifies the third client terminal Bl of
the suspension of the operation of the fourth client terminal B2 (step
S73:exitVlan(vlanGroupID,clientB2)). The third client terminal Bl
93
and the client terminals in the first relay group share the suspension of the
operation of the fourth client terminal B2.
[0184]
After that, the second relay server B notifies the VLAN devices, in
response to the reception of the notification of the suspension of the fourth
client terminal B2 operation, that the fourth client terminal B2 should be
deleted from the virtual address information (refer to step S203 through
step S208 in Fig. 26). In addition, the second relay server B requests the
fourth client terminal B2 to close the device session between the second
relay server B and the fourth client terminal B2 (step
S75:closeDeviceSsn(vlanGroupID)). If OK is returned from the fourth
client terminal B2, the device session between the second relay server B and
the fourth client terminal B2 is closed.
[0185]
Next, the operation of the third client terminal Bl is suspended.
Specifically, the third client terminal Bl notifies the second relay server B of
the suspension of operation (step S76^exitVlan(vlanGroupID)), and OK is
returned from the second relay server B.
The second relay server B, to which the suspension of operation has
been notified, refers to the relay server information, and notifies the first
relay server A of the suspension of the operation of the third client terminal
Bl (step S77^exitVlan(vlanGroupID,clientBl)). The first relay server A
refers to the relay server information, and notifies the first client terminal
Al of the suspension of the operation of the third client terminal Bl (step
95
S77.i:exitVlan(vlanGroupID,clientBl)). If OK is returned from the first
client terminal Al, the first relay server A returns OK to the second relay
server B. Although not shown in figures, the first relay server A refers to
the relay server information, and notifies also the second client terminal A2,
which constitutes the first relay group, of the suspension of the operation of
the third client terminal Bl.
[0186]
Furthermore, the second relay server B refers to the relay server
information, and notifies the third relay server C of the suspension of
operation of the third client terminal Bl (step
S78^exitVlan(vlanGroupID,clientBl)). The third relay server C refers to
the relay server information, and notifies the fifth client terminal CI of the
suspension of operation of the third client terminal Bl (step
S78.l:exitVlan(vlanGroupID,clientBl)). If OK is returned from the fifth
client 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 the client terminals in the first relay group share the suspension of the
operation of the third client terminal Bl.
[0187]
At this time, the second relay server B notifies the VLAN devices
that they should delete the third client terminal Bl from the virtual address
information in response to notification of the suspension of operation of the
third client terminal Bl (refer to step S203 through step S208 in Fig. 26).
Furthermore, the second relay server B requests the third client terminal
96
Bl to close a device session between the second relay server B and the third
client terminal Bl (step S79'-closeDeviceSsn(vlanGroupID)). If OK is
returned from the third client terminal Bl, the device session between the
second relay server B and the third client terminal Bl is closed.
[0188]
Furthermore, the second relay server B requests the third relay
server C to close a hub session between the second relay server B and the
third relay server C (step S80:closeHubSsn(vlanGroupID)). If OK is
returned from the third relay server C, the hub session between the second
relay server B and the third relay server C is closed. Next, the second
relay server B requests the first relay server A to close a hub session
between the second relay server B and the first relay server A (step
S81-closeHubSsn(vlanGroupID)). If OK is returned from the first relay
server A, the hub session between the second relay server B and the first
relay server A is closed.
[0189]
As described above, when the operations of the fourth client
terminal B2 and the third client terminal Bl as VLAN devices are
suspended during the activation of the first VLAN session, information of
the fourth client terminal B2 and the third client terminal Bl is deleted
from the virtual address information. Furthermore, all of the hub sessions
and the device sessions related to the fourth client terminal B2 and the
third client terminal Bl are closed.
[0190]
97
It should be noticed that, in the above state, after the fourth client
terminal B2 and the third client terminal Bl are deleted from the virtual
address information, the first client terminal Al and the fifth client
terminal CI exist as activated VLAN devices,. Accordingly, the second
relay server B does not perform a process of suspending the first VLAN
group (refer to step S209, step S210 in Fig. 26).
[0191]
16.3 Operation in a case where closing of the VLAN group is
instructed
The VLAN session in the VLAN group may be closed based on the
instruction form a user. Below, an example will be described in which a
process of closing the first VLAN group is executed after the first client
terminal Al receives an instruction of closing the first the VLAN group from
a user.
First, the first client terminal Al receives the instruction of closing
the first the VLAN group from a user, and requests the fifth client terminal
CI to suspend the first VLAN group. Specifically, the first client terminal
Al transmits a closing signal of the first VLAN group to the first relay
server A (step S82:stopVlan(vlanGroupID)). The first relay server A
transmits the closing signal of the first VLAN group to the third relay
server C (step S82.LstopVlan(vlanGroupID)). The third relay server C
transmits the closing signal of the first VLAN group to the fifth client
terminal CI (step S82.1.LstopVlan(vlanGroupID)). If OK is returned from
the fifth client terminal Cl, the third relay server C returns OK to the first
98
relay server A. The first relay server A returns OK to the first client
terminal Al.
[0192]
After that, the first relay server A requests the third relay server C
to close the hub session (step S83'-closeHubSsn(vlanGroupID)). If OK is
returned from the third relay server C, the hub session between the first
relay server A and the third relay server C is closed.
[0193]
If the hub session is closed, the first relay server A requests the first
client terminal Al to close the device session between the first relay server
and the first client terminal Al (step S84'closeDeviceSsn(vlanGroupID)).
If OK is returned from the first client terminal Al, the device session
between the first relay server A and the first client terminal Al is closed.
Furthermore, the third relay server C requests the fifth client terminal Cl
to close the device session between the third relay server C and the fifth
client terminal Cl (step S85:closeDeviceSsn(vlanGroupID)). If OK is
returned from the fifth client terminal Cl, the device session between the
third relay server C and the fifth client terminal Cl is closed.
[0194]
In the relay communication system of this embodiment, the VLAN
group information is shared between the VLAN groups. In addition, when
the VLAN group is activated, a process of establishing a VLAN session
between the VLAN devices is performed, and a process of sharing the
virtual address information created when the VLAN group is activated
99
among the VLAN devices is performed. In addition, a process is performed
of setting the virtual address in the VLAN interface of the VLAN device,
and then the data is transmitted from and to the VLAN devices via the
VLAN interfaces and the VLAN session. 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 communication system of this
embodiment, it is possible to address the overlapped activation of the same
VLAN group. And if the activation instructions of the VLAN group are
overlapped with each other, the VLAN client terminal that later performed
the activation instruction of the VLAN group can join in-progress the first
VLAN group unless address that has been actually used by the VLAN client
terminal and the virtual address belong to the same address system.
Furthermore, when the data transfer is performed between the
VLAN devices via the VLAN session using the virtual address, the
operation of the VLAN device and the relay server connected to the VLAN
device may be suspended. In this case, in the relay communication system
of this embodiment, the suspension of the operation of the VLAN device or
the relay server in the activated VLAN group can be quickly reflected on the
VLAN session.
[0195]
17. Other embodiment
Although one embodiment according to the present invention was
100
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
as necessary.
[0196]
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
server information.
[0197]
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.
[0198]
101
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
[0199]
The present invention can be applied to a relay server
communication system including a plurality of relay servers that can
communicate with each other, a plurality of client terminals, LANs
connecting the client terminals to the relay servers, and to a relay server
used in the relay server communication system.

Documents

Application Documents

# Name Date
1 5663-DELNP-2013-FORM-27 [30-10-2024(online)].pdf 2024-10-30
1 5663-DELNP-2013.pdf 2013-06-27
2 5663-delnp-2013-Form-3-(18-12-2013).pdf 2013-12-18
2 5663-DELNP-2013-Form-4 u-r 131 [30-10-2024(online)].pdf 2024-10-30
3 5663-DELNP-2013-RELEVANT DOCUMENTS [11-09-2023(online)].pdf 2023-09-11
3 5663-delnp-2013-Correspondence Others-(18-12-2013).pdf 2013-12-18
4 5663-DELNP-2013-IntimationOfGrant20-05-2022.pdf 2022-05-20
4 5663-delnp-2013-Form-13-(07-01-2014).pdf 2014-01-07
5 5663-DELNP-2013-PatentCertificate20-05-2022.pdf 2022-05-20
5 5663-delnp-2013-Correspondence-Others-(07-01-2014).pdf 2014-01-07
6 5663-DELNP-2013-Response to office action [28-10-2020(online)].pdf 2020-10-28
6 5663-delnp-2013-GPA.pdf 2014-01-31
7 5663-delnp-2013-Form-5.pdf 2014-01-31
7 5663-DELNP-2013-FORM 3 [01-06-2018(online)].pdf 2018-06-01
8 5663-delnp-2013-Form-3.pdf 2014-01-31
8 5663-DELNP-2013-ABSTRACT [18-04-2018(online)].pdf 2018-04-18
9 5663-DELNP-2013-CLAIMS [18-04-2018(online)].pdf 2018-04-18
9 5663-delnp-2013-Form-2.pdf 2014-01-31
10 5663-DELNP-2013-COMPLETE SPECIFICATION [18-04-2018(online)].pdf 2018-04-18
10 5663-delnp-2013-Form-18.pdf 2014-01-31
11 5663-DELNP-2013-DRAWING [18-04-2018(online)].pdf 2018-04-18
11 5663-delnp-2013-Form-1.pdf 2014-01-31
12 5663-delnp-2013-Drawings.pdf 2014-01-31
12 5663-DELNP-2013-FER_SER_REPLY [18-04-2018(online)].pdf 2018-04-18
13 5663-delnp-2013-Description (Complete).pdf 2014-01-31
13 5663-DELNP-2013-OTHERS [18-04-2018(online)].pdf 2018-04-18
14 5663-delnp-2013-Correspondence-Others.pdf 2014-01-31
14 5663-DELNP-2013-PETITION UNDER RULE 137 [13-04-2018(online)].pdf 2018-04-13
15 5663-delnp-2013-Claims.pdf 2014-01-31
15 5663-DELNP-2013-FORM 3 [12-04-2018(online)].pdf 2018-04-12
16 5663-delnp-2013-Abstract.pdf 2014-01-31
16 5663-DELNP-2013-OTHERS-050318-.pdf 2018-04-12
17 5663-delnp-2013-Form-3-(07-08-2014).pdf 2014-08-07
17 5663-DELNP-2013-Correspondence-050318.pdf 2018-03-13
18 5663-delnp-2013-Correspondence-Others-(07-08-2014).pdf 2014-08-07
18 5663-DELNP-2013-OTHERS-050318.pdf 2018-03-13
19 5663-DELNP-2013-certified copy of translation (MANDATORY) [23-02-2018(online)].pdf 2018-02-23
19 Form-3-(12-03-2015).pdf 2015-03-12
20 5663-DELNP-2013-FER.pdf 2017-12-20
20 Correspondence Others-(12-03-2015).pdf 2015-03-12
21 5663-delnp-2013-Correspondence Others-(12-03-2015).pdf 2015-03-12
21 5663-delnp-2013-Form-3-(12-03-2015).pdf 2015-03-12
22 5663-delnp-2013-Correspondence Others-(12-03-2015).pdf 2015-03-12
22 5663-delnp-2013-Form-3-(12-03-2015).pdf 2015-03-12
23 5663-DELNP-2013-FER.pdf 2017-12-20
23 Correspondence Others-(12-03-2015).pdf 2015-03-12
24 Form-3-(12-03-2015).pdf 2015-03-12
24 5663-DELNP-2013-certified copy of translation (MANDATORY) [23-02-2018(online)].pdf 2018-02-23
25 5663-delnp-2013-Correspondence-Others-(07-08-2014).pdf 2014-08-07
25 5663-DELNP-2013-OTHERS-050318.pdf 2018-03-13
26 5663-DELNP-2013-Correspondence-050318.pdf 2018-03-13
26 5663-delnp-2013-Form-3-(07-08-2014).pdf 2014-08-07
27 5663-delnp-2013-Abstract.pdf 2014-01-31
27 5663-DELNP-2013-OTHERS-050318-.pdf 2018-04-12
28 5663-delnp-2013-Claims.pdf 2014-01-31
28 5663-DELNP-2013-FORM 3 [12-04-2018(online)].pdf 2018-04-12
29 5663-delnp-2013-Correspondence-Others.pdf 2014-01-31
29 5663-DELNP-2013-PETITION UNDER RULE 137 [13-04-2018(online)].pdf 2018-04-13
30 5663-delnp-2013-Description (Complete).pdf 2014-01-31
30 5663-DELNP-2013-OTHERS [18-04-2018(online)].pdf 2018-04-18
31 5663-delnp-2013-Drawings.pdf 2014-01-31
31 5663-DELNP-2013-FER_SER_REPLY [18-04-2018(online)].pdf 2018-04-18
32 5663-DELNP-2013-DRAWING [18-04-2018(online)].pdf 2018-04-18
32 5663-delnp-2013-Form-1.pdf 2014-01-31
33 5663-DELNP-2013-COMPLETE SPECIFICATION [18-04-2018(online)].pdf 2018-04-18
33 5663-delnp-2013-Form-18.pdf 2014-01-31
34 5663-DELNP-2013-CLAIMS [18-04-2018(online)].pdf 2018-04-18
34 5663-delnp-2013-Form-2.pdf 2014-01-31
35 5663-DELNP-2013-ABSTRACT [18-04-2018(online)].pdf 2018-04-18
35 5663-delnp-2013-Form-3.pdf 2014-01-31
36 5663-delnp-2013-Form-5.pdf 2014-01-31
36 5663-DELNP-2013-FORM 3 [01-06-2018(online)].pdf 2018-06-01
37 5663-DELNP-2013-Response to office action [28-10-2020(online)].pdf 2020-10-28
37 5663-delnp-2013-GPA.pdf 2014-01-31
38 5663-DELNP-2013-PatentCertificate20-05-2022.pdf 2022-05-20
38 5663-delnp-2013-Correspondence-Others-(07-01-2014).pdf 2014-01-07
39 5663-DELNP-2013-IntimationOfGrant20-05-2022.pdf 2022-05-20
39 5663-delnp-2013-Form-13-(07-01-2014).pdf 2014-01-07
40 5663-DELNP-2013-RELEVANT DOCUMENTS [11-09-2023(online)].pdf 2023-09-11
40 5663-delnp-2013-Correspondence Others-(18-12-2013).pdf 2013-12-18
41 5663-DELNP-2013-Form-4 u-r 131 [30-10-2024(online)].pdf 2024-10-30
41 5663-delnp-2013-Form-3-(18-12-2013).pdf 2013-12-18
42 5663-DELNP-2013-FORM-27 [30-10-2024(online)].pdf 2024-10-30
42 5663-DELNP-2013.pdf 2013-06-27

Search Strategy

1 Searchstrategy(1)_22-11-2017.pdf

ERegister / Renewals

3rd: 04 Aug 2022

From 17/10/2013 - To 17/10/2014

4th: 04 Aug 2022

From 17/10/2014 - To 17/10/2015

5th: 04 Aug 2022

From 17/10/2015 - To 17/10/2016

6th: 04 Aug 2022

From 17/10/2016 - To 17/10/2017

7th: 04 Aug 2022

From 17/10/2017 - To 17/10/2018

8th: 04 Aug 2022

From 17/10/2018 - To 17/10/2019

9th: 04 Aug 2022

From 17/10/2019 - To 17/10/2020

10th: 04 Aug 2022

From 17/10/2020 - To 17/10/2021

11th: 04 Aug 2022

From 17/10/2021 - To 17/10/2022

12th: 04 Aug 2022

From 17/10/2022 - To 17/10/2023