KR101106873B1 - 온라인 게임 클라이언트간 피어 투 피어 통신방법 - Google Patents

온라인 게임 클라이언트간 피어 투 피어 통신방법 Download PDF

Info

Publication number
KR101106873B1
KR101106873B1 KR1020100085855A KR20100085855A KR101106873B1 KR 101106873 B1 KR101106873 B1 KR 101106873B1 KR 1020100085855 A KR1020100085855 A KR 1020100085855A KR 20100085855 A KR20100085855 A KR 20100085855A KR 101106873 B1 KR101106873 B1 KR 101106873B1
Authority
KR
South Korea
Prior art keywords
client
connection
relay server
communication
peer
Prior art date
Application number
KR1020100085855A
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 KR1020100085855A priority Critical patent/KR101106873B1/ko
Application granted granted Critical
Publication of KR101106873B1 publication Critical patent/KR101106873B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 온라인 게임 클라이언트간 피어 투 피어 통신방법에 관한 것으로 구체적으로는 릴레이 서버가 온라인 게임 서버의 요청에 의하여 게임 룸 단위로 접속그룹을 생성 및 관리하고, 네트워크를 통해 접속한 다수의 게임 클라이언트들로 하여금 RUDP 메시지를 통한 P2P 통신 또는 릴레이 서버를 경유한 TCP를 통한 메시지 릴레이를 가운데 어느 하나에 의하여 통신할 수 있도록 하되, 백그라운드에서 동적으로 연결전환이 이뤄지도록 하는 것을 특징으로 하며, 이러한 본 발명에 의할 때 게임 클라이언트간 P2P 연결이 일시적으로 끊어지더라도 항시 연결되어 있는 것처럼 동작함으로써 지연없는 메시지의 송수신이 가능하도록 한다는 효과가 있다.

Description

