KR100684166B1 - 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법 - Google Patents

멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법 Download PDF

Info

Publication number
KR100684166B1
KR100684166B1 KR20050123972A KR20050123972A KR100684166B1 KR 100684166 B1 KR100684166 B1 KR 100684166B1 KR 20050123972 A KR20050123972 A KR 20050123972A KR 20050123972 A KR20050123972 A KR 20050123972A KR 100684166 B1 KR100684166 B1 KR 100684166B1
Authority
KR
South Korea
Prior art keywords
address
server
client
multicast
connection management
Prior art date
Application number
KR20050123972A
Other languages
English (en)
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 엔에이치엔(주)
Priority to KR20050123972A priority Critical patent/KR100684166B1/ko
Priority to JP2006338253A priority patent/JP4452271B2/ja
Application granted granted Critical
Publication of KR100684166B1 publication Critical patent/KR100684166B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것으로, 특히 복수 개의 목적지로 전송되는 멀티캐스트 메시지 송/수신을 위한 멀티 캐스트 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것이다. 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템은, 대응하는 서버 주소를 가지는 서비스 서버, 대응하는 자신의 서버 주소를 가지며 연결된 클라이언트 단말기들 중 멀티캐스트 주소에 가입한 클라이언트 단말기의 클라이언트 주소를 클라이언트 주소 리스트에 저장하는 연결 관리 서버 및 상기 클라이언트 주소는 무시하고, 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하며, 상기 멀티캐스트 주소에 가입한 클라이언트 단말기와 연결된 연결 관리 서버의 서버 주소를 서버 주소 리스트에 저장하는 내부 라우터를 포함하는 것을 특징으로 한다. 따라서, 효율적으로 멀티캐스트 통신 네트워크 시스템을 구축할 수 있다.
프론트 엔드 서버, 브로커, 서비스 서버, 멀티캐스트

Description

멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법 {MULTICAST COMMUNICATION NETWORK SYSTEM AND METHOD USING THE SAME}
도 1은 종래 기술에 따른 게임 서비스 시스템의 클라이언트와 서버 사이의 연결을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 블록도이다.
도 3은 본 발명의 도 2에 도시된 멀티캐스트 통신 네트워크 시스템에서 사용되는 네트워크 주소의 일 예를 나타낸 도면이다.
도 4는 본 발명의 다른 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 블록도이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 장애 허용성(fault tolerance)을 나타내는 블록도이다.
도 6은 도 2 및 도 4에 도시된 연결 관리 서버의 일 예를 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 송/수신 방법의 동작 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 데이터 송/수신 방법의 동작 흐름도이 다.
도 9는 본 발명에 따른 데이터 송/수신 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
411~ 416: 클라이언트 단말기
421, 422: 연결 관리 서버
430: 내부 라우터
440: 서비스 서버
본 발명은 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것으로, 특히 복수 개의 목적지로 전송되는 멀티캐스트 메시지 송/수신을 위한 멀티 캐스트 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것이다.
일반적으로 네트워크 게임 서비스를 제공하는 게임 서비스 시스템은 프론트 엔드 서버(Front End Server)를 통하여 클라이언트 단말기와 연결된다.
도 1은 종래 기술에 따른 게임 서비스 시스템의 클라이언트와 서버 사이의 연결을 나타낸 도면이다.
도 1을 참조하면, 서버단의 프론트 엔드 서버들(121, 122, 123)은 메시지 라 우터(130)를 통하여 서로 연결되어 상호간에 데이터를 교환한다. 프론트 엔드 서버들(121, 122, 123)은 게임 서버일 수 있으며, 메시지 라우터(130)를 통하여 로그인 서버, 랭킹 서버, 데이터베이스 서버 등과 연결될 수 있다.
클라이언트 단말기들(111, 112, 113)은 각각 원하는 서비스를 제공하는 프론트 엔드 서버들(121, 122, 123)에 인터넷 등 네트워크를 통하여 직접 연결되고, 프론트 엔드 서버들(121, 122, 123)은 각각 클라이언트 단말기와의 연결을 관리한다.
도 1에 도시된 종래 기술에서, 클라이언트 단말기들(111, 112, 113)은 프론트 엔드 서버들(121, 122, 123)에 접속하기 위해 프론트 엔드 서버들(121, 122, 123)의 IP 주소를 알고 있어야 한다. 따라서, 프론트 엔드 서버들(121, 122, 123)의 IP 주소는 클라이언트단에 노출되며, 악의적인 사용자에 의하여 패킷 분석을 통한 정보 유출이나 해킹 등으로 인한 피해를 입을 우려가 있다. 또한, 클라이언트 단말기는 서비스를 제공 받고자 하는 각각의 서버와 별개로 연결을 설정하여야 하므로 연결 관리가 복잡해지고 번거로운 문제점이 있었다. 즉, 클라이언트 단말기들(111, 112, 113) 각각이 프론트 엔드 서버들(121, 122, 123)에서 제공하는 서비스를 모두 이용하기 위해서는 도 1에 도시된 바와 같이 각각 모든 프론트 엔드 서버들(121, 122, 123)과 연결을 설정하여야 하므로 클라이언트 측에서는 연결 설정이 번거롭고, 서버 측에서는 연결 관리가 복잡할 수 밖에 없었다.
또한, 도 1에 도시된 시스템은 클라이언트 단말기와 서버 사이에서 암호화된 통신을 수행하고자 하는 경우에 프론트 엔드 서버들(121, 122, 123) 모두에 암호화와 관련된 모듈을 추가하여야 하고, 클라이언트와의 연결 관리 프로그램 오류 수정 이나 업데이트시에 모든 프론트 엔드 서버들(121, 122, 123) 모두에 대하여 수정이나 업데이트를 수행하여야 하는 번거로움이 있었다.
네트워크 게임 서비스가 다양화되고 글로벌화 되어감에 따라 프론트 엔드 서버의 종류 및 수가 증가하므로, 상기한 문제는 더욱 더 중요한 문제가 되어가고 있다.
뿐만 아니라, 도 1에 도시된 시스템은 멀티캐스트 메시지를 전송하고자 하는 경우에 멀티캐스트 주소마다 상기 멀티캐스트 주소에 포함되는 클라이언트 단말기들의 풀 어드레스(full address)를 모두 저장해 두어야 하므로 큰 저장공간이 필요하고, 관리가 불편하다는 문제점이 있었다.
따라서, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 클라이언트와 서비스 서버 사이의 연결을 효과적으로 관리할 수 있으며, 멀티캐스트 주소에 포함되는 네트워크 주소를 저장하기 위한 저장공간을 분산시켜서 멀티캐스트 메시지를 효율적으로 관리할 수 있는 새로운 멀티캐스트 통신 네트워크 시스템 및 데이터 송/수신 방법의 필요성이 절실하게 대두된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 효과적으로 관리할 수 있는 멀티캐스트 통신 네트워크 시스템 및 데이터 송/수신 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 클라이언트 측의 외부 네트워크와 서버 측의 내부 네트워크 를 분리하고, 내부 네트워크에서는 서버 주소만을 이용하여 메시지 라우팅을 처리함으로써 효과적으로 메시지 라우팅을 처리하는 것을 목적으로 한다.
또한, 본 발명은 기존에 서비스 서버가 수행하던 클라이언트와의 연결 관리를 연결 관리 서버에서 처리하도록 하여 기능에 따라 적절히 컴포넌트화된 멀티캐스트 통신 네트워크 시스템을 구축하는 것을 목적으로 한다.
또한, 본 발명은 서비스 서버들에 대한 보안을 효과적으로 강화하고, 보안 이슈가 발생하는 경우에 신속하고 효과적으로 대응할 수 있는 멀티캐스트 통신 네트워크 시스템 및 데이터 송/수신 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 서버 주소와 클라이언트 주소를 분리하여 특정 멀티캐스트 주소에 가입한 클라이언트 단말기의 클라이언트 주소는 연결 관리 서버에 저장되도록 하고, 내부 라우터에는 연결 관리 서버의 서버 주소만이 저장되도록 분산형으로 시스템을 구축함으로써 멀티캐스트 메시지 송/수신 및 관리를 효율적으로 하는 것을 목적으로 한다.
또한, 본 발명은 내부 네트워크 내에서의 메시지 전송 횟수를 줄여서 효율적으로 멀티캐스트 메시지를 전송하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템은, 대응하는 서버 주소를 가지는 서비스 서버, 대응하는 자신의 서버 주소를 가지며, 연결된 클라이언트 단말기들 중 멀티캐스트 주소에 가입한 클라이언트 단말기의 클라이언트 주소를 클라이언 트 주소 리스트에 저장하는 연결 관리 서버 및 상기 클라이언트 주소는 무시하고, 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하며, 상기 멀티캐스트 주소에 가입한 클라이언트 단말기와 연결된 연결 관리 서버의 서버 주소를 서버 주소 리스트에 저장하는 내부 라우터를 포함하는 것을 특징으로 한다.
이 때, 연결 관리 서버는 상기 연결된 클라이언트 단말기들에 상기 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당할 수 있다.
이 때, 내부 라우터는 상기 멀티캐스트 주소로 전송된 멀티캐스트 메시지가 수신되면 서버 주소 리스트에 포함된 서버 주소들로 멀티캐스트 메시지를 전송할 수 있다.
이 때, 연결 관리 서버는 멀티캐스트 메시지가 수신되면 멀티캐스트 메시지를 클라이언트 주소 리스트에 포함된 클라이언트 주소들로 전송하고, 상기 멀티캐스트 메시지가 연결된 클라이언트 단말기들로부터 수신된 것인 경우에, 내부 라우터로 상기 멀티캐스트 메시지를 전송할 수 있다. 이 때, 내부 라우터는 상기 연결 관리 서버의 서버 주소를 제외한 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송할 수 있다.
이 때, 멀티캐스트 통신 네트워크 시스템은 상기 내부 라우터 측에서 상기 연결 관리 서버를 서비스 서버와 대등하게 인식할 수 있다. 즉, 내부 라우터는 서버 주소만을 이용하여 메시지 라우팅을 처리하므로, 내부 라우터는 연결 관리 서버도 하나의 서비스 서버로 보아 각각의 클라이언트 단말기가 아닌 연결 관리 서버를 대상으로 메시지 라우팅을 수행하고, 각각의 클라이언트 단말기에 대한 라우팅은 연결 관리 서버가 수행할 수 있다. 이 때, 내부 라우터와 서비스 서버 및 연결 관리 서버가 내부 네트워크를 구성하고, 클라이언트 단말기와 연결 관리 서버가 일종의 서브 네트워크를 구성하는 것으로 볼 수 있다.
또한, 본 발명의 다른 실시예에 따른 데이터 송/수신 방법은, 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당하는 단계, 상기 연결 관리 서버가 상기 클라이언트 단말기로부터 멀티캐스트 주소 가입 요청을 받아 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트에 상기 클라이언트 단말기의 클라이언트 주소를 등록하는 단계 및 내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트에 상기 연결 관리 서버의 서버 주소를 등록하는 단계를 포함하는 것을 특징으로 한다.
이 때, 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 네트워크의 내부 라우터는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리할 수 있다. 이 때, 상기 연결 관리 서버는 상기 클라이언트 주소 필드를 이용하여 클라이언트 단말기를 식별할 수 있다.
이 때, 멀티캐스트 주소는 상기 서버 주소 필드에 기록될 수도 있고, 상기 클라이언트 주소 필드에 기록될 수도 있다. 연결 관리 서버는 상기 클라이언트 주소 필드에 멀티캐스트 주소가 기록된 멀티캐스트 메시지를 수신하면, 상기 클라이언트 주소 리스트에 포함된 클라이언트 주소로 상기 멀티캐스트 메시지를 전송하고, 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하지 않을 수 있다.
또한, 본 발명의 또 다른 실시예에 따른 데이터 송/수신 방법은 서버 주소만으로 메시지 라우팅을 처리하는 내부 라우터가 서비스 서버로부터 멀티캐스트 주소로 송신된 멀티캐스트 메시지를 수신하는 단계, 상기 내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 단계 및 상기 내부 라우터로부터 상기 멀티캐스트 메시지를 수신한 연결 관리 서버가 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트 내의 클라이언트 주소들로 상기 멀티캐스트 메시지를 전송하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템은 클라이언트 단말기들(211, 212, 213), 연결 관리 서버(220), 내부 라우터(230) 및 서비스 서버들(241, 242, 243)을 포함한다.
각각의 서비스 서버들(241, 242, 243)은 각각 대응하는 서버 주소를 가진다. 예를 들어, 도 2에 도시된 예에서 서비스 서버(241)의 서버 주소는 "A001XXX7"이고, 서비스 서버(242)의 서버 주소는 "A001XXX8"이고, 서비스 서버(243)의 서버 주소는 "A001XXX9" 일 수 있다.
서비스 서버들(241, 242, 243)은 게임 서버일 수 있다. 서비스 서버들(241, 242, 243)은 모두 동일한 게임 서비스를 제공하는 게임 서버일 수도 있고, 각각 서로 다른 게임 서비스를 제공하는 게임 서버일 수도 있다. 예를 들어, 서비스 서버들(241, 242, 243)은 모두 "고스톱" 게임 서버일 수도 있고, 서비스 서버들(241, 242, 243)은 각각 "고스톱" 게임 서버, "당신은 골프왕" 게임 서버 및 "건스터" 게임 서버일 수 있다.
클라이언트 단말기들(211, 212, 213)은 인터넷 등 네트워크를 통하여 서비스 서버들(241, 242, 243)에 접속하여 온라인 서비스 서버들(241, 242, 243)이 제공하는 서비스를 제공 받는다. 이 때, 클라이언트 단말기들(211, 212, 213)은 모두 연결 관리 서버(220)를 통해서만 서비스 서버들(241, 242, 243)에 접속할 수 있고, 직접 서비스 서버들(241, 242, 243)에 접속할 수 없다.
연결 관리 서버(Connection Management Server; CMS)(220)는 클라이언트 단말기들(211, 212, 213)과 TCP/IP 연결을 설정한다. 클라이언트 단말기들(211, 212, 213)은 직접 서비스 서버들(241, 242, 243)과 TCP/IP 연결을 설정하지 아니하므로, 본 발명의 통신 네트워크 시스템은 클라이언트 측으로 서비스 서버들(241, 242, 243)의 IP주소가 노출되지 않도록 하여 외부의 해킹 위협으로부터 서비스 서버들(241, 242, 243)을 보호할 수 있다.
연결 관리 서버(220)는 대응하는 자신의 서버 주소를 가진다. 예를 들어, 도 2에 도시된 예에서 연결 관리 서버(220)의 서버 주소는 "C001XXX1" 일 수 있다.
내부 라우터(230)는 서버 주소를 이용하여 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243) 사이의 메시지 라우팅을 처리한다. 이 때, 내부 라우터 (230)는 복수 개의 브로커(broker)들이 완전 매시(full mesh) 형태로 상호 연결된 것일 수 있다. 내부 라우터(230)에 관한 상세한 내용은 2004년 12월 17일 출원된 한국출원번호 제2004-107496호에 상세하게 개시되어 있다.
내부 라우터(230) 측에서는 연결 관리 서버(220)를 일종의 서비스 서버로 보아 서비스 서버들(241, 242, 243)과 대등하게 인식할 수 있다. 이 때, 내부 라우터(230), 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243)은 서버 주소만으로 어드레싱되는 내부 네트워크를 구성한다.
이 때, 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243)은 각각 서버 주소에 의하여 유일하게 식별된다.
연결 관리 서버(220)는 주소 할당을 요청한 클라이언트 단말기에 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당한다. 즉, 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드로 구성될 수 있다. 이미 살펴본 바와 같이, 연결 관리 서버(220)의 서버 주소가 "C001XXX1"이라고 하면, 연결 관리 서버(220)에 주소 할당을 요청한 클라이언트 단말기들(211, 212, 213)에는 각각 "C001XXX1001", "C001XXX1002", "C001XXX1003"이 네트워크 주소로 할당될 수 있다. 이 때, "C001XXX1001"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "001"은 클라이언트 단말기(211)에 할당된 클라이언트 주소 필드에 해당한다. 또한, "C001XXX1002"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "002"는 클라이언트 단말기(212)에 할당된 클라이언트 주소 필드에 해당한다. 마찬가지로, "C001XXX1003"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "003"은 클라이언트 단말기(213)에 할당된 클라이언트 주소 필드에 해당한다.
연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)과 서비스 서버들(241, 242, 243) 사이의 유니캐스트 메시지의 발신 주소 및 목적지 주소를 변경하지 아니하고 메시지를 그대로 전달한다.
이와 같이, 연결 관리 서버(220)가 주소 변환 없이 유니캐스트 메시지를 단순히 패스 포워딩(pass forwarding)함으로써, 연결 관리 서버(220)의 오버헤드(overhead)를 줄일 수 있어 한 대의 연결 관리 서버(220)가 관리 가능한 클라이언트 단말기의 수를 늘릴 수 있다.
도 3은 본 발명의 도 2에 도시된 멀티캐스트 통신 네트워크 시스템에서 사용되는 네트워크 주소의 일 예를 나타낸 도면이다.
도 3을 참조하면, 도 2에 도시된 멀티캐스트 통신 네트워크 시스템에서 사용되는 네트워크 주소는 캐스트 타입 식별 필드(310), IDC 식별 필드(320), 서버 주소 필드(330), 클라이언트 주소 필드(340) 및 확장 필드(350)를 포함하여 128 비트(16 바이트)로 구성될 수 있다.
캐스트 타입 식별 필드(310)는 특정 서비스를 식별하기 위해 유니캐스트(unicast), 애니캐스트(anycast), 멀티캐스트(multicast)의 3가지 주소 유형을 나타낼 수 있다.
IDC 식별 필드(320)는 IDC를 식별하기 위한 IDC 식별자가 기록되는 필드이다. 예를 들어, IDC 식별자는 한국이 "1", 일본이 "2" 및 "3", 중국이 "4", "5", "6" 및 "7"일 수 있다.
서버 주소 필드(330)는 서버 주소가 기록되는 필드이다. 예를 들어, 도 2에 도시된 예에서 클라이언트 단말기(211) 및 연결 관리 서버(220)를 가리키기 위해 서버 주소 필드(330)에 "C001XXX1"이 기록되고, 서비스 서버(241)를 가리키기 위해 서버 주소 필드(330)에 "A001XXX7"이 기록될 수 있다.
클라이언트 주소 필드(340)는 클라이언트 주소가 기록되는 필드이다. 예를 들어, 도 2에 도시된 예에서 클라이언트 단말기(211)를 가리키기 위해 클라이언트 주소 필드(340)에 "001"이 기록되고, 클라이언트 단말기(212)를 가리키기 위해 클라이언트 주소 필드(340)에 "002"가 기록될 수 있다.
클라이언트 주소 필드(340)는 내부 네트워크 내의 연결 관리 서버(220)나 서비스 서버들(241, 242, 243)을 가리킬 때는 돈 캐어(don't care) 처리된다. 즉, 내부 네트워크에서는 클라이언트 주소 필드(340)에 어떤 주소가 기록되었는지를 전혀 상관하지 않고, 서버 주소 필드(330)만을 이용하여 메시지 라우팅을 수행한다.
확장 필드(350)은 필요한 경우를 대비하여 남겨둔 데이터 공간이다.
본 발명의 멀티캐스트 통신 네트워크 시스템은 연결 관리 서버를 통하여 데이터를 송/수신하기 위해 발신 주소 및 목적지 주소를 지칭할 때 IP 주소가 아니라 도 3에 도시된 것과 같은 네트워크 주소 체계를 사용한다.
이하, 다시 도 2를 참조하여 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 유니캐스트 메시지 전송시의 동작을 상세히 설명한다.
클라이언트 단말기들(211, 212, 213)은 연결 관리 서버(220)의 IP주소로 TCP/IP 접속하여 주소 할당을 요청한다.
연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)의 주소 할당 요청에 응답하여 클라이언트 단말기들(211, 212, 213) 각각에 자신의 서버 주소(C001XXX1)에 소정의 클라이언트 주소(001, 002, 003)를 결합한 네트워크 주소(C001XXX1001, C001XXX1002, C001XXX1003)를 할당한다.
클라이언트 단말기(212)는 자신의 네트워크 주소(C001XXX1002)를 발신 주소로 하고, 목적지 주소의 서버 주소 필드를 서비스 서버(242)의 서버 주소(A001XXX8)로 하여 유니캐스트 메시지를 전송할 수 있다. 이 때, 목적지 주소의 클라이언트 주소 필드에는 미리 결정된 주소를 기록할 수도 있고, 아무 것도 기록하지 아니할 수도 있다.
연결 관리 서버(220)는 클라이언트 단말기(212)로부터 유니캐스트 메시지를 수신하면, 유니캐스트 메시지의 발신 주소(C001XXX1002) 및 목적지 주소를 변경하지 아니하고 그대로 내부 네트워크의 내부 라우터(230)로 전달한다.
내부 라우터(230)는 전달된 유니캐스트 메시지의 목적지 주소의 서버 주소 필드(A001XXX8)를 이용하여 해당하는 서비스 서버(242)로 유니캐스트 메시지가 전달되도록 메시지 라우팅을 처리한다. 이 때, 내부 라우터(230)는 목적지 주소의 클라이언트 주소 필드를 마스킹(masking)하여 클라이언트 주소 필드를 무시하고 메시지 라우팅을 처리할 수 있다.
서비스 서버(242)는 전송된 유니캐스트 메시지를 처리하고, 클라이언트 단말기(212)의 네트워크 주소(C001XXX1002)를 목적지 주소로 하고, 발신 주소의 서버 주소 필드를 자신의 서버 주소(A001XXX8)로 하여 유니캐스트 메시지를 전송한다. 이 때, 발신 주소의 클라이언트 주소 필드에는 미리 결정된 주소를 기록할 수도 있고, 아무 것도 기록하지 아니할 수도 있다.
내부 라우터(230)는 전송된 유니캐스트 메시지의 클라이언트 주소 필드(002)는 무시하고, 서버 주소 필드(C001XXX1)만을 이용하여 메시지 라우팅을 처리하여 유니캐스트 메시지를 연결 관리 서버(220)로 전송한다. 따라서, 내부 라우터(230)의 라우팅 테이블에는 서버 주소 필드를 위한 공간만이 할당되면 된다. 즉, 내부 라우터(230)의 라우팅 테이블에는 "A001XXX7", "A001XXX8", "A001XXX9" 및 "C001XXX1"와 이에 대응하는 라우팅 정보가 저장되게 된다. 이 때, 라우팅 정보는 소켓 아이디 등의 연결(connection) 정보를 포함할 수 있다. 이 때, 연결 정보는 어플리케이션 상의 하나의 연결(connection)마다 유일한 값을 가질 수도 있고, 연결이 끊어졌다가 다시 연결되는 등의 연결 변경에 따라 그 값이 달라질 수도 있다.
내부 라우터(230)에 의해 목적지 주소의 클라이언트 주소 필드(002)는 무시하고, 서버 주소 필드(C001XXX1)만을 이용하여 라우팅된 유니캐스트 메시지는 서버 주소 필드(C001XXX1)에 해당하는 서버 주소를 가지는 연결 관리 서버(220)로 전달된다.
연결 관리 서버(220)는 내부 네트워크로부터 수신된 유니캐스트 메시지의 목적지 주소(C001XXX1002)에 포함된 클라이언트 주소(002)를 이용하여 유니캐스트 메시지를 전송할 클라이언트 단말기를 식별하고, 목적지 주소(C001XXX1002) 및 발신 주소를 변경하지 아니하고 유니캐스트 메시지를 그대로 식별된 클라이언트 단말기 로 전송한다. 이 때, 연결 관리 서버(220)의 라우팅 테이블에는 클라이언트 주소 필드를 위한 공간만이 할당되면 된다. 즉, 연결 관리 서버(220)의 라우팅 테이블에는 "001", "002" 및 "003"과 이에 대응하는 라우팅 정보가 저장되게 된다. 이 때, 라우팅 정보는 소켓 아이디 등의 연결(connection) 정보를 포함할 수 있다. 이 때, 연결 정보는 어플리케이션 상의 하나의 연결(connection)마다 유일한 값을 가질 수도 있고, 연결이 끊어졌다가 다시 연결되는 등의 연결 변경에 따라 그 값이 달라질 수도 있다. 특히, 연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)로부터의 연결을 관리하기 때문에, 연결 관리 서버(220)의 라우팅 테이블에 클라이언트 단말기들(211, 212, 213)로부터의 연결에 대한 소켓 아이디 등의 연결 정보가 저장된다. 따라서, 클라이언트 단말기들(211, 212, 213)로부터의 연결 변경에 대한 처리는 연결 관리 서버(220)에서 모두 처리할 수 있고, 내부 네트워크는 클라이언트 단말기들의 연결 변경에 대한 처리를 수행할 필요가 없다.
도 2에 도시된 통신 네트워크 시스템은 클라이언트 단말기와 연결 관리 서버 사이의 연결을 유지한 채로 서비스 서버간 이동이 가능하다. 예를 들어, 클라이언트 단말기(211)가 연결 관리 서버(220)를 통하여 서비스 서버(242)에 연결되어 있는 경우에, 클라이언트 단말기(211)와 연결 관리 서버(220)의 연결을 그대로 유지한 채 연결 관리 서버(220)가 서비스 서버(242) 대신에 서비스 서버(243)에 연결되도록 할 수 있다. 이와 같이, 클라이언트 단말기와 연결 관리 서버 사이의 연결을 유지한 채로 서비스 서버를 변경할 수 있으므로 특정 서비스 서버에 접속했다가 그 접속을 끊고 다른 서비스 서버에 새로 접속하여 접속 및 인증절차를 반복하는 번거 로움을 없앨 수 있다.
실시예에 따라 통신 네트워크 시스템은 클라이언트 단말기들(211, 212, 213)과 연결 관리 서버(220) 사이에 L4 스위치를 구비하여 로드밸런싱(load balancing)을 할 수도 있다.
도 2에 도시된 실시예에서 설명의 편의를 위하여 통신 네트워크 시스템에 연결 관리 서버가 한 개 있는 경우를 예로 들어 설명하였으나, 통신 네트워크 시스템 내에 연결 관리 서버가 다수 구비될 수 있다. 예를 들어, 통신 네트워크 시스템 내에 클라이언트 단말기 약 2만대 당 1대 정도의 연결 관리 서버가 구비될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 블록도이다.
도 4를 참조하면, 멀티캐스트 통신 네트워크 시스템은 클라이언트 단말기들(411 ~ 416), 연결 관리 서버들(421, 422), 내부 라우터(430) 및 서비스 서버(440)를 포함한다.
도 4에 도시된 예에서, 멀티캐스트 주소(M001)에 대하여 클라이언트 단말기들(411, 413, 415)이 가입되어 있다고 가정한다.
도 4에 도시된 클라이언트 단말기들(411 ~ 416), 연결 관리 서버들(421, 422), 내부 라우터(430) 및 서비스 서버(440)에 대하여, 도 2를 통하여 설명한 유니캐스트 메시지 전송 시의 동작에 관한 내용이 그대로 적용될 수 있다.
연결 관리 서버들(421, 422) 및 서비스 서버(440)는 각각 대응하는 서버 주 소들(C001XXX1, C001XXX2, A001XXX7)을 가진다.
연결 관리 서버(421)는 연결된 클라이언트 단말기들(411, 412, 413)에 각각 자신의 서버 주소(C001XXX1)에 소정의 클라이언트 주소들(001, 002, 003)을 결합한 네트워크 주소(C001XXX1001, C001XXX1002, C001XXX1003)를 할당하고, 클라이언트 단말기들(411, 412, 413) 중 멀티캐스트 주소(M001)에 가입한 클라이언트 단말기들(411, 413)의 클라이언트 주소들(001, 003)을 클라이언트 주소 리스트에 저장한다.
연결 관리 서버(422)는 연결된 클라이언트 단말기들(414, 415, 416)에 각각 자신의 서버 주소(C001XXX2)에 소정의 클라이언트 주소들(001, 002, 003)을 결합한 네트워크 주소(C001XXX2001, C001XXX2002, C001XXX2003)를 할당하고, 클라이언트 단말기들(414, 415, 416) 중 멀티캐스트 주소(M001)에 가입한 클라이언트 단말기(415)의 클라이언트 주소(002)를 클라이언트 주소 리스트에 저장한다.
내부 라우터(430)는 클라이언트 주소는 무시하고, 서버 주소만을 이용하여 메시지 라우팅을 처리하며, 멀티캐스트 주소(M001)에 가입한 클라이언트 단말기들(411, 413, 415)와 연결된 연결 관리 서버들(421, 422)의 서버 주소(C001XXX1, C001XXX2)를 서버 주소 리스트에 저장한다.
하기 표 1 내지 표 3은 각각 연결 관리 서버(421)의 클라이언트 주소 리스트, 연결 관리 서버(422)의 클라이언트 주소 리스트 및 내부 라우터(430)의 서버 주소 리스트를 나타낸 표이다.
MULTICAST ADDRESS CLIENT ADDRESS
M001 001
003
MULTICAST ADDRESS CLIENT ADDRESS
M001 002
MULTICAST ADDRESS CLIENT ADDRESS
M001 C001XXX1
C001XXX2
이와 같이, 내부 라우터는 멀티캐스트 주소에 가입한 연결 관리 서버들의 서버 주소들만을 저장하고, 연결 관리 서버들마다 연결된 클라이언트 단말기들 중 멀티캐스트 주소에 가입한 클라이언트 단말기들의 클라이언트 주소를 저장하도록 하여 저장 공간을 효율적으로 분산시킬 수 있고, 내부 네트워크에서의 메시지 전송 횟수를 줄여서 경제적으로 멀티캐스트 메시지를 전송할 수 있다.
예를 들어, 서비스 서버(440)는 게임 서버일 수 있다. 이 때, 게임 서버에는 게임 서버에 접속한 사용자들, 사용자들이 모인 방, 방이 모인 채널에 대한 정보가 있을 수 있다. 이 때, 채널, 방, 사용자는 계층 구조를 가지는 클래스에 상응하는 것일 수 있고, 특정 채널, 방, 사용자는 해당하는 채널 클래스, 방 클래스 및 사용자 클래스의 인스턴스(instance)일 수 있다. 이 때, 각각의 인스턴스들은 소정의 특징 정보를 가질 수 있다. 예를 들어, 방 인스턴스들은 고수, 중수 또는 하수의 레벨 정보를 가질 수 있다. 따라서, 고스톱1이라는 방에 상응하는 방 인스턴스의 레벨 정보는 하수이고, 고스톱2라는 방에 상응하는 방 인스턴스의 레벨 정보는 중수이고, 고스톱3이라는 방에 상응하는 방 인스턴스의 레벨 정보는 고수일 수 있다.
예를 들어, 사용자 A가 새로이 게임 서버인 서비스 서버(440)에 접속하면, 서비스 서버(440)는 사용자 A에 상응하는 사용자 인스턴스를 생성한다. 이 때, 서비스 서버(440)의 채널 C에 방 B가 있고, 따라서 서비스 서버(440)에는 채널 C 및 방 B에 상응하는 채널 인스턴스 및 방 인스턴스가 존재한다고 가정한다. 이 경우에, 사용자 A가 방 B에 들어가면, 방 B에 상응하는 인스턴스에는 사용자 A에 대한 정보가 업데이트된다. 이후, 사용자 A가 방 B에서 나가면, 방 B에 상응하는 인스턴스에서 사용자 A에 대한 정보가 삭제된다. 마찬가지로, 사용자 A가 채널 C에 들어가거나, 채널 C에서 나가는 경우에도 채널 C에 상응하는 인스턴스에 사용자 A에 대한 정보가 업데이트되거나 삭제된다.
서비스 서버(440)의 각각의 채널이나 방은 대응되는 멀티캐스트 주소를 가질 수 있다. 예를 들어, 채널 C에 대응하는 멀티캐스트 주소는 "MC001"이고, 채널 C에 속하는 방 B에 대응하는 멀티캐스트 주소는 "MC001R001"일 수 있다.
서비스 서버(440)는 멀티캐스트 주소에 가입한 클라이언트 단말기들 또는 멀티캐스트 주소에 가입한 클라이언트 단말기들이 연결된 연결 관리 서버에 관한 정보를 저장하고, 필요에 따라 저장된 정보를 클라이언트 단말기로 제공할 수 있다.이하, 서비스 서버(440)로부터 멀티캐스트 메시지가 전송되는 경우에 대하여 상세히 설명한다.
예를 들어, 서비스 서버(440)는 고스톱 게임 서버일 수 있고, 멀티캐스트 주소(M001)는 3명의 플레이어들이 함께 고스톱 게임을 하고 있는 방에 상응하는 것일 수 있다. 즉, 함께 고스톱 게임을 하는 3명의 플레이어에 해당하는 클라이언트 단말기들은 모두 멀티캐스트 주소(M001)에 가입하고, 고스톱 게임 서비스 서버는 멀티캐스트 주소(M001)로 멀티캐스트 메시지를 전송함으로써 간단하게 게임 상황에 관한 메시지를 특정 게임이 진행중인 방 안의 모든 플레이어들에게 전송할 수 있다.
서비스 서버(440)가 멀티캐스트 주소(M001)로 멀티캐스트 메시지를 전송하고, 내부 라우터(430)가 멀티캐스트 메시지를 수신한다.
이 때, 멀티캐스트 주소(M001)는 도 3을 통하여 설명한 네트워크 주소의 서버 주소 필드에 기록될 수 있다.
내부 라우터(430)는 멀티캐스트 주소(M001)에 상응하는 서버 주소 리스트(표 3)에 포함된 서버 주소들(C001XXX1, C001XXX2)로 수신된 멀티캐스트 메시지를 전송한다.
연결 관리 서버(421)는 대응되는 서버 주소가 "C001XXX1"이므로 내부 라우터(430)로부터 멀티캐스트 메시지를 전송 받는다. 멀티캐스트 메시지를 전송 받으면 연결 관리 서버(421)는 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트(표 1)에 포함된 클라이언트 주소들(001, 003)로 수신된 멀티캐스트 메시지를 전송한다.
연결 관리 서버(422)는 대응되는 서버 주소가 "C001XXX2"이므로 역시 내부 라우터(430)로부터 멀티캐스트 메시지를 전송 받는다. 멀티캐스트 메시지를 전송 받으면 연결 관리 서버(422)는 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트(표 2)에 포함된 클라이언트 주소(M002)로 수신된 멀티캐스트 메시지를 전송한다.
따라서, 서비스 서버(440)로부터 전송된 멀티캐스트 메시지가 멀티캐스트 주소에 가입한 모든 클라이언트 단말기들(411, 413, 415)로 전송된다.
이하, 클라이언트 단말기(415)로부터 멀티캐스트 메시지가 전송되는 경우에 대하여 상세히 설명한다.
예를 들어, 멀티캐스트 주소(M001)는 3명의 플레이어들이 함께 고스톱 게임을 하고 있는 방에 상응하는 것일 수 있다. 즉, 함께 고스톱 게임을 하는 3명의 플레이어에 해당하는 클라이언트 단말기들은 모두 멀티캐스트 주소(M001)에 가입하고, 멀티캐스트 주소(M001)에 가입한 클라이언트 단말기들 각각은 멀티캐스트 주소(M001)로 멀티캐스트 메시지를 전송함으로써 간단하게 함께 게임을 플레이하고 있는 플레이어들에게 메시지를 전송할 수 있다.
클라이언트 단말기(415)가 멀티캐스트 주소(M001)로 멀티캐스트 메시지를 전송하고, 연결 관리 서버(422)가 멀티캐스트 메시지를 수신한다.
이 때, 멀티캐스트 주소(M001)는 도 3을 통하여 설명한 네트워크 주소의 서버 주소 필드에 기록될 수 있다.
연결 관리 서버(422)는 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트(표 2)에 포함된 클라이언트 주소(002) 및 내부 라우터(430)로 수신된 멀티캐스트 메시지를 전송한다. 이 때, 연결 관리 서버(422)로 멀티캐스트 메시지를 전송한 클라이언트 주소(002)로는 멀티캐스트 메시지를 전송하지 않을 수도 있다.
내부 라우터(430)는 전송된 멀티캐스트 메시지를 수신하고, 멀티캐스트 주소(M001)에 상응하는 서버 주소 리스트(표 3)에 포함된 서버 주소들(C001XXX1, C001XXX2)로 수신된 멀티캐스트 메시지를 전송한다. 이 때, 멀티캐스트 메시지를 전송한 서버 주소(C001XXX2)로는 멀티캐스트 메시지를 전송하지 않을 수 있다.
연결 관리 서버(421)는 대응되는 서버 주소가 "C001XXX1"이므로 내부 라우터(430)로부터 멀티캐스트 메시지를 전송 받는다. 멀티캐스트 메시지를 전송 받으면 연결 관리 서버(421)는 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트(표 1)에 포함된 클라이언트 주소들(001, 003)로 수신된 멀티캐스트 메시지를 전송한다.
따라서, 클라이언트 단말기(415)로부터 전송된 멀티캐스트 메시지가 멀티캐스트 주소에 가입한 다른 클라이언트 단말기들(411, 413)로 전송된다.
이하, 클라이언트 단말기(413)로부터 클라이언트 주소 필드를 이용한 멀티캐스트 메시지가 전송되는 경우에 대하여 상세히 설명한다.
클라이언트 단말기(413)가 멀티캐스트 주소(M001)로 멀티캐스트 메시지를 전송하고, 연결 관리 서버(421)가 멀티캐스트 메시지를 수신한다. 이 때, 멀티캐스트 주소(M001)는 도 3을 통하여 설명한 네트워크 주소의 클라이언트 주소 필드에 기록된다.
연결 관리 서버(421)는 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트(표 1)에 포함된 클라이언트 주소들(001, 003)로 수신된 멀티캐스트 메시지를 전송한다. 이 때, 연결 관리 서버(421)로 멀티캐스트 메시지를 전송한 클라이언트 주소(003)로는 멀티캐스트 메시지를 전송하지 않을 수도 있다.
또한, 연결 관리 서버(421)는 클라이언트 주소 필드에 멀티캐스트 메시지의 클라이언트 주소 필드에 멀티캐스트 주소가 기록되어 있으므로 멀티캐스트 메시지를 내부 라우터(430)로 전송하지 아니한다. 즉, 연결 관리 서버(421)는 클라이언트 주소 필드에 멀티캐스트 주소가 기록되어 있는 경우에 연결 관리 서버(421) 선에서 멀티캐스트 메시지 송/수신을 처리하고, 이를 내부 네트워크로 전달하지 아니한다.
따라서, 클라이언트 단말기(413)로부터 전송된 멀티캐스트 메시지가 멀티캐스트 주소에 가입한 다른 클라이언트 단말기(411)로만 전송된다.
이하, 클라이언트 단말기(416)가 추가로 멀티캐스트 주소(M001)에 가입하는 경우에 대하여 상세히 설명한다.
클라이언트 단말기(416)는 멀티캐스트 주소(M001)에 가입하기 위해 연결 관리 서버(422)로 멀티캐스트 주소 가입 요청을 한다. 이 때, 멀티캐스트 주소 가입 요청은 일종의 컨트롤 메시지이다. 연결 관리 서버들(421, 422) 및 내부 라우터(430)는 통상적으로 메시지의 내용을 해석하지 않고 라우팅만을 수행하나, 컨트롤 메시지는 연결 관리 서버들(421, 422) 및 내부 라우터(430)에서 해석된다.
연결 관리 서버(423)는 멀티캐스트 주소 가입 요청에 응답하여 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트에 클라이언트 단말기(416)의 클라이언트 주소(003)를 등록한다.
연결 관리 서버(423)는 클라이언트 주소 리스트에 새로운 클라이언트 주소가 등록되는 경우에 이를 컨트롤 메시지를 통하여 내부 라우터(430)로 통보할 수 있다. 이 때, 내부 라우터(430)는 새로운 클라이언트 주소 등록을 통보한 연결 관리 서버의 서버 주소가 해당 멀티캐스트 주소에 가입되어 있는 것인지 확인하고, 가입되어 있지 않은 것이면 새로운 클라이언트 주소 등록을 통보한 연결 관리 서버의 서버 주소를 서버 주소 리스트에 등록한다. 도 4에 도시된 예에서 연결 관리 서버(422)의 서버 주소(C001XXX2)는 이미 내부 라우터(430)의 서버 주소 리스트에 포함되어 있으므로 추가로 연결 관리 서버(422)의 서버 주소(C001XXX2)를 등록할 필요는 없다.
실시예에 따라, 클라이언트 단말기(416)가 멀티캐스트 주소(M001)에 가입하고자 하는 경우에, 컨트롤 메시지가 아닌 일반 메시지를 서비스 서버(440)로 전송할 수도 있다.
이 때, 연결 관리 서버(422) 및 내부 라우터(430)는 클라이언트 단말기(416)가 전송한 메시지를 해석하지 않고 서비스 서버(440)로 라우팅한다.
서비스 서버(440)는 클라이언트 단말기(416)로부터 수신된 메시지를 해석하여 멀티캐스트 주소(M001)에 가입하고자 하는 것으로 판단한 후, 연결 관리 서버(422)로 컨트롤 메시지를 보내서 연결 관리 서버(422)가 멀티캐스트 주소(M001)에 상응하는 클라이언트 주소 리스트에 클라이언트 단말기(416)의 클라이언트 주소(003)를 등록하도록 한다. 또한, 서비스 서버(440)는 필요하다고 생각되는 경우에 내부 라우터(430)로 컨트롤 메시지를 보내서 새로 추가된 연결 관리 서버의 서버 주소를 서버 주소 리스트에 등록시키도록 할 수도 있다.
도 4에 도시된 실시예에서 클라이언트 단말기들(411, 412, 413) 및 연결 관리 서버(421) 사이의 통신 및 클라이언트 단말기들(414, 415, 416) 및 연결 관리 서버(422) 사이의 통신은 암호화된 보안 통신일 수 있다.
또한, 도 4에 도시된 멀티캐스트 통신 네트워크 시스템은 클라이언트 단말기들(411, 412, 413, 414, 415, 416) 중 하나와 서비스 서버(440) 사이에 연결 생성 메시지(connection create message)가 정상적으로 왕복하면 해당 클라이언트 단말기와 해당 서비스 서버 사이에 가상 연결(virtual connection)이 설정되도록 할 수 있다.
이 때, 멀티캐스트 통신 네트워크 시스템은 상기 가상 연결이 설정된 클라이언트 단말기와 서비스 서버 사이에 연결 종료 메시지(connection terminate message)가 정상적으로 왕복하면 상기 가상 연결을 종료시킬 수 있다.
이 때, 멀티캐스트 통신 네트워크 시스템은 상기 가상 연결이 설정된 클라이언트 단말기와 해당 연결 관리 서버 사이의 TCP/IP 연결이 종료되면 상기 가상 연결 역시 종료되도록 할 수 있다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템의 장애 허용성(fault tolerance)을 나타내는 블록도이다.
도 5a 및 도 5b를 참조하면, 본 발명의 일 실시예에 따른 멀티캐스트 통신 네트워크 시스템은 클라이언트 단말기(510)가 연결 관리 서버(521) 이외에도 보조 연결 관리 서버(522)에 동시에 연결된다. 이 때, 클라이언트 단말기(510)와 연결 관리 서버(521) 및 보조 연결 관리 서버(522) 사이의 연결은 TCP/IP 연결일 수 있다.
이 때, 연결 관리 서버(521)와 보조 연결 관리 서버(522)는 실질적으로 동일한 구성을 가질 수 있고, 실시예에 따라 보조 연결 관리 서버(522)가 둘 이상 구비될 수도 있다.
도 5a를 참조하면, 연결 관리 서버(521)가 이상 없이 동작하는 경우에 연결 관리 서버(521)는 액티브(active) 상태이고, 보조 연결 관리 서버(522)는 스탠바이(standby) 상태이다. 이 때, 클라이언트 단말기(510)와 서비스 서버(540) 사이의 메시지 전송은 연결 관리 서버(521) 및 내부 라우터(530)를 통하여 수행된다. 연결 관리 서버(521) 및 내부 라우터(530)의 동작에 관한 설명은 도 2 및 도 4를 참조하여 이미 설명한 바와 같다.
도 5b를 참조하면, 연결 관리 서버(521)를 통한 클라이언트 단말기(510)와 서비스 서버(540) 사이의 연결에 이상이 발생하는 경우에 보조 연결 관리 서버(522)가 액티브 상태로 된다. 예를 들어, 연결 관리 서버(521)와 클라이언트 단말기(510) 사이의 연결에 이상이 발생하거나, 연결 관리 서버(521)와 내부 라우터(530) 사이의 연결에 이상이 발생하는 경우에 보조 연결 관리 서버(522)가 액티브 상태가 되어 연결 관리 서버(521)를 대신하여 클라이언트 단말기(510)와 서비스 서버(540) 사이의 연결이 유지되도록 할 수 있다. 이 때, 연결 관리 서버(521)는 내부 라우터(530)와의 연결을 다시 시도하여 성공하면 스탠바이 상태로 될 수 있다.
보조 연결 관리 서버(522)가 액티브 상태로 되면 클라이언트 단말기(510)와 서비스 서버(540) 사이의 메시지 전송은 보조 연결 관리 서버(522) 및 내부 라우터(530)를 통하여 수행된다. 이 때, 연결 관리 서버(521)는 새로운 클라이언트 단말기로부터의 접속 요구를 거부한다. 보조 연결 관리 서버(522)에도 도 2 및 도 4에 도시된 연결 관리 서버의 동작에 관한 설명이 그대로 적용될 수 있다.
보조 연결 관리 서버(522)가 액티브 상태로 되어 클라이언트 단말기(511)가 보조 연결 관리 서버(522)를 통하여 메시지를 전송하는 경우에, 클라이언트 단말기(511)로부터 서비스 서버(540)로 전송되는 메시지의 발신 주소의 서버 주소 필드에 보조 연결 관리 서버(522)의 서버 주소를 기록하여 메시지를 전송할 수도 있다.
도 6은 도 2 및 도 4에 도시된 연결 관리 서버의 일 예를 나타낸 블록도이다.
도 6을 참조하면, 연결 관리 서버는 인트라 네트워크부(610), 디스패쳐(620), 라우터(630) 및 인터 네트워크부(640)를 포함한다.
인트라 네트워크부(610)는 클라이언트 단말기들과의 연결을 관리하는 역할을 한다. 즉, 인트라 네트워크부(610)는 클라이언트 단말기로부터의 연결 요청에 대하여 대기하도록 하거나 연결 요청을 수락할 수 있다. 또한, 인트라 네트워크부(610)는 클라이언트 단말기로부터 연결 관리 서버로 전송되는 메시지의 송/수신을 관리할 수 있다. 또한, 인트라 네트워크부(610)는 연결 관리 서버와 클라이언트 단말기 사이의 메시지 암호화 및 복호화를 수행할 수 있다.
디스패쳐(620)는 인트라 네트워크부(610)나 인터 네트워크부(640)로부터 수신된 메시지를 해석하고, 해석된 결과에 따라 연결 관리 서버가 필요한 동작을 수행하도록 한다. 이 때, 디스패쳐(620)는 메시지 전체를 해석할 필요는 없고, 메시지의 헤더부분만을 보고 해당 메시지를 어떻게 처리하여야 할지를 결정할 수 있다. 다만, 컨트롤 메시지의 경우에는 디스패쳐(620)에 의하여 해석될 수 있다.
예를 들어, 디스패쳐(620)는 인트라 네트워크부(610)로부터 수신된 메시지가 서비스 서버로 전송되어야 하는 것으로 판단한 경우에 수신된 메시지가 라우터(630)에 의하여 적절한 목적지 서비스 서버로 전송되도록 할 수 있다.
예를 들어, 디스패쳐(620)는 인트라 네트워크부(610)로부터 수신된 메시지가 연결 관리 서버에 연결된 다른 클라이언트 단말기로 전송되어야 하는 것으로 판단한 경우에 해당 클라이언트 단말기의 주소를 찾아서 메시지를 전송하도록 할 수도 있다.
예를 들어, 디스패쳐(620)는 인터 네트워크부(640)로부터 수신된 메시지가 클라이언트 단말기로 전송되어야 하는 것으로 판단한 경우에 수신된 메시지에 포함된 목적지 주소의 클라이언트 필드를 이용하여 메시지를 전송할 클라이언트 단말기를 식별하고, 라우터(630)를 통하여 식별된 클라이언트 단말기로 메시지를 전송하도록 할 수도 있다.
예를 들어, 디스패쳐(620)는 인터 네트워크부(640)로부터 수신된 메시지가 멀티캐스트 메시지인 경우에, 상기 멀티캐스트 메시지의 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트에 포함된 클라이언트 주소로 상기 멀티캐스트 메시지가 전송되도록 할 수 있다.
예를 들어, 디스패쳐(620)는 인트라 네트워크부(640)로부터 수신된 메시지가 멀티캐스트 메시지인 경우에, 상기 멀티캐스트 메시지의 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트에 포함된 클라이언트 주소로 상기 멀티캐스트 메시지를 전송하고, 상기 멀티캐스트 메시지를 연결 관리 서버 선에서 처리할 것인지 내부 네트워크로 전달할 것인지 여부를 판단할 수 있다. 이 때, 멀티캐스트 메시지를 연결 관리 서버 선에서 처리할 것인지 내부 네트워크로 전달할 것인지 여부는 멀티캐스트 주소가 네트워크 주소의 클라이언트 주소 필드에 기록되어 있는지 여부에 따라 판단할 수도 있다. 예를 들어, 디스패쳐(620)는 서버 주소 필드에 멀티캐스트 주소가 기록되어 있는 경우에는 멀티캐스트 메시지를 내부 네트워크로 전달하고, 클라이언트 주소 필드에 멀티캐스트 주소가 기록되어 있는 경우에는 멀티캐스트 메시지를 연결 관리 서버 선에서 처리하고 내부 네트워크로 전달하지 않도록 할 수 있다.
라우터(630)는 인트라 네트워크부(610)나 인터 네트워크부(640)로부터 수신된 메시지를 적절한 목적지(destination address)에 라우팅한다.
인터 네트워크부(640)는 내부 네트워크의 내부 라우터와의 메시지 송/수신을 담당한다. 즉, 인터 네트워크부(640)는 내부 라우터와의 인터페이싱을 담당하여 내부 라우터 측에서 연결 관리 서버를 일종의 서비스 서버로 인식하도록 한다.
도 7은 본 발명의 일 실시예에 따른 데이터 송/수신 방법의 동작 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 데이터 송/수신 방법은 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당한다(S710).
예를 들어, 연결 관리 서버의 서버 주소가 "C001XXX1"인 경우에 본 발명의 연결 관리 서버는 "C001XXX1001"을 클라이언트 단말기의 네트워크 주소로 할당할 수 있다. 이 때, 네트워크 주소 "C001XXX1001"에서 "C001XXX1"은 서버 주소 필드에 해당하고, "001"은 클라이언트 주소 필드에 해당한다.
또한, 데이터 송/수신 방법은 상기 연결 관리 서버가 상기 클라이언트 단말기로부터 멀티캐스트 주소 가입 요청을 받아 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트에 상기 클라이언트 단말기의 클라이언트 주소를 등록한다(S720).
예를 들어, 클라이언트 단말기 "C001XXX1003"이 멀티캐스트 주소 "M001"에 가입 요청을 하면, 서버 주소가 "C001XXX1"인 연결 관리 서버는 멀티캐스트 주소 "M001"에 대한 클라이언트 주소 리스트에 "003"을 등록한다.
또한, 데이터 송/수신 방법은 내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트에 상기 연결 관리 서버의 서버 주소를 등록한다(S730).
예를 들어, 서버 주소가 "C001XXX1"인 연결 관리 서버에 연결된 클라이언트 단말기 "C001XXX1003"이 멀티캐스트 주소 "M001"에 가입 요청을 한 경우에 내부 라우터는 멀티캐스트 주소 "M001"에 대한 서버 주소 리스트에 "C001XXX1"을 등록한다.
이 때, 도 7에 도시된 데이터 송/수신 방법은 연결 관리 서버가 상기 클라이언트 단말기로부터 상기 멀티캐스트 주소로 송신된 멀티캐스트 메시지를 수신하는 단계, 상기 연결 관리 서버가 상기 클라이언트 주소 리스트 내의 클라이언트 주소들 및 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하는 단계 및 상기 내부 라우터가 상기 연결 관리 서버의 서버 주소를 제외한 상기 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 단계를 더 포함할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 데이터 송/수신 방법의 동작 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 데이터 송/수신 방법은 서버 주소만으로 메시지 라우팅을 처리하는 내부 라우터가 서비스 서버로부터 멀티캐스트 주소로 송신된 멀티캐스트 메시지를 수신한다(S810).
또한, 데이터 송/수신 방법은 내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송한다(S820).
또한, 데이터 송/수신 방법은 내부 라우터로부터 상기 멀티캐스트 메시지를 수신한 연결 관리 서버가 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트 내의 클라이언트 주소들로 상기 멀티캐스트 메시지를 전송한다(S830).
도 7 및 도 8을 통하여 설명한 방법과 관련하여 설명하지 아니한 내용은 앞서 통신 네트워크 시스템에 관한 실시예들에서 그대로 적용 가능하므로 이하 생략한다.
본 발명에 따른 데이터 송/수신 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 9는 본 발명에 따른 데이터 송/수신 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(900)는 램(RAM: Random Access Memory)(920)과 롬(ROM: Read Only Memory)(930)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(910)를 포함한다. 프로세서(910)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(930)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(920)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(920) 및 롬(930)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(940)는 양방향성으로 프로세서(910)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(940)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(960)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(910)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(950)와 연결된다. 마지막으로, 프로세서(910)는 네트워크 인터페이스(970)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다. 한편, 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 멀티캐스트 통신 네트워크 시스템 및 데이터 송/수신 방법은 클라이언트 단말기와의 연결을 별도의 연결 관리 서버에서 전담함으로써, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 연결 관리 서버에서 클라이언트 단말기와의 연결을 관리하고, 내부 라우터는 내부 네트워크 내의 연결 관리만을 수행하도록 하여 통신 네트워크 시스템을 효과적으로 관리할 수 있다.
또한, 본 발명은 클라이언트 측의 외부 네트워크와 서버 측의 내부 네트워크를 분리하고, 내부 네트워크에서는 서버 주소만을 이용하여 메시지 라우팅을 처리함으로써 효과적으로 메시지 라우팅을 처리할 수 있다.
또한, 본 발명은 기존에 서비스 서버가 수행하던 클라이언트와의 연결 관리를 연결 관리 서버에서 처리하도록 하여 기능에 따라 적절히 컴포넌트화된 멀티캐스트 통신 네트워크 시스템을 구축할 수 있다.
또한, 본 발명은 클라이언트 단말기들이 서비스 서버들과 직접 TCP/IP 연결을 설정하지 아니하고, 연결 관리 서버와 TCP/IP 연결을 설정하기 때문에, 클라이언트 단말기들로 서비스 서버들의 IP 주소를 노출하지 아니하고, 서버 주소 필드 및 클라이언트 주소 필드를 포함하는 본 발명의 네트워크 주소만이 노출되도록 할 수 있어 서비스 서버들에 대한 보안을 효과적으로 강화하고, 보안 이슈가 발생하는 경우에도 서비스 서버들을 수정할 필요 없이 연결 관리 서버를 수정하면 되므로 신속하고 효과적인 대응을 할 수 있다.
또한, 본 발명은 서버 주소와 클라이언트 주소를 분리하여 특정 멀티캐스트 주소에 가입한 클라이언트 단말기의 클라이언트 주소는 연결 관리 서버에 저장되도록 하고, 내부 라우터에는 연결 관리 서버의 서버 주소만이 저장되도록 분산형으로 시스템을 구축함으로써 멀티캐스트 메시지 송/수신 및 관리를 효율적으로 할 수 있다.
또한, 본 발명은 멀티캐스트 메시지 전송시 내부 네트워크 내에서의 메시지 전송 횟수를 줄일 수 있다.

