KR20130096304A - 중계 통신 시스템 및 중계 서버 - Google Patents

중계 통신 시스템 및 중계 서버 Download PDF

Info

Publication number
KR20130096304A
KR20130096304A KR20137015844A KR20137015844A KR20130096304A KR 20130096304 A KR20130096304 A KR 20130096304A KR 20137015844 A KR20137015844 A KR 20137015844A KR 20137015844 A KR20137015844 A KR 20137015844A KR 20130096304 A KR20130096304 A KR 20130096304A
Authority
KR
South Korea
Prior art keywords
relay server
vlan
information
client terminal
relay
Prior art date
Application number
KR20137015844A
Other languages
English (en)
Other versions
KR101406854B1 (ko
Inventor
요시후미 타니모토
Original Assignee
무라다기카이가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 무라다기카이가부시끼가이샤 filed Critical 무라다기카이가부시끼가이샤
Publication of KR20130096304A publication Critical patent/KR20130096304A/ko
Application granted granted Critical
Publication of KR101406854B1 publication Critical patent/KR101406854B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

서로 통신 가능한 복수의 중계 서버를 갖는 중계 통신 시스템을 구축하고, 또한 가상 네트워크를 동적으로 작성한다. 중계 통신 시스템에 있어서 VLAN 그룹을 구성하는 VLAN 클라이언트 단만 사이에서 VLAN 그룹 정보를 공유시킨다. 또한, VLAN 그룹 정보에 의거하여 VLAN 클라이언트 단말 중 기동 가능한 VLAN 클라이언트 단말로서의 VLAN 디바이스 사이에 있어서 VLAN 세션을 확립하고, VLAN 그룹을 기동할 때에 작성한 가상 어드레스 정보를 VLAN 디바이스 사이에서 공유하는 처리를 더 행한다. 또한, VLAN 그룹의 기동이 지시되었을 경우에 VLAN 그룹이 이미 기동 중이면 기동 지시의 송신원인 도중 참가 VLAN 클라이언트 단말에 대하여 VLAN 그룹으로의 도중 참가 신호를 송신하고, 도중 참가 VLAN 클라이언트 단말에 관한 미확립의 VLAN 세션을 확립한다.

Description

중계 통신 시스템 및 중계 서버{RELAY COMMUNICATION SYSTEM AND RELAY SERVERS}
본 발명은 서로 통신 가능한 복수의 중계 서버와, 복수의 클라이언트 단말과, 클라이언트 단말을 중계 서버에 접속하는 LAN을 갖는 중계 통신 시스템에 관한 것으로서, 또한 중계 통신 시스템에 사용되는 중계 서버에 관한 것이다.
원격의 LAN에 접속되는 클라이언트 단말이 WAN을 초월해서 통신하는 경우가 있다. VPN(Virtual Private Network)은 원격의 LAN이 직접적으로 접속되어 있는 것과 같은 네트워크를 구축할 수 있다. 그러나, VPN은 확장성 및 유연성이 있는 네트워크를 구축하는 것이 곤란하다.
특허문헌 1이 개시하는 중계 통신 시스템은 VPN과 마찬가지로 원격의 LAN이 직접적으로 접속되어 있는 것과 같은 네트워크를 구축할 수 있다. 또한, 중계 통신 시스템은 VPN과 달리 확장성 및 유연성이 있는 네트워크를 구축하는 것이 용이하다.
일본 특허 공개 2008-129991호 공보
특허문헌 1이 개시하는 중계 통신 시스템에 있어서, LAN 및 클라이언트 단말의 증감 상태 및 접속 상태가 변화되는 경우가 있다. 그러나, 특허문헌 1에서는 클라이언트 단말 및 중계 서버가 통신처를 지정하는 것에 있어서 장치의 증감 상태 및 접속 상태를 실시간으로 확인하는 구체적인 수단은 개시되어 있지 않다. 또한, 클라이언트 단말 및 중계 서버 사이에 있어서의 가상 네트워크를 동적으로 구축하기 위한 구체적인 수단은 개시되어 있지 않다.
본 발명의 목적은 서로 통신 가능한 복수의 중계 서버를 갖는 중계 통신 시스템을 구축하고, 또한 가상 네트워크를 동적으로 작성하는 것이다.
이하에, 과제를 해결하기 위한 수단으로서 복수의 실시형태를 설명한다. 이들 실시형태는 필요에 따라서 임의로 조합시킬 수 있다.
본 발명의 일견지에 의한 중계 통신 시스템은 제 1 네트워크와, 제 2 네트워크와, 제 1 네트워크에 접속되는 제 1 중계 서버와, 제 2 네트워크에 접속되고 제 3 네트워크를 통해서 제 1 중계 서버와 통신 가능한 제 2 중계 서버와, 제 1 중계 서버와 제 1 네트워크를 통해서 접속되는 하나 이상의 클라이언트 단말과, 제 2 중계 서버와 제 2 네트워크를 통해서 접속되는 하나 이상의 클라이언트 단말을 구비한다.
제 1 중계 서버, 제 2 중계 서버, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말은 중계 그룹 정보 격납부와, 중계 서버 정보 격납부와, 정보 공유부와, VLAN 그룹 정보 제어부를 갖는다. 중계 그룹 정보 격납부에는 제 1 중계 서버, 제 2 중계 서버, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말이 중계 그룹을 구성하는 것을 나타내는 중계 그룹 정보가 격납된다. 중계 서버 정보 격납부에는 제 1 중계 서버의 기동 정보와, 제 2 중계 서버의 기동 정보와, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보와, 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보를 포함하는 중계 서버 정보가 격납된다. 정보 공유부는 중계 그룹 정보 및 중계 서버 정보를 제 1 중계 서버, 제 2 중계 서버, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말 사이에서 공유시킨다. VLAN 그룹 정보 제어부는 제 1 중계 서버에 접속된 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속된 하나 이상의 클라이언트 단말 중 둘 이상의 클라이언트 단말인 중계 그룹에 있어서 VLAN 그룹을 구성하는 VLAN 클라이언트 단말 사이에서 VLAN 그룹 정보를 공유시킨다. VLAN 그룹 정보는 VLAN 클라이언트 단말이 접속된 제 1 중계 서버의 식별 정보 및 제 2 중계 서버의 식별 정보를 포함하는 허브 정보와, 제 1 중계 서버 및 제 2 중계 서버 사이에 확립되는 세션의 접속측과 피접속측을 나타내는 세션 정보와, VLAN 클라이언트 단말을 식별하는 식별 정보를 포함한다.
제 1 중계 서버 및 제 2 중계 서버는 VLAN 세션 제어부와, 기동 커맨드 제어부를 더 갖는다. VLAN 세션 제어부는 VLAN 그룹의 기동 지시를 수신했을 경우에 VLAN 그룹이 기동 중이 아니면 세션 정보에 의거하여 제 1 중계 서버와 제 2 중계 서버 사이에 VLAN 세션으로서의 허브 세션을 확립하고, 기동 가능한 VLAN 클라이언트 단말로서의 VLAN 디바이스와 VLAN 디바이스가 접속된 제 1 중계 서버 또는 제 2 중계 서버 사이에 VLAN 세션으로서의 디바이스 세션을 확립한다. 기동 커맨드 제어부는 VLAN 그룹의 기동 지시를 수신했을 경우에 VLAN 그룹이 기동 중이면 기동 지시의 송신원인 도중 참가 VLAN 클라이언트 단말에 대하여 VLAN 그룹으로 도중 참가를 허가하는 도중 참가 신호를 송신한다.
제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말은 가상 어드레스 제어부를 더 갖는다. 가상 어드레스 제어부는 클라이언트 단말이 도중 참가 VLAN 클라이언트 단말로서 도중 참가 신호를 수신했을 경우, 기동 중의 VLAN 그룹을 구성하는 VLAN 디바이스에 대하여 할당된 가상 어드레스를 포함하는 가상 어드레스 정보에 의거하여 작성한 클라이언트 단말용 가상 어드레스를 추가해서 가상 어드레스 정보를 갱신한다. 그리고, 가상 어드레스 제어부는 갱신된 가상 어드레스 정보를 VLAN 디바이스에 대하여 송신한다.
여기에서, VLAN 세션 제어부는 도중 참가 VLAN 클라이언트 단말에 관한 미확립의 VLAN 세션을 더 확립한다. 또한, 도중 참가 VLAN 클라이언트 단말과 VLAN 디바이스는 갱신된 가상 어드레스 정보와, 허브 세션 및 디바이스 세션을 포함하는 확립된 VLAN 세션을 이용해서 통신한다.
여기에서는 VLAN 그룹의 기동의 지시를 송신했을 경우에 VLAN 그룹이 기동 중이어도 VLAN 클라이언트 단말은 기동 중의 VLAN 그룹에 도중 참가할 수 있다. 따라서, VLAN 그룹이 중복해서 기동하는 것을 방지할 수 있다.
기동 커맨드 제어부는 기동 중의 VLAN 그룹의 VLAN 디바이스에 대하여 가상 어드레스가 할당되어 있는지의 여부를 판단하고, 가상 어드레스가 할당되어 있을 경우에 도중 참가 신호를 도중 참가 VLAN 클라이언트 단말에 대하여 송신해도 좋다.
가상 어드레스 제어부는 가상 어드레스 정보를 참조해서 클라이언트 단말용 가상 어드레스를 작성 가능한지의 여부를 판단하고, 가상 어드레스를 작성할 수 없다고 판단했을 경우 VLAN 그룹으로의 도중 참가의 처리를 종료해도 좋다.
가상 어드레스는 가상 IP 어드레스 및 가상 MAC 어드레스를 포함하고 있어도 좋다.
본 발명의 다른 일견지에 의한 중계 서버는 제 1 네트워크로서 접속되는 제 1 중계 서버와 통신 가능하며, 제 2 네트워크에 접속되는 제 2 중계 서버로서 기능하는 중계 서버이다. 중계 서버는 중계 그룹 정보 격납부와, 중계 서버 정보 격납부와, 정보 공유부와, VLAN 그룹 정보 제어부와, VLAN 세션 제어부와, 기동 커맨드 제어부를 구비한다. 중계 그룹 정보 격납부에는 제 1 중계 서버, 제 2 중계 서버, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말이 중계 그룹을 구성하는 것을 나타내는 중계 그룹 정보가 격납된다. 중계 서버 정보 격납부에는 제 1 중계 서버의 기동 정보와, 제 2 중계 서버의 기동 정보와, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보와, 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보를 포함하는 중계 서버 정보가 격납된다. 정보 공유부는 중계 그룹 정보 및 중계 서버 정보를 제 1 중계 서버, 제 2 중계 서버, 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말 사이에서 공유시킨다. VLAN 그룹 정보 제어부는 제 1 중계 서버에 접속된 하나 이상의 클라이언트 단말 및 제 2 중계 서버에 접속된 하나 이상의 클라이언트 단말 중 둘 이상의 클라이언트 단말인 중계 그룹에 있어서 VLAN 그룹을 구성하는 VLAN 클라이언트 단말 사이에서 VLAN 그룹 정보를 공유시킨다. VLAN 그룹 정보는 제 1 중계 서버의 식별 정보 및 제 2 중계 서버의 식별 정보를 포함하는 허브 정보와, 제 1 중계 서버와 제 2 중계 서버 사이에서 확립되는 세션의 접속측과 피접속측을 나타내는 세션 정보와, VLAN 클라이언트 단말을 식별하는 식별 정보를 포함한다. VLAN 세션 제어부는 VLAN 그룹의 기동 지시를 수신했을 때 VLAN 그룹이 기동 중이 아닐 경우에는 세션 정보에 의거하여 제 1 중계 서버와의 사이에 VLAN 세션으로서의 허브 세션을 확립하고, 중계 서버에 접속된 기동 가능한 VLAN 클라이언트 단말로서의 VLAN 디바이스와의 사이에 VLAN 세션으로서의 디바이스 세션을 확립한다. 기동 커맨드 제어부는 VLAN 그룹에 관한 기동 지시를 수신했을 경우에 VLAN 그룹이 기동 중이면 도중 참가 VLAN 클라이언트 단말에 대하여 VLAN 그룹으로의 도중 참가 신호를 송신한다. 여기에서 VLAN 세션 제어부는 도중 참가 신호에 대응해서 기동 중의 VLAN 그룹을 구성하는 VLAN 클라이언트 단말 중 기동 가능한 VLAN 클라이언트 단말로서의 VLAN 디바이스에 대하여 할당된 가상 어드레스를 포함하는 가상 어드레스 정보에 대하여 도중 참가 VLAN 클라이언트 단말의 가상 어드레스가 추가되어서 갱신된 가상 어드레스 정보를 수신하면 도중 참가 VLAN 클라이언트 단말에 관한 미확립의 VLAN 세션을 확립한다. 또한, 도중 참가 VLAN 클라이언트 단말과 VLAN 디바이스는 가상 어드레스 정보와, 허브 세션 및 디바이스 세션을 포함하는 확립된 VLAN 세션을 이용해서 통신한다.
기동 커맨드 제어부는 기동 중의 VLAN 그룹의 VLAN 디바이스에 대하여 가상 어드레스가 할당되어 있는지의 여부를 판단하고, 가상 어드레스가 할당되어 있을 경우에 도중 참가 신호를 송신해도 좋다.
가상 어드레스는 가상 IP 어드레스 및 가상 MAC 어드레스를 포함하고 있어도 좋다.
(발명의 효과)
본 발명에서는 서로 통신 가능한 복수의 중계 서버를 갖는 중계 통신 시스템을 구축하고, 또한 가상 네트워크를 동적으로 작성할 수 있다.
또한, VLAN 그룹의 기동의 지시를 송신했을 경우에 VLAN 그룹이 기동 중이어도 VLAN 클라이언트 단말은 기동 중의 VLAN 그룹에 도중 참가할 수 있다. 따라서, VLAN 그룹이 중복해서 기동하는 것을 방지할 수 있다.
도 1은 중계 통신 시스템의 전체 구성을 나타내는 모식도이다.
도 2는 제 1 중계 서버의 구성을 나타내는 블록도이다.
도 3은 제 1 클라이언트 단말의 구성을 나타내는 블록도이다.
도 4는 중계 그룹 정보의 개략 구성을 나타내는 도면이다.
도 5는 중계 그룹 정보의 상세 구성을 나타내는 도면이다.
도 6은 중계 서버 정보의 개략 구성을 나타내는 도면이다.
도 7은 중계 서버 정보의 상세 구성을 나타내는 도면이다.
도 8은 제 1 중계 서버에 격납된 클라이언트 단말 정보의 개략 구성을 나타내는 도면이다.
도 9는 제 2 중계 서버에 격납된 클라이언트 단말 정보의 개략 구성을 나타내는 도면이다.
도 10은 제 3 중계 서버에 격납된 클라이언트 단말 정보의 개략 구성을 나타내는 도면이다.
도 11은 VLAN 그룹 정보의 상세 구성을 나타내는 도면이다.
도 12는 가상 어드레스 정보의 상세 구성을 나타내는 도면이다.
도 13은 중계 그룹의 구축에 관계되는 처리의 흐름을 나타내는 도면이다.
도 14는 교환 전의 중계 서버 정보의 상세 구성을 나타내는 도면이다.
도 15는 교환 전의 중계 서버 정보의 상세 구성을 나타내는 도면이다.
도 16은 교환 전의 중계 서버 정보의 상세 구성을 나타내는 도면이다.
도 17은 중계 그룹 정보 및 중계 서버 정보의 공유에 관계되는 처리의 흐름을 나타내는 도면이다.
도 18은 VLAN 그룹 정보의 작성 처리를 나타내는 플로우차트이다.
도 19는 VLAN 그룹 정보의 공유에 관한 처리의 흐름을 나타내는 도면이다.
도 20a는 클라이언트 단말에 의한 VLAN 세션의 확립 처리를 나타내는 플로우차트이다(그 1).
도 20b는 클라이언트 단말에 의한 VLAN 세션의 확립 처리를 나타내는 플로우차트이다(그 2).
도 21은 VLAN 디바이스의 IP 어드레스와 MAC 어드레스에 관한 제 1 추출 정보의 일례를 나타내는 도면이다.
도 22는 제 1 추출 정보에 제 1 클라이언트 단말 IP 어드레스 및 MAC 어드레스를 추가한 제 2 추출 정보의 일례를 나타내는 도면이다.
도 23a는 초기화 커맨드에 대한 중계 서버에 의한 응답 신호의 송신 처리를 나타내는 플로우차트이다(그 1).
도 23b는 초기화 커맨드에 대한 중계 서버에 의한 응답 신호의 송신 처리를 나타내는 플로우차트이다(그 2).
도 24는 초기화 커맨드를 수신한 중계 서버에 있어서의 VLAN 세션의 확립 처리를 나타내는 플로우차트이다.
도 25는 도중 참가 커맨드를 수신한 중계 서버에 있어서의 VLAN 세션의 확립 처리를 나타내는 플로우차트이다.
도 26은 VLAN 세션의 확립에 관계되는 처리의 흐름의 일례를 나타내는 도면이다.
1. 본 실시형태의 개요
본 실시형태에 있어서의 중계 통신 시스템에서는 허브와 마찬가지의 기능을 실현하는 복수의 중계 서버를 통해서 클라이언트 단말끼리가 WAN을 초월해서 서로 통신 가능해진다.
2. 중계 통신 시스템의 전체 구성
이하, 도면을 참조하면서 본 발명의 실시형태에 대하여 설명한다. 도 1은 중계 통신 시스템의 전체 구성을 나타낸다. 중계 통신 시스템은 제 1 LAN(1)과, 제 2 LAN(2)과, 제 3 LAN(3)과, WAN(4)으로 구성된다. 제 1 LAN(1), 제 2 LAN(2), 제 3 LAN(3)은 원격으로 구축되는 소규모인 네트워크이다. WAN(4)은 인터넷 등의 대규모인 네트워크이다.
이 실시형태에서는 후에 상세하게 설명하지만, 제 1 LAN(1)의 제 1 중계 서버(A)와, 제 2 LAN(2)의 제 2 중계 서버(B)와, 제 3 LAN(3)의 제 3 중계 서버(C)가 중계 그룹으로서의 제 1 중계 그룹을 구성하고 있다.
제 1 LAN(1)은 제 4 LAN(6)과 제 5 LAN(7)을 갖고 있고, 제 4 LAN(6)과 제 5 LAN(7)은 제 1 범용 라우터(8)에 의해 서로 접속되어 있다. 제 4 LAN(6)에서는 제 1 중계 서버(A)와 제 1 클라이언트 단말(A1)이 서로 접속되어 있다. 제 5 LAN(7)에서는 제 2 클라이언트 단말(A2)과 제 2 통신 기기(9)가 서로 접속되어 있다.
제 2 LAN(2)은 제 6 LAN(11)과, 제 7 LAN(12)과, 제 8 LAN(13)을 갖고 있다. 제 6 LAN(11)과 제 7 LAN(12)은 제 2 범용 라우터(14)에 의해 접속되어 있고, 제 6 LAN(11)과 제 8 LAN(13)은 제 3 범용 라우터(15)에 의해 접속되어 있다. 제 6 LAN(11)에는 제 2 중계 서버(B)가 소속되어 있다. 제 7 LAN(12)에는 제 3 클라이언트 단말(B1)이 접속되어 있다. 제 8 LAN(13)에는 제 4 클라이언트 단말(B2)이 접속되어 있다.
제 3 LAN(3)에서는 제 3 중계 서버(C)와 제 5 클라이언트 단말(C1)이 서로 접속되어 있다.
제 1 클라이언트 단말(A1), 제 2 클라이언트 단말(A2), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)은, 예를 들면 퍼스널 컴퓨터이다. 또한, 제 2 통신 기기(9)도 예를 들면 퍼스널 컴퓨터이다.
제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)는 제 1 클라이언트 단말(A1), 제 2 클라이언트 단말(A2), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)의 상호간의 통신을 중계한다. 또한, 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)의 상호간의 통신 프로토콜은 특별히 한정되지 않는다.
3. 중계 서버의 구성 요소
중계 서버는 LAN뿐만 아니라 WAN에도 접속되어 있고, 동일한 LAN에 접속되어 있는 각 클라이언트 단말과 통신 가능함과 아울러 다른 LAN에 배치된 중계 서버와 통신 가능하게 되어 있다. 그 때문에, 각 중계 서버에는 프라이빗 IP 어드레스에 추가해서 글로벌 IP 어드레스가 부여되어 있다.
도 2는 제 1 중계 서버(A)의 구성 요소를 나타낸다.
제 1 중계 서버(A)는 LAN 인터페이스(121A), WAN 인터페이스(121B), 제어부(122), 데이터베이스 격납부(123), 표시부(124) 및 조작 입력부(125)를 갖는다.
LAN 인터페이스(121A)는 프라이빗 IP 어드레스를 이용해서 제 1 LAN(1) 내의 단말에 대하여 통신을 실행한다. WAN 인터페이스(121B)는 글로벌 IP 어드레스를 이용해서 WAN(4)에 대하여 통신을 실행한다.
제어부(122)는, 예를 들면 제어 및 연산의 기능을 갖는 CPU이며, 로딩된 프로그램에 의해 각종 처리를 실행할 수 있다. 본 실시형태의 제어부(122)는 정보 공유부(131), VLAN 그룹 정보 제어부(132), 기동 커맨드 제어부(133), 가상 어드레스 제어부(134), VLAN 세션 제어부(135), VLAN 그룹 정보 갱신부(136) 및 중계 서버 통신 제어부(137)를 갖는다.
정보 공유부(131)는 후술하는 중계 그룹 정보, 중계 서버 정보 및 클라이언트 단말 정보의 작성 및 갱신을 행한다. 또한, 정보 공유부(131)는 작성 및 갱신된 중계 그룹 정보를 중계 그룹 내의 중계 서버 및 중계 서버에 접속된 클라이언트 단말과 공유하고, 중계 그룹 정보 격납부(141)(후술)에 격납한다. 또한, 정보 공유부(131)는 작성 및 갱신된 중계 서버 정보를 중계 그룹 내의 중계 서버 및 중계 서버에 접속된 클라이언트 단말과 공유하고, 중계 서버 정보 격납부(142)(후술)에 격납한다. 또한, 정보 공유부(131)는 작성 및 갱신된 클라이언트 단말 정보를 중계 그룹 내의 중계 서버 및 클라이언트 단말과 공유하고, 클라이언트 단말 정보 격납부(143)(후술)에 격납한다.
VLAN 그룹 정보 제어부(132)는 후술하는 VLAN 그룹 정보를 중계 그룹 내에 있어서의 VLAN 클라이언트 단말 및 VLAN 클라이언트 단말이 접속된 중계 서버와의 사이에서 공유하고, VLAN 그룹 정보 격납부(144)(후술)에 격납한다. VLAN 클라이언트 단말이란 중계 그룹 내에 있어서 VLAN 그룹을 구성하는 클라이언트 단말이다.
기동 커맨드 제어부(133)는 유저로부터 VLAN 그룹의 기동 지시를 접수한 클라이언트 단말로부터 VLAN 그룹의 기동 정보를 수신했을 경우, 수신한 VLAN 그룹과 동일한 VLAN 그룹이 이미 기동되어 있는지의 여부를 판단한다. 기동 정보에는 VLAN 그룹의 기동 커맨드, 기동 시각 및 VLAN 그룹 정보가 포함된다. 여기에서, 기동 커맨드 제어부(133)는 VLAN 그룹이 이미 기동되어 있을 경우에는 기동 지시의 송신원인 클라이언트 단말에 대하여 도중 참가 신호를 송신하고, 클라이언트 단말의 VLAN 그룹으로의 도중 참가를 허가하는 처리를 실행한다. 도중 참가 신호란 VLAN 그룹으로의 도중 참가를 허가하는 신호로서, 후술하는 가상 어드레스 정보와 함께 송신된다.
구체적으로 기동 커맨드 제어부(133)는 동일한 VLAN 그룹이 이미 기동되어 있을 경우 먼저 VLAN 그룹을 기동 시킨 기동 정보의 기동 시각과 수신한 기동 정보의 기동 시각을 참조해서 보다 빠른 기동 시각을 갖는 기동 정보를 유효라고 판단한다.
그 후 기동 커맨드 제어부(133)는 유효하지 않은 기동 정보의 송신원인 클라이언트 단말에 대해서는 보다 빠른 기동 시각을 갖는 유효한 기동 정보에 관련된 초기화 커맨드 및 가상 어드레스 정보를 이미 수신하고 있는지의 여부를 판단한다. 그리고, 초기화 커맨드 및 가상 어드레스 정보를 이미 수신하고 있을 경우에는 유효하지 않은 기동 정보의 송신원인 클라이언트 단말에 대하여 상술한 도중 참가 신호를 송신한다. 여기에서, 기동 커맨드 제어부(133)는 유효한 기동 정보에 관해서 초기화 커맨드 및 가상 어드레스 정보를 수신하지 않을 경우에는 VLAN 그룹으로의 도중 참가의 처리를 종료한다.
한편, 수신한 기동 정보가 유효하다고 판단했을 경우에는 기동 커맨드 제어부(133)는 VLAN 그룹의 기동 처리를 실행한다. 기동 커맨드 제어부(133)는 우선, VLAN 그룹 정보로부터 제 1 중계 서버(A)에 접속되어 있는 VLAN 클라이언트 단말을 추출한다. 또한, 기동 커맨드 제어부(133)는 추출한 VLAN 클라이언트 단말이 기동 가능한지의 여부를 판단한다. 기동 가능한 VLAN 클라이언트 단말이란 현재 로그인 중이며 또한 다른 VLAN 그룹에 현재 참가하고 있지 않은 클라이언트 단말을 말한다. 여기에서, 기동 커맨드 제어부(133)는 중계 서버 정보 격납부(142)에 격납된 중계 서버 정보를 참조해서 추출한 VLAN 클라이언트 단말이 로그인 중인지의 여부를 판단한다. 또한, 기동 커맨드 제어부(133)는 후술하는 기동 커맨드를 송신해서 추출한 VLAN 클라이언트 단말이 기동 가능한지의 여부를 판단하지만, 상세한 것은 후술한다. 이하, 기동 커맨드 제어부(133)에 의해 기동 가능하다고 판단된 VLAN 클라이언트 단말을 VLAN 디바이스라고 한다. VLAN 디바이스가 있다고 판단했을 경우에는 기동 커맨드 제어부(133)는 VLAN 디바이스의 IP 어드레스 및 MAC 어드레스를 포함한 응답 신호를 VLAN 그룹의 유효한 기동 정보의 송신원인 클라이언트 단말에 송신한다. VLAN 그룹 정보의 상세한 것은 후술한다.
가상 어드레스 제어부(134)는 가상 어드레스 정보 및 초기화 커맨드를 수취하면 제 1 중계 서버(A)에 접속된 VLAN 디바이스에 가상 어드레스 정보 및 초기화 커맨드를 송신한다. 또한, 가상 어드레스 제어부(134)는 가상 어드레스 정보를 가상 어드레스 정보 격납부(145)(후술)에 격납한다. 가상 어드레스 정보의 상세한 것은 후술한다. 초기화 커맨드란 VLAN 인터페이스(221B)의 초기화에 관한 커맨드이다.
VLAN 세션 제어부(135)는 VLAN 그룹 정보를 참조해서 VLAN 디바이스가 접속된 다른 중계 서버와의 사이에 VLAN 세션으로서의 허브 세션을 확립한다. 또한, VLAN 세션 제어부(135)는 VLAN 그룹 정보를 참조해서 제 1 중계 서버(A)에 접속된 VLAN 디바이스와의 사이에 VLAN 세션으로서의 디바이스 세션을 확립한다. 허브 세션이란 VLAN 디바이스가 접속된 중계 서버 사이에 있어서의 세션이다. 디바이스 세션이란 VLAN 디바이스와 VLAN 디바이스가 접속된 중계 서버 사이에 있어서의 세션이다.
또한, VLAN 세션 제어부(135)는 후술하는 도중 참가 커맨드를 수신했을 경우, 도중 참가 커맨드의 송신원인 클라이언트 단말이 제 1 중계 서버(A)에 접속되어 있을 경우에는 도중 참가 커맨드의 송신원인 클라이언트 단말에 관련되는 VLAN 세션을 확립한다.
VLAN 그룹 정보 갱신부(136)는 VLAN 그룹 정보에 변경이 있었을 경우에 갱신된 VLAN 그룹 정보를 VLAN 클라이언트 단말 및 VLAN 클라이언트 단말이 접속되어 있는 중계 서버와의 사이에서 공유시킨다.
중계 서버 통신 제어부(137)는 LAN 인터페이스(121A) 및 WAN 인터페이스(121B)를 통해서 행하는 여러 가지 통신을 제어하는 처리부이며, TCP/IP, UDP 또는 SIP 등의 프로토콜에 따른 여러 가지 통신 처리를 제어한다.
또한, 중계 서버 통신 제어부(137)는 가상 어드레스 정보 및 VLAN 세션을 이용한 VLAN 디바이스 사이의 통신을 제어한다. 구체적으로는 중계 서버 통신 제어부(137)는 제 1 중계 서버(A)에 접속되어 있는 클라이언트 단말로부터 LAN 인터페이스(121A)를 통해서 수신한 통신 패킷을 해석한다. 그리고, 통신 패킷에 가상 어드레스가 포함되어 있으면 가상 어드레스를 참조하여 허브 세션을 통해서 다른 중계 서버에 통신 패킷을 송신한다. 또한, 중계 서버 통신 제어부(137)는 다른 중계 서버로부터 WAN 인터페이스(121B)를 통해서 통신 패킷을 수신했을 경우, 수신한 통신 패킷을 해석한다. 그리고, 통신 패킷에 가상 어드레스가 포함되어 있으면 중계 서버 통신 제어부(137)는 가상 어드레스가 할당되어 있는 제 1 중계 서버(A) 배하(配下)의 클라이언트 단말의 VLAN 인터페이스(후술)에 대하여 디바이스 세션을 통해서 통신 패킷을 송신한다. 한편, 가상 어드레스가 포함되어 있지 않으면 중계 서버 통신 제어부(137)는 제 1 중계 서버(A) 배하의 클라이언트 단말의 LAN 인터페이스(후술)에 대하여 통신 패킷을 송신한다.
데이터베이스 격납부(123)는, 예를 들면 하드디스크 또는 불휘발 RAM이며, 각종 데이터를 보존할 수 있다. 데이터베이스 격납부(123)는 중계 그룹 정보 격납부(141), 중계 서버 정보 격납부(142), 클라이언트 단말 정보 격납부(143), VLAN 그룹 정보 격납부(144) 및 가상 어드레스 정보 격납부(145)를 갖는다. 중계 그룹 정보 격납부(141), 중계 서버 정보 격납부(142), 클라이언트 단말 정보 격납부(143), VLAN 그룹 정보 격납부(144) 및 가상 어드레스 정보 격납부(145)에 격납되는 정보의 상세한 것은 후술한다. 또한, 제 2 중계 서버(B) 및 제 3 중계 서버(C)의 구성 요소는 제 1 중계 서버(A)와 마찬가지이므로 설명을 생략한다.
4. 클라이언트 단말의 구성 요소
클라이언트 단말은 유저가 직접 조작할 수 있는 단말이다. 클라이언트 단말은, 예를 들면 유저에 의해 매일의 업무에 이용되는 퍼스널 컴퓨터이다. 각 클라이언트 단말에는 동일한 LAN 내에서 유니크하게 관리된 프라이빗 IP 어드레스가 부여된다.
도 3은 제 1 클라이언트 단말(A1)의 구성 요소를 나타낸다. 제 1 클라이언트 단말(A1)은 LAN 인터페이스(221A), VLAN 인터페이스(221B), 제어부(222), 데이터베이스 격납부(223), 표시부(224) 및 조작 입력부(225)를 갖고 있다.
LAN 인터페이스(221A)는 프라이빗 IP 어드레스를 이용해서 제 1 LAN(1) 내의 제 1 중계 서버(A) 및 다른 단말에 대하여 통신을 실행할 수 있다.
VLAN 인터페이스(221B)는 후술하는 가상 IP 어드레스 및 디바이스 세션을 이용해서 제 1 중계 서버(A)를 통해서 제 1 중계 그룹 내의 다른 단말에 대하여 통신을 실행할 수 있다.
제어부(222)는, 예를 들면 제어 및 연산의 기능을 갖는 CPU이며, 로딩된 프로그램에 의해 각종 처리를 실행할 수 있다. 본 실시형태의 제어부(222)는 정보 공유부(231), VLAN 그룹 정보 제어부(232), 기동 커맨드 제어부(233), 가상 어드레스 제어부(234), VLAN 그룹 정보 갱신부(235), IP 패킷 처리부(236), VLAN 세션 제어부(237) 및 클라이언트 통신 제어부(238)를 갖는다.
정보 공유부(231)는 중계 그룹 정보를 중계 그룹 내의 중계 서버 및 중계 서버에 접속된 클라이언트 단말과 공유하고, 중계 그룹 정보 격납부(241)(후술)에 격납한다. 또한, 정보 공유부(231)는 중계 서버 정보를 중계 그룹 내의 중계 서버 및 중계 서버에 접속된 클라이언트 단말과 공유하고, 중계 서버 정보 격납부(242)(후술)에 격납한다. 또한, 정보 공유부(131)는 클라이언트 단말 정보를 중계 그룹 내의 중계 서버 및 클라이언트 단말과 공유하고, 클라이언트 단말 정보 격납부(243)(후술)에 격납한다.
VLAN 그룹 정보 제어부(232)는 중계 그룹 내의 VLAN 클라이언트 단말과 VLAN 클라이언트 단말이 접속된 중계 서버와의 사이에서 VLAN 그룹 정보를 공유하고, VLAN 그룹 정보 격납부(244)(후술)에 격납한다. 또한, VLAN 그룹 정보 제어부(232)는 VLAN 그룹 정보를 작성하는 VLAN 그룹 정보 작성부(232a)를 갖고, 작성한 VLAN 그룹 정보를 VLAN 클라이언트 단말에 송신한다.
기동 커맨드 제어부(233)는 VLAN 그룹의 기동 처리를 행한다. 구체적으로는 기동 커맨드 제어부(233)는 기동하는 VLAN 그룹의 선택을 유저로부터 접수하면 VLAN 클라이언트 단말에 접속된 중계 서버 중 기동하고 있는 중계 서버에 대하여 기동 커맨드를 송신한다. 기동 커맨드는 VLAN 그룹의 기동을 통지하는 커맨드로서, 기동 시각 및 VLAN 그룹의 VLAN 그룹 정보와 함께 송신된다. 여기에서, 기동 커맨드 제어부(233)는 중계 서버 정보 격납부(242)에 격납된 중계 서버 정보를 참조해서 추출한 중계 서버가 기동 가능한지의 여부를 판단한다.
또한, 기동 커맨드 제어부(233)는 기동 커맨드에 대응한 응답 신호를 중계 서버로부터 수신하면 응답 신호로부터 VLAN 디바이스의 IP 어드레스와 MAC 어드레스를 추출한다.
가상 어드레스 제어부(234)는 VLAN 디바이스의 IP 어드레스 및 MAC 어드레스를 포함한 응답 신호를 수신했을 경우에 가상 어드레스 정보를 작성하는 가상 어드레스 작성부(234a)를 갖고, 작성한 가상 어드레스 정보를 제 1 클라이언트 단말(A1)이 접속된 중계 서버에 송신한다. 또한, 가상 어드레스 제어부(234)는 가상 어드레스 정보 및 초기화 커맨드를 수신했을 경우 수신한 가상 어드레스 정보를 가상 어드레스 정보 격납부(245)에 격납한다.
또한, 가상 어드레스 제어부(234)는 가상 어드레스 정보 및 도중 참가 신호를 수신했을 경우에는 가상 어드레스 정보를 참조해서 제 1 클라이언트 단말(A1)에 대하여 가상 어드레스를 결정할 수 있는지의 여부를 판단한다. 가상 어드레스를 결정할 수 있다고 판단했을 경우에는 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)에 대하여 가상 어드레스를 결정하고, 제 1 클라이언트 단말(A1)의 가상 어드레스 정보를 추가해서 가상 어드레스 정보를 갱신한다. 그 후 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)이 접속된 중계 서버에 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 송신한다. 한편, 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)에 대하여 가상 어드레스를 결정할 수 없다고 판단했을 경우에는 VLAN 그룹으로의 도중 참가의 처리를 종료한다.
VLAN 그룹 정보 갱신부(235)는 VLAN 그룹 정보에 변경이 있었을 경우에 갱신된 VLAN 그룹 정보를 VLAN 클라이언트 단말 및 VLAN 클라이언트 단말이 접속되어 있는 중계 서버와의 사이에서 공유한다.
IP 패킷 처리부(236)는 LAN 인터페이스(221A)로부터 수신한 통신 패킷을 클라이언트 통신 제어부(238)에 출력한다. 또한, IP 패킷 처리부(236)는 VLAN 인터페이스(221B)를 통해서 가상 어드레스를 포함하는 통신 패킷을 수신했을 경우 VLAN 세션 제어부(237)에 출력한다.
VLAN 세션 제어부(237)는 가상 어드레스를 포함하는 통신 패킷을 처리하고, 디바이스 세션을 VLAN 세션으로서 기능시킨다. VLAN 세션 제어부(237)는 VLAN 세션을 이용해서 가상 어드레스를 포함하는 통신 패킷을 송신할 경우에는 VLAN 인터페이스(221B)를 통해서 통신 패킷을 송신한다.
클라이언트 통신 제어부(238)는 VLAN 세션 이외의 통신 패킷을 처리하고, LAN 인터페이스(221A)를 통해서 행하는 TCP/IP, UDP 또는 SIP 등의 프로토콜에 따른 여러 가지 통신을 제어한다.
데이터베이스 격납부(223)는, 예를 들면 하드디스크 또는 불휘발 RAM이며, 각종 데이터를 보존할 수 있다. 데이터베이스 격납부(223)는 중계 그룹 정보 격납부(241), 중계 서버 정보 격납부(242), 클라이언트 단말 정보 격납부(243)와, VLAN 그룹 정보 격납부(244) 및 가상 어드레스 정보 격납부(245)를 갖는다. 중계 그룹 정보 격납부(241)와, 중계 서버 정보 격납부(242)와, 클라이언트 단말 정보 격납부(243)와, VLAN 그룹 정보 격납부(244)와, 가상 어드레스 정보 격납부(245)에 격납되는 정보의 상세한 것은 후술한다.
또한, 제 2 클라이언트 단말(A2), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)은 제 1 클라이언트 단말(A1)과 마찬가지이므로 설명을 생략한다.
5. 중계 그룹 정보
도 4는 중계 그룹 정보(20)의 개략 구성을 나타낸다. 중계 그룹 정보는 중계 통신 시스템에 있어서의 각 중계 그룹의 개요를 나타내는 정보로서, 중계 서버의 중계 그룹 정보 격납부(141) 및 클라이언트 단말의 중계 그룹 정보 격납부(241)에 격납된다. 도 4는 제 1 중계 그룹이 제 1 중계 서버(A)와, 제 2 중계 서버(B)와, 제 3 중계 서버(C)로 구성되어 있는 것을 나타낸다.
도 5는 중계 그룹 정보(20)의 상세 구성을 나타낸다. 중계 그룹 정보(20)는 상위 정보(201), 하위 정보(202)로 구성된다.
상위 정보(201)는 제 1 중계 그룹 자체에 대한 정보이다. 「group id」는 중계 그룹의 식별 정보를 나타낸다. 「lastmod」는 중계 그룹 정보의 최신 갱신 시각을 나타낸다. 「name」은 중계 그룹의 명칭을 나타낸다.
하위 정보(202)는 제 1 중계 서버(A), 제 2 중계 서버(B), 제 3 중계 서버(C)에 대한 정보이다. 「site id」는 각 중계 서버의 식별 정보를 나타낸다.
중계 그룹 정보(20)는 제 1 중계 서버(A)와, 제 2 중계 서버(B)와, 제 3 중계 서버(C) 사이에서 공유되고, 각 중계 서버의 중계 그룹 정보 격납부(141)에 격납된다. 또한, 중계 그룹 정보(20)는 중계 서버와 클라이언트 단말 사이에서도 공유되고, 각 클라이언트 단말의 중계 그룹 정보 격납부(241)에 격납된다.
6. 중계 서버 정보
도 6은 중계 서버 정보(30)의 개략 구성을 나타낸다. 중계 서버 정보(30)는 중계 통신 시스템을 구성하는 중계 서버 및 클라이언트 단말의 개요를 나타내는 정보로서, 중계 서버의 중계 서버 정보 격납부(142) 및 클라이언트 단말의 중계 서버 정보 격납부(242)에 격납된다.
도 6에 나타내는 바와 같이 제 1 중계 서버(A)에는 제 1 클라이언트 단말(A1) 및 제 2 클라이언트 단말(A2)이 접속되어 있다. 제 2 중계 서버(B)에는 제 3 클라이언트 단말(B1) 및 제 4 클라이언트 단말(B2)이 접속되어 있다. 제 3 중계 서버(C)에는 제 5 클라이언트 단말(C1)이 접속되어 있다.
도 7은 중계 서버 정보(30)의 상세 구성을 나타낸다. 중계 서버 정보(30)는 상위 정보(301-1, 301-2, 301-3), 하위 정보(302-1, 302-2, 302-3)로 구성된다.
상위 정보(301-1, 301-2, 301-3)는 중계 서버에 대한 정보이다. 「site id」는 중계 서버의 식별 정보를 나타낸다. 「name」은 중계 서버의 명칭을 나타낸다. 「stat」은 중계 서버가 기동하고 있는지의 여부에 대한 정보를 나타낸다.
하위 정보(302-1, 302-2, 302-3)는 클라이언트 단말에 관한 정보이다. 「div」는 클라이언트 단말의 부서명을 나타낸다. 「group」은 클라이언트 단말이 소속된 중계 그룹의 식별 정보를 나타낸다. 「id」는 클라이언트 단말의 식별 정보를 나타낸다. 「name」은 클라이언트 단말의 명칭을 나타낸다. 「site」는 클라이언트 단말이 로그온하고 있을 경우에 로그온처의 중계 서버의 식별 정보를 나타낸다.
중계 서버 정보(30)는 제 1 중계 서버(A), 제 2 중계 서버(B), 제 3 중계 서버(C) 사이에서 공유되고, 각 중계 서버의 중계 서버 정보 격납부(142)에 있어서 격납된다. 또한, 중계 서버 정보(30)는 중계 서버 및 클라이언트 단만 사이에서 공유되고, 각 클라이언트 단말의 중계 서버 정보 격납부(242)에 격납된다.
중계 서버가 기동하고 있을 때에는 상위 정보(301-1, 301-2, 301-3)의 「stat」이 「active」로 되어 있다. 중계 서버가 기동하고 있지 않을 때에는 「stat」이 공란으로 되어 있다. 이에 따라, 중계 서버가 기동하고 있는지의 여부에 대한 정보가 중계 통신 시스템 전체로서 공유된다.
클라이언트 단말이 중계 서버에 로그온하고 있을 때에는 하위 정보(302-1, 302-2, 302-3)의 「site」에 클라이언트 단말의 로그온처의 중계 서버의 식별 정보가 기재되어 있다. 클라이언트 단말이 중계 서버에 로그온하고 있지 않을 때에는 「site」는 공란으로 되어 있다. 이에 따라, 클라이언트 단말이 중계 서버에 로그온하고 있는지의 여부에 대한 정보가 중계 통신 시스템 전체로서 공유된다.
7. 클라이언트 단말 정보
도 8, 도 9 및 도 10은 클라이언트 단말 정보의 구체예로서 클라이언트 단말 정보(40, 50, 60)를 각각 나타낸다. 클라이언트 단말 정보는 중계 통신 시스템을 구성하는 클라이언트 단말의 상세를 나타내는 정보로서, 중계 서버의 클라이언트 단말 정보 격납부(143) 및 클라이언트 단말의 클라이언트 단말 정보 격납부(243)에 격납된다.
「addr」는 클라이언트 단말의 어드레스 정보이며, 구체적으로는 클라이언트 단말의 IP 어드레스를 나타낸다. 「div」는 클라이언트 단말의 부서명을 나타낸다. 「expr」는 클라이언트 단말의 유효 기한 정보이며, 구체적으로는 클라이언트 단말의 레지스트 유효 기한을 나타낸다. 「group」은 클라이언트 단말이 소속되는 중계 그룹의 식별 정보를 나타낸다. 「id」는 클라이언트 단말의 식별 정보를 나타낸다. 「name」은 클라이언트 단말의 명칭을 나타낸다. 「pass」는 클라이언트 단말의 패스워드를 나타낸다. 「port」는 클라이언트 단말 포트 정보이며, 구체적으로는 클라이언트 단말의 포트 번호를 나타낸다.
클라이언트 단말 정보(40, 50, 60)는 중계 그룹 내의 중계 서버와 클라이언트 단말 사이에서 공유되고, 각 중계 서버의 클라이언트 단말 정보 격납부(143) 및 각 클라이언트 단말의 클라이언트 단말 정보 격납부(243)에 격납된다.
8. VLAN 그룹 정보
VLAN 그룹 정보란 VLAN 그룹을 구성하는 VLAN 클라이언트 단말의 정보와, VLAN 클라이언트 단말이 접속된 중계 서버의 정보와, 중계 서버 사이의 세션 정보가 포함된 정보이다.
도 11은 VLAN 그룹 정보(70)의 상세 구성을 나타낸다. VLAN 그룹 정보(70)는 그룹 정보(71), VLAN 클라이언트 단말 정보(72) 및 세션 정보(73)를 포함한다.
그룹 정보(71)는 VLAN 그룹에 관한 정보이다. 그룹 정보(71)에 있어서 「group」은 VLAN 그룹이 구성되는 중계 그룹의 식별 정보이다. 「id」는 VLAN 그룹의 식별 정보를 나타낸다. 「lastmod」는 VLAN 그룹 정보의 최신 갱신 시각을 나타낸다. 「name」은 VLAN 그룹의 명칭을 나타낸다.
VLAN 클라이언트 단말 정보(72)는 VLAN 그룹을 구성하는 VLAN 클라이언트 단말에 관한 정보이다. 「dev id」란 VLAN 클라이언트 단말의 식별 정보를 나타낸다. 이 예에서는 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)이 VLAN 클라이언트 단말이다.
세션 정보(73)에는 허브 정보 및 경로 정보가 포함된다. 허브 정보란 VLAN 클라이언트 단말이 접속된 중계 서버의 식별 정보이다. 경로 정보란 중계 서버 사이의 통신 경로를 정의한 정보로서, 「sp」 및 「ep」가 포함된다. 「sp」란 접속 경로의 스타트 포인트이며, 「sp」에 나타내어지는 중계 서버는 접속 경로의 접속측이 된다. 「ep」란 접속 경로의 엔드 포인트이며, 「ep」에 나타내어지는 중계 서버는 접속 경로의 피접속측이 된다.
이 예에서는 허브 정보로서 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버의 식별 정보가 포함된다. 또한, 경로 정보로서 스타트 포인트가 제 1 중계 서버(A)이며 엔드 포인트가 제 2 중계 서버(B)인 세션이 정의되어 있다. 또한, 스타트 포인트가 제 1 중계 서버(A)이며 엔드 포인트가 제 3 중계 서버(C)인 세션과, 스타트 포인트가 제 2 중계 서버(B)이며 엔드 포인트가 제 3 중계 서버(C)인 세션이 정의되어 있다. 이와 같이 세션 정보(73)에 있어서 중계 서버 사이의 통신 경로의 스타트 포인트와 엔드 포인트를 정의함으로써 중계 서버 사이의 통신 경로가 중복되는 것이 방지되어 있다.
VLAN 그룹 정보(70)는 VLAN 클라이언트 단말 및 VLAN 클라이언트 단말이 접속된 중계 서버 사이에서 공유되고, 각 VLAN 클라이언트 단말의 VLAN 그룹 정보 격납부(244) 및 각 중계 서버의 VLAN 그룹 정보 격납부(144)에 격납된다. 한편, VLAN 그룹 정보(70)는 VLAN 클라이언트 단말 사이에서만 공유되어도 좋다.
이하의 본 실시형태에서는 VLAN 그룹 정보(70)가 VLAN 클라이언트 단말 사이에서 공유되고, 각 VLAN 클라이언트 단말의 VLAN 그룹 정보 격납부(244)에 격납되는 예를 든다. VLAN 그룹 정보(70)의 작성 및 공유에 관한 처리는 후에 상세하게 설명한다.
9. 가상 어드레스 정보
가상 어드레스 정보는 VLAN 그룹의 클라이언트 단말로서 기동 가능한 VLAN 디바이스의 식별 정보, 가상 IP 어드레스 및 가상 MAC 어드레스로 구성된 정보이다. 가상 어드레스 정보는 VLAN 디바이스의 가상 어드레스 정보 격납부(245)에 격납된다. 또한, 가상 어드레스 정보는 중계 서버의 가상 어드레스 정보 격납부(145)에 격납되어도 좋다.
도 12는 가상 어드레스 정보의 상세 구성을 나타낸다. 가상 어드레스 정보(80)에는 VLAN 디바이스의 식별 정보, 가상 IP 어드레스 및 가상 MAC 어드레스가 대응되어 있다. 가상 IP 어드레스 및 가상 MAC 어드레스는 VLAN 디바이스가 실제로 사용하고 있는 IP 어드레스 및 MAC 어드레스와 중복되지 않도록 부여된다. 또한, 가상 IP 어드레스 및 가상 MAC 어드레스는 VLAN 그룹 내에서 각각 서로 중복되지 않도록 부여된다.
이 예에 있어서의 가상 어드레스 정보(80)에서는 VLAN 디바이스로서의 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1)에 관한 식별 정보, 가상 IP 어드레스 및 가상 MAC 어드레스가 대응되고 있다.
후술하는 것과 같이 VLAN 디바이스 사이에서 가상 어드레스 정보(80)가 공유됨으로써 다른 LAN에 소속되는 클라이언트 단말끼리가 VLAN 디바이스로서 통신 가능해진다. 가상 어드레스 정보(80)의 작성 및 공유에 관한 처리는 후에 상세하게 설명한다.
10. 초기 설정
도 13의 시퀀스도를 사용해서 제 1 중계 그룹의 초기 설정에 대해서 설명한다. 구체적으로는 도 13은 중계 그룹 정보, 중계 서버 정보 및 클라이언트 단말 정보의 작성에 관련되는 처리의 흐름을 나타낸다.
10.1 어카운트의 작성
제 1 중계 서버(A)의 관리자는 제 1 클라이언트 단말(A1) 및 제 2 클라이언트 단말(A2)의 유저에 대하여 어카운트를 작성한다[스텝S1, 스텝S2: create_Account()]. 제 2 중계 서버(B)의 관리자는 제 3 클라이언트 단말(B1) 및 제 4 클라이언트 단말(B2)의 유저에 대하여 어카운트를 작성한다[스텝S3, 스텝S4: create_Account()]. 제 3 중계 서버(C)의 관리자는 제 5 클라이언트 단말(C1)의 유저에 대하여 어카운트를 작성한다[스텝S5: Create_Account()].
이상의 처리에 있어서 제 1 중계 서버(A)는 중계 서버 정보를 작성하여 보존한다. 제 2 중계 서버(B)는 중계 서버 정보를 작성하여 보존한다. 제 3 중계 서버(C)는 중계 서버 정보를 작성하여 보존한다. 또한, 제 1 중계 서버(A)는 클라이언트 단말 정보를 작성해서 격납하고, 제 2 중계 서버(B)는 클라이언트 단말 정보를 작성해서 격납하고, 제 3 중계 서버(C)는 클라이언트 단말 정보를 작성해서 격납한다.
도 14, 도 15 및 도 16은 중계 서버 정보(31-1), 중계 서버 정보(31-2) 및 중계 서버 정보(31-3)를 각각 나타낸다. 중계 서버 정보(31-1)는 제 1 중계 서버(A)가 작성하여 보존하는 정보이다. 중계 서버 정보(31-2)는 제 2 중계 서버(B)가 작성하여 보존하는 정보이다. 중계 서버 정보(31-3)는 제 3 중계 서버(C)가 작성하여 보존하는 정보이다.
도 14는 중계 서버 정보(31-1)를 나타낸다. 상위 정보(311-1)는 제 1 중계 서버(A)에 대한 정보이다. 「site id」로서 「serverA@trial.net」이 설정되어 있다. 「name」으로서 「ServerA」가 설정되어 있다. 「stat」으로서 「active」가 설정되어 있다.
하위 정보(312-1)는 제 1 클라이언트 단말(A1) 및 제 2 클라이언트 단말(A2)에 대한 정보이다.
제 1 클라이언트 단말(A1)에 대한 정보는 이하와 같다. 「div」로서 「dev」가 설정되어 있다. 「group」으로서 「1279671471393.clientA1.rd.002@trial.net」이 설정되어 있다. 「id」로서 「clientA1.rd.002@ServerA.trial.net」가 설정되어 있다. 「name」으로서 「clientA1」이 설정되어 있다. 또한, 도 14에 있어서 「site」는 「serverA.trial.net」이 설정되어 있고, 제 1 클라이언트 단말(A1)의 유저는 제 1 중계 서버(A)에 로그온하고 있는 것으로 되어 있지만, 실제로는 도 13의 스텝S1~S5의 단계에서는 「site」는 공란으로 되어 있다.
제 2 클라이언트 단말(A2)에 대한 정보는 이하와 같다. 「div」로서 「dev」가 설정되어 있다. 「group」으로서 「1279671471393.clientA1.rd.002@trial.net」이 설정되어 있다. 「id」로서 「clientA2.rd.002@serverA.trial.net」이 설정되어 있다. 「name」으로서 「clientA2」가 설정되어 있다. 또한, 「site」의 표기는 제 1 클라이언트 단말(A1)의 경우와 마찬가지이다.
중계 서버 정보(31-2) 및 중계 서버 정보(31-3)의 내용은 중계 서버 정보(31-1)의 내용과 마찬가지이므로 설명을 생략한다.
10.2 중계 그룹 정보의 작성
중계 그룹 정보, 중계 서버 정보, 클라이언트 단말 정보의 작성에 관련되는 처리의 흐름을 다시 도 13을 참조해서 설명한다. 도 13에 있어서 제 1 중계 서버(A)는 제 2 중계 서버(B)에 대하여 중계 통신 시스템의 그룹 구축을 요구한다[스텝S6: Set_Group()]. 제 1 중계 서버(A) 및 제 2 중계 서버(B)는 중계 그룹 정보를 작성해서 격납한다. 이어서, 제 1 중계 서버(A)는 제 2 중계 서버(B)에 대하여 중계 서버 정보의 교환을 요구한다[스텝S7: Exchange(db)]. 이에 따라, 제 1 중계 서버(A)는 제 2 중계 서버에 대하여 중계 서버 정보를 송신하고, 제 2 중계 서버(B)는 제 1 중계 서버(A)에 대하여 중계 서버 정보를 송신한다. 제 1 중계 서버(A) 및 제 2 중계 서버(B)는 중계 서버 정보를 합성해서 새로운 중계 서버 정보로 하고, 그것을 보존한다. 또한, 도시되어 있지 않지만 스텝S6 및 스텝S7과 마찬가지의 처리는 제 1 중계 서버(A)와 제 3 중계 서버(C) 사이에서도 실행되고, 또한 제 2 중계 서버(B)와 제 3 중계 서버(C) 사이에서도 실행된다. 그 결과 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C) 사이에서 공통의 중계 서버 정보가 보유된다.
10.3 로그온 동작 시에 있어서의 중계 서버 정보의 갱신
제 2 클라이언트 단말(A2)의 유저는 제 2 클라이언트 단말(A2)의 식별 정보와 패스워드를 입력해서 제 1 중계 서버(A)에 로그온한다[스텝S8: Register]. 제 1 중계 서버(A)는 클라이언트 단말 정보를 참조해서 제 2 클라이언트 단말(A2)의 유저 인증을 행한다. 제 1 중계 서버(A)는 클라이언트 단말 정보를 갱신한다.
이어서, 제 2 클라이언트 단말(A2)은 제 1 중계 서버(A)에 대하여 중계 그룹 정보 및 중계 서버 정보의 제공을 요구한다[스텝S9: Get()]. 제 1 중계 서버(A)는 제 2 클라이언트 단말(A2)에 대하여 중계 그룹 정보 및 중계 서버 정보를 송신한다. 제 2 클라이언트 단말(A2)은 중계 그룹 정보 및 중계 서버 정보를 격납한다.
제 1 중계 서버(A)는 중계 서버 정보를 참조해서 제 2 중계 서버(B)에 관한 「site」가 「active」가 되어 있는 것을 확인하면 중계 서버 정보가 갱신된 것을 제 2 중계 서버(B)에 통지해야 한다고 판단한다. 그리고, 제 1 중계 서버(A)는 제 2 중계 서버(B)에 대하여 중계 서버 정보가 갱신된 것을 통지한다[스텝S10: Notify()]. 제 2 중계 서버(B)는 중계 서버 정보를 갱신하고, 그것을 격납한다. 또한, 제 1 중계 서버(A)는 중계 서버 정보가 갱신된 것을 제 3 중계 서버(C)에도 통지한다[스텝S11: Notify()].
제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)의 유저가 각 중계 서버에 로그온하면 마찬가지로 해서 중계 서버에 있어서의 중계 서버 정보가 갱신된다. 또한, 마찬가지로 해서 각 클라이언트 단말의 유저가 로그오프했을 경우에도 중계 서버에 있어서의 중계 서버 정보가 갱신된다.
또한, 중계 서버 정보의 갱신은 로그온 중의 각 클라이언트 단말에도 통지된다.
11. 각 정보의 공유
11.1 중계 그룹 정보의 공유
중계 그룹의 정보가 변경되었을 경우의 공유 처리에 대하여 도 17을 참조해서 설명한다. 도 17은 중계 그룹 정보 및 중계 서버 정보의 공유에 관계되는 처리의 흐름을 나타내는 도면이다.
도 17에 있어서 제 1 중계 그룹에 변경이 발생하면, 예를 들면 제 1 중계 서버(A)는 제 2 중계 서버(B)에 대하여 변경된 중계 그룹 정보를 송신한다[스텝S21: Set_Group(중계 그룹 정보)]. 그러면 제 2 중계 서버(B)는 제 3 클라이언트 단말(B1)과 제 4 클라이언트 단말(B2)에 중계 그룹 정보를 송신한다[스텝S21.1 및 스텝S21.2: Set_Group(중계 그룹 정보)]. 제 3 클라이언트 단말(B1) 및 제 4 클라이언트 단말(B2)로부터 각각 OK가 돌아오면 제 2 중계 서버(B)는 제 1 중계 서버(A)에 OK를 되돌린다.
또한, 제 1 중계 서버(A)는 변경된 중계 그룹 정보를 제 2 클라이언트 단말(A2)에 송신한다[스텝S22: Set_Group(중계 그룹 정보)]. 제 2 클라이언트 단말(A2)은 제 1 중계 서버(A)에 OK를 되돌린다. 제 1 중계 서버(A)는 변경된 중계 그룹 정보를 제 1 클라이언트 단말(A1)에 송신한다[스텝S23: Set_Group(중계 그룹 정보)]. 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)에 OK를 되돌린다.
제 1 중계 서버(A)는 제 3 중계 서버(C)에 대하여 변경된 중계 그룹 정보를 송신한다[스텝S21.3: Set_Group(중계 그룹 정보)]. 그러면 제 3 중계 서버(C)는 제 5 클라이언트 단말(C1)에 중계 그룹 정보를 송신한다[스텝S21.3.1: Set_Group(중계 그룹 정보)]. 제 5 클라이언트 단말(C1)로부터 OK가 돌아오면 제 3 중계 서버(C)는 제 1 중계 서버(A)에 OK를 되돌린다.
이상의 처리에 의해 모든 중계 서버 및 클라이언트 단말이 중계 그룹 정보를 공유한다.
11.2 중계 서버 정보의 공유
중계 서버 정보의 공유에 대하여 다시 도 17을 참조해서 설명한다. 이 예에서는 공유를 위한 처리는 이벤트 통지의 프레임워크를 사용한다. 이벤트 통지에 있어서 구독자는 리소스의 상태 통지를 요구하는 에이전트이며, 통지자는 리소스의 상태를 통지하는 에이전트이다. 구독 기간 중에 리소스의 상태에 변화가 있었을 때에는 통지자로부터 구독자에게 변화가 통지된다.
제 1 중계 서버(A)는 제 2 중계 서버(B)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S24: Subscribe()]. 제 2 중계 서버(B)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에는 스스로 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 2 중계 서버(B)는 갱신한 중계 서버 정보를 제 1 중계 서버(A)에 송신한다. 제 1 중계 서버(A)는 제 2 중계 서버(B)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 1 중계 서버(A)는 중계 서버 정보가 갱신된 것을 제 1 클라이언트 단말(A1)에 통지하고[스텝S25: Notify(중계 서버 정보)], 또한 제 2 클라이언트 단말(A2)에 통지한다[스텝S26: Notify(중계 서버 정보)].
이어서, 제 1 중계 서버(A)는 제 3 중계 서버(C)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S27: Subscribe()]. 제 3 중계 서버(C)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에 스스로 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 3 중계 서버(C)는 갱신한 중계 서버 정보를 제 1 중계 서버(A)에 송신한다. 제 1 중계 서버(A)는 제 3 중계 서버(C)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 1 중계 서버(A)는 중계 서버 정보가 갱신된 것을 제 1 클라이언트 단말(A1)에 통지하고[스텝S28: Notify(중계 서버 정보)], 또한 제 2 클라이언트 단말(A2)에 통지한다[스텝S29: Notify(중계 서버 정보)].
제 2 중계 서버(B)는 제 1 중계 서버(A)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S30: Subscribe()]. 제 1 중계 서버(A)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에 제 1 중계 서버(A)가 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 1 중계 서버(A)는 갱신한 중계 서버 정보를 제 2 중계 서버(B)에 송신한다. 제 2 중계 서버(B)는 제 1 중계 서버(A)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 2 중계 서버(B)는 중계 서버 정보가 갱신된 것을 제 3 클라이언트 단말(B1)에 통지하고[스텝S31: Notify(중계 서버 정보)], 또한 제 4 클라이언트 단말(B2)에 통지한다[스텝S32: Notify(중계 서버 정보)].
제 2 중계 서버(B)는 제 3 중계 서버(C)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S33: Subscribe()]. 제 3 중계 서버(C)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에 제 3 중계 서버(C)가 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 3 중계 서버(C)는 갱신한 중계 서버 정보를 제 2 중계 서버(B)에 송신한다. 제 2 중계 서버(B)는 제 3 중계 서버(C)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 2 중계 서버(B)는 중계 서버 정보가 갱신된 것을 제 3 클라이언트 단말(B1)에 통지하고[스텝S34: Notify(중계 서버 정보)], 또한 제 4 클라이언트 단말(B2)에 통지한다[스텝S35: Notify(중계 서버 정보)].
제 3 중계 서버(C)는 제 2 중계 서버(B)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S36: Subscribe()]. 제 2 중계 서버(B)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에 제 2 중계 서버(B)가 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 2 중계 서버(B)는 갱신한 중계 서버 정보를 제 3 중계 서버(C)에 송신한다. 제 3 중계 서버(C)는 제 2 중계 서버(B)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 3 중계 서버(C)는 중계 서버 정보가 갱신된 것을 제 5 클라이언트 단말(C1)에 통지한다[스텝S37: Notify(중계 서버 정보)].
제 3 중계 서버(C)는 제 1 중계 서버(A)에 대하여 중계 서버 정보의 구독을 신청한다[스텝S38: Subscribe()]. 제 1 중계 서버(A)는 중계 서버 정보가 나타내는 상태에 변경이 있었을 경우에 제 1 중계 서버(A)가 유지하고 있는 중계 서버 정보를 갱신한다. 그리고, 제 1 중계 서버(A)는 갱신한 중계 서버 정보를 제 3 중계 서버(C)에 송신한다. 제 3 중계 서버(C)는 제 1 중계 서버(A)로부터 송신되어 온 중계 서버 정보를 이용해서 중계 서버 정보를 갱신한다. 제 3 중계 서버(C)는 중계 서버 정보가 갱신된 것을 제 5 클라이언트 단말(C1)에 통지한다[스텝S39: Notify(중계 서버 정보)].
이상의 처리에 의해 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)는 중계 서버 정보가 갱신되었을 경우에도 즉시 갱신된 중계 서버 정보를 공유한다. 따라서, 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)는 다른 중계 서버의 기동 상태, 중계 서버에 접속되어 있는 클라이언트 단말의 종류 및 로그온 상태를 항상 알 수 있다.
11.3 정보 공유의 정리
중계 통신 시스템에 있어서 LAN 및 클라이언트 단말의 증감 상태 및 접속 상태가 변화되었을 경우에는 하나의 중계 서버는 상태 변화를 인식했을 때에는 그 내용에 따라서 중계 그룹 정보, 중계 서버 정보, 클라이언트 단말 정보를 즉시 갱신한다.
그리고, 하나의 중계 서버는 중계 그룹 정보 및 중계 서버 정보에 기재되어 있는 다른 중계 서버에 중계 그룹 정보 및 중계 서버 정보가 갱신된 것을 즉시 통지한다. 또한, 하나의 중계 서버는 클라이언트 단말 정보에 기재되어 있는 클라이언트 단말에 중계 그룹 정보 및 중계 서버 정보가 갱신된 것을 즉시 통지한다.
그러나, 하나의 중계 서버는 다른 중계 서버가 중계 그룹 정보 및 중계 서버 정보에 기재되어 있다고 해도 다른 중계 서버가 미접속 상태에 있다고 판단했을 때에는 다른 중계 서버에 즉시 통지하는 경우는 없다. 또한, 하나의 중계 서버는 클라이언트 단말이 클라이언트 단말 정보에 기재되어 있다고 해도 클라이언트 단말이 미접속 상태에 있다고 판단했을 때에는 클라이언트 단말에 즉시 통지하는 경우는 없다.
이에 따라, LAN 및 클라이언트 단말의 증감 상태 및 접속 상태에 대한 정보는 중계 통신 시스템 전체로서 실시간으로 공유된다.
12. 중계 통신 시스템에 있어서의 데이터의 송수신
상기한 바와 같이 중계 통신 시스템에 있어서 LAN 및 클라이언트 단말의 증감 상태 및 접속 상태에 대한 정보가 공유된 후에 클라이언트 단말을 사용하는 유저가 다른 클라이언트 단말을 지정해서 통신할 때에는 이하와 같이 데이터가 송수신된다.
구체적으로 클라이언트 단말은 지정처의 클라이언트 정보의 클라이언트 단말 정보와 송신하고 싶은 데이터를 포함하는 통신 패킷을 클라이언트 단말이 접속된 중계 서버에 송신한다. 통신 패킷을 수신한 중계 서버는 중계 서버 정보를 참조하여 지정된 클라이언트 단말이 중계 그룹 내의 어느 중계 서버에 배하에 있는지를 확인한다. 또한, 중계 서버는 지정된 클라이언트 단말을 배하에 두는 중계 서버가 기동 상태인지의 여부, 및 지정된 클라이언트 단말이 로그온 상태인지의 여부를 확인한다. 구체적으로는 중계 서버 정보의 상위 정보 「stat」이 「active」로 설정되어 있는 것을 확인함으로써 중계 서버가 기동 상태에 있는지의 여부를 판단할 수 있다. 또한, 중계 서버 정보의 하위 정보 「site」에 클라이언트 단말의 로그온처의 중계 서버의 식별 정보가 기재되어 있는지의 여부를 확인함으로써 클라이언트 단말이 로그온 상태에 있는지의 여부를 판단한다.
중계 서버의 기동 상태 및 클라이언트 단말의 로그온 상태를 확인할 수 있으면 지정된 클라이언트 단말을 배하에 두는 중계 서버에 대하여 수신한 통신 패킷이 송신된다. 또한, 통신 패킷을 수신한 중계 서버는 중계 서버의 배하에 있는 지정된 클라이언트 단말에 대하여 통신 패킷을 송신한다.
13. VLAN 그룹 정보의 작성 및 공유
이어서, VLAN 그룹 정보의 작성 및 공유에 대해서 도 18을 참조해서 설명한다. 도 18은 VLAN 그룹 정보의 작성 처리를 나타내는 플로우차트이다. 이하에서는 제 1 중계 그룹 내에서 LAN 및 클라이언트 단말의 증감 상태 및 접속 상태에 대한 정보가 공유된 상태에서(도 17 참조) 제 1 클라이언트 단말(A1)이 VLAN 그룹 정보를 작성하는 예를 든다. 또한, 이 예에서는 제 1 중계 그룹에 있어서의 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)이 VLAN 클라이언트 단말로서 선택된다.
13.1 VLAN 그룹 정보의 작성
우선, 제 1 클라이언트 단말(A1)의 VLAN 그룹 정보 제어부(232)의 VLAN 그룹 정보 작성부(232a)는 유저로부터 중계 그룹의 선택을 접수한다(스텝S101). 예를 들면, 유저는 중계 그룹 정보 격납부(241)에 격납된 중계 그룹 정보를 참조해서 제 1 클라이언트 단말(A1)이 구비하는 표시부(224) 및 조작 입력부(225)를 통해서 중계 그룹을 선택한다. 이 예에서는 제 1 중계 그룹이 중계 그룹으로서 선택된다.
VLAN 그룹 정보 작성부(232a)는 제 1 중계 그룹의 선택을 접수하면 중계 서버 정보 격납부(242)에 격납된 중계 서버 정보를 참조해서 제 1 중계 그룹의 식별 정보를 추출한다. 또한, 여기에서 중계 서버 정보 대신에 중계 그룹 정보가 참조되어도 좋다.
제 1 중계 그룹의 선택을 접수하면 VLAN 그룹 정보 작성부(232a)는 중계 서버 정보를 참조해서 제 1 중계 그룹을 구성하는 클라이언트 단말의 일람을 표시부(224)에 표시한다(스텝S102). 그 후 VLAN 그룹 정보 작성부(232a)는 조작 입력부(225)를 통해서 유저로부터 VLAN 클라이언트 단말의 선택을 접수한다(스텝S103). 이때, VLAN 그룹 정보 작성부(232a)는 중계 서버 정보를 참조해서 선택을 접수한 VLAN 클라이언트 단말의 식별 정보를 추출한다.
VLAN 그룹 정보 작성부(232a)는 VLAN 클라이언트 단말의 선택을 접수한 후 세션 정보를 작성한다(스텝S104). 구체적으로 VLAN 그룹 정보 작성부(232a)는 허브 세션을 확립하기 위한 중계 서버 사이의 경로 구성을 결정해서 세션 정보를 작성한다.
예를 들면, VLAN 그룹 정보 작성부(232a)는 제 1 중계 서버(A)와 제 2 중계 서버(B)의 세션에 관해서 제 1 중계 서버(A)를 접속측, 제 2 중계 서버(B)를 피접속측으로 결정한다. 그리고, VLAN 그룹 정보 작성부(232a)는 「sp」에 제 1 중계 서버(A)의 식별 번호를 입력하고, 「ep」에 제 1 중계 서버(B)의 식별 번호를 입력한다. 또한, VLAN 그룹 정보 작성부(232a)에 의해 작성된 세션 정보는 조작 입력부(225) 등을 통해서 유저에 의해 수정되어도 좋다.
세션 정보를 작성한 후 VLAN 그룹 정보 작성부(232a)는 VLAN 그룹을 식별하는 식별 정보를 작성한다(스텝S105). 그 후 VLAN 그룹 정보 작성부(232a)는 작성한 VLAN 그룹의 식별 정보와, VLAN 클라이언트 단말의 식별 정보와, 세션 정보를 포함하는 VLAN 그룹 정보를 VLAN 그룹 정보 격납부(244)에 격납한다(스텝S106).
이 처리에서 작성된 VLAN 그룹 정보의 일례가 도 11에서 나타내는 VLAN 그룹 정보(70)이다. 상술한 바와 같이 VLAN 그룹 정보(70)에는 그룹 정보(71)와, VLAN 클라이언트 단말 정보(72)와, 세션 정보(73)가 포함된다. 구체적으로 그룹 정보(71)는 제 1 중계 그룹의 식별 정보로서 「1279671471393.clientA1.rd.002@trial.net」을 갖는다. 또한, 그룹 정보(71)는 VLAN 그룹 식별 정보로서 「1279672104671.clientA1.rd.002@trial.net」, VLAN 그룹의 명칭으로서 「vlangroup1」을 갖는다. 이하, VLAN 그룹 정보(70)가 나타내는 VLAN 그룹을 제 1 VLAN 그룹이라고 한다.
또한, VLAN 클라이언트 단말 정보(72)에는 유저에 의해 선택된 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1) 각각의 식별 정보가 나타내어진다.
또한, 세션 정보(73)는 「sp」가 제 1 중계 서버(A)이며 「ep」가 제 2 중계 서버(B)인 세션 정보를 갖는다. 또한, 세션 정보(73)는 「sp」가 제 1 중계 서버(A)이며 「ep」이 제 3 중계 서버(C)인 세션 정보, 및 「sp」가 제 2 중계 서버(B)이며 「ep」이 제 3 중계 서버(C)인 세션 정보를 갖는다.
상기한 바와 같이 작성된 VLAN 그룹 정보는 그 후 VLAN 클라이언트 단말에 송신된다(스텝S107).
13.2 VLAN 그룹 정보의 공유
이어서, 도 19의 시퀀스도를 참조해서 VLAN 클라이언트 단말 사이에서 VLAN 그룹 정보(70)가 공유되는 처리를 설명한다. 도 19는 VLAN 그룹 정보의 공유에 관계되는 처리의 흐름을 나타내는 도면이다. VLAN 그룹 정보(70)의 공유에 관계되는 처리는 각 중계 서버의 VLAN 그룹 정보 제어부(132) 및 각 클라이언트 단말의 VLAN 그룹 정보 제어부(232)에 의해 제어된다.
VLAN 그룹 정보(70)를 작성한 제 1 클라이언트 단말(A1)은 VLAN 클라이언트 단말인 제 3 클라이언트 단말(B1)에 대하여 VLAN 그룹 정보(70)를 송신한다. 구체적으로는 제 1 클라이언트 단말(A1)은 우선, 제 1 중계 서버(A)에 대하여 VLAN 그룹 정보(70)를 송신한다[스텝S41: createVlanGroup(vlanGroup)]. 제 1 중계 서버(A)는 수신한 VLAN 그룹 정보(70)를 제 2 중계 서버(B)에 대하여 송신한다[스텝S41.1: createVlanGroup(vlanGroup)]. 제 2 중계 서버(B)는 제 3 클라이언트 단말(B1)에 대하여 VLAN 그룹 정보(70)를 송신한다[스텝S41.1.1: createVlanGroup(vlanGroup)]. VLAN 그룹 정보(70)를 수신한 제 3 클라이언트 단말(B1)은 수신한 VLAN 그룹 정보(70)를 VLAN 그룹 정보 격납부(244)에 격납하고, 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 제 2 중계 서버(B)는 제 1 중계 서버(A)에 OK를 되돌리고, 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 OK를 되돌린다.
이어서, 제 1 클라이언트 단말(A1)은 VLAN 클라이언트 단말인 제 4 클라이언트 단말(B2)에 대하여 VLAN 그룹 정보(70)를 송신한다. 구체적으로는 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)에 대하여 VLAN 그룹 정보(70)를 송신한다[스텝S42: createVlanGroup(vlanGroup)]. 제 1 중계 서버(A)는 수신한 VLAN 그룹 정보(70)를 제 2 중계 서버(B)에 대하여 송신한다[스텝S42.1: createVlanGroup(vlanGroup)]. 제 2 중계 서버(B)는 수신한 VLAN 그룹 정보(70)를 제 4 클라이언트 단말(B2)에 대하여 송신한다[스텝S42.1.1: createVlanGroup(vlanGroup)]. VLAN 그룹 정보(70)를 수신한 제 4 클라이언트 단말(B2)은 수신한 VLAN 그룹 정보(70)를 VLAN 그룹 정보 격납부(244)에 격납하고, 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 제 2 중계 서버(B)는 제 1 중계 서버(A)에 OK를 되돌리고, 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 OK를 되돌린다.
또한, 제 1 클라이언트 단말(A1)은 제 5 클라이언트 단말(C1)에 대하여 VLAN 그룹 정보(70)를 송신한다. 구체적으로는 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)에 대하여 VLAN 그룹 정보(70)를 송신한다[스텝S43: createVlanGroup(vlanGroup)]. 제 1 중계 서버(A)는 수신한 VLAN 그룹 정보(70)를 제 3 중계 서버(C)에 대하여 송신한다[스텝S43.1: createVlanGroup(vlanGroup)]. 제 3 중계 서버(C)는 수신한 VLAN 그룹 정보를 제 5 클라이언트 단말(C1)에 대하여 송신한다[스텝S43.1.1: createVlanGroup(vlanGroup)]. VLAN 그룹 정보(70)를 수신한 제 5 클라이언트 단말(C1)은 수신한 VLAN 그룹 정보(70)를 VLAN 그룹 정보 격납부(244)에 격납하고, 제 3 중계 서버(C)에 OK를 되돌린다. 또한, 제 3 중계 서버(C)는 제 1 중계 서버(A)에 OK를 되돌리고, 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 OK를 되돌린다.
이상의 처리에 의해 VLAN 그룹의 구성하는 클라이언트 단말로서 선택된 모든 VLAN 클라이언트 단말이 VLAN 그룹 정보(70)를 공유한다. 이렇게 해서 VLAN 그룹 내의 클라이언트 단말끼리에서 행해지는 VLAN 세션의 준비가 실현되게 된다.
또한, 상기 처리에 있어서 VLAN 그룹 정보(70)는 VLAN 클라이언트 단말 사이뿐만 아니라 VLAN 클라이언트 단말이 접속된 중계 서버 사이에 있어서도 공유되어도 좋다. 이 경우 각 중계 서버는 VLAN 그룹 정보(70)를 수신했을 때에 VLAN 그룹 정보(70)를 VLAN 그룹 정보 격납부(144)에 격납하면 좋다.
14. 클라이언트 단말에 있어서의 VLAN 세션의 확립 처리 및 VLAN 통신 개시의 처리
본 실시형태의 중계 통신 시스템에서는 상기 처리에 의해 작성하여 공유된 VLAN 그룹 정보(70)에 의거하여 VLAN 세션이 확립되고, 허브의 기능을 실현하는 복수의 중계 서버를 통해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다. 이하, VLAN 그룹 정보의 기동 지시를 접수한 클라이언트 단말에 있어서의 VLAN 세션 확립 처리 및 VLAN 통신 개시의 처리에 대하여 도 20a 및 도 20b를 참조해서 설명한다. 도 20a 및 도 20b는 클라이언트 단말에 의한 VLAN 세션의 확립 처리를 나타내는 플로우차트를 나타낸다.
VLAN 세션 확립의 처리는 VLAN 그룹을 구성하는 어느 하나의 VLAN 클라이언트 단말 또는 VLAN 클라이언트 단말이 접속된 중계 서버가 유저로부터 VLAN 그룹의 기동 지시를 접수함으로써 개시된다. 이 예에서는 제 1 클라이언트 단말(A1)이 VLAN 그룹 정보(70)에 나타내어지는 제 1 VLAN 그룹에 대한 기동 지시를 유저로부터 접수한다. 또한, 이 예에서는 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1)이 VLAN 디바이스이다.
14.1 기동 커맨드의 송신 및 응답 신호 수신
우선, 제 1 클라이언트 단말(A1)의 기동 커맨드 제어부(233)는 기동하는 VLAN 그룹의 선택을 접수한다(스텝S111). 구체적으로 기동 커맨드 제어부(233)는 표시부(224)에 VLAN 그룹 정보 격납부(244)에 격납되어 있는 VLAN 그룹 정보의 일람을 표시하고, 조작 입력부(225)를 통해서 기동해야 할 VLAN 그룹의 선택을 접수한다. 이 예에서는 VLAN 그룹 정보(70)에 나타내어지는 제 1 VLAN 그룹이 선택된다.
제 1 VLAN 그룹의 선택을 접수하면 기동 커맨드 제어부(233)는 VLAN 그룹 정보(70)로부터 중계 서버의 정보를 판독한다(스텝S112). 구체적으로는 기동 커맨드 제어부(233)는 VLAN 그룹 정보(70)의 세션 정보(73)로부터 허브의 역할을 하는 중계 서버의 식별 정보를 판독한다. 이때, 기동 커맨드 제어부(233)는 필터링 처리를 통해서 중계 서버의 식별 정보가 중복되지 않도록 판독한다. 이 예에서는 기동 커맨드 제어부(233)는 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)의 식별 정보를 판독한다.
이어서, 기동 커맨드 제어부(233)는 스텝S113~스텝S116의 처리를 행한다. 구체적으로는 중계 서버 정보 격납부(242)에 격납되어 있는 중계 서버 정보를 참조해서 판독한 중계 서버 중 제 1 클라이언트 단말(A1) 이외의 VLAN 클라이언트 단말이 접속되어 있는 중계 서버가 기동하고 있는지의 여부를 판단한다(스텝S113). 그리고, 기동 커맨드 제어부(233)는 기동하고 있는 중계 서버에 대하여 스텝S114~스텝S116의 처리를 행한다. 이 예에서는 제 1 클라이언트 단말(A1) 이외의 VLAN 클라이언트 단말이 접속된 제 2 중계 서버(B) 및 제 3 중계 서버(C)에 대하여 스텝S114~스텝S116의 처리가 행해진다.
우선, 기동 커맨드 제어부(233)는 중계 서버 정보 격납부(242)에 격납되어 있는 중계 서버 정보를 참조해서 제 2 중계 서버(B)가 기동하고 있는지의 여부를 판단한다. 구체적으로 기동 커맨드 제어부(233)는 중계 서버 정보의 상위 정보 「stat」이 「active」로 설정되어 있는 것을 확인함으로써 제 2 중계 서버(B)가 기동 가능한지의 여부를 판단한다. 제 2 중계 서버(B)가 기동하고 있을 경우에는 기동 커맨드 제어부(233)는 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 포함하는 기동 정보를 제 2 중계 서버(B)에 송신한다(스텝S114). 기동 커맨드란 VLAN 그룹의 기동을 통지하는 커맨드이다.
또한, 이때 기동 정보를 수신한 제 2 중계 서버(B)는 VLAN 그룹 정보(70)를 VLAN 그룹 정보 격납부(144)에 격납한다. 한편, VLAN 그룹 정보의 공유 처리에 있어서 VLAN 클라이언트 단말 사이뿐만 아니라 제 2 중계 서버(B) 및 제 3 중계 서버(C)에 있어서도 VLAN 그룹 정보(70)가 공유되어 있을 경우에는 VLAN 그룹 정보(70)의 송신은 생략되고, 제 1 VLAN 그룹의 식별 정보만이 송신되어도 좋다.
이어서, 기동 커맨드 제어부(233)는 제 2 중계 서버(B)로부터의 응답 신호를 수신한다. 여기에서 제 2 중계 서버(B)로부터의 응답 신호에는 제 2 중계 서버(B)에 접속된 VLAN 클라이언트 단말 중 VLAN 디바이스의 식별 정보와 IP 어드레스와 MAC 어드레스가 포함되어 있다. 제 2 중계 서버(B)에 의한 응답 신호의 작성 처리는 후술한다.
기동 커맨드 제어부(233)는 제 2 중계 서버(B)로부터의 응답 신호를 수신하면(스텝S115에서 Yes), 수신한 응답 신호로부터 VLAN 디바이스의 식별 정보, IP 어드레스 및 MAC 어드레스를 추출한다(스텝S116).
그 후 기동 커맨드 제어부(233)는 중계 서버 정보를 다시 참조해서 스텝S113~스텝S116의 처리가 행해져야 할 다른 중계 서버가 있는지의 여부를 판단한다(스텝S117). 그 밖에 중계 서버가 있을 경우에는(스텝S117에서 Yes), 기동 커맨드 제어부(233)는 다른 중계 서버 각각에 대하여 스텝S113~스텝S116의 처리를 행한다.
이하, 스텝S115에 있어서 제 2 중계 서버(B) 및 제 3 중계 서버(C)로부터 응답 신호를 수신한 예를 들어서 설명을 계속한다.
도 21은 VLAN 디바이스의 IP 어드레스와 MAC 어드레스에 관한 제 1 추출 정보의 일례를 나타낸다. 제 1 추출 정보(90)에는 스텝S116에 있어서 응답 신호로부터 추출한 VLAN 디바이스의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함된다. 도 21에 나타내는 제 1 추출 정보(90-1)는 제 2 중계 서버(B)로부터 수신한 응답 신호로부터 추출한 추출 정보이며, 제 1 추출 정보(90-2)는 제 3 중계 서버(C)로부터 수신한 응답 신호로부터 추출한 추출 신호이다. 제 1 추출 정보(90-1)에는 제 2 중계 서버(B)에 접속된 VLAN 디바이스인 제 3 클라이언트 단말(B1)의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함된다. 제 1 추출 정보(90-2)에는 제 3 중계 서버(C)에 접속된 VLAN 디바이스인 제 5 클라이언트 단말(C1)의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함된다.
또한, 중계 서버가 기동하고 있지 않다고 판단했을 경우(스텝S113에서 No)에는 스텝S117로 진행된다.
14.2 가상 어드레스 정보의 작성 및 송신
다른 중계 서버가 없다고 판단했을 경우(스텝S117에서 No)에는 이어서 가상 어드레스 제어부(234)의 가상 어드레스 작성부(234a)에 의해 가상 어드레스 정보가 작성된다(스텝S118). 가상 어드레스 정보에는 각 VLAN 디바이스에 할당되는 가상 IP 어드레스 및 가상 MAC 어드레스가 포함된다.
가상 어드레스의 작성 처리에 대해서 도 12 및 도 21과, 또한 도 22를 참조해서 설명한다. 도 22는 도 21의 제 1 추출 정보에 제 1 클라이언트 단말(A1)의 IP 어드레스 및 MAC 어드레스를 추가한 제 2 추출 정보의 일례를 나타낸다.
가상 어드레스 작성부(234a)는 우선, 제 1 추출 정보(90)에 제 1 클라이언트 단말(A1)인 제 1 클라이언트 단말(A1)의 식별 정보, IP 어드레스 및 MAC 어드레스를 추가한다. 그리고, 가상 어드레스 작성부(234a)는 제 1 클라이언트 단말(A1) 및 스텝S116에서 추출한 VLAN 디바이스의 정보를 모두 합한 제 2 추출 정보(91)를 작성한다. 도 22에 나타내는 바와 같이 제 2 추출 정보(91)에서는 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1) 각각의 식별 정보, IP 어드레스 및 MAC 어드레스가 하나의 테이블에 정리되어 있다.
이어서, 가상 어드레스 작성부(234a)는 제 2 추출 정보(91)에 나타내어지는 IP 어드레스 및 MAC 어드레스에 의거하여 가상 어드레스 정보를 작성한다. 구체적으로는 가상 어드레스 작성부(234a)는 제 2 추출 정보(91)에 나타내어지는 IP 어드레스와 중복되지 않는 IP 어드레스를 가상 IP 어드레스로 해서 각 VLAN 디바이스에 할당한다. 또한, 가상 어드레스 작성부(234a)는 제 2 추출 정보(91)에 나타내어지는 MAC 어드레스와 중복되지 않는 MAC 어드레스를 가상 MAC 어드레스로 해서 각 VLAN 디바이스에 할당한다. 또한, 가상 어드레스 작성부(234a)는 각 VLAN 디바이스 사이에서 가상 IP 어드레스 및 가상 MAC 어드레스가 중복되지 않도록 각 VLAN 디바이스에 가상 IP 어드레스 및 가상 MAC 어드레스를 할당한다. 이 예에서는 가상 IP 어드레스 및 가상 MAC 어드레스의 말미에 각각 다른 숫자를 할당함으로써 VLAN 디바이스 사이의 가상 어드레스의 중복을 방지한다.
상기 처리에 의해 작성된 가상 어드레스 정보가 도 12에 나타내는 가상 어드레스 정보(80)이다. 이 예에서는 식별 정보 「clientA1.rd.002@trial.net」에 의해 식별되는 제 1 클라이언트 단말(A1)에 대하여 가상 IP 어드레스 「117.112.0.1」 및 가상 MAC 어드레스 「00.11.22:f0.00.01」가 할당된다. 또한, 식별 정보 「clientB1.rd.002@trial.net」에 의해 식별되는 제 3 클라이언트 단말(B1)에 대하여 가상 IP 어드레스 「117.112.0.2」 및 가상 MAC 어드레스 「00.11.22:f0.00.02」가 할당된다. 식별 정보 「clientC1.rd.002@trial.net」에 의해 식별되는 제 5 클라이언트 단말(C1)에 대하여 가상 IP 어드레스 「117.112.0.3」 및 가상 MAC 어드레스 「00.11.22:f0.00.03」가 할당된다.
14.3 VLAN 세션의 확립
이어서, 가상 어드레스 제어부(234)는 작성한 가상 어드레스 정보(80)를 초기화 커맨드와 함께 허브를 구성하는 중계 서버에 송신한다(스텝S119). 초기화 커맨드란 VLAN 인터페이스의 초기화에 관한 커맨드로서, 제 1 VLAN 그룹의 식별 정보인 「1279672104671.clientA1.rd.002@trial.net」가 포함된다. 이 예에서는 가상 어드레스 제어부(234)는 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)에 대하여 작성한 가상 어드레스 정보(80)와 초기화 커맨드를 송신한다. 이때, 가상 어드레스 정보(80)와 초기화 커맨드를 수신한 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)는 VLAN 그룹 정보(70)의 세션 정보(73)를 참조해서 중계 서버 사이의 허브 세션을 확립한다. 중계 서버 사이의 허브 세션의 확립에 대해서는 후에 상세하게 설명한다.
그 후 VLAN 세션 제어부(237)는 제 1 중계 서버(A)와의 사이에 디바이스 세션의 확립 처리를 행한다(스텝S120). 상세하게는 제 1 중계 서버(A)로부터의 디바이스 세션의 확립 요구에 대하여 OK를 되돌림으로써 디바이스 세션을 VLAN 세션으로서 기능시킨다. 또한, 이때 제 2 중계 서버(B)와 제 3 클라이언트 단말(B1) 사이에 있어서도 디바이스 세션이 확립된다. 또한, 제 3 중계 서버(C)와 제 5 클라이언트 단말(C1) 사이에 있어서도 디바이스 세션이 확립된다.
14.4 VLAN 통신의 개시
이상과 같이 VLAN 그룹 내에 있어서 허브 세션 및 디바이스 세션을 포함하는 VLAN 세션이 확립되면 VLAN 세션 제어부(237)는 제 1 클라이언트 단말(A1)의 VLAN 인터페이스(221B)를 초기화해서 VLAN 인터페이스(221B)에 가상 어드레스를 설정한다. 구체적으로는 VLAN 세션 제어부(237)는 제 1 클라이언트 단말(A1)의 VLAN 인터페이스(221B)에 가상 어드레스 정보(80)의 가상 IP 어드레스 및 가상 MAC 어드레스를 설정한다(스텝S121). 이때, 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1)도 각각의 VLAN 인터페이스에 가상 어드레스 정보(80)의 가상 IP 어드레스 및 가상 MAC 어드레스를 설정한다.
이상의 처리에 의해 각 VLAN 디바이스에 있어서 가상 어드레스가 설정되면 가상 어드레스와 VLAN 세션을 사용해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다(스텝S122).
14.5 VLAN 그룹으로의 도중 참가
상기 예에 있어서 제 1 클라이언트 단말(A1)이 제 1 VLAN 그룹의 기동의 선택을 접수해서 기동 정보를 송신하는 경우에 있어서 이미 제 1 VLAN 그룹이 다른 클라이언트 단말 또는 중계 서버로부터의 기동 지시에 의해 기동되어 있을 경우가 있다. 이러한 경우 제 1 VLAN 그룹의 기동의 중복을 해소하기 위해서 이하의 처리가 행해진다.
이미 제 1 VLAN 그룹이 기동되어 있을 경우에는 제 2 중계 서버(B) 및/또는 제 3 중계 서버(C)로부터 기동 정보의 송신에 대한 응답 신호(스텝S114 참조)는 송신되지 않는다. 따라서, 기동 커맨드 제어부(233)는 응답 신호를 수신하지 않고(스텝S115에서 No), 제 2 중계 서버(B) 및/또는 제 3 중계 서버(C)로부터 도중 참가 신호를 수신한 것인지의 여부를 판단한다(스텝S123). 도중 참가 신호란 제 1 VLAN 그룹으로의 제 1 클라이언트 단말(A1)의 도중 참가를 허가하는 신호이다. 도중 참가 신호에는 앞서 제 1 VLAN 그룹의 기동에 의해 이미 작성되어 있는 가상 어드레스 정보가 포함되어 있다.
제 1 클라이언트 단말(A1)이 제 1 VLAN 그룹으로 도중 참가할 수 있는지의 여부는 VLAN 클라이언트 단말이 접속되어 있어 기동하고 있는 어느 하나의 중계 서버에 의해 판단된다. 예를 들면, 제 2 중계 서버(B)에 의해 도중 참가의 판단이 이루어졌을 경우에는 제 1 중계 서버(A)를 통해서 제 2 중계 서버(B)로부터 제 1 클라이언트 단말(A1)에 대하여 도중 참가 신호가 송신된다. 중계 서버에 의한 도중 참가 신호의 송신에 대해서는 후에 상세하게 설명한다.
여기에서, 제 2 중계 서버(B)로부터 도중 참가 신호를 수신하지 않을 경우에는(스텝S123에서 No), 기동 커맨드 제어부(233)는 기동 처리의 중복 에러의 처리를 실행하고, 기동 처리를 종료한다(스텝S125).
한편, 도중 참가 신호를 수신하면, 이어서 가상 어드레스 제어부(234)는 도중 참가 신호와 함께 수신한 가상 어드레스 정보를 판독하고(스텝S124), 가상 어드레스 정보로부터 VLAN 디바이스에 할당되어 있는 가상 IP 어드레스 및 가상 MAC 어드레스를 추출한다(스텝S126).
이어서, 가상 어드레스 제어부(234)는 추출한 가상 IP 어드레스 및 가상 MAC 어드레스를 참조해서 제 1 클라이언트 단말(A1)에 대하여 가상 어드레스를 결정할 수 있는지의 여부를 판단한다"(스텝S127). 구체적으로는 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)이 현재 사용하고 있는 IP 어드레스가 추출한 가상 IP 어드레스와 동일한 어드레스 체계는 아닌지의 여부를 판단한다. 또한, 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)이 현재 사용하고 있는 MAC 어드레스가 추출한 가상 MAC 어드레스와 동일한 어드레스 체계가 아닌지의 여부를 판단한다. 여기에서, 예를 들면 제 1 클라이언트 단말(A1)의 어드레스의 세그먼트와 가상 어드레스의 세그먼트가 같을 경우에는 가상 어드레스 제어부(234)는 기동 에러라고 판단해서 VLAN 그룹으로의 도중 참가의 처리를 종료한다(스텝S128).
한편, 제 1 클라이언트 단말(A1)의 IP 어드레스 및 MAC 어드레스와 가상 IP 어드레스 및 가상 MAC 어드레스 사이가 다른 어드레스 체계일 경우에는 가상 어드레스 제어부(234)는 제 1 클라이언트 단말(A1)에 대하여 가상 어드레스를 결정하여 가상 어드레스 정보를 갱신한다(스텝S129). 예를 들면, 가상 어드레스 제어부(234)는 추출한 가상 IP 어드레스 및 가상 MAC 어드레스 각각의 말미를 변경한 가상 IP 어드레스 및 가상 MAC 어드레스를 제 1 클라이언트 단말(A1)에 할당한다. 그리고, 가상 어드레스 제어부(234)는 할당한 가상 IP 어드레스 및 가상 MAC 어드레스와 제 1 클라이언트 단말(A1)의 식별 정보를 가상 어드레스 정보에 추가함으로써 가상 어드레스 정보를 갱신한다.
가상 어드레스 정보를 갱신한 후 가상 어드레스 제어부(234)는 갱신한 가상 어드레스 정보 및 도중 참가 커맨드를 제 1 중계 서버(A)에 송신한다(스텝S131). 도중 참가 커맨드는 VLAN으로의 도중 참가를 나타내는 커맨드로서, VLAN 그룹의 식별 정보가 포함되어 있다.
제 1 중계 서버(A)로부터 OK라는 응답을 수신했을 경우에는(스텝S132에서 Yes), 스텝S120으로 진행되고, VLAN 세션 제어부(237)에 의해 제 1 중계 서버(A)와의 사이에 있어서의 디바이스 세션의 확립 처리가 행해진다. 한편, 제 1 중계 서버(A)로부터 OK라는 응답을 수신하지 않을 경우에는(스텝S132에서 No), 가상 어드레스 제어부(234)는 기동 에러라고 판단해서 처리를 종료한다(스텝S133).
또한, 갱신한 가상 어드레스 정보 및 도중 참가 커맨드는 그 후 중계 서버를 통해서 각 VLAN 디바이스에 송신된다.
상기와 같은 처리를 실행함으로써 제 1 VLAN 그룹의 기동의 중복을 해소할 수 있다. 또한, 제 1 VLAN 그룹의 기동 지시가 중복되었을 경우에도 후에 기동 지시를 행한 클라이언트 단말은 클라이언트 단말이 사용하는 어드레스와 앞서 제 1 VLAN 그룹의 기동에 의해 작성된 가상 어드레스가 동일한 어드레스 체계가 아니면 제 1 VLAN 그룹에 도중 참가할 수 있다.
15. 중계 서버에 있어서의 VLAN 세션의 확립 처리 및 VLAN 통신 개시의 처리
이어서, VLAN 그룹의 기동 지시를 접수한 클라이언트 단말로부터 기동 정보를 수신한 중계 서버에 있어서의 VLAN 세션 확립 처리 및 VLAN 통신 개시의 처리에 대해서 설명한다. 이 예에서는 제 1 클라이언트 단말(A1)로부터의 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 포함하는 기동 정보를 수신한 제 2 중계 서버(B)의 처리를 설명한다(도 20a의 스텝S114 참조). 또한, 제 1 클라이언트 단말(A1)로부터 기동 정보를 접수하는 제 3 중계 서버(C)의 처리에 대해서는 제 2 중계 서버(B)와 마찬가지의 처리이기 때문에 그 설명을 생략한다.
15.1 응답 신호의 송신
우선, 도 23a 및 도 23b를 참조해서 기동 정보에 대한 제 2 중계 서버(B)에 의한 응답 신호의 송신 처리에 대해서 설명한다. 도 23a 및 도 23b는 기동 정보에 대한 중계 서버에 의한 응답 신호의 송신 처리를 나타내는 플로우차트이다. 제 2 중계 서버(B)의 기동 커맨드 제어부(133)는 제 1 클라이언트 단말(A1)로부터 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 포함하는 기동 정보를 수신했을 경우(스텝S141에서 Yes), VLAN 그룹 정보(70)로부터 VLAN 그룹의 식별 정보를 추출한다(스텝S142). 이 예에서는 기동 커맨드 제어부(133)는 VLAN 그룹 정보(70)로부터 식별 정보 「1279672104671.clientA1.rd.002@trial.net」를 추출한다. 그리고, 기동 커맨드 제어부(133)는 이 식별 정보를 갖는 제 1 VLAN 그룹이 이미 기동되어 있는지의 여부를 확인한다(스텝S143). 제 1 VLAN 그룹이 기동되어 있지 않은 경우에는 제 1 VLAN 그룹의 기동 처리가 개시되어(스텝S144) 후술하는 스텝S151으로 진행된다.
한편, 제 1 VLAN 그룹이 이미 기동되어 있을 경우에는 기동 커맨드 제어부(133)는 제 1 클라이언트 단말(A1)로부터 수신한 기동 시각과, 앞서 수신한 제 1 VLAN 그룹의 기동 정보에 포함되어 있는 기동 시각을 비교한다(스텝S145). 제 1 클라이언트 단말(A1)로부터 수신한 기동 시각이 유효한 경우에는(스텝S146에서 Yes), 이미 수신하고 있는 기동 시각을 제 1 클라이언트 단말(A1)로부터 수신한 기동 시각에 덮어쓰고(스텝S147), 스텝S151으로 진행한다. 여기에서는 보다 빠른 기동 시각이 유효한 기동 시각인 것으로 판단된다.
제 1 클라이언트 단말(A1)로부터 수신한 기동 시각이 유효하지 않을 경우에는(스텝S146에서 No), 기동 커맨드 제어부(133)는 초기화 커맨드 및 가상 어드레스 정보를 수신하고 있는지의 여부를 더 판단한다(스텝S148). 즉, 기동 커맨드 제어부(133)는 앞서 제 1 VLAN 그룹의 기동이 초기화 커맨드 및 가상 어드레스 정보의 송부의 처리까지 이미 실행되어 있는지의 여부를 판단한다.
초기화 커맨드 및 가상 어드레스 정보를 수신하고 있을 경우에는(스텝S148에서 Yes) 기동 커맨드 제어부(133)는 제 1 클라이언트 단말(A1)에 대하여 도중 참가 신호와, 수신한 초기화 커맨드 및 가상 어드레스 정보를 송신한다(스텝S149). 상술한 바와 같이 도중 참가 신호란 제 1 VLAN 그룹으로의 제 1 클라이언트 단말(A1)의 도중 참가를 허가하는 신호이다.
초기화 커맨드 및 가상 어드레스 정보를 수신하지 않고 있을 경우에는(스텝S148에서 No), 기동 커맨드 제어부(133)는 기동 처리의 중복 에러 신호를 제 1 클라이언트 단말(A1)로 회신하고, 기동 처리를 종료한다(스텝S150). 왜냐하면 가상 어드레스 정보를 수신하고 있지 않을 경우에는 수신한 가상 어드레스 정보에 의거한 제 2 중계 서버(B)로의 가상 어드레스의 할당 처리를 실행할 수 없기 때문이다[도 20b의 스텝S127, 스텝S129 참조).
제 1 VLAN 그룹의 기동 처리가 개시되고(스텝S144), 또는 기동 시각의 덮어쓰기 처리(스텝S147)가 이루어졌을 경우, 기동 커맨드 제어부(133)는 이어서 VLAN 그룹 정보(70)로부터 제 2 중계 서버(B)에 접속되어 있는 VLAN 클라이언트 단말의 추출 처리를 실행한다(스텝S151). 제 2 중계 서버(B)에 접속되어 있는 VLAN 클라이언트 단말이 있을 경우(스텝S152에서 Yes), 기동 커맨드 제어부(133)는 VLAN 클라이언트 단말을 기동할 수 있는지의 여부를 판단한다(스텝S154). 기동 가능한 VLAN 클라이언트 단말이란 현재 로그인 중이며 또한 다른 VLAN 그룹에 현재 참가하고 있지 않는 클라이언트 단말이다. 이하, 기동 커맨드 제어부(133)에 의해 기동 가능하다고 판단된 VLAN 클라이언트 단말을 VLAN 디바이스라고 한다. 이 예에서는 기동 커맨드 제어부(133)는 VLAN 디바이스로서 제 3 클라이언트 단말(B1)을 추출한다. 또한, VLAN 디바이스인지의 아닌지의 판단에 있어서 기동 커맨드 제어부(133)는 중계 서버 정보 격납부(142)에 격납된 중계 서버 정보를 참조해서 제 3 클라이언트 단말(B1)이 로그인 중인지의 여부를 판단한다. 또한, 기동 커맨드 제어부(133)는 로그인 중인 제 3 클라이언트 단말(B1)에 기동 커맨드를 송신한다. 그리고, 제 3 클라이언트 단말(B1)로부터 기동 커맨드에 대한 OK 신호를 수신하면 기동 커맨드 제어부(133)는 제 3 클라이언트 단말(B1)이 VLAN 디바이스인 것으로 판단한다.
그 후 기동 커맨드 제어부(133)는 VLAN 기동 커맨드를 제 3 클라이언트 단말(B1)에 송신한다(스텝S155). VLAN 기동 커맨드란 VLAN 클라이언트 단말을 VLAN 디바이스로서 기동 시키는 커맨드이다. 제 3 클라이언트 단말(B1)로부터 OK 응답을 수신했을 경우(스텝S156에서 Yes), 기동 커맨드 제어부(133)는 응답 신호를 제 1 클라이언트 단말(A1)로 송신한다(스텝S157). 응답 신호에는 제 3 클라이언트 단말(B1)의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함된다. 여기에서, 기동 커맨드 제어부(133)는 로그인 중인 제 3 클라이언트 단말(B1)이란 LAN을 통해서 IP 통신을 하고 있다. 따라서, 기동 커맨드 제어부(133)는 제 3 클라이언트 단말(B1)의 IP 어드레스 및 MAC 어드레스를 제 3 클라이언트 단말(B1)에 문의하는 것을 요하지 않는다. 또한, 응답 신호를 수신했을 경우를 수신한 제 1 클라이언트 단말(A1)은 수신한 응답 신호로부터 가상 어드레스 정보(80)를 작성한다(도 20a의 스텝S115 및 스텝S116 참조).
제 2 중계 서버(B)에 접속되어 있는 VLAN 클라이언트 단말이 없을 경우(스텝S152에서 No)에는 기동 커맨드 제어부(133)는 제 1 클라이언트 단말(A1)에 대하여 기동 OK 신호를 송신한다. 기동 OK 신호란 간단하게 수신한 기동 커맨드에 대한 OK 응답을 나타낸다. 또한, VLAN 디바이스가 없을 경우(스텝S154에서 No), 또는 VLAN 기동 커맨드의 송신에 대하여 OK 응답을 수신하지 않을 경우(스텝S156에서 No)에도 마찬가지로 기동 커맨드 제어부(133)는 기동 OK 신호를 송신한다.
15.2 VLAN 세션의 확립
이어서, 클라이언트 단말에 의해 가상 어드레스 정보가 작성된 후 중계 서버가 행하는 VLAN 세션의 확립 처리를 설명한다.
15.2.1 초기화 커맨드를 수신했을 경우의 처리
우선, 도 24를 참조해서 제 1 클라이언트 단말(A1)이 가상 어드레스 정보(80)를 작성한 후에 송신한 가상 어드레스 정보(80) 및 초기화 커맨드를(도 20a의 스텝S119 참조) 제 2 중계 서버(B)가 수신했을 경우의 처리를 설명한다. 도 24는 초기화 커맨드를 수신한 중계 서버에 있어서의 VLAN 세션의 확립 처리를 나타내는 플로우차트이다. 또한, 제 1 클라이언트 단말(A1)로부터 가상 어드레스 정보(80)와 초기화 커맨드를 수신했을 경우의 제 3 중계 서버(C)의 동작은 이하에 설명하는 제 2 중계 서버(B)의 처리와 마찬가지이므로 설명을 생략한다.
제 2 중계 서버(B)의 VLAN 세션 제어부(135)는 제 1 클라이언트 단말(A1)로부터 가상 어드레스 정보(80)와 초기화 커맨드를 수신하면(스텝S161에서 Yes) 초기화 커맨드로부터 VLAN 그룹의 식별 정보를 추출한다(스텝S162). 이 예에서는 VLAN 세션 제어부(135)는 「1279672104671.clientA1.rd.002@trial.net」를 추출한다.
이어서, VLAN 세션 제어부(135)는 추출한 식별 정보로부터 식별되는 제 1 VLAN 그룹이 기동 처리 중인지의 여부를 판단한다(스텝S163). 여기에서, 제 1 VLAN 그룹이 기동 처리 중이 아닐 경우에는 제 1 클라이언트 단말(A1)에 대하여 에러 응답을 회신하고(스텝S165), 처리를 종료한다.
한편, 제 1 VLAN 그룹이 기동 처리 중인 경우에는 VLAN 세션 제어부(135)는 가상 어드레스 정보(80)로부터 VLAN 디바이스를 추출한다(스텝S164). 이 예에서는 VLAN 세션 제어부(135)는 VLAN 디바이스인 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1)을 추출한다. 이어서, VLAN 세션 제어부(135)는 VLAN 그룹 정보 격납부(144)에 격납되어 있는 VLAN 그룹 정보(70)를 참조해서 상기 추출한 VLAN 디바이스 중으로부터 제 2 중계 서버(B)의 배하인, 즉 제 2 중계 서버(B)에 접속된 VLAN 디바이스를 더 추출한다(스텝S166). 이 예에서는 제 3 클라이언트 단말(B1)이 추출된다. 그 후 VLAN 세션 제어부(135)는 제 3 클라이언트 단말(B1)에 대하여 수신한 초기화 커맨드 및 가상 어드레스 정보를 전송한다(스텝S167).
이어서, VLAN 세션 제어부(135)는 VLAN 그룹 정보(70)로부터 세션 정보(73)를 추출한다(스텝S168). 세션 정보(73)를 추출한 후 VLAN 세션 제어부(135)는 세션 정보(73)를 참조해서 「sp」로서 제 2 중계 서버(B)가 설정되어 있으며 또한 미확립인 허브 세션을 확립한다(스텝S169). 이 예에서는 VLAN 세션 제어부(135)는 「ep」로서 설정되어 있는 제 3 중계 서버(C) 사이에 허브 세션을 확립한다. 또한, 이때 제 1 중계 서버(A)에 있어서도 「sp」로서 제 1 중계 서버(A)가 설정되어 있으며 또한 미확립인 허브 세션을 확립하는 처리가 행해지고 있다.
제 3 중계 서버(C)로부터 허브 세션의 확립에 대한 OK의 응답 신호를 수신한 후(스텝S170), VLAN 세션 제어부(135)는 VLAN 그룹 정보(70)를 참조하여 제 2 중계 서버(B)와 접속된 VLAN 디바이스 사이에 디바이스 세션을 확립한다(스텝S171). 이 예에서는 VLAN 세션 제어부(135)는 VLAN 그룹 정보(70)의 VLAN 클라이언트 단말 정보(72)를 참조하여 VLAN 디바이스인 제 3 클라이언트 단말(B1)과의 사이에 디바이스 세션을 확립한다.
제 3 클라이언트 단말(B1)로부터 OK의 응답 신호를 수신하면 가상 어드레스와 VLAN 세션을 사용해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다(스텝S172).
15.2.2 도중 참가 커맨드를 수신했을 경우의 처리
이어서, 제 1 클라이언트 단말(A1)로부터 갱신한 가상 어드레스 정보 및 도중 참가 커맨드(도 20b의 스텝S131 참조)를 수신했을 경우의 제 2 중계 서버(B)의 처리를 도 25를 참조해서 설명한다. 도 25는 도중 참가 커맨드를 수신한 중계 서버에 있어서의 VLAN 세션의 확립 처리를 나타내는 플로우차트이다.
제 2 중계 서버(B)의 VLAN 세션 제어부(135)는 제 1 클라이언트 단말(A1)로부터 가상 어드레스 정보 및 도중 참가 커맨드를 수신하면(스텝S181에서 Yes), 도중 참가 커맨드로부터 VLAN 그룹의 식별 정보를 추출한다(스텝S182).
이어서, VLAN 세션 제어부(135)는 추출한 식별 정보로부터 식별되는 제 1 VLAN 그룹이 기동 처리 중인지의 여부를 판단한다(스텝S183). 여기에서, 제 1 VLAN 그룹이 기동 처리 중이 아닐 경우에는 제 1 클라이언트 단말(A1)에 대하여 에러 응답을 회신하고(스텝S185), 처리를 종료한다.
한편, 제 1 VLAN 그룹이 기동 처리 중일 경우에는 VLAN 세션 제어부(135)는 갱신된 가상 어드레스 정보로부터 VLAN 디바이스를 추출한다(스텝S184). 이어서, VLAN 세션 제어부(135)는 VLAN 그룹 정보 격납부(144)에 격납되어 있는 VLAN 그룹 정보(70)를 참조해서 추출한 VLAN 디바이스 중으로부터 제 2 중계 서버(B) 배하인, 즉 제 2 중계 서버(B)에 접속된 VLAN 디바이스를 더 추출한다(스텝S186). 그 후 VLAN 세션 제어부(135)는 제 2 중계 서버(B) 배하인, 즉 제 2 중계 서버(B)에 접속된 VLAN 디바이스에 대하여 도중 참가 커맨드 및 갱신된 가상 어드레스 정보를 송신한다(스텝S187).
이어서, VLAN 세션 제어부(135)는 VLAN 그룹 정보(70)로부터 세션 정보(73)를 추출한다(스텝S188). 세션 정보(73)를 추출한 후 VLAN 세션 제어부(135)는 세션 정보(73)를 참조해서 「sp」로서 제 2 중계 서버(B)가 설정되어 있으며 또한 미확립인 허브 세션을 확립한다(스텝S189). 즉, VLAN 세션 제어부(135)는 앞서 제 1 VLAN 그룹의 기동에 의해 이미 확립되어 있는 허브 세션은 그대로 이용하고, 도중 참가가 허가된 VLAN 클라이언트 단말의 참가에 의해 확립이 필요해진 허브 세션을 새롭게 확립한다. 또한, 이때 허브의 역할을 하는 다른 중계 서버 사이에 있어서도 허브 세션을 확립하는 처리가 행해지고 있다.
허브 세션의 접속처인 중계 서버로부터 OK의 응답 신호를 수신한 후(스텝S190), VLAN 세션 제어부(135)는 VLAN 그룹 정보(70)를 참조하여 제 2 중계 서버(B) 배하인, 즉 제 2 중계 서버(B)와 접속된 VLAN 디바이스가 있는지의 여부를 판단한다(스텝S191). 제 2 중계 서버(B) 배하의 VLAN 디바이스가 있을 경우에는 (스텝S191에서 Yes), VLAN 세션 제어부(135)는 제 2 중계 서버(B) 배하의 VLAN 디바이스와의 사이에 디바이스 세션을 확립한다(스텝S192).
제 2 중계 서버(B) 배하의 VLAN 디바이스와의 사이에 디바이스 세션을 확립했을 경우, 또는 제 2 중계 서버(B) 배하의 VLAN 디바이스가 없을 경우에는(스텝S191에서 No), 그 후 가상 어드레스와 VLAN 세션을 사용해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다(스텝S193).
16. VLAN 세션의 일례
도 26의 시퀀스도를 참조해서 VLAN 세션을 확립할 때의 데이터의 흐름을 설명한다. 도 26은 VLAN 세션의 확립에 관계되는 처리의 흐름의 일례를 나타내는 도면이다.
이하, 제 1 VLAN 그룹에 있어서의 VLAN 세션의 확립 처리를 이하의 예를 들어 설명한다. 이 예에서는 VLAN 그룹 정보(70)가 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1), 제 4 클라이언트 단말(B2) 및 제 5 클라이언트 단말(C1)에 의해 공유된 상태이며(도 19 참조), 제 4 클라이언트 단말(B2)이 제 1 중계 그룹으로부터 로그아웃한다. 그 후 제 1 VLAN 그룹 사이에서 VLAN 세션이 확립된 후에 제 4 클라이언트 단말(B2)이 로그온하고, 제 4 클라이언트 단말(B2)이 제 1 VLAN 그룹의 기동 지시를 유저로부터 접수한다.
또한, 그 동안 제 1 중계 그룹 내에 있어서의 기동 중의 각 중계 서버는 통상의 IP 어드레스 및 MAC 어드레스를 이용해서 WAN 인터페이스를 통해서 제 1 중계 그룹 내의 다른 기동 중의 중계 서버와 통신하고 있다. 그리고, 각 중계 서버 사이에 제 1 중계 그룹 내에 있어서의 접속 상태의 변화를 공유하고 있다. 또한, 제 1 중계 그룹 내에 있어서의 기동 중의 각 클라이언트 단말은 LAN 인터페이스를 통해서 접속된 중계 서버와 통신하고 있다. 그리고, 클라이언트 단말과 중계 서버 사이에서 중계 통신 시스템에 있어서의 접속 상태의 변화가 공유되고 있다.
우선, 제 4 클라이언트 단말(B2)은 제 1 중계 그룹으로부터 로그아웃한다. 구체적으로는 제 4 클라이언트 단말(B2)은 제 2 중계 서버(B)에 로그아웃을 통지하고[스텝S51: logout()], 제 2 중계 서버(B)로부터 OK를 수신한다. 로그아웃이 통지된 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 3 클라이언트 단말(B1)에 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다[스텝S52: NotifyLogout(clientB2)]. 제 3 클라이언트 단말(B1)은 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 1 중계 서버(A)에 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다[스텝S53: NotifyLogout(clientB2)]. 제 1 중계 서버(A)는 중계 서버 정보를 참조하여 제 1 클라이언트 단말(A1)에 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다[스텝S53.1: NotifyLogout(clientB2)]. 제 1 클라이언트 단말(A1)로부터 OK가 돌아오면 제 1 중계 서버(A)는 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 이 예에서는 도시되어 있지 않지만 제 1 중계 서버(A)는 중계 서버 정보를 참조하여 제 1 중계 그룹을 구성하는 제 2 클라이언트 단말(A2)에 대해서도 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다.
또한, 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 3 중계 서버(C)에 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다[스텝S54: NotifyLogout(clientB2)]. 제 3 중계 서버(C)는 중계 서버 정보를 참조해서 제 5 클라이언트 단말(C1)에 제 4 클라이언트 단말(B2)의 로그아웃을 통지한다[스텝S54.1: NotifyLogout(clientB2)]. 제 5 클라이언트 단말(C1)로부터 OK가 돌아오면 제 3 중계 서버(C)는 제 2 중계 서버(B)에 OK를 되돌린다. 이상의 처리에 의해 제 1 중계 그룹 내의 모든 중계 서버 및 클라이언트 단말이 제 4 클라이언트 단말(B2)의 로그아웃을 공유한다.
그 후 제 1 클라이언트 단말(A1)이 제 1 VLAN 그룹의 기동 지시를 유저로부터 접수하면 제 1 VLAN 그룹의 기동 처리가 개시된다. 우선, 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)를 통해서 VLAN 그룹 내에서 허브의 역할을 하여 기동 상태인 제 2 중계 서버(B)에 대하여 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 포함하는 기동 정보를 송신한다[스텝S55: StartVlan(vlanGroupID), 스텝S55.1: StartVlan(vlanGroupID)]. 제 2 중계 서버(B)는 VLAN 그룹 정보(70)를 참조하여 제 2 중계 서버(B)에 접속되어 있는 VLAN 클라이언트 단말인 제 3 클라이언트 단말(B1) 및 제 4 클라이언트 단말(B2)을 추출한다. 그리고, 제 2 중계 서버(B)는 제 3 클라이언트 단말(B1) 및 제 4 클라이언트 단말(B2)이 VLAN 디바이스인지의 여부를 판단한 후에 VLAN 디바이스에 기동 정보를 송신한다. 이 예에서는 제 4 클라이언트 단말(B2)은 로그아웃되어 있으므로 제 2 중계 서버(B)는 VLAN 디바이스인 제 3 클라이언트 단말(B1)에 대하여 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 송신한다[스텝S55.1.1: StartVlan(vlanGroupID)].
제 3 클라이언트 단말(B1)로부터 OK를 수신했을 경우 제 2 중계 서버(B)는 응답 신호[OK(clientB1(ip, mac))]를 제 1 중계 서버(A)를 통해서 제 1 클라이언트 단말(A1)에 송신한다. 응답 신호에는 제 3 클라이언트 단말(B1)의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함되어 있다.
또한, 제 1 클라이언트 단말(A1)은 VLAN 그룹 내에서 허브의 역할을 하여 기동 상태인 제 3 중계 서버(C)에 대하여 제 1 중계 서버(A)를 통해서 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 송신한다[스텝S56: StartVlan(vlanGroupID), 스텝S56.1: StartVlan(vlanGroupID)]. 제 3 중계 서버(C)는 VLAN 그룹 정보(70)를 참조하여 제 3 중계 서버(C)에 접속되어 있는 VLAN 클라이언트 단말인 제 5 클라이언트 단말(C1)을 추출한다. 그리고, 제 3 중계 서버(C)는 제 5 클라이언트 단말(C1)이 VLAN 디바이스인지의 여부를 판단한 후에 제 5 클라이언트 단말(C1)에 대하여 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 송신한다[스텝S56.1.1: StartVlan(vlanGroupID)].
제 5 클라이언트 단말(C1)로부터 OK를 수신했을 경우 제 3 중계 서버(C)는 응답 신호[OK(clientC1(ip, mac))]를 제 1 중계 서버(A)를 통해서 제 1 클라이언트 단말(A1)에 송신한다. 응답 신호에는 제 5 클라이언트 단말(C1)의 식별 정보, IP 어드레스 및 MAC 어드레스가 포함되어 있다.
이어서, 제 1 클라이언트 단말(A1)은 응답 신호로부터의 추출 처리 및 가상 어드레스 정보의 작성 처리를 행하고(도 20a의 스텝S116, S118 참조), VLAN 디바이스 및 VLAN 디바이스가 접속된 중계 서버에 대하여 초기화 커맨드 및 작성한 가상 어드레스 정보(80)를 송신한다. 여기에서, 가상 어드레스 정보(80)에는 도 12에 나타내는 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1) 각각의 식별 정보, 가상 IP 어드레스 및 가상 MAC 어드레스가 포함되어 있다.
우선, 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)를 통해서 제 2 중계 서버(B)에 대하여 초기화 커맨드 및 가상 어드레스 정보(80)를 송신한다[스텝S57: configVlan(vlanGroupID, addrList), 스텝S57.1: configVlan(vlanGroupID, addrList)]. 이어서, 제 2 중계 서버(B)는 추출 처리(도 24 스텝S161~스텝S164 및 스텝S166 참조)를 거쳐 추출한 제 3 클라이언트 단말(B1)에 대하여 초기화 커맨드 및 가상 어드레스 정보(80)를 송신한다[스텝S57.1.1: configVlan(vlanGroupID, addrList)]. 제 3 클라이언트 단말(B1)로부터 OK를 수신하면 제 2 중계 서버(B)는 제 1 중계 서버(A)에 OK를 회신한다. OK를 수신한 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 OK를 회신한다.
또한, 제 1 클라이언트 단말(A1)은 제 1 중계 서버(A)를 통해서 제 3 중계 서버(C)에 대하여 초기화 커맨드 및 가상 어드레스 정보(80)를 송신한다[스텝S58: configVlan(vlanGroupID, addrList), 스텝S58.1: configVlan(vlanGroupID, addrList)]. 이어서, 제 3 중계 서버(C)는 상술한 처리(도 24의 스텝S161~스텝S164 및 스텝S166 참조)를 거쳐 추출한 제 5 클라이언트 단말(C1)에 대하여 초기화 커맨드 및 가상 어드레스 정보를 전송한다[스텝S58.1.1: configVlan(vlanGroupID, addrList)]. 제 5 클라이언트 단말(C1)로부터 OK를 수신하면 제 3 중계 서버(C)는 제 1 중계 서버(A)에 OK를 회신한다. OK를 수신한 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 OK를 회신한다. 이상의 처리에 의해 제 1 VLAN 그룹 내의 모든 VLAN 디바이스에 가상 어드레스 정보가 송신된다.
그 후 VLAN 디바이스가 접속된 중계 서버는 VLAN 그룹 정보(70)의 세션 정보(73)를 참조하여 「sp」로서 중계 서버가 설정되어 있으며 또한 미확립인 허브 세션을 확립한다. 이 예에서는 모든 허브 세션도 미확립이므로 우선, 「sp」로서 지정되어 있는 제 1 중계 서버(A)가 「ep」로서 지정되어 있는 제 2 중계 서버(B)에 대하여 허브 세션의 확립을 요구한다[스텝S59: createHubSsn(vlanGroupID)]. 제 2 중계 서버(B)로부터 OK가 되돌려지면 제 1 중계 서버(A)와 제 2 중계 서버(B)와의 사이에 허브 세션이 확립된다. 또한, 「sp」로서 지정되어 있는 제 1 중계 서버(A)는 「ep」로서 지정되어 있는 제 3 중계 서버(C)에 대하여 허브 세션의 확립을 요구한다[스텝S60: createHubSsn(vlanGroupID)]. 제 3 중계 서버(C)로부터 OK가 되돌려지면 제 1 중계 서버(A)와 제 3 중계 서버(C) 사이에 허브 세션이 확립된다.
또한, 「sp」로서 지정되어 있는 제 2 중계 서버(B)는 「ep」로서 지정되어 있는 제 3 중계 서버(C)에 대하여 허브 세션의 확립을 요구한다[스텝S61: createHubSsn(vlanGroupID)]. 제 3 중계 서버(C)로부터 OK가 되돌려지면 제 2 중계 서버(B)와 제 3 중계 서버(C) 사이에 허브 세션이 확립된다.
허브 세션이 확립되면 VLAN 디바이스가 접속된 중계 서버는 중계 서버에 접속되어 있는 VLAN 디바이스와의 사이에 디바이스 세션을 확립한다. 우선, 제 1 중계 서버(A)는 제 1 클라이언트 단말(A1)에 대하여 디바이스 세션의 확립을 요구한다[스텝S62: createDeviceSsn(vlanGroupID)]. 제 1 클라이언트 단말(A1)로부터 OK가 회신되면 제 1 중계 서버(A)와 제 1 클라이언트 단말(A1) 사이에 디바이스 세션이 확립된다.
또한, 제 2 중계 서버(B)는 제 3 클라이언트 단말(B1)에 대하여 디바이스 세션의 확립을 요구한다[스텝S63: createDeviceSsn(vlanGroupID)]. 제 3 클라이언트 단말(B1)로부터 OK가 되돌려지면 제 2 중계 서버(B)와 제 3 클라이언트 단말(B1) 사이에 디바이스 세션이 확립된다. 또한, 제 3 중계 서버(C)는 제 5 클라이언트 단말(C1)에 대하여 디바이스 세션의 확립을 요구한다[스텝S64: createDeviceSsn(vlanGroupID)]. 제 5 클라이언트 단말(C1)로부터 OK가 되돌려지면 제 3 중계 서버(C)와 제 5 클라이언트 단말(C1) 사이에 디바이스 세션이 확립된다.
상기한 바와 같이 VLAN 그룹 내에서 허브 세션 및 디바이스 세션을 포함하는 VLAN 세션이 확립되면 각 VLAN 디바이스는 LAN 디바이스의 VLAN 인터페이스를 초기화하고, VLAN 인터페이스에 가상 어드레스를 설정한다. 각 VLAN 디바이스에 있어서 가상 어드레스가 설정되면 가상 어드레스와 VLAN 세션을 사용해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다.
이 상태에서 제 4 클라이언트 단말(B2)이 다시 로그온한다. 구체적으로는 제 4 클라이언트 단말(B2)은 제 2 중계 서버(B)에 로그온을 통지하고[스텝S65: login()], 제 2 중계 서버(B)로부터 OK를 수신한다. 로그온이 통지된 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 3 클라이언트 단말(B1)에 제 4 클라이언트 단말(B2)의 로그온을 통지한다[스텝S66: NotifyLogon(clientB2)]. 제 3 클라이언트 단말(B1)은 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 1 중계 서버(A)에 제 4 클라이언트 단말(B2)의 로그온을 통지한다[스텝S67: NotifyLogon(clientB2)]. 제 1 중계 서버(A)는 중계 서버 정보를 참조하여 제 1 클라이언트 단말(A1)에 제 4 클라이언트 단말(B2)의 로그온을 통지한다[스텝S67.1: NotifyLogon(clientB2)]. 제 1 클라이언트 단말(A1)로부터 OK가 되돌아오면 제 1 중계 서버(A)는 제 2 중계 서버(B)에 OK를 되돌린다. 또한, 이 예에서는 도시되어 있지 않지만 제 1 중계 서버(A)는 중계 서버 정보를 참조해서 제 1 중계 그룹을 구성하는 제 2 클라이언트 단말(A2)에 대해서도 제 4 클라이언트 단말(B2)의 로그온을 통지한다.
또한, 제 2 중계 서버(B)는 중계 서버 정보를 참조하여 제 3 중계 서버(C)에 제 4 클라이언트 단말(B2)의 로그온을 통지한다[스텝S68: NotifyLogon(clientB2)]. 제 3 중계 서버(C)는 중계 서버 정보를 참조하여 제 5 클라이언트 단말(C1)에 제 4 클라이언트 단말(B2)의 로그온을 통지한다[스텝S68.1: NotifyLogon(clientB2)]. 제 5 클라이언트 단말(C1)로부터 OK가 되돌아오면 제 3 중계 서버(C)는 제 2 중계 서버(B)에 OK를 되돌린다. 이상의 처리에 의해 제 1 중계 그룹 내의 모든 중계 서버 및 클라이언트 단말이 제 4 클라이언트 단말(B2)의 로그온을 공유한다.
그 후 제 4 클라이언트 단말(B4)은 제 1 VLAN 그룹의 기동 지시를 유저로부터 접수하면 제 2 중계 서버(B)에 대하여 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 송신한다[스텝S69: StartVlan(VlanGroupID)].
이때, 제 2 중계 서버(B)는 수신한 기동 커맨드, 기동 시각 및 VLAN 그룹 정보(70)를 참조하여 수신한 기동 시각이 유효한지를 판단한다. 또한, 제 2 중계 서버(B)는 초기화 커맨드 및 가상 어드레스 정보를 수신하고 있는지의 여부를 판단한 후에 도중 참가 신호[notifyJoin(addrList)]를 제 4 클라이언트 단말(B2)에 송신한다(도 23a의 스텝S143~S146, 스텝S148~S149 참조). 이 예에서는 제 4 클라이언트 단말(B2)로부터 수신한 기동 시각은 스텝S55, S55.1에 있어서 제 1 클라이언트 단말(A1)로부터 수신한 기동 시각보다 느리기 때문에 제 2 중계 서버(B)는 제 4 클라이언트 단말(B2)로부터 수신한 기동 시각은 유효하지 않다고 판단한다. 또한, 제 2 중계 서버(B)는 이미 스텝S57, S57.1에 있어서 초기화 커맨드 및 가상 어드레스 정보(80)를 수신하고 있다. 따라서, 제 2 중계 서버(B)는 제 4 클라이언트 단말(B2)에 대하여 초기화 커맨드, 가상 어드레스 정보(80) 및 도중 참가 신호를 송신한다.
도중 참가 신호를 수신하면 제 4 클라이언트 단말(B2)은 가상 어드레스 정보(80)로부터 추출한 할당이 완료된 가상 어드레스를 참조해서 제 4 클라이언트 단말(B2)에 대하여 가상 어드레스를 결정하고, 가상 어드레스 정보를 갱신한다. 그리고, 제 4 클라이언트 단말(B2)은 갱신한 가상 어드레스 정보를 송신한다(도 20b의 스텝S123~131 참조). 이 예에서는 제 4 클라이언트 단말(B2)은 제 4 클라이언트 단말(B2)에 대하여 가상 어드레스를 결정이 가능하다고 판단하고, 추출한 할당이 완료된 가상 IP 어드레스 및 가상 MAC 어드레스 각각의 말미를 변경한 가상 IP 어드레스 및 가상 MAC 어드레스(177.112.0.4, 00-11-22-f0-00-04)를 제 4 클라이언트 단말(B2)에 할당한다.
그 후 갱신된 가상 어드레스 정보 및 도중 참가 커맨드가 갱신된 가상 어드레스 정보 및 VLAN 그룹 정보(70)에 의거하여 각 VLAN 디바이스에 송신된다. 우선, 제 4 클라이언트 단말(B2)은 제 2 중계 서버(B)에 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 송신한다[스텝S70: JoinVlan(vlanGroupID, addrList)]. 제 2 중계 서버(B)는 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 제 1 중계 서버(A)에 송신한다[스텝S70.1: JoinVlan(vlanGroupID, addrList)]. 제 1 중계 서버(A)는 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 제 1 클라이언트 단말(A1)에 송신한다[스텝S70.1.1: JoinVlan(vlanGroupID, addrList)]. 제 1 클라이언트 단말(A1)로부터 OK가 되돌아오면 제 1 중계 서버(A)는 제 2 중계 서버(B)에 OK를 되돌린다.
또한, 제 2 중계 서버(B)는 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 제 3 클라이언트 단말(B1)에 송신한다[스텝S70.2: JoinVlan(vlanGroupID, addrList)]. 제 3 클라이언트 단말(B1)은 제 2 중계 서버(B)에 OK를 되돌린다.
또한, 제 2 중계 서버(B)는 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 제 3 중계 서버(C)에 송신한다[스텝S70.3: JoinVlan(vlanGroupID, addrList)]. 제 3 중계 서버(C)는 갱신된 가상 어드레스 정보 및 도중 참가 커맨드를 제 5 클라이언트 단말(C1)에 송신한다[스텝S70.3.1: JoinVlan(vlanGroupID, addrList)]. 제 5 클라이언트 단말(C1)로부터 OK가 되돌아오면 제 3 중계 서버(C)는 제 2 중계 서버(B)에 OK를 되돌린다. 제 2 중계 서버(B)는 제 1 클라이언트 단말(A1), 제 3 클라이언트 단말(B1) 및 제 5 클라이언트 단말(C1)로부터 OK를 받으면 제 4 클라이언트 단말(B2)에 OK를 되돌린다.
이상의 처리에 의해 VLAN 디바이스에 대하여 갱신된 가상 어드레스 정보가 송신된다.
그 후 허브의 역할을 하는 중계 서버는 VLAN 그룹 정보(70)의 세션 정보(73)를 참조하여 「sp」로서 중계 서버가 설정되어 있으며 또한 미확립인 허브 세션을 확립한다. 이 예에서는 모든 허브 세션이 확립이 완료되어 있다. 또한, 허브의 역할을 하는 중계 서버는 중계 서버에 접속되어 있는 VLAN 디바이스와의 사이에 미확립의 디바이스 세션이 있을 경우에는 디바이스 세션을 확립한다. 이 예에서는 제 2 중계 서버(B)는 제 4 클라이언트 단말(B2)과의 사이에 디바이스 세션을 확립한다[스텝S71: createDeviceSsn(vlanGroupID)].
상기한 바와 같이 VLAN 그룹 내에서 허브 세션 및 디바이스 세션을 포함하는 VLAN 세션이 확립되면 각 VLAN 디바이스는 VLAN 디바이스의 VLAN 인터페이스를 초기화하여 VLAN 인터페이스에 가상 어드레스를 설정한다. 각 VLAN 디바이스에 있어서 가상 어드레스가 설정되면 가상 어드레스와 VLAN 세션을 사용해서 VLAN 디바이스끼리가 VLAN 디바이스로서 서로 통신 가능해진다.
예를 들면, 가상 IP 어드레스가 「117.112.0.1」이며 가상 MAC 어드레스 「00.11.22:f0:00:01」인 제 1 클라이언트 단말(A1)은 VLAN 세션을 통해서 가상 IP 어드레스가 「117.112.0.4」이며 가상 MAC 어드레스가 「00.11.22:f0:00:04」인 제 4 클라이언트 단말(B2)에 데이터 전송을 행할 수 있다. 구체적으로는 제 1 클라이언트 단말(A1)은 디바이스 세션을 통해서 제 1 중계 서버(A)에 통신 패킷을 송신한다[스텝S72: sendData(packet01)]. 통신 패킷에는 송신처인 제 3 클라이언트 단말(B1)의 가상 어드레스와 송신하고 싶은 데이터가 포함된다. 이어서, 제 1 중계 서버(A)는 허브 세션을 통해서 제 2 중계 서버(B)에 통신 패킷을 송신한다[스텝S72.1: sendData(packet01)]. 그 후 제 2 중계 서버(B)는 디바이스 세션을 통해서 제 4 클라이언트 단말(B2)에 통신 패킷을 송신한다[스텝S72.1.1: sendData(packet01)].
본 실시형태의 중계 시스템에서는 상기한 바와 같이 VLAN 그룹 사이에서 VLAN 그룹 정보를 공유한다. 또한, VLAN 그룹을 기동 시키면 VLAN 디바이스 사이에 VLAN 세션을 확립하고, VLAN 그룹을 기동할 때에 작성한 가상 어드레스 정보를 VLAN 디바이스 사이에서 공유하는 처리를 행한다. 또한, VLAN 디바이스의 VLAN 인터페이스에 가상 어드레스를 설정하는 처리가 행해지고, VLAN 인터페이스 및 VLAN 세션을 통해서 VLAN 디바이스 사이에서 데이터가 송수신된다. 이렇게 본 실시형태의 중계 시스템에서는 가상 어드레스 및 VLAN 세션을 사용해서 클라이언트 단말끼리가 VLAN 디바이스로서 서로 통신 가능해진다.
또한, 본 실시형태의 중계 시스템에서는 VLAN 그룹의 기동의 중복을 해소할 수 있다. 그리고, VLAN 그룹의 기동 지시가 중복되었을 경우에는 후에 동일한 VLAN 그룹에 대하여 기동 지시를 행한 VLAN 클라이언트 단말은 VLAN 클라이언트 단말이 실제로 사용하는 어드레스와 가상 어드레스가 동일한 어드레스 체계가 아니면 VLAN 그룹에 도중 참가할 수 있다.
17. 다른 실시형태
이상, 본 발명의 일실시형태에 대하여 설명했지만 본 발명은 상기 실시형태에 한정되는 것은 아니고, 발명의 요지를 일탈하지 않는 범위에서 여러 가지 변경이 가능하다. 특히, 본 명세서에 적힌 복수의 실시형태 및 변형예는 필요에 따라서 임의로 조합시키는 것이 가능하다.
17.1 중계 서버 정보에 등록된 클라이언트 단말은 같은 중계 그룹을 구성하는 중계 서버이면 접속된 중계 서버와는 다른 중계 서버를 통해서 리모트 로그인할 수 있다. 따라서, VLAN 그룹 정보의 작성 시와 VLAN 그룹의 기동 시에는 VLAN 클라이언트 단말이 다른 중계 서버를 통해서 로그인하고 있는 경우가 있다. 이렇게 클라이언트 단말이 다른 중계 서버를 통해서 로그인하고 있는 상태에는 중계 서버 정보의 공유에 의해 동일 중계 그룹 내에서 기동하고 있는 중계 서버 및 클라이언트 단말 간에 있어서 공유되고 있다.
상기와 같은 경우 기동하는 VLAN 그룹의 선택을 접수한 클라이언트 단말의 VLAN 그룹 정보 갱신부(235)는 세션 정보를 리모트 로그온을 접수한 중계 서버를 포함시킨 세션 정보에 갱신한다. 그리고, 갱신한 VLAN 그룹 정보를 VLAN 클라이언트 단말 및 VLAN 클라이언트 단말이 접속된 중계 서버 사이에서 공유시킨다.
예를 들면, 제 1 중계 그룹이 제 1 중계 서버(A), 제 2 중계 서버(B) 및 제 3 중계 서버(C)에 추가해서 VLAN 클라이언트 단말이 접속되어 있지 않는 제 4 중계 서버로 더 구성되어 있다고 가정한다. 이러한 제 1 중계 그룹에 있어서 제 1 클라이언트 단말(A1)이 제 1 중계 서버(A)가 아니라 제 4 중계 서버(D)를 통해서 제 1 중계 그룹에 리모트 로그인했을 경우 공유되어 있는 세션 정보에는 제 4 중계 서버의 식별 정보는 포함되어 있지 않다.
그래서 상기와 같은 상태에서 VLAN 그룹의 기동 지시를 접수했을 때에는 VLAN 그룹 정보 갱신부(235)는 세션 정보의 허브 정보에 제 4 중계 서버의 식별 정보를 추가한다. 또한, VLAN 그룹 정보 갱신부(235)는 제 4 중계 서버와 VLAN 디바이스가 접속된 중계 서버 사이의 경로 정보를 작성해서 VLAN 그룹 정보의 세션 정보를 갱신한다. 그리고, 갱신한 VLAN 그룹 정보를 VLAN 디바이스 및 VLAN 디바이스가 접속된 중계 서버에 대하여 송신한다.
(산업상 이용가능성)
본 발명은 서로 통신 가능한 복수의 중계 서버와, 복수의 클라이언트 단말과, 클라이언트 단말을 중계 서버에 접속하는 LAN을 갖는 중계 통신 시스템, 및 그것에 사용되는 중계 서버에 널리 적용할 수 있다.
1 : 제 1 LAN 2 : 제 2 LAN
3 : 제 3 LAN 4 : WAN
30 : 중계 서버 정보 40 : 클라이언트 단말 정보
50 : 클라이언트 단말 정보 60 : 클라이언트 단말 정보
70 : VLAN 그룹 정보 80 : 가상 어드레스 정보
A : 제 1 중계 서버 B : 제 2 중계 서버
C : 제 3 중계 서버 A1 : 제 1 클라이언트 단말
A2 : 제 2 클라이언트 단말 B1 : 제 3 클라이언트 단말
B2 : 제 4 클라이언트 단말 C1 : 제 5 클라이언트 단말