온라인 게임 클라이언트간 피어 투 피어 통신방법{PEER TO PEER COMMUNICATION METHOD BETWEEN ONLINE GAME CLIENTS}
본 발명은 온라인 게임 서버에 동시접속한 온라인 게임 클라이언트들 사이의 P2P(Peer To Peer) 통신방법에 관한 것이다.
P2P 통신 기술은 데이터 전송 및 대용량 데이터 다운로드를 위한 서비스에 널리 이용되고 있다. 최근에는 멀티 플레이어 온라인 게임 중 FPS(First Person Shooter)게임이나 캐주얼 게임(Casual Game)등에서 각 플레이어의 행동이나 상태를 서로 신속하게 전달하기 위하여 동시접속한 온라인 게임 클라이언트들 사이에 P2P 통신 연결을 설정함으로써 데이터를 상호 주고받는다.
P2P 통신을 위해서는 다음과 같은 순서에 의한 각 피어간 P2P 통신 연결 설정이 선행되어야 한다. 도 1에 도시된 바에 의할 때 서로 통신하고자 하는 피어 제 1 클라이언트(1)와 제 2 클라이언트(2)는 릴레이 서버(3)를 경유하여 연결을 설정하게 되는데, 우선, 제 1 클라이언트(1)는 릴레이 서버(3)에 신뢰 가능한 UDP(Reliable UDP : RUDP) 메시지를 전송함으로써 ID를 전달하고, 공인(public) IP 주소와 포트 번호(Port Number)를 확인한다. 제 2 클라이언트(2)도 마찬가지로 릴레이 서버(3)를 통해 자신의 공인 IP와 포트 번호를 확인한다. 릴레이 서버(3)는 제 1 클라이언트(1)와 제 2 클라이언트(2)의 정보를 저장한다.
제 1 클라이언트(1)와 제 2 클라이언트(2)가 서로 접속해야 하는 상황에서는 릴레이 서버(3)는 제 1 클라이언트(1) 및 제 2 클라이언트(2)로 각각의 공중 IP 주소와 포트 번호를 전달한다. 이를 수신한 제 1 클라이언트(1)는 제 2 클라이언트(2)로 접속을 시도하는데 이때 제 1 클라이언트(1)는 제 2 클라이언트(2)로 RUDP 메시지를 보내 자신이 누구인지를 표시하는 ID와 공인 IP, 포트번호를 전달한다.
제 2 클라이언트(2)는 릴레이 서버(3)으로부터 수신한 정보와 대조하여 제 1 클라이언트(1)가 알맞은 피어 인지를 확인하고, 제 1 클라이언트(1)에게 자신의 ID를 RUDP 메시지를 통해 응답한다. 제 1 클라이언트(1)는 이 응답을 통해 제 2 클라이언트(2)의 ID와 공인 IP주소와 포트 번호를 확인한다. 이후로는 확인된 정보를 통해, 제 1 클라이언트(1)와 제 2 클라이언트(2)는 RUDP 메시지를 통해 통신하게 된다.
이러한 과정은 아주 보편적인 상황에서 이루어지는 P2P 통신 연결 절차이다. 이 통신 연결 절차가 완료되어야 게임 피어들은 서로 P2P 통신을 진행할 수 있다. 이러한 P2P 연결 절차를 진행하는 데 약간의 지연시간이 발생하나 정상적인 상황에서는 이 지연시간은 생각하지 않아도 될 정도로 작기 때문에 큰 문제가 되지 않는다.
하지만, NAT(Network Address Translator) 또는 방화벽(Firewall)을 사용하는 네트워크 환경에서는 P2P 연결 과정에 문제가 발생한다. 첫째, NAT가 연결 설정에 필요한 정보전달을 차단하여 해당 정보가 각 피어들로 전달되지 못할 수 있다.
둘째, RUDP 통신은 내부적으로 UDP(User Datagram Protocol) 메시지를 통해 통신하는데 UDP 메시지의 경우 통신 환경에 따라 해당 메시지가 손실되는 경우가 발생한다. 이 경우 해당 통신은 단절되며 이로 인해 진행 중이었던 피어 투 피어 통신이 중단된다.
이런 상황에서 제 1 클라이언트(1)는 제 2 클라이언트(2)로부터 응답을 받지 못하기 때문에, 특정 시간 만큼(예를들어 5초) 응답에 대기하여야 한다. 응답에 대기하였음에도 불구하고 응답을 받지 못한 경우, 제 1 클라이언트(1)는 제 2 클라이언트(2)와의 연결을 실패로 처리하고 이후부터 제 2 클라이언트(2)에게 메시지를 보내야 하는 경우 릴레이 서버를 통해 메시지를 전달한다.
문제는 상기에서 언급한 바와 같이 응답에 대기해야 하는 경우 특정 시간만큼 응답을 대기하고 있어야 하는데, 연결 설정 중에는 메시지를 보낼 수 없으므로 지연 현상(Delay)이 생기게 된다. 이러한 지연 현상은 게임 플레이를 초기화하는 시점에 생기는 경우에는 큰 문제가 되지 않는다. 하지만 게임 플레이 중 네트워크 요인에 의해 P2P 연결이 종료되는 경우에는 더 이상 피어들간에 정보를 주고받을 수 없기 때문에 연결이 종료된 피어의 모습이 보이지 않거나, 해당 피어의 캐릭터가 움직이지 않는 등의 문제가 발생할 수 있다.
종래에는 이러한 문제가 발생할 경우, 연결이 중단된 피어를 게임 플레이 도중 강제로 퇴장시키거나, 게임 플레이를 전체적으로 잠시 중단시킨 뒤 문제가 생긴 게임 피어의 통신 연결을 재설정한 뒤 다시 게임 플레이를 재개하는 방식을 사용하였다.
이와 같이 피어간 연결을 재설정할 경우 게임의 플레이가 갑자기 중단되므로 사용자의 불만이 높아지고 서비스 안정성에 악영향을 주게 된다.
본 발명은 상기와 같은 종래기술의 문제점을 해소하기 위하여 안출된 것으로, 어떠한 네트워크 환경에서도 게임 플레이가 중단되거나 종료되지 않도록 멀티플레이 온라인 게임에서 연결 중단 현상이 없는 온라인 게임 클라이언트간 피어 투 피어 통신방법 제공을 그 목적으로 한다.
본 발명의 다른 목적은 게임 클라이언트간 연결 설정시 지연 현상의 발생없이 P2P 기반의 메시지 통신을 가능토록 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법 제공에 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 일측면은 네트워크를 통해 온라인 게임 서버로 접속한 클라이언트로부터 하나 이상의 클라이언트가 온라인 게임을 동시에 진행하기 위한 룸의 생성을 요청받음에 따라 온라인 게임 서버가 릴레이 서버로 접속그룹의 생성을 요청하면, 릴레이 서버가 접속그룹을 생성하고 생성결과를 온라인 게임 서버로 응답하는 제 110 단계;
네트워크를 통해 온라인 게임 서버로 접속한 클라이언트가 룸에 입장함에 따라 온라인 게임 서버가 릴레이 서버로 접속그룹에 상기 클라이언트를 추가할 것을 요청하면, 릴레이 서버가 상기 생성된 접속그룹에 상기 클라이언트의 정보를 추가하는 제 120 단계;
접속그룹에 포함된 클라이언트들이 네트워크를 통해 접속함에 따라 릴레이 서버가 각 클라이언트의 공중 IP주소, 포트번호, ID를 수집하여 접속그룹별 접속정보를 생성하는 제 130 단계;
릴레이 서버가 상기 생성된 접속그룹별 접속정보를 네트워크를 통해 접속한 상기 접속그룹에 속하는 게임 클라이언트들로 전송하는 제 140 단계;
접속그룹에 속하는 클라이언트 가운데 어느 하나가 퇴장하거나, 강제로 퇴장당함에 따라 온라인 게임 서버로부터 해당 클라이언트의 접속그룹 삭제를 요청받으면, 릴레이 서버가 상기 접속그룹으로부터 상기 클라이언트를 삭제하는 제 150 단계; 및
릴레이 서버가 접속그룹별 접속정보를 접속그룹에 속하는 각 클라이언트들에게 전달하는 제 160 단계;를 포함하는 것을 특징으로 한다.
한편, 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 다른 일측면은 제 1 클라이언트가 릴레이 서버로 접속하여 자신이 속한 접속그룹의 접속정보를 수신하면, 접속그룹에 속하는 제 2 클라이언트를 자신의 P2P(Peer To Peer) 목록에 등록하고 릴레이 연결로 설정함으로써 상기 릴레이 서버를 경유하여 상기 제 2 클라이언트와 릴레이 통신을 시작하는 제 210 단계;
제 1 클라이언트가 릴레이 서버로 접속그룹별 접속정보를 수신하였음을 응답하는 제 220 단계;
제 1 클라이언트가 P2P 목록에 등록된 제 2 클라이언트와 P2P 접속을 시도하는 제 230 단계;
P2P 접속이 실패한 경우 릴레이 통신을 계속하되 백그라운드에서 상기 제 2 클라이언트와 P2P 접속을 계속 시도하는 제 240 단계;
P2P 접속이 성공한 경우 상기 제 2 클라이언트의 P2P 접속정보를 기록하고 상기 접속정보를 기반으로 P2P 연결을 생성하는 제 250 단계;
제 1 클라이언트가 릴레이 서버로 상기 제 2 클라이언트와의 통신 연결 전환 요청 메시지를 발송하는 제 260 단계; 및
릴레이 서버로부터 상기 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 수신하면 상기 제 2 클라이언트와 P2P 연결로 통신을 시작하는 제 270 단계;를 포함하는 것을 특징으로 한다.
한편, 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 다른 일측면은 릴레이 서버가 네트워크를 통해 접속한 접속그룹에 속하는 클라이언트들의 접속정보를 생성하여 상기 접속그룹에 속하는 각 클라이언트들에게 제공하는 제 310 단계;
접속그룹에 속한 제 1 클라이언트로부터 제 2 클라이언트로 전송되는 패킷을 수신하면 이를 제 2 클라이언트로 전달하는 제 320 단계;
접속그룹에 속한 제 1 클라이언트들 및 제 2 클라이언트로부터 접속정보를 수신하였음을 알리는 응답을 받으면 상기 제 1 클라이언트 및 제 2 클라이언트에 대하여 서로 접속 시도할 것을 통지하는 제 330 단계;
제 2 클라이언트와의 P2P 접속이 성공함에 따라 제 1 클라이언트로부터 상기 제 2 클라이언트와 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 수신하면 릴레이 서버가 제 2 클라이언트로 제 1 클라이언트와의 연결을 P2P 연결로 변경하라는 메시지를 전송하는 제 340 단계; 및
제 2 클라이언트로부터 제 1 클라이언트와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트로 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 알리는 제 350 단계;를 포함하는 것을 특징으로 한다.
한편, 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 다른 일측면은 같은 접속그룹에 속한 제 2 클라이언트와의 P2P 연결이 종료됨에 따라 제 1 클라이언트가 릴레이 서버로 제 2 클라이언트와의 P2P 연결이 종료되었음을 알리는 제 410 단계;
릴레이 서버로부터 제 2 클라이언트와 릴레이 연결로의 연결전환이 완료되었음을 수신한 제 1 클라이언트는 제 2 클라이언트의 접속 정보를 수정함으로써 릴레이 통신으로 설정하는 제 420 단계;
릴레이 서버를 경유하여 제 2 클라이언트와 릴레이 통신하는 제 430 단계;
릴레이 연결로 연결전환됨에 따라 백그라운드에서 제 2 클라이언트에 P2P 접속을 시도하는 제 440 단계; 및
제 2 클라이언트로의 P2P 접속이 실패했을 경우 백그라운드에서 제 2 클라이언트와의 P2P 접속을 계속 시도하는 제 450 단계;를 포함하는 것을 특징으로 한다.
한편, 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 다른 일측면은 제 1 클라이언트로부터 제 2 클라이언트와의 P2P 연결이 종료되었음을 알리는 응답을 수신하면 릴레이 서버는 제 2 클라이언트로 제 1 클라이언트와의 연결이 종료되었음을 알리는 제 510 단계;
제 2 클라이언트로부터 제 1 클라이언트와의 연결이 릴레이 통신으로 설정변경되었음을 알리는 응답을 수신하면 릴레이 서버가 접속그룹에 속한 클라이언트들의 접속정보에 대하여 제 1 클라이언트와 제 2 클라이언트가 릴레이 통신으로 연결되었음을 저장하고 제 1 클라이언트로 제 2 클라이언트와 릴레이 통신으로 연결전환이 완료되었음을 알리는 제 520 단계;
제 1 클라이언트로부터 제 2 클라이언트로 전송되는 패킷을 수신하면 이를 제 2 클라이언트로 전달하는 제 530 단계;
제 2 클라이언트 P2P 접속이 성공함에 따라 제 1 클라이언트로부터 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 수신하면 릴레이 서버가 제 2 클라이언트로 제 1 클라이언트와의 연결을 P2P 연결로 변경하라는 메시지를 전송하는 제 540 단계; 및
제 2 클라이언트로부터 제 1 클라이언트와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트로 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 알리는 제 550 단계;를 포함하는 것을 특징으로 한다.
본 발명에 의하면 피어 투 피어 통신으로 메시지 통신을 할 경우 생기는 연결 중단 문제를 해결하여 온라인 게임의 메시지 통신을 원활하고 안정적으로 수행할 수 있게 된다. 이로 인해 온라인 게임 서비스의 품질이 향상되고 사용자들의 이탈을 막을 수 있다는 효과가 발생한다.
구체적으로는 피어 끼리 P2P 연결이 일시적으로 끊어지더라도 항시 연결되어 있는 것처럼 동작함으로써 피어간 지연없는 메시지의 송수신이 가능하도록 하며 특히, 피어간 P2P 연결 설정을 진행하는 도중에도 메시지의 송수신이 가능하다는 효과가 있다.
이러한 연결 중단 문제는 네트워크 상황이 좋지 않은 동남아 국가나 남미 국가 등에서 빈번히 일어난다. 이는 온라인 게임의 서비스 가능 여부에도 직결되는 중요한 문제인데, 본 발명을 의할 때 서비스 안정성을 확보할 수 있어 이들 지역에서도 온라인 게임 서비스가 가능해진다는 효과가 발생한다.
한편, 피어는 접속그룹에 속한 다른 피어와 RUDP 메시지를 통한 P2P 통신 또는 릴레이 서버를 경유한 TCP를 통한 메시지 릴레이 가운데 어느 하나에 의하여 통신할 수 있으며 이러한 과정은 백그라운드에서 처리되어 온라인 게임의 진행에 아무런 불편함을 초래하지 아니한다. 뿐만 아니라, 이러한 P2P 연결과 릴레이 연결의 변경은 동적으로 이루어지므로 사용자가 통신 전환에 대한 지연을 느끼지 못한다는 효과가 있다.
도 1은 종래기술에 의한 P2P 연결 방법에 의할 때 릴레이 서버와 피어들간의 연결관계를 설명하는 망구성도이며,
도 2는 본 발명에 있어 온라인 게임서버, 릴레이 서버와 게임 클라이언트들이 연결되는 관계를 설명하는 망구성도이며,
도 3은 룸의 생성부터 소멸까지의 게임 서버와 릴레이 서버간 처리과정을 설명하는 참고도이며,
도 4는 도 3에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 일 측면을 설명한 플로우차트이며,
도 5는 게임 클라이언트들간 피어 투 피어 연결을 설정하는 과정을 설명하는 참고도이며,
도 6은 도 5에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 게임 클라이언트의 입장에서 설명하는 플로우차트이며,
도 7은 도 5에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 릴레이 서버의 입장에서 설명하는 플로우차트이며,
도 8은 게임 클라이언트들간 피어 투 피어 연결이 해제된 경우의 처리과정을 설명하는 참고도이며,
도 9는 도 8에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 게임 클라이언트의 입장에서 설명하는 플로우차트이며,
도 10은 도 8에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 릴레이 서버의 입장에서 설명하는 플로우차트이다.
이하에서는 첨부하는 도면을 참조하여 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 상세히 살펴보기로 한다.
도 2는 본 발명에 있어 온라인 게임서버, 릴레이 서버와 게임 클라이언트들이 연결되는 관계를 설명하는 망구성도이며, 도 3은 룸의 생성부터 소멸까지의 게임 서버와 릴레이 서버간 처리과정을 설명하는 참고도이며, 도 4는 도 3에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법의 일 측면을 설명하는 플로우차트이다.
도 3 및 도 4에 도시된 바에 의할 때 온라인 게임 서버(4)는 인터넷 망을 통해 클라이언트들(1,2)이 접속하여 룸의 생성을 요청하면, 온라인 게임 서버(4)는 릴레이 서버(3)로 접속그룹의 생성을 요청한다. 릴레이 서버(3)는 이에 따라 접속그룹을 생성하고 생성결과를 온라인 게임 서버(4)로 알린다(S110).
한편, 클라이언트(1,2)들이 룸에 입장하면 온라인 게임 서버(4)는 릴레이 서버(3)로 접속그룹에 피어의 추가를 요청한다. 릴레이 서버(3)는 이에 따라 기 생성된 접속그룹에 상기 입장한 클라이언트(1,2)의 정보를 추가하고 그 결과를 온라인 게임 서버(4)로 알린다(S120).
릴레이 서버(3)로부터 응답을 받은 온라인 게임 서버(4)는 해당하는 클라이언트들(1,2)에게 룸 입장을 통지하고, 클라이언트(1,2)는 릴레이 서버(3)로 접속함으로써 룸에 입장한다.
릴레이 서버(3)는 접속한 클라이언트(1,2)들로부터 각 게임 클라이언트의 공중 IP주소, 포트번호, ID를 수집하여 각 접속그룹별로 저장한다(S130).
한편, 릴레이 서버(3)는 접속그룹에 속하는 모든 게임 클라이언트의 공중 IP주소, 포트번호, ID 즉, 접속그룹별 접속정보를 접속그룹에 속하는 각 클라이언트(1,2)들로 전달하여 P2P 접속 시점을 동기화한다(S140).
클라이언트들(1,2) 가운데 어느 하나가 퇴장하거나, 강제로 퇴장당한 경우 온라인 게임 서버(4)는 릴레이 서버(3)로 접속그룹으로부터 피어의 삭제를 요청한다. 릴레이 서버(3)는 이에 따라 기 생성된 접속그룹으로부터 상기 퇴장하거나, 강제퇴장당한 클라이언트(1,2)를 삭제하고 그 결과를 온라인 게임 서버(4)로 알린다(S150).
이와 같이 룸에 새로운 게임 클라이언트가 접속하거나 퇴장함으로써 접속그룹에 변동이 생기면 릴레이 서버(3)는 접속그룹에 속하는 모든 게임 클라이언트의 공중 IP주소, 포트번호, ID 즉, 접속그룹별 접속정보를 접속그룹에 속하는 각 클라이언트(1,2)들에게 재차 전달함으로써 변동사항을 갱신한다(S160).
이에 의하여 릴레이 서버(3)는 각 피어의 연결 정보를 온라인 게임이 진행되는 룸 단위로 관리하고 접속그룹의 접속정보를 피어 즉, 클라이언트들(1,2)에게 전달하여 어떤 피어들과 접속할지를 피어에게 알게 하고 피어들의 연결 진행을 동기화하여 피어 투 피어 연결 설정을 관리하게 된다.
그리고, 이러한 릴레이 서버는 게임 플레이가 진행되는 게임 룸의 생성, 입장, 피어 퇴장, 피어 강제퇴장, 게임 룸의 종료 등을 관리하며 필요한 경우 피어간 전달되는 메시지를 릴레이 해주는 역할을 수행하게 된다.
한편, 이하에서는 도 5 내지 도 7을 참조하여 룸에 입장한 각 게임 클라이언트들간 P2P 연결이 이루어지는 과정을 살펴보기로 한다.
도 5는 게임 클라이언트들간 피어 투 피어 연결을 설정하는 과정을 설명하는 설명하는 참고도이며, 도 6은 도 5에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 게임 클라이언트의 입장에서 설명하는 플로우차트, 도 7은 도 5에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 릴레이 서버의 입장에서 설명하는 플로우차트이다.
우선 도 6에 도시된 바에 의할 때 게임 클라이언트간 P2P 연결이 생성되는 과정은 아래와 같다.
릴레이 서버(3)로 접속한 클라이언트(1,2)는 릴레이 서버(3)로부터 자신이 속한 접속그룹의 접속정보를 수신한다. 접속그룹에 속하는 게임 클라이언트가 제 1 클라이언트(1) 및 제 2 클라이언트(2)라고 할 때, 제 1 클라이언트(1)는 접속그룹별 접속정보를 수신한 후 접속그룹에 속하는 다른 모든 클라이언트들 즉, 제 2 클라이언트(2)를 자신의 P2P 목록에 등록하고 릴레이 연결로 설정함으로써 릴레이 통신을 시작한다(S210).
한편, 릴레이 서버(3)로 접속그룹별 접속정보를 잘 받았음을 알린다(S220). 이때부터 제 1 클라이언트(1)와 제 2 클라이언트(2)는 릴레이 서버(3)를 경유하여 릴레이 통신을 시작하게 된다.
한편, 릴레이 서버(3)는 접속그룹에 속하는 클라이언트(1,2)들로부터 접속그룹별 접속정보를 잘 받았다는 응답을 받으면, 접속그룹에 속하는 각 클라이언트들(1,2) 각각에 대해 서로 접속 시도할 것을 통지한다.
한편, 릴레이 서버(3)로부터 P2P 목록에 존재하는 피어들과의 접속통지를 받으면 제 1 클라이언트(1)는 자신의 P2P 목록에 존재하는 피어 즉, 제 2 클라이언트(2)에 P2P 접속을 시도한다(S230).
제 1 클라이언트(1)는 제 2 클라이언트(2)로의 P2P 접속이 실패했을 경우, 제 2 클라이언트(2)와는 릴레이 연결로 통신을 계속하되 백그라운드에서 제 2 클라이언트(2)와의 P2P 접속을 계속 시도한다(S240). 이때, P2P 접속 시도는 정해진 횟수만큼 실시된다.
제 1 클라이언트(1)는 제 2 클라이언트(2)로의 P2P 접속이 성공했을 경우, 제 2 클라이언트(2)의 P2P 접속 정보를 기록하고 상기 접속 정보를 기반으로 제 2 클라이언트(2)와의 P2P 연결을 생성한다(S250).
P2P 연결이 생성된 후, 제 1 클라이언트(1)는 릴레이 서버(3)로 제 2 클라이언트(2)와의 통신 연결 전환 요청 메시지를 보낸다(S260). 해당 메시지를 받은 릴레이 서버(3)는 제 2 클라이언트(2)에게 제 1 클라이언트(1)와의 연결을 P2P 연결로 변경하라는 메시지를 전송한다.
제 2 클라이언트(2)는 자신의 P2P 목록의 제 1 클라이언트(1)와의 접속정보를 상기 S250 단계에서 생성된 제 1 클라이언트(1)와의 P2P 연결로 변경하고 릴레이 서버(3)에 응답한다.
응답을 받은 릴레이 서버(3)는 제 1 클라이언트(1)에게 제 2 클라이언트(2)와의 통신 연결이 P2P 방식으로 변경되었음을 알리는데, 이 응답을 받은 제 1 클라이언트(1)는 이후부터 제 2 클라이언트(2)와 P2P 연결로 통신한다(S270).
이에 의하여 릴레이 서버(3)를 경유하지 않고 제 1 클라이언트(1)와 제 2 클라이언트(2)는 직접 데이터를 주고 받을 수 있다. 이때 빠른 속도를 보장하기 위하여 제 1 클라이언트(1)와 제 2 클라이언트(2)는 RUDP 통신을 할 수 있다.
한편, 상기에서 살펴본 과정을 도 7을 참조하여 릴레이 서버의 관점에서 설명하면 아래와 같다.
우선 릴레이 서버(3)는 접속그룹에 속한 클라이언트(1,2)들의 접속정보를 생성하여 각 클라이언트(1,2)에게 접속그룹별 접속정보를 제공한다(S310).
한편, 접속그룹에 속한 제 1 클라이언트(1)로부터 제 2 클라이언트(2)로 전송되는 패킷을 수신하면 이를 제 2 클라이언트(2)로 전달한다(S320).
한편, 접속그룹에 속한 클라이언트(1,2)들로부터 접속그룹별 접속정보를 잘 받았음을 알리는 응답을 받으면 접속그룹에 속하는 각 클라이언트들(1,2) 각각에 대해 서로 접속 시도할 것을 통지한다(S330).
제 1 클라이언트(1)의 제 2 클라이언트(2)와의 P2P 접속이 성공함에 따라 제 1 클라이언트(1)로부터 제 2 클라이언트(2)와 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 수신하면 릴레이 서버(3)는 제 2 클라이언트(2)로 제 1 클라이언트(1)와의 연결을 P2P 연결로 변경하라는 메시지를 전송한다(S340).
이후 제 2 클라이언트(2)로부터 제 1 클라이언트(1)와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트(1)로 제 2 클라이언트(2)와의 통신 연결이 P2P 방식으로 변경되었음을 알린다(S350).
이에 의하여 제 1 클라이언트(1)와 제 2 클라이언트(2)가 P2P 통신을 시작하게되며, P2P 통신이 유지되는 동안 릴레이 서버(3)는 데이터 패킷의 릴레이를 처리하지 않아도 되므로 그만큼 부하가 줄어든다. 한편, 클라이언트들(1,2)간 RUDP 통신을 함으로써 릴레이 서버(3)를 경유한 TCP(Transmission Control Protocol) 메시지 릴레이에 비해 신속하게 데이터를 주고받을 수 있게 된다.
한편, 이하에서는 도 8 내지 도 10을 참조하여 게임 클라이언트들간 P2P 연결이 해제되는 경우의 처리과정을 살펴보기로 한다.
도 8은 네트워크 요인에 의하여 게임 클라이언트들간 피어 투 피어 연결이 해제된 경우의 처리과정을 설명하는 참고도이며, 도 9는 도 8에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 게임 클라이언트의 입장에서 설명하는 플로우차트이며, 도 10은 도 8에 도시된 본 발명에 의한 온라인 게임 클라이언트간 피어 투 피어 통신방법을 릴레이 서버의 입장에서 설명하는 플로우차트이다.
제 1 클라이언트(1)와 제 2 클라이언트(2)의 P2P 연결이 예기치 않은 네트워크 환경으로 인하여 종료되는 경우, 도 8 및 도 9에 도시된 바에 의할 때, 우선 제 1 클라이언트(1)는 릴레이 서버(3)로 제 2 클라이언트(2)와의 P2P 연결이 종료되었음을 알린다(S410).
해당 메시지를 받은 릴레이 서버(3)는 제 2 클라이언트(2)로 제 1 클라이언트(1)와의 연결이 종료되었음을 알리는데, 제 2 클라이언트(2)는 제 1 클라이언트(1)와의 연결을 릴레이 연결로 설정을 변경한 다음 릴레이 서버(3)로 이를 알린다.
한편, 릴레이 서버(3)는 제 1 클라이언트(1)로 릴레이 연결로 연결전환이 완료되었음을 알리는데, 이를 수신한 제 1 클라이언트(1)는 제 2 클라이언트(2)의 접속 정보를 수정함으로써 릴레이 연결을 사용하여 통신하도록 설정한다(S420).
그 후 제 2 클라이언트(2)와의 통신은 릴레이연결을 사용하여 진행한다(S430). 즉, 제 2 클라이언트(2)로 전송할 데이터는 릴레이 서버(3)를 경유하여 전달된다.
한편, 릴레이 연결로 연결전환됨에 따라 제 1 클라이언트(1)는 백그라운드에서 제 2 클라이언트(2)에 P2P 접속을 시도한다(S440).
제 2 클라이언트(2)로의 P2P 접속이 실패했을 경우 백그라운드에서 제 2 클라이언트(2)와의 P2P 접속을 계속 시도한다(S450). 이때, P2P 접속 시도는 정해진 횟수만큼 실시된다.
상기와 같은 연결전환 과정을 도 10을 참조하여 릴레이 서버(3)의 관점에서 살펴보면 우선, 제 1 클라이언트(1)로부터 제 2 클라이언트(2)와의 P2P 연결이 종료되었음을 알리는 메시지를 수신하면 릴레이 서버(3)는 제 2 클라이언트(2)로 제 1 클라이언트(1)와의 연결이 종료되었음을 알린다(S510).
제 2 클라이언트(2)는 제 1 클라이언트(1)와의 연결을 릴레이 연결로 설정을 변경한 다음 릴레이 서버(3)로 이를 알리는데, 상기 메시지를 수신한 릴레이 서버(3)는 접속그룹에 속한 클라이언트(1,2)들의 접속정보 가운데 제 1 클라이언트(1)와 제 2 클라이언트(2)가 릴레이 통신으로 연결되었음을 저장하고 제 1 클라이언트(1)로 릴레이 연결로의 연결전환이 완료되었음을 알린다(S520).
이때, 클라이언트(1,2)들의 접속정보는 각 클라이언트(1,2)의 공중IP, 포트번호와 ID는 물론, 각 클라이언트간의 연결이 릴레이 연결인지 또는 P2P 연결인지 여부를 포함할 수 있다.
한편, 제 1 클라이언트(1)로부터 제 2 클라이언트(2)로 전송되는 패킷을 수신하면 이를 제 2 클라이언트(2)로 전달한다(S530).
제 1 클라이언트(1)는 백그라운드에서 제 2 클라이언트(2)와의 P2P 접속을 시도하는데, P2P 접속이 성공하면 제 1 클라이언트(1)는 제 2 클라이언트(2)와 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 릴레이 서버(3)로 전송한다. 이를 수신한 릴레이 서버(3)는 재차 제 2 클라이언트(2)로 제 1 클라이언트(1)와의 연결을 P2P 연결로 변경하라는 메시지를 전송한다(S540).
이후 제 2 클라이언트(2)로부터 제 1 클라이언트(1)와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트(1)로 제 2 클라이언트(2)와의 통신 연결이 P2P 방식으로 변경되었음을 알리는 것(S550)에 의하여 릴레이 통신은 다시 P2P 연결로 전환된다.
이상과 같은 온라인 게임 클라이언트간 피어 투 피어 통신방법은 컴퓨터 프로그램의 형태로 제작되되, 컴퓨터로 판독가능한 기록매체에 수록되어 클라이언트(1,2) 또는 릴레이 서버(3)에서 실행될 수 있다.
이상 몇가지의 실시예를 들어 본 발명을 살펴보았으나 이러한 실시예는 예시의 목적을 위해 개시된 것이고, 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것임은 물론, 이는 하기의 특허청구범위를 벗어나지 아니하는 것으로 해석되어야 한다.
1 : 제 1 클라이언트 2 : 제 2 클라이언트
3 : 릴레이 서버 4 : 온라인 게임 서버