Claims (24)

  1. 삭제
  2. 대응하는 서버 주소를 가지는 서비스 서버;
    대응하는 자신의 서버 주소를 가지며, 연결된 클라이언트 단말기들 중 멀티캐스트 주소에 가입한 클라이언트 단말기의 클라이언트 주소를 클라이언트 주소 리스트에 저장하고, 상기 연결된 클라이언트 단말기들에 상기 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당하는 것을 특징으로 하는 연결 관리 서버; 및
    상기 클라이언트 주소는 무시하고, 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하며, 상기 멀티캐스트 주소에 가입한 클라이언트 단말기와 연결된 연결 관리 서버의 서버 주소를 서버 주소 리스트에 저장하는 내부 라우터
    를 포함하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  3. 제2항에 있어서,
    상기 내부 라우터는 상기 멀티캐스트 주소로 전송된 멀티캐스트 메시지가 수신되면 상기 서버 주소 리스트에 포함된 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  4. 제2항에 있어서,
    상기 연결 관리 서버는 상기 멀티캐스트 메시지가 수신되면 상기 멀티캐스트 메시지를 상기 클라이언트 주소 리스트에 포함된 클라이언트 주소들로 전송하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  5. 제4항에 있어서,
    상기 연결 관리 서버는 상기 멀티캐스트 메시지가 상기 연결된 클라이언트 단말기들로부터 수신된 것인 경우에, 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  6. 제5항에 있어서,
    상기 내부 라우터는 상기 연결 관리 서버로부터 상기 멀티캐스트 메시지가 수신되는 경우에 상기 연결 관리 서버의 서버 주소를 제외한 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  7. 제2항에 있어서,
    상기 멀티캐스트 통신 네트워크 시스템은 상기 내부 라우터 측에서 상기 연결 관리 서버를 상기 서비스 서버와 대등하게 인식하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  8. 제2항에 있어서,
    상기 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 라우터는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  9. 제2항에 있어서,
    상기 멀티캐스트 주소는 상기 서버 주소 필드에 기록되는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  10. 제2항에 있어서,
    상기 멀티캐스트 주소는 상기 클라이언트 주소 필드에 기록되고, 상기 연결 관리 서버는 상기 클라이언트 주소 필드에 멀티캐스트 주소가 기록된 멀티캐스트 메시지를 수신하면, 상기 클라이언트 주소 리스트에 포함된 클라이언트 주소로 상기 멀티캐스트 메시지를 전송하고, 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하지 않는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  11. 제2항에 있어서,
    상기 연결 관리 서버는 상기 클라이언트 단말기와 암호화된 보안 통신을 수행하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  12. 제2항에 있어서,
    상기 연결 관리 서버에 연결된 클라이언트 단말기들은 각각 상기 연결 관리 서버 이외에도 하나 이상의 보조 연결 관리 서버에 동시에 연결되고,
    상기 연결 관리 서버를 통한 연결에 이상이 발생하는 경우에 상기 연결 관리 서버는 새로운 클라이언트 단말기의 접속 요구를 거부하고, 상기 연결 관리 서버에 연결된 클라이언트 단말기는 상기 보조 연결 관리 서버를 통하여 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  13. 제2항에 있어서,
    상기 멀티캐스트 통신 네트워크 시스템은 상기 클라이언트 단말기들 중 하나와 상기 서비스 서버 사이에 연결 생성 메시지가 정상적으로 왕복하면 상기 클라이언트 단말기들 중 하나와 상기 서비스 서버 사이에 가상 연결(virtual connection)이 설정되도록 하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  14. 제2항에 있어서,
    상기 서비스 서버는 상기 멀티캐스트 주소에 가입한 클라이언트 단말기들 또는 상기 멀티캐스트 주소에 가입한 클라이언트 단말기들이 연결된 연결 관리 서버에 관한 정보를 저장하고, 상기 저장된 정보를 상기 클라이언트 단말기로 제공하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  15. 제14항에 있어서,
    상기 서비스 서버는 상기 멀티캐스트 주소에 대한 변경이 발생하는 경우에 상기 연결 관리 서버 및 상기 내부 라우터로 컨트롤 메시지를 전송하여 상기 연결 관리 서버 및 상기 내부 라우터가 상기 멀티캐스트 주소에 대한 변경을 반영하여 업데이트되도록 하는 것을 특징으로 하는 멀티캐스트 통신 네트워크 시스템.
  16. 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당하는 단계;
    상기 연결 관리 서버가 상기 클라이언트 단말기로부터 멀티캐스트 주소 가입 요청을 받아 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트에 상기 클라이언트 단말기의 클라이언트 주소를 등록하는 단계; 및
    내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트에 상기 연결 관리 서버의 서버 주소를 등록하는 단계
    를 포함하는 것을 특징으로 하는 데이터 송/수신 방법.
  17. 제16항에 있어서,
    상기 데이터 송/수신 방법은
    상기 연결 관리 서버가 상기 클라이언트 단말기로부터 상기 멀티캐스트 주소로 송신된 멀티캐스트 메시지를 수신하는 단계;
    상기 연결 관리 서버가 상기 클라이언트 주소 리스트 내의 클라이언트 주소들 및 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하는 단계; 및
    상기 내부 라우터가 상기 연결 관리 서버의 서버 주소를 제외한 상기 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 데이터 송/수신 방법.
  18. 제16항에 있어서,
    상기 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 라우터는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리하는 것을 특징으로 하는 데이터 송/수신 방법.
  19. 제16항에 있어서,
    상기 멀티캐스트 주소는 상기 서버 주소 필드에 기록되는 것을 특징으로 하는 데이터 송/수신 방법.
  20. 제16항에 있어서,
    상기 멀티캐스트 주소는 상기 클라이언트 주소 필드에 기록되고, 상기 연결 관리 서버는 상기 클라이언트 주소 필드에 멀티캐스트 주소가 기록된 멀티캐스트 메시지를 수신하면, 상기 클라이언트 주소 리스트에 포함된 클라이언트 주소로 상기 멀티캐스트 메시지를 전송하고, 상기 내부 라우터로 상기 멀티캐스트 메시지를 전송하지 않는 것을 특징으로 하는 데이터 송/수신 방법.
  21. 서버 주소만으로 메시지 라우팅을 처리하는 내부 라우터가 서비스 서버로부터 멀티캐스트 주소로 송신된 멀티캐스트 메시지를 수신하는 단계;
    상기 내부 라우터가 상기 멀티캐스트 주소에 상응하는 서버 주소 리스트 내의 서버 주소들로 상기 멀티캐스트 메시지를 전송하는 단계; 및
    상기 내부 라우터로부터 상기 멀티캐스트 메시지를 수신한 연결 관리 서버가 상기 멀티캐스트 주소에 상응하는 클라이언트 주소 리스트 내의 클라이언트 주소들로 상기 멀티캐스트 메시지를 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이터 송/수신 방법.
  22. 제16항 또는 제 21항에 있어서,
    상기 데이터 송/수신 방법 상기 연결 관리 서버에 연결된 클라이언트 단말기와 상기 서비스 서버 사이에 연결 생성 메시지가 정상적으로 왕복하면 상기 클라이언트 단말기와 상기 서비스 서버 사이에 가상 연결(virtual connection)이 설정되도록 하는 것을 특징으로 하는 데이터 송/수신 방법.
  23. 제16항 또는 제21항에 있어서,
    상기 연결 관리 서버에 연결된 클라이언트 단말기는 상기 연결 관리 서버 이외에도 하나 이상의 보조 연결 관리 서버에 동시에 연결되고,
    상기 연결 관리 서버를 통한 연결에 이상이 발생하는 경우에 상기 연결 관리 서버는 새로운 클라이언트 단말기의 접속 요구를 거부하고, 상기 연결 관리 서버에 연결된 클라이언트 단말기는 상기 보조 연결 관리 서버를 통하여 메시지를 전송하는 것을 특징으로 하는 데이터 송/수신 방법.
  24. 제16항 내지 제21항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR20050123972A 2005-12-15 2005-12-15 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법 KR100684166B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20050123972A KR100684166B1 (ko) 2005-12-15 2005-12-15 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법