Claims (7)

  1. 제 1 네트워크와,
    제 2 네트워크와,
    상기 제 1 네트워크에 접속되는 제 1 중계 서버와,
    상기 제 2 네트워크에 접속되고, 제 3 네트워크를 통해서 상기 제 1 중계 서버와 통신 가능한 제 2 중계 서버와,
    상기 제 1 중계 서버와 상기 제 1 네트워크를 통해서 접속되는 하나 이상의 클라이언트 단말과,
    상기 제 2 중계 서버와 상기 제 2 네트워크를 통해서 접속되는 하나 이상의 클라이언트 단말을 구비하고,
    상기 제 1 중계 서버, 상기 제 2 중계 서버, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말은,
    상기 제 1 중계 서버, 상기 제 2 중계 서버, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말이 중계 그룹을 구성하는 것을 나타내는 중계 그룹 정보를 격납하는 중계 그룹 정보 격납부와,
    상기 제 1 중계 서버의 기동 정보와, 상기 제 2 중계 서버의 기동 정보와, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보와, 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보를 포함하는 중계 서버 정보를 격납하는 중계 서버 정보 격납부와,
    상기 중계 그룹 정보 및 상기 중계 서버 정보를 상기 제 1 중계 서버, 상기 제 2 중계 서버, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말 사이에서 공유시키는 정보 공유부와,
    상기 제 1 중계 서버에 접속된 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속된 하나 이상의 클라이언트 단말 중 둘 이상의 클라이언트 단말은 상기 중계 그룹에 있어서 VLAN 그룹을 구성하는 VLAN 클라이언트 단말로서, 상기 VLAN 클라이언트 단말이 접속된 상기 제 1 중계 서버의 식별 정보 및 상기 제 2 중계 서버의 식별 정보를 포함하는 허브 정보와, 상기 제 1 중계 서버 및 상기 제 2 중계 서버 사이에서 확립되는 세션의 접속측과 피접속측을 나타내는 세션 정보와, 상기 VLAN 클라이언트 단말을 식별하는 식별 정보를 포함하는 VLAN 그룹 정보를 상기 VLAN 클라이언트 단만 사이에서 공유시키는 VLAN 그룹 정보 제어부를 갖고,
    상기 제 1 중계 서버 및 상기 제 2 중계 서버는,
    상기 VLAN 그룹의 기동 지시를 수신했을 경우에 상기 VLAN 그룹이 기동 중이 아니면 상기 세션 정보에 의거하여 상기 제 1 중계 서버와 상기 제 2 중계 서버 사이에 VLAN 세션으로서의 허브 세션을 확립하고, 기동 가능한 상기 VLAN 클라이언트 단말로서의 VLAN 디바이스와 상기 VLAN 디바이스가 접속된 상기 제 1 중계 서버 또는 상기 제 2 중계 서버 사이에 VLAN 세션으로서의 디바이스 세션을 확립하는 VLAN 세션 제어부와,
    상기 VLAN 그룹의 기동 지시를 수신했을 경우에 상기 VLAN 그룹이 기동 중이면 상기 기동 지시의 송신원인 도중 참가 VLAN 클라이언트 단말에 대하여 상기 VLAN 그룹으로의 도중 참가를 허가하는 도중 참가 신호를 송신하는 기동 커맨드 제어부를 더 갖고,
    상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말은,
    상기 클라이언트 단말이 상기 도중 참가 VLAN 클라이언트 단말이며 상기 도중 참가 신호를 수신했을 경우 기동 중의 상기 VLAN 그룹을 구성하는 상기 VLAN 디바이스에 대하여 할당된 가상 어드레스를 포함하는 가상 어드레스 정보에 의거하여 작성한 클라이언트 단말용 가상 어드레스를 추가해서 상기 가상 어드레스 정보를 갱신하고, 상기 갱신된 가상 어드레스 정보를 상기 VLAN 디바이스에 대하여 송신하는 가상 어드레스 제어부를 더 갖고,
    상기 VLAN 세션 제어부는 상기 도중 참가 VLAN 클라이언트 단말에 관한 미확립의 VLAN 세션을 확립하고,
    상기 도중 참가 VLAN 클라이언트 단말과 상기 VLAN 디바이스는 상기 갱신된 가상 어드레스 정보와, 상기 허브 세션 및 상기 디바이스 세션을 포함하는 확립된 상기 VLAN 세션을 이용해서 통신하는 것을 특징으로 하는 중계 통신 시스템.
  2. 제 1 항에 있어서,
    상기 기동 커맨드 제어부는 기동 중의 상기 VLAN 그룹의 상기 VLAN 디바이스에 대하여 상기 가상 어드레스가 할당되어 있는지의 여부를 판단하고, 상기 가상 어드레스가 할당되어 있을 경우에 상기 도중 참가 신호를 상기 도중 참가 VLAN 클라이언트 단말에 대하여 송신하는 것을 특징으로 하는 중계 통신 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 가상 어드레스 제어부는 상기 가상 어드레스 정보를 참조해서 상기 클라이언트 단말용 가상 어드레스를 작성 가능한지의 여부를 판단하고, 상기 가상 어드레스를 작성할 수 없다고 판단했을 경우 상기 VLAN 그룹으로의 도중 참가의 처리를 종료하는 것을 특징으로 하는 중계 통신 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 가상 어드레스는 가상 IP 어드레스 및 가상 MAC 어드레스를 포함하는 것을 특징으로 하는 중계 통신 시스템.
  5. 제 1 네트워크로서 접속되는 제 1 중계 서버와 통신 가능하며, 제 2 네트워크에 접속되는 제 2 중계 서버로서 기능하는 중계 서버로서:
    상기 제 1 중계 서버, 상기 제 2 중계 서버, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말이 중계 그룹을 구성하는 것을 나타내는 중계 그룹 정보를 격납하는 중계 그룹 정보 격납부와,
    상기 제 1 중계 서버의 기동 정보와, 상기 제 2 중계 서버의 기동 정보와, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보와, 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말의 기동·등록 정보를 포함하는 중계 서버 정보를 격납하는 중계 서버 정보 격납부와,
    상기 중계 그룹 정보 및 상기 중계 서버 정보를 상기 제 1 중계 서버, 상기 제 2 중계 서버, 상기 제 1 중계 서버에 접속되는 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속되는 하나 이상의 클라이언트 단말 사이에서 공유시키는 정보 공유부와,
    상기 제 1 중계 서버에 접속된 하나 이상의 클라이언트 단말 및 상기 제 2 중계 서버에 접속된 하나 이상의 클라이언트 단말 중 둘 이상의 클라이언트 단말은 상기 중계 그룹에 있어서 VLAN 그룹을 구성하는 VLAN 클라이언트 단말로서, 상기 VLAN 클라이언트 단말이 접속된 상기 제 1 중계 서버의 식별 정보 및 상기 제 2 중계 서버의 식별 정보를 포함하는 허브 정보와, 상기 제 1 중계 서버와 상기 제 2 중계 서버 사이에서 확립되는 세션의 접속측과 피접속측을 나타내는 세션 정보와, 상기 VLAN 클라이언트 단말을 식별하는 식별 정보를 포함하는 VLAN 그룹 정보를 상기 VLAN 클라이언트 단만 사이에서 공유시키는 VLAN 그룹 정보 제어부와,
    상기 VLAN 그룹의 기동 지시를 수신했을 경우에 상기 VLAN 그룹이 기동 중이 아니면, 상기 세션 정보에 의거하여 상기 제 1 중계 서버 사이에 VLAN 세션으로서의 허브 세션을 확립하고, 중계 서버에 접속된 상기 VLAN 클라이언트 단말 중 기동 가능한 VLAN 클라이언트 단말로서의 VLAN 디바이스와의 사이에 VLAN 세션으로서의 디바이스 세션을 확립하는 VLAN 세션 제어부와,
    상기 VLAN 그룹에 관한 기동 지시를 수신했을 경우에 상기 VLAN 그룹이 기동 중이면 상기 기동 지시의 송신원인 도중 참가 VLAN 클라이언트 단말에 대하여 상기 VLAN 그룹에 도중 참가를 허가하는 도중 참가 신호를 송신하는 기동 커맨드 제어부와,
    상기 VLAN 그룹의 통신을 제어하는 중계 서버 통신 제어부를 구비하고,
    상기 VLAN 세션 제어부는 상기 도중 참가 신호에 대응해서 기동 중의 상기 VLAN 그룹을 구성하는 상기 VLAN 디바이스에 대하여 할당된 가상 어드레스에 상기 도중 참가 VLAN 클라이언트 단말의 가상 어드레스가 추가되어서 갱신된 가상 어드레스 정보를 수신하면 상기 도중 참가 VLAN 클라이언트 단말에 관한 미확립의 VLAN 세션을 더 확립하고,
    상기 중계 서버 통신 제어부는 상기 갱신된 가상 어드레스 정보와, 상기 허브 세션 및 상기 디바이스 세션을 포함하는 확립된 상기 VLAN 세션을 이용한 상기 도중 참가 VLAN 클라이언트 단말과 상기 VLAN 디바이스 사이의 통신을 제어하는 것을 특징으로 하는 중계 서버.
  6. 제 5 항에 있어서,
    상기 기동 커맨드 제어부는 기동 중의 상기 VLAN 그룹의 상기 VLAN 디바이스에 대하여 가상 어드레스가 할당되어 있는지의 여부를 판단하고, 상기 가상 어드레스가 할당되어 있을 경우에 상기 도중 참가 신호를 상기 도중 참가 VLAN 클라이언트 단말에 대하여 송신하는 것을 특징으로 하는 중계 서버.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 가상 어드레스는 가상 IP 어드레스 및 가상 MAC 어드레스를 포함하는 것을 특징으로 하는 중계 서버.