Claims (14)

  1. 네트워크를 통해 온라인 게임 서버로 접속한 클라이언트로부터 하나 이상의 클라이언트가 온라인 게임을 동시에 진행하기 위한 룸의 생성을 요청받음에 따라 온라인 게임 서버가 릴레이 서버로 접속그룹의 생성을 요청하면, 릴레이 서버가 접속그룹을 생성하고 생성결과를 온라인 게임 서버로 응답하는 제 110 단계;
    네트워크를 통해 온라인 게임 서버로 접속한 클라이언트가 룸에 입장함에 따라 온라인 게임 서버가 릴레이 서버로 접속그룹에 상기 룸에 입장한 클라이언트를 추가할 것을 요청하면, 릴레이 서버가 상기 생성된 접속그룹에 상기 룸에 입장한 클라이언트의 정보를 추가하는 제 120 단계;
    접속그룹에 속하는 클라이언트들이 네트워크를 통해 접속함에 따라 릴레이 서버가 각 클라이언트의 공중 IP주소, 포트번호, ID를 수집하여 접속그룹별 접속정보를 생성하는 제 130 단계;
    릴레이 서버가 상기 생성된 접속그룹별 접속정보를 네트워크를 통해 접속한 상기 접속그룹에 속하는 클라이언트들로 전송하는 제 140 단계;
    접속그룹에 속하는 클라이언트들 가운데 어느 하나가 퇴장하거나, 강제로 퇴장당함에 따라 온라인 게임 서버로부터 해당 클라이언트의 접속그룹 삭제를 요청받으면, 릴레이 서버가 상기 접속그룹으로부터 상기 퇴장하거나 퇴장당한 클라이언트를 삭제하는 제 150 단계; 및
    릴레이 서버가 접속그룹별 접속정보를 접속그룹에 속하는 각 클라이언트들에게 전달하는 제 160 단계;를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  2. 제 1 클라이언트가 릴레이 서버로 접속하여 자신이 속한 접속그룹의 접속정보를 수신하면, 접속그룹에 속하는 제 2 클라이언트를 자신의 P2P(Peer To Peer) 목록에 등록하고 릴레이 연결로 설정함으로써 상기 릴레이 서버를 경유하여 상기 제 2 클라이언트와 릴레이 통신을 시작하는 제 210 단계;
    제 1 클라이언트가 릴레이 서버로 접속그룹별 접속정보를 수신하였음을 응답하는 제 220 단계;
    제 1 클라이언트가 P2P 목록에 등록된 제 2 클라이언트와 P2P 접속을 시도하는 제 230 단계;
    P2P 접속이 실패한 경우 릴레이 통신을 계속하되 백그라운드에서 상기 제 2 클라이언트와 P2P 접속을 계속 시도하는 제 240 단계;
    P2P 접속이 성공한 경우 상기 제 2 클라이언트의 P2P 접속정보를 기록하고 상기 P2P 접속정보를 기반으로 P2P 연결을 생성하는 제 250 단계;
    제 1 클라이언트가 릴레이 서버로 상기 제 2 클라이언트와의 통신 연결 전환 요청 메시지를 발송하는 제 260 단계; 및
    릴레이 서버로부터 상기 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 수신하면 상기 제 2 클라이언트와 P2P 연결로 통신을 시작하는 제 270 단계;를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  3. 제 2 항에 있어서,
    상기 제 240 단계에서 미리 정해진 횟수만큼 P2P 접속 시도를 수행한 후 실패하는 경우 릴레이 통신을 지속하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  4. 제 2 항에 있어서,
    상기 제 210 단계에서 상기 접속그룹의 접속정보는 상기 접속그룹에 속하는 각 클라이언트의 공중 IP주소, 포트 번호 및 ID를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  5. 제 2 항에 있어서,
    상기 제 210 단계에서 제 1 클라이언트는 TCP(Transmission Control Protocol)에 의하여 상기 릴레이 서버와 통신하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  6. 제 2 항에 있어서,
    상기 제 270 단계에서 제 1 클라이언트는 제 2 클라이언트와 RUDP(Reliable User Datagram Protocol)에 의하여 P2P 통신하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  7. 릴레이 서버가 네트워크를 통해 접속한 접속그룹에 속하는 클라이언트들의 접속정보를 생성하여 상기 접속그룹에 속하는 각 클라이언트들에게 제공하는 제 310 단계;
    접속그룹에 속한 제 1 클라이언트로부터 제 2 클라이언트로 전송되는 패킷을 수신하면 이를 제 2 클라이언트로 전달하는 제 320 단계;
    접속그룹에 속한 제 1 클라이언트 및 제 2 클라이언트로부터 접속정보를 수신하였음을 알리는 응답을 받으면 상기 제 1 클라이언트 및 제 2 클라이언트에 대하여 서로 접속 시도할 것을 통지함으로써 접속시점을 동기화하는 제 330 단계;
    제 2 클라이언트와의 P2P 접속이 성공함에 따라 제 1 클라이언트로부터 상기 제 2 클라이언트와 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 수신하면 릴레이 서버가 제 2 클라이언트로 제 1 클라이언트와의 연결을 P2P 연결로 변경하라는 메시지를 전송하는 제 340 단계; 및
    제 2 클라이언트로부터 제 1 클라이언트와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트로 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 알리는 제 350 단계;를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  8. 제 7 항에 있어서,
    상기 제 310 단계에서 릴레이 서버가 생성하는 접속그룹의 접속정보는 상기 접속그룹에 속하는 각 클라이언트의 공중 IP주소, 포트 번호 및 ID를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  9. 제 7 항에 있어서,
    상기 제 310 단계에서 릴레이 서버는 상기 제 1 클라이언트 및 제 2 클라이언트와 TCP에 의하여 통신하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  10. 같은 접속그룹에 속한 제 2 클라이언트와의 P2P 연결이 종료됨에 따라 제 1 클라이언트가 릴레이 서버로 제 2 클라이언트와의 P2P 연결이 종료되었음을 알리는 제 410 단계;
    릴레이 서버로부터 제 2 클라이언트와 릴레이 연결로의 연결전환이 완료되었음을 수신한 제 1 클라이언트는 제 2 클라이언트의 접속 정보를 수정함으로써 릴레이 통신으로 설정하는 제 420 단계;
    릴레이 서버를 경유하여 제 2 클라이언트와 릴레이 통신하는 제 430 단계;
    릴레이 연결로 연결전환됨에 따라 백그라운드에서 제 2 클라이언트에 P2P 접속을 시도하는 제 440 단계; 및
    제 2 클라이언트로의 P2P 접속이 실패했을 경우 백그라운드에서 제 2 클라이언트와의 P2P 접속을 계속 시도하는 제 450 단계;를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  11. 제 10 항에 있어서,
    상기 제 430 단계에서 제 1 클라이언트는 TCP에 의하여 상기 릴레이 서버와 통신하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  12. 제 1 클라이언트로부터 제 2 클라이언트와의 P2P 연결이 종료되었음을 알리는 응답을 수신하면 릴레이 서버는 제 2 클라이언트로 제 1 클라이언트와의 연결이 종료되었음을 알리는 제 510 단계;
    제 2 클라이언트로부터 제 1 클라이언트와의 연결이 릴레이 통신으로 설정변경되었음을 알리는 응답을 수신하면 릴레이 서버가 접속그룹에 속한 클라이언트들의 접속정보에 대하여 제 1 클라이언트와 제 2 클라이언트가 릴레이 통신으로 연결되었음을 저장하고 제 1 클라이언트로 제 2 클라이언트와 릴레이 통신으로 연결전환이 완료되었음을 알리는 제 520 단계;
    제 1 클라이언트로부터 제 2 클라이언트로 전송되는 패킷을 수신하면 이를 제 2 클라이언트로 전달하는 제 530 단계;
    제 1 클라이언트와 제 2 클라이언트의 P2P 접속이 성공함에 따라 제 1 클라이언트로부터 P2P 통신으로 전환할 것을 요청하는 통신 연결 전환 요청 메시지를 수신하면 릴레이 서버가 제 2 클라이언트로 제 1 클라이언트와의 연결을 P2P 연결로 변경하라는 메시지를 전송하는 제 540 단계; 및
    제 2 클라이언트로부터 제 1 클라이언트와의 접속정보를 P2P로 변경하였음을 알리는 응답을 받으면 제 1 클라이언트로 제 2 클라이언트와의 통신 연결이 P2P 방식으로 변경되었음을 알리는 제 550 단계;를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  13. 제 12 항에 있어서,
    상기 제 520 단계에서 상기 접속그룹에 속한 클라이언트들의 접속정보는 상기 접속그룹에 속하는 각 클라이언트의 공중 IP주소, 포트 번호, ID 및 각 클라이언트들간 P2P 연결인지 또는 릴레이 연결인지 여부를 포함하는 것을 특징으로 하는 온라인 게임 클라이언트간 피어 투 피어 통신방법.
  14. 제 1 항 내지 제 13 항에 가운데 어느 한 항에 기재된 온라인 게임 클라이언트간 피어 투 피어 통신방법을 컴퓨터상에서 실행하는 프로그램이 수록된 컴퓨터로 판독가능한 기록매체.