JP2006338253A JP4452271B2 (ja) 2005-12-15 2006-12-15 マルチキャスト通信ネットワークシステム及びこれを用いたデータ送/受信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050123972A KR100684166B1 (ko) 2005-12-15 2005-12-15 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법

Publications (1)

Publication Number Publication Date
KR100684166B1 true KR100684166B1 (ko) 2007-02-20

Family

ID=38103916

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050123972A KR100684166B1 (ko) 2005-12-15 2005-12-15 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법

Country Status (2)

Country Link
JP (1) JP4452271B2 (ko)
KR (1) KR100684166B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100941802B1 (ko) 2007-12-28 2010-02-10 엘지노텔 주식회사 사설 교환 시스템 및 그의 데이터 전송 방법
WO2014112721A1 (ko) * 2013-01-21 2014-07-24 서울대학교산학협력단 무선 네트워크에서 네트워크 가입 방법
KR20160044429A (ko) * 2014-09-19 2016-04-25 시아오미 아이엔씨. 무선 네트워크에 접속하기 위한 방법, 장치, 프로그램 및 기록매체
US10374819B2 (en) 2014-09-19 2019-08-06 Xiaomi Inc. Methods and devices of accessing wireless network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093656A (ko) * 2002-07-29 2004-11-06 아이피 토크 가부시키가이샤 인터넷 통신 시스템 및 인터넷 통신 방법 및 세션 관리서버 및 무선 통신 장치 및 통신 중계 서버 및 프로그램

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093656A (ko) * 2002-07-29 2004-11-06 아이피 토크 가부시키가이샤 인터넷 통신 시스템 및 인터넷 통신 방법 및 세션 관리서버 및 무선 통신 장치 및 통신 중계 서버 및 프로그램

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100941802B1 (ko) 2007-12-28 2010-02-10 엘지노텔 주식회사 사설 교환 시스템 및 그의 데이터 전송 방법
WO2014112721A1 (ko) * 2013-01-21 2014-07-24 서울대학교산학협력단 무선 네트워크에서 네트워크 가입 방법
US10374881B2 (en) 2013-01-21 2019-08-06 Hybee, Inc. Method of network subscription in a wireless network
KR20160044429A (ko) * 2014-09-19 2016-04-25 시아오미 아이엔씨. 무선 네트워크에 접속하기 위한 방법, 장치, 프로그램 및 기록매체
KR101652954B1 (ko) * 2014-09-19 2016-09-01 시아오미 아이엔씨. 무선 네트워크에 접속하기 위한 방법, 장치, 프로그램 및 기록매체
US10374819B2 (en) 2014-09-19 2019-08-06 Xiaomi Inc. Methods and devices of accessing wireless network