KR1020137015844A 2010-12-16 2011-10-17 중계 통신 시스템 및 중계 서버 KR101406854B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-280039 2010-12-16
JP2010280039A JP5636941B2 (ja) 2010-12-16 2010-12-16 中継通信システムおよび中継サーバ
PCT/JP2011/073874 WO2012081304A1 (ja) 2010-12-16 2011-10-17 中継通信システムおよび中継サーバ

Publications (2)

Publication Number Publication Date
KR20130096304A true KR20130096304A (ko) 2013-08-29
KR101406854B1 KR101406854B1 (ko) 2014-06-13

Family

ID=46244419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137015844A KR101406854B1 (ko) 2010-12-16 2011-10-17 중계 통신 시스템 및 중계 서버

Country Status (8)

Country Link
US (1) US9319484B2 (ko)
EP (1) EP2654249B1 (ko)
JP (1) JP5636941B2 (ko)
KR (1) KR101406854B1 (ko)
CN (1) CN103262476B (ko)
SG (1) SG191015A1 (ko)
TW (1) TWI535244B (ko)
WO (1) WO2012081304A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942280B2 (en) * 2009-09-22 2018-04-10 Orange Data exchange sessions using groups of terminals of a first user and at least one terminal of a second user
JP5636940B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5773205B2 (ja) * 2011-11-30 2015-09-02 村田機械株式会社 中継サーバ及び中継通信システム
US9170978B2 (en) * 2013-08-16 2015-10-27 Verizon Patent And Licensing Inc. Data center activation and configuration
US10701169B2 (en) 2014-11-03 2020-06-30 Electronics And Telecommunications Research Institute Method for operating relation server and system using the same
KR101921308B1 (ko) * 2014-11-03 2019-02-13 한국전자통신연구원 중첩된-중앙집중형 모델에서의 관계 서버의 동작 방법 및 이를 이용하는 시스템
US11659012B2 (en) * 2015-06-15 2023-05-23 Apple Inc. Relayed communication channel establishment
US11367057B2 (en) * 2017-12-21 2022-06-21 Mastercard International Incorporated Systems and methods for providing services related to access points for network transactions

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445284B1 (ko) * 2000-10-26 2004-08-25 미쓰비시덴키 가부시키가이샤 인터넷 전화 네트워크 시스템 및 네트워크 액세스 방법 및통화 장치 어댑터
JP2004080323A (ja) * 2002-08-16 2004-03-11 Fujitsu Ltd Lanスイッチング方法及びlanスイッチ
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
JP4274231B2 (ja) * 2006-11-24 2009-06-03 村田機械株式会社 中継サーバおよび中継通信システム
EP1942634B1 (en) 2006-11-24 2012-08-29 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
JP4591875B2 (ja) * 2007-12-25 2010-12-01 村田機械株式会社 中継サーバ及び中継通信システム
JP4831148B2 (ja) * 2008-09-08 2011-12-07 村田機械株式会社 中継サーバ、中継通信システム
TWI455547B (zh) 2008-09-01 2014-10-01 Murata Machinery Ltd Relay server and relay communication system
CN102422601B (zh) 2009-05-15 2014-07-09 村田机械株式会社 中继通信系统及第一中继服务器
JP5141638B2 (ja) * 2009-05-15 2013-02-13 村田機械株式会社 中継通信システム