KR1020100085855A 2010-09-02 2010-09-02 온라인 게임 클라이언트간 피어 투 피어 통신방법 KR101106873B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100085855A KR101106873B1 (ko) 2010-09-02 2010-09-02 온라인 게임 클라이언트간 피어 투 피어 통신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100085855A KR101106873B1 (ko) 2010-09-02 2010-09-02 온라인 게임 클라이언트간 피어 투 피어 통신방법

Publications (1)

Publication Number Publication Date
KR101106873B1 true KR101106873B1 (ko) 2012-01-25

Family

ID=45614446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100085855A KR101106873B1 (ko) 2010-09-02 2010-09-02 온라인 게임 클라이언트간 피어 투 피어 통신방법

Country Status (1)

Country Link
KR (1) KR101106873B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973546A (zh) * 2014-04-24 2014-08-06 腾讯科技(深圳)有限公司 进行通讯的方法、装置及系统
WO2015093638A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 호스트 단말 장치, 클라이언트 단말 장치 및 그들의 p2p(peer to peer) 게임 수행 방법
KR20170001143A (ko) * 2015-06-25 2017-01-04 김민호 서버와 클라이언트 리버스 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036372A (ko) * 2000-11-09 2002-05-16 김성민 온라인 게임의 데이터 처리시스템 및 그 처리방법
KR20060064780A (ko) * 2004-12-09 2006-06-14 에스케이 텔레콤주식회사 동등 계층 통신을 이용한 채팅 서비스 제공 방법 및 시스템
JP2006236178A (ja) 2005-02-28 2006-09-07 Try Group:Kk 通信管理システム
JP2010140083A (ja) 2008-12-09 2010-06-24 Sharp Corp 通信端末

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036372A (ko) * 2000-11-09 2002-05-16 김성민 온라인 게임의 데이터 처리시스템 및 그 처리방법
KR20060064780A (ko) * 2004-12-09 2006-06-14 에스케이 텔레콤주식회사 동등 계층 통신을 이용한 채팅 서비스 제공 방법 및 시스템
JP2006236178A (ja) 2005-02-28 2006-09-07 Try Group:Kk 通信管理システム
JP2010140083A (ja) 2008-12-09 2010-06-24 Sharp Corp 通信端末

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015093638A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 호스트 단말 장치, 클라이언트 단말 장치 및 그들의 p2p(peer to peer) 게임 수행 방법
CN103973546A (zh) * 2014-04-24 2014-08-06 腾讯科技(深圳)有限公司 进行通讯的方法、装置及系统
KR20170001143A (ko) * 2015-06-25 2017-01-04 김민호 서버와 클라이언트 리버스 시스템
KR101721418B1 (ko) * 2015-06-25 2017-03-30 김민호 서버와 클라이언트 리버스 시스템