Also Published As

Publication number Publication date
JP2007166634A (ja) 2007-06-28
JP4452271B2 (ja) 2010-04-21

Similar Documents

Publication Publication Date Title
JP5746688B2 (ja) ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法
US8423678B2 (en) Resilient network database
EP1432172B1 (en) Method and system for conversion of IGMP requests
EP4009593A1 (en) Data transmission method and apparatus, network card and storage medium
WO2019227928A1 (zh) 一种负载均衡方法及其装置
KR100268194B1 (ko) 혼성피어-서버통신구조를위한방법및시스템
US20040177158A1 (en) Network address translation techniques for selective network traffic diversion
JP4832816B2 (ja) 無線式パケット・ベースのネットワークの電力節減
EP3117588B1 (en) Scalable address resolution
JP2005525750A (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
WO2014190791A1 (zh) 一种网关设备身份设置的方法及管理网关设备
CN101364976B (zh) 一种建立通信通道的方法、装置及数据通信系统
CN111787079B (zh) 基于通信群组的通信方法、装置、服务器、系统及介质
KR101083480B1 (ko) 가입 통지 서비스를 구비하는 가상 접속
KR100684166B1 (ko) 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법
JP2006042223A (ja) パケット転送装置
JP4820940B2 (ja) ポート群を動的に専用化するプロセッサ間通信ネットワーク
CN1863202B (zh) 提高负载均衡设备和服务器处理性能的方法
KR100684165B1 (ko) 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법
CN102045179B (zh) 实现本地网络与公共网络间组播互通的方法和nat设备
JP3782272B2 (ja) マルチキャストシステム、管理サーバ、マルチキャストグループ管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4782799B2 (ja) 通信ネットワークシステム及びこれを用いたサービス間のデータ送受信方法。
JP2004129159A (ja) パケット変換方法、パケット通信システム、パケット変換装置、パケット変換プログラムおよび記録媒体
US7228562B2 (en) Stream server apparatus, program, and NAS device
US12047287B2 (en) Data transmission method and apparatus, network adapter, and storage medium

Legal Events

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

Payment date: 20120130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 14