Also Published As

Publication number Publication date
CN103262476B (zh) 2016-01-20
TW201228299A (en) 2012-07-01
EP2654249A4 (en) 2017-10-18
JP5636941B2 (ja) 2014-12-10
KR101406854B1 (ko) 2014-06-13
SG191015A1 (en) 2013-07-31
TWI535244B (zh) 2016-05-21
JP2012129831A (ja) 2012-07-05
EP2654249B1 (en) 2018-07-25
WO2012081304A1 (ja) 2012-06-21
CN103262476A (zh) 2013-08-21
EP2654249A1 (en) 2013-10-23
US20130282802A1 (en) 2013-10-24
US9319484B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
KR101406854B1 (ko) 중계 통신 시스템 및 중계 서버
US8738788B2 (en) First relay server and second relay server
KR101377177B1 (ko) 중계 서버 및 중계 통신 시스템
JP5387300B2 (ja) 中継サーバおよび中継通信システム
KR101406852B1 (ko) 중계 통신 시스템 및 중계 서버
KR101446974B1 (ko) 중계 통신 시스템 및 중계 서버
WO2012144134A1 (ja) 中継サーバ及び中継通信システム
JP5862231B2 (ja) 中継サーバ
JP5633750B2 (ja) 中継サーバ及び中継通信システム
JP2012227834A (ja) 中継サーバ及び中継通信システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 5