Similar Documents

Publication Publication Date Title
CN109562296B (zh) 云游戏设备交接
JP4324199B2 (ja) ピアツーピアリレーネットワークにおける侵害
KR101397834B1 (ko) 상이한 서비스 제공자들 사이의 피어-투-피어 접속들을 관리하기 위한 장치 및 방법
JP4374022B2 (ja) ピアツーピアリレーネットワーク
JP4691502B2 (ja) ピアツーピアリレーネットワークにおける冗長リスト
EP2352096B1 (en) Information processing device and information processing method
JP5364671B2 (ja) ネットワーク認証における端末接続状態管理
US9871930B2 (en) Call invites
WO2018137523A1 (zh) 一种游戏服务器的切换方法、相关设备及系统
JP4970039B2 (ja) ピアツーピアリレーネットワークにおけるアイランドの復旧
EP2485443A1 (en) System and method for managing multiple queues of non-persistent messages in a networked environment
WO2019071829A1 (zh) Pc上实现主播连麦pk的方法、存储介质、设备及系统
US20220258041A1 (en) Account connecting method and apparatus, storage medium, and electronic device
CN108200480A (zh) 一种游戏直播互动方法、相关设备及系统
US8909790B2 (en) Method, server and system for controlling a virtual role
US20140089431A1 (en) Instant messaging method, terminal, server, and system
CN107919994A (zh) 实现网络服务双机热备的方法及服务器
JP2007509570A (ja) 複数のピアツーピアリレーネットワーク
KR101106873B1 (ko) 온라인 게임 클라이언트간 피어 투 피어 통신방법
WO2009155817A1 (zh) 一种维护引导节点状态的方法、装置和系统
KR101206604B1 (ko) 온라인 게임 클라이언트간 피어 투 피어 통신방법
WO2011079650A1 (zh) 即时通讯控制的实现方法和系统
CN112787995A (zh) 一种游戏交互方法及系统
JP2002153677A (ja) 情報端末、情報提供サーバ、オンラインゲーム方法および記録媒体
CN107982912B (zh) 一种信息处理方法和终端

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: 20150113

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 9