KR20060083051A - 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기 - Google Patents

네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기 Download PDF

Info

Publication number
KR20060083051A
KR20060083051A KR1020050003933A KR20050003933A KR20060083051A KR 20060083051 A KR20060083051 A KR 20060083051A KR 1020050003933 A KR1020050003933 A KR 1020050003933A KR 20050003933 A KR20050003933 A KR 20050003933A KR 20060083051 A KR20060083051 A KR 20060083051A
Authority
KR
South Korea
Prior art keywords
packet
game
time
reset
mobile communication
Prior art date
Application number
KR1020050003933A
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 KR1020050003933A priority Critical patent/KR20060083051A/ko
Publication of KR20060083051A publication Critical patent/KR20060083051A/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H13/00Monuments; Tombs; Burial vaults; Columbaria
    • E04H13/006Columbaria, mausoleum with frontal access to vaults
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H1/00Buildings or groups of buildings for dwelling or office purposes; General layout, e.g. modular co-ordination or staggered storeys
    • E04H1/12Small buildings or other erections for limited occupation, erected in the open air or arranged in buildings, e.g. kiosks, waiting shelters for bus stops or for filling stations, roofs for railway platforms, watchmen's huts or dressing cubicles
    • E04H1/1205Small buildings erected in the open air
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H13/00Monuments; Tombs; Burial vaults; Columbaria
    • E04H13/005Ventilation systems therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것으로, 특히 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 비연결형 프로토콜 패킷을 통해 버퍼지연시간을 산정하여 상기 버퍼지연시간만큼 게임정보를 늦게 출력시키는 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것이다.
이를 위하여 본 발명은 네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계; 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간마큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;를 포함하는 네트워크 게임의 입출력 기반 게임동기화 방법을 제공한다.
버퍼지연시간, 비연결형 프로토콜, 반복전송

Description

네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기 {method for input/output based game-synchronization for the network game and the moblie phone thereof}
도 1은 본 발명의 일 실시예에 따른 모바일 네트워크 게임의 동기화 시스템에 따른 개념도이다.
도 2는 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기의 구성블록도이다.
도 3은 본 발명에 따른 도 2에 도시된 제어부의 상세구성도이다.
도 4는 본 발명에 의한 UDP 패킷의 구성도이다.
도 5는 본 발명의 일실시예에 따른 모바일 네트워트 게임의 동기화 방법에 관한 흐름도이다.
도 6은 본 발명에 의한 버퍼시간값 산정방법에 관한 흐름도이다.
도 7은 본 발명에 의한 장애극복방법에 대한 흐름도이다.
도 8a 및 도 8b는 본 발명에 의한 UDP데이터그램의 반복전송방법에 대한 흐름도이다.
본 발명은 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것으로, 특히 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 비연결형 프로토콜 패킷을 통해 버퍼지연시간을 산정하여 상기 버퍼지연시간만큼 게임정보를 늦게 출력시키는 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것이다.
최근 모바일 네트워크 시장은 폭발적으로 증가하고 있는 추세로서 보드 게임, RPG 게임, 및 대전류 게임 등이 등장하고 있다. 보드게임 등의 턴방식 게임은 시간당 정보교환량이 많지 않아 네트워크 게임 구현에 별다른 어려움이 없다. 반면에 대전류 게임 등 실시간으로 게임의 동기화를 요하고 시간당 정보교환량이 상대적으로 많은 게임들에 있어서는 모바일 네트워크 전송속도 등 그 환경의 제약으로 인하여 개발자들에게 외면을 당하고 있으며, 실제 구현된 게임 자체도 속도면에서 많은 문제점을 보이고 있다.
종래의 모바일 네트워크 게임들은 그 개발방법에 있어 모바일 게임의 네트워크화를 위한 방법과 동일한 방법으로 접근하고 있다. 즉, 화면데이터, 키입력데이터 등 게임 데이터를 구성하는 대부분의 데이터를 주고받아 동기화시키고 있다. 또한, 게임의 동기화를 위해 TCP/IP 프로토콜 등 연결형 프로토콜을 이용하여 신뢰성이 보장된 상태에서 동기화를 구현하고 있다.
상기와 같은 접근방법은 네트워크 대역폭이 일정이상으로 보장되는 등 네트워크 환경이 좋은 경우에는 문제가 없으나 모바일 네트워크 환경은 일반 네트워크 환경에 비하여 그 상태가 훨씬 빈약하여 실시간 동기화를 요하는 대전류 게임 등에 있어서는 동기화를 위한 패킷전송량이 지나치게 많아 게임 속도를 느리게 하고 동기화를 위한 패킷이 손실되는 문제점이 있었다.
상기 문제점을 해결하기 위해 손실된 패킷에 상응하는 화면 프레임율(frames per second) 감소에 의해 움직임을 둔하게 만들어 동기화를 유지하는 패킷스킵(packet skip) 알고리즘 또는 손실된 패킷의 정보를 이미 수신받은 패킷에 포함된 정보들로부터 유추해내서 게임에 반영시키는 데드레커닝(dead reckoning) 알고리즘 등이 적용되고 있다. 그러나 상기 패킷스킵방법은 프레임율이 감소함에 따라 사용자가 게임화면에 끊어짐을 느끼게 되고, 상기 데드레커닝 방법은 손실된 패킷에 포함된 정보를 유추하기 위해 프로세서에 지나친 오버헤드(ovehead)를 부가하는 문제점이 있었다.
본 발명의 목적은, 상기 문제점을 해결하기 위해 안출된 것으로, 게임의 동기화를 각종 객체가 아닌 원격의 키입력값만을 동기화시키고 그 구현을 위해 비연결형 프로토콜과 버퍼시간값을 사용하여 모바일 게임의 속도를 개선시킴에 있다.
본 발명의 다른 목적은, 상기 게임의 동기화를 위해 네트워크를 통해 전송되는 정보량을 감소시켜 전체 네트워크의 가용량을 증가시키는데 있다.
본 발명의 또 다른 목적은, 상기 알고리즘을 구현하는 SDK(system development kit) 및 API(application program interface)를 제공하여 게임개발을 단순화시킬수 있도록 함에도 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 의하면, 네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 주기적으로 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계; 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;를 포함하는 네트워크 게임의 입출력 기반 게임동기화 방법인 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 의하면, 모바일 네크워크 게임을 저장하는 저장부; 상기 게임의 진행에 관한 데이터를 입력받는 입력부; 상기 게임의 진행상황을 표시하는 표시부; 네트워크를 통해 연결된 상기 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크 상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하고 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하도록 제어하는 제어부;를 포함하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기인것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 모바일 네트워크 게임의 동기화 시스템에 따른 개념도이다.
도 1을 참조하여 설명하면, 본 발명에 따른 모바일 네트워크 게임의 동기화 시스템은 게임서버(100), 시간동기화 서버(200), 제1 이동통신단말기(300), 제2 이동통신단말기(400), 및 인터넷(500)을 포함한다.
상기 게임서버(100)는 제1 이동통신단말기(300) 또는 제2 이동통신단말기(400)의 요청이 있을때 상기 제1 이동통신단말기(300) 또는 상기 제2 이동통신단말기(400)로 다운로드할 모바일 네트워크 게임을 저장한다.
상기 시간동기화서버(200)는 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)로부터 시간정보를 요청받았을때 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)의 클럭의 동기화를 위한 시간정보를 전송한다.
상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)는 상기 모바일 네트워크 게임을 미리 저장하고 있거나 상기 게임서버(100)로부터 상기 모바일 네트워크 게임을 다운로드 받아 저장한다.
또한, 상기 게임을 실행하는 경우 상기 이동통신단말기 간의 동기화를 위해 상기 시간동기화서버(200)로부터 시간정보를 전송받고, 이후에 타임스탬프 및 32비트 체크섬을 포함하는 UDP 패킷을 상기 게임 상대의 이동통신단말기로 전송한다.
상기 패킷 생성시에 해당 이동통신단말기의 키입력이 있으면 상기 UDP 패킷 에 키입력 정보를 추가하여 전송한다.
도 2는 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기의 구성블록도이다.
도 2를 참조하여 설명하면, 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기(300)는 무선통신부(302), 저장부(304), 입력부(306), 표시부(308) 및 제어부(310)를 포함한다.
상기 무선통신부(302)는 제어부(310)의 제어를 받으며, 상대 통화자와의 전화통화를 위해 음성신호를 송, 수신하고, 모바일 네트워크 게임 프로그램 및 모바일 네트워크 게임의 실행을 위한 입출력 정보를 비연결형 프로토콜인 UDP(user datagram protocol)를 이용하여 송, 수신하는 역할을 수행한다.
상기 저장부(304)는 제어부(310)의 제어시에 필요한 동작 프로그램, 시스템 프로그램이 저장되고, 특히 상기 모바일 네트워크 게임 프로그램 및 상기 모바일 네트워크 게임 실행에 필요한 각종 디바이스 드라이버와 프로그램들이 저장된다.
상기 입력부(306)는 다수의 숫자 키와 메뉴 키 및 각종 기능을 수행하기 위한 기능 키로 이루어지며, 사용자가 입력하는 키에 대응하는 키입력 신호를 발생시켜 제어부(310)로 키입력 정보를 출력한다. 특히, 상기 모바일 네트워크 게임의 진행에 있어 필요한 사용자의 키입력을 입력받아 제어부(310)로 출력한다.
상기 표시부(308)는 액정표시장치(LCD) 등과 같은 표시장치로서, 제어부(310)의 제어를 받아 상기 제1 이동통신단말기(300)의 상태나 상기 게임의 진행 상황을 표시한다. 특히, 네트워크 게임의 화면객체들을 상기 입력부(306) 및 상기 무 선통신부(302)를 통해 전송받은 모바일 네트워크 게임의 키입력 정보에 대응시켜 표시한다.
상기 제어부(310)는 상기 제1 이동통신단말기(300)의 전반적인 동작을 제어함과 동시에 상기 제1 이동통신단말기(300)의 저장부(304)에 저장된 모바일 네트워크 게임이 상기 게임과 네트워크를 통해 연결된 다른 모바일 네트워크 게임과 동기화되어 실행되도록 제어한다.
자세히 설명하면, 상기 제어부(310)는 상기 제1 이동통신단말기(300)와 상기 게임 상대의 제2 이동통신단말기(400)에서 실행되고 있는 모바일 네트워크 게임의 동기화를 위해 소정의 버퍼지연시간을 계산하여 그 시간 만큼 상기 입력부(306)를 통해 입력된 상기 이동통신단말기의 모바일 네트워크 게임에 관한 키입력정보를 지연시키고 상기 무선통신부(302)를 통해 수신된 상기 게임 상대의 이동통신단말기의 상기 게임에 관한 키입력정보를 상기 버퍼지연시간에서 해당 키입력정보를 포함하는 UDP 패킷(packet)을 상기 제2 이동통신단말기(400)에서 상기 제1 이동통신단말기(300)로 전송하는데 소요되는 시간인 패킷수신시간을 뺀 값만큼 지연시켜 상기 제1 이동통신단말기(300)에서 실행되는 게임에 반영되도록 제어한다. 즉, 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)의 상기 게임의 진행에 관한 키입력을 그 입력시로부터 상기 버퍼지연시간만큼 지난 뒤에 게임에 반영시켜 양 이동통신단말기간의 게임을 동기화시킨다.
또한, 상기 제1 이동통신단말기에서 실행되고 있는 게임의 키입력 정보외의 다른 게임데이터들 또한 상기 버퍼지연시간에 해당하는 시간만큼 지난 다음에 상기 제1 이동통신단말기(300)에 실행되는 게임에 반영되어 출력되도록 제어한다.
또한, 상기 제어부(310)는 상기 무선통신부(302)를 통해 수신된 키입력정보를 포함하는 패킷에 오류가 있는 장애가 발생하는 경우, 이의 극복을 위한 후술되는 장애극복알고리즘이 실행되도록 제어한다.
도 1에 도시된 제2 이동통신단말기(400)의 구성은 상기 제1 이동통신단말기의 구성과 동일한바 여기에서는 그 상세한 설명을 생략한다.
도 3은 본 발명에 따른 도 2에 도시된 제어부의 상세구성도이다.
도 3을 참조하여 본 발명에 따른 도 2에 도시된 제어부(310)의 상세 구성에 대해 설명하면, 본 발명에 따른 이동통신단말기의 제어부(310)는 이동통신처리부(311), 버퍼시간값산출부(312), 입력지연(input delay)처리부(313), 출력지연(output delay)처리부(314), 및 장애극복(fail over)처리부(315)를 포함한다.
상기 이동통신처리부(311)는 이동통신단말기에서 무선자원을 활용하여 이동통신서비스를 수행하기 위한 모듈로서 공지의 이동통신기술을 사용하여 구성되어 동작함에 따라 여기에서는 상세한 설명을 생략하기로 한다.
상기 버퍼지연시간산출부(312)는 모바일 네트워크 게임 상대의 이동통신단말기로부터 수신받은 UDP 패킷에 포함된 키입력정보 및 입력부(306)를 통해 입력된 상기 게임의 진행에 관한 키입력정보를 지연시켜 상기 게임에 반영시키도록하는 소정의 버퍼지연시간을 산출한다.
상기 입력지연처리부(313)는 상기 산출된 버퍼지연시간만큼 상기 입력부(306)를 통해 입력된 상기 게임의 진행에 관한 키입력정보를 지연시키고 상기 UDP 패킷에 포함된 키입력정보를 상기 산출된 버퍼지연시간에서 해당 패킷의 패킷수신시간을 뺀 값만큼 지연시켜 상기 게임에 반영되도록 제어한다. 이는 상기 게임 상대의 제2 이동통신단말기(400)로부터의 키입력정보가 해당 키입력이 상기 제2 이동통신단말기에 입력된 때로부터 상기 버퍼지연시간만큼 지난후에 상기 게임에 반영됨에 따라 상기 제1 이동통신단말기(300)에서 입력된 키입력정보 또한 게임의 동기화를 위해 동일한 시간만큼 지연시켜 상기 게임에 반영하기 위함이다.
상기 출력지연처리부(314)는 상기 게임의 키입력정보 외의 화면객체정보 등 기타 데이터를 상기 산출된 버퍼지연시간만큼 지연시켜 상기 게임에 반영시켜 상기 표시부(308)로 출력되도록 제어한다. 이는 상기 게임에 관한 키입력정보가 상기 버퍼지연시간만큼 지난 후에 게임에 반영되므로 이에 맞추어 나머지 상기 게임에 관한 정보들을 그만큼 후에 반영시키기 위함이다.
상기 게임의 키입력정보 외의 상기 게임에 관한 정보는 네트워크를 통해 전송하지 않는다. 이는 키입력정보만을 동기화시켜 각각 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)에서 진행해도 상기 게임 진행에 있어 동기화가 가능하며 상기 네트워크를 통한 정보의 전송량을 줄여 상기 게임의 속도를 끊김없이 진행시킬 수 있기 때문이다.
상기 장애극복처리부(315)는 상기 게임에 관한 원본 UDP 패킷을 송신한 후 소정의 시간의 지나면 상기 패킷의 복사본 UDP 패킷을 송신하도록 제어한다. 이는 상기 원본 UDP 패킷에 오류가 있는 경우 상기 복사본 UDP 패킷을 사용하여 상기 게임을 진행할 수 있도록 하기 위함이다.
또한, 상기 게임 상대의 제2 이동통신단말기(400)로부터 상기 원본 UDP 패킷을 수신한 후에 상기 원본 UDP 패킷에 오류가 있는지 여부를 검사하여 오류가 있는 경우, 버퍼에 상기 원본 UDP 패킷의 복사본이 존재하는지 여부를 판단한다. 상기 버퍼에 상기 복사본 UDP 패킷이 존재하는 경우, 상기 복사본 UDP 패킷에 오류가 있는지 여부를 검사하여 오류가 없으면 상기 복사본 UDP 패킷으로 상기 원본 UDP 패킷을 대체한다. 상기 버퍼에 상기 복사본 UDP 패킷이 존재하지 않거나 상기 복사본 UDP 패킷에도 오류가 있는 경우, 패킷스킵 또는 데드 레커닝 등의 알고리즘을 사용하여 손실된 패킷에 의한 장애를 극복하도록 제어한다.
도 4는 본 발명에 의한 UDP 패킷의 구성도이다.
도 4를 참조하여 설명하면, 모바일 네트워크 게임을 실행하는 이동통신단말기에서 전송하는 UDP 패킷은 UDP 헤더와 데이터 부분으로 구성된다.
상기 UDP 헤더는 패킷의 출발지 포트번호, 목적지 포트번호, 메시지 길이, 및 16 비트 체크섬으로 구성되며 그 구체적인 기능은 공지된 RFC(request for comment)768 문서에 정의된 사항에 의하는바 여기에서는 상세한 설명을 생략하기로 한다.
상기 데이터부분은 타임스탬프1, 키입력정보1, 및 32비트체크섬1로 이루어진 원본부와 타임스탬프2, 키입력정보2, 및 32비트 체크섬2로 이루어진 복사본부로 구성된다.
상기 타임스탬프1은 해당 타임스탬프 정보를 포함하는 패킷이 송신된 시간을 나타낸다. 상기 타임스탬프는 상기 패킷을 송신한 이동통신단말기와 상기 패킷을 수신한 이동통신단말기 간의 전송시간을 계산하는 정보로서 사용된다. 또한, 상기 패킷을 수신한 이동통신단말기에서 수신된 패킷의 순서를 파악하는데 사용된다.
상기 키입력정보1은 해당 패킷을 생성한 이동통신단말기에서 실행중인 모바일 네트워크 게임에 관한 것으로서 해당 패킷의 생성시에 해당 게임에 관한 키입력이 있는 경우에만 포함된다.
상기 32비트체크섬1은 상기 타임스탬프1 및 상기 키입력정보1 항목에 오류가 있는지 여부를 검사하기 위한 부분으로서 기존 UDP 패킷의 16비트 체크섬보다 개선된 성능을 꾀할 수 있다.
상기 타임스탬프2, 상기 키입력정보2, 및 상기 32비트체크섬2 부분은 후술되는 장애극복알고리즘의 구현을 위한 것이다.
상기 타임스탬프2는 소정의 시간 전에 전송된 UDP 패킷의 타임스탬프1 항목에 포함된 타임스탬프 정보를 포함한다.
상기 키입력정보2는 상기 타임스탬프2에 나와있는 시간에 생성된 패킷의 키입력정보1 항목에 들어있는 내용을 포함한다.
상기 32비트체크섬2는 상기 타임스탬프2 및 상기 키입력정보2 항목에 오류가 있는지 여부를 검사하기 위한 부분으로서 기존 UDP 패킷의 16비트 체크섬보다 개선된 성능을 꾀할 수 있다.
비연결형 프로토콜인 UDP를 이용하여 패킷을 송, 수신하는 이유는, 대역폭이 작고 상태가 불안정한 네트워크에서 신뢰성이 보장되는 TCP 프로토콜 등을 사용하여 패킷을 송, 수신하는 경우 패킷전송 후 패킷이 성공적으로 전송되었는지를 확인 하는 절차를 거쳐야 하므로 게임 속도가 지나치게 느려지기 때문이다.
한편, 상기 UDP 패킷의 데이터 부분에 해당하는 정보들을 헤더부분에 포함시킨 상기 UDP 프로토콜에 상응하는 새로운 프로토콜을 구축하여 본 발명을 구현하는 것도 가능하다.
도 5는 본 발명의 일실시예에 따른 모바일 네트워트 게임의 동기화 방법에 관한 흐름도이다.
먼저, 이동통신단말기의 저장부에는 모바일 네트워크 게임이 저장되어 있다.
도 5를 참조하여 설명하면, 사용자가 제1 이동통신단말기(300)의 저장부(304)에 저장된 네트워크 게임을 실행시킨다(S100).
그 후 상기 제1 이동통신단말기(300)는 시간동기화서버(100)로부터 시간정보를 수신받아 인터넷(500) 등의 원거리 네트워크망을 통해 연결된 모바일 네트워크 게임 상대의 제2 이동통신단말기(400)의 클럭과 상기 제2 이동통신단말기(300)의 클럭을 동기화시킨다(S102).
그 후 상기 제1 이동통신단말기(300)는 초기 패킷송신시간과 초기 패킷수신시간을 수신받은 패킷에 포함된 타임스탬프 정보와 상기 게임 상대의 제2 이동통신단말기(400)에 대한 어플리케이션 레이어 레벨의 소프트웨어 핑 시간, 즉 패킷왕복시간에 기초하여 산정하고 상기 두 값에 의거하여 버퍼지연시간의 초기값, 즉 초기 버퍼지연시간을 산정한다. 또한 상기 제1 이동통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)로 패킷을 송신하는 네트워크 경로의 불안정도를 나타내는 패킷송신지터레이트의 초기값, 즉 초기 패킷송신지터레이트 및 상기 제1 이동 통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)로 패킷을 송신하는 네트워크 경로의 불안정도를 나타내는 패킷수신지터레이트의 초기값, 즉 초기 패킷수신지터레이트를 기준값인 1로 설정한다(S104).
그 후 상기 제1 이동통신단말기(300)는 상기 제1 이동통신단말기(300)의 입력부(306)로부터 상기 게임진행에 관한 키입력이 있거나 상기 제1 이동통신단말기(300)의 무선통신부(302)로부터 상기 게임진행에 관한 키입력정보가 포함된 패킷을 수신받으면(S106) 상기 키입력 정보를 상기 키입력의 키입력시로부터 상기 초기 버퍼지연시간만큼 후에 상기 게임에 반영시켜 상기 제1 이동통신단말기(300)의 표시부(308)에 출력한다(S108).
또한, 상기 제1 이동통신단말기(300)는 패킷송신시간의 재설정값, 즉 재설정 패킷송신시간및 패킷수신시간의 재설정값, 즉 재설정 패킷수신시간을 산정하고 상기 초기 패킷송신시간, 초기 패킷수신시간, 재설정 패킷송신시간, 재설정 패킷수신시간, 타임스탬프 주기, 및 인간인지반응평균시간값에 기초하여 패킷송신지터레이트의 재설정값, 즉 재설정 패킷송신지터레이트 및 패킷수신지터레이트의 재설정값, 즉 재설정 패킷수신지터레이트를 산정한다. 그 후 상기 재설정 패킷송신시간, 상기 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 상기 재설정 패킷수신지터레이트, 타임스팸프 주기, 및 네트워크 전송과 정보처리에 걸리는 기본 오버헤드에 기초하여 재설정 버퍼지연시간을 산정한다(S110).
그 후 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도가 느려짐에 따라 상기 무선통신부(302)를 통해 패킷을 수신받는 속도보다 상기 게임 프로그램으 로 패킷이 출력되는 속도가 빨라져서 상기 버퍼가 소진되었는지 여부를 판단한다(S112).
상기 S112 판단결과, 버퍼가 소진된 경우, 상기 S104단계로 이동한다. 버퍼가 소진된 경우에 상기 S104단계로 이동해 상기 초기값들을 다시 산정하는 이유는 현재의 네트워크 상태가 상기 초기값 및 재설정값들에 비해 상당히 느려지고 불안정해짐에 따라 현재의 네트워크 상태를 기준으로하여 다시 초기 버퍼지연시간을 산정하기 위함이다.
한편, 상기 S112 판단결과, 버퍼가 소진되지 않은 경우, 상기 재설정 버퍼지연값이 역방향임계값인 잔상효과시간값보다 큰지 여부를 판단한다(S114).
상기 S114 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 크지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후(S118) 하기 S120단계로 이동한다. 상기 재설정 버퍼지연시간을 역방향임계값인 잔상효과허용시간값으로 설정하는 이유는 인간이 출력화면의 끊어짐을 느끼지 못하는 잔상효과허용시간 이내로 버퍼지연시간이 설정된 경우에는 한, 두번의 버퍼 소진시에도 사용자가 화면의 깜빡임을 느끼지 않고 게임의 진행이 가능하기 때문이다.
상기 잔상효과시간값은 실험적으로 0.0625 초로 알려져 있다.
상기 S114 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과허용시간값보다 큰 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은지 여부를 판단한다(S116).
상기 인간인지반응평균시간값은 게임의 사용자가 자신이 누른 키입력이 화면에 늦게 반영되었다고 느끼게 되는 평균시간으로 여러 학자들의 연구결과에 의하면 0.64초 이다.
상기 S116 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정된 모든 값들을 초기값들로 설정한 후(S120) 상기 S106단계로 이동한다.
한편 상기 S116 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작지 않은 경우, 상기 제1 이동통신단말기(300)는 패킷스킵 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 건너뛰고 게임을 진행하거나 데드 레커닝 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 유추해내어 상기 게임에 반영시켜 게임을 진행시킴(S117)과 동시에 상기 S118단계로 이동한다. 상기 패킷스킵 알고리즘 또는 상기 데드 레커닝 알고리즘 이외에도 네트워크 상태가 불량한 경우 이를 해결하기 위한 여러 다른 알고리즘을 채용하여 상기 게임을 진행할 수 있다.
도 6은 본 발명에 의한 버퍼시간값 산정방법에 관한 흐름도이다.
먼저 제1 이동통신단말기(300)에서 모바일 네트워크 게임이 실행되고 있다.
도 6을 참조하여 설명하면, 상기 제1 이동통신단말기(300)는 시간동기화서버(200)로부터 시간정보를 수신받아 인터넷(500) 등의 원거리 네트워크망을 통해 연결된 모바일 네트워크 게임 상대의 제2 이동통신단말기(400)의 클럭과 상기 이동통신단말기(300)의 클럭을 동기화시킨다. 이 과정에서 상기 시간동기화서버(200), 상 기 제1 이동통신단말기(300), 상기 게임 상대의 제2 이동통신단말기(400) 간에 핑을 주고 받으면서 상기 제1 이동통신단말기(300)의 초기 패킷송신시간 및 초기 패킷수신시간을 획득한다(S200). 상기 방법은 공지의 방법으로서 여기에서는 상세한 설명을 생략하기로 한다.
그 후, 상기 제1 이동통신단말기(300)는 초기 패킷송신지터레이트 및 초기 패킷수신지터레이트를 기준값인 1로 설정(S202)하여 상기 초기 패킷송신시간 및 초기 패킷수신시간을 후술하는 계산의 기준으로 삼는다.
그 후, 상기 제1 이동통신단말기(300)는 초기 버퍼지연시간을 하기 식에 의거하여 산출한다(S204).
식) Td(n) = max(T1,T2) + Elim + min(T1,T2,Ov) + S
여기서 Td는 상기 초기 버퍼지연시간, T1은 상기 초기 패킷전송시간, T2는 상기 초기 패킷수신시간, Elim은 미리 설정된 역방향 임계값, S는 상기 타임스탬프의 주기, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.
그 후, 상기 제1 이동통신단말기(300)에 상기 게임 상대의 이동통신단말기(400)로부터 타임스탬프 정보를 포함하는 상기 게임에 관한 패킷을 수신하여 해당 패킷의 송, 수신시간을 획득하고 상기 게임 상대의 제2 이동통신단말기(400)에 소프트웨어 핑을 보내 핑시간, 즉 상기 제1 이동통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)를 거쳐 패킷이 되돌아 오는 시간을 획득한다. 상기 패킷 송, 수신시간 및 상기 핑시간에 기초하여 각각 하기 식1 및 식2에 의거해 재설정 패킷송신시간 및 재설정 패킷수신시간을 산출한다(S206).
식1) T1(n+1) = Ts - T2(n+1)
여기서 T1(n+1)는 재설정 패킷송신시간, Ts는 소프트웨어 핑을 상기 게임상대의 이동통신단말기로 보내 획득한 핑의 왕복시간, T2(n+1)는 재설정 패킷수신시간이다.
식2) T2(n+1) = Ta - Tu
여기서 T2(n+1)는 재설정 패킷수신시간, Ta는 상기 패킷이 이동통신단말기에 수신된 시간, Tu는 상기 패킷에 포함된 타임스탬프가 나타내는 시간, 즉 상기 패킷이 송신된 시간이다.
그 후, 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도 등 초기값 설정후 상기 네크워크 상태의 변화를 나타내는 재설정 패킷송신지터레이트 및 재설정 패킷수신지터레이트를 각각 하기 식3 및 식4에 의거하여 산출한다(S208).
식3) J1(n+1) = J1(n)*(1-S/Elim) + [(T1(n+1)-T1(n))/T1(n+1)]*(S/Elim)
여기서 J1(n+1)는 재설정 패킷송신지터레이트, J1(n)는 초기 패킷송신지터레이트, T1(n+1)는 재설정 패킷송신시간, T1(n)는 초기 패킷송신시간, S는 타임스탬프의 주기, Elim은 미리 설정된 역방향임계값이다.
식4) J2(n+1) = J2(n)*(1-S/Elim) + [(T2(n+1)-T2(n))/T2(n+1)]*(S/Elim)
여기서 J2(n+1)는 재설정 패킷수신지터레이트, J2(n)는 초기 패킷수신지터레이트, T2(n+1)는 재설정 패킷수신시간, T2(n)는 초기 패킷수신시간, S는 타임스탬프의 주기, Elim은 미리 설정된 역방향임계값이다.
그 후, 상기 제1 이동통신단말기(300)는 산출된 상기 재설정 패킷송신지터레 이트 또는 상기 재설정 패킷수신지터레이트가 2 미만인지 여부를 판단한다(S210).
즉, 상기 네트워크 상태가 초기 버퍼지연시간 산출 이후에 현저하게 느려졌는지 여부를 판단한다.
상기 S210 판단결과, 산출된 상기 재설정 패킷송신지터레이트 및 상기 재설정 패킷수신지터레이트가 2 미만인 경우, 상기 제1 이동통신단말기(300)는 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰지 여부를 판단한다(S214).
상기 S214 판단결과, 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰 경우, 상기 이동통신단말기(300)는 하기 식 5에 의해 재설정 버퍼지연시간을 산출한 후(S216) 후술하는 S218단계로 이동한다.
식5) Td(n+1) = T1(n+1)*J1(n+1) + T1(n+1)*[J1(n+1)-1] + Elim + S + min(T1(n+1)*J1(n+1),T2(n+1)*J2(n+1),Ov)
여기서 Td(n+1)는 재설정 버퍼지연시간, T1(n+1)는 재설정 패킷송신시간, J1(n+1)는 재설정 패킷송신지터레이트, Elim은 미리 설정된 역방향 임계값, S는 타임스탬프의 주기, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.
한편, 상기 S214 판단결과, 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 크지 않은 경우, 상기 이동통신단말기(300)는 하기 식 6에 의해 재설정 버퍼지연시간을 산출한 후(S217) 후술하는 S218단계로 이동한다.
식5) Td(n+1) = T2(n+1)*J2(n+1) +T2(n+1)*[J2(n+1)-1] + Elim + S + min(T1(n+1)*J1(n+1),T2(n+1)*J2(n+1),Ov)
여기서 여기서 Td(n+1)는 재설정 버퍼지연시간, T1(n+1)는 재설정 패킷송신시간, J1(n+1)는 재설정 패킷송신지터레이트, Elim은 미리 설정된 역방향 임계값, S는 타임스탬프의 주기, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.
한편 상기 S210 판단결과, 상기 패킷송신지터레이트 또는 상기 패킷수신지터레이트가 2 미만이 아닌 경우, 상기 제1 이동통신단말기(300)는 버퍼가 소진되었는지 여부를 판단한다(S211).
상기 S211 판단결과 버퍼가 소진되지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 지터레이트 중 2 보다 큰 값을 2로 설정(S213)하고 상기 S214단계로 이동한다.
한편 상기 S212 판단결과 버퍼가 소진된 경우, 상기 제1 이동통신단말기(300)는 상기 게임진행에 있어 패킷스킵 또는 데드 레커닝 알고리즘을 적용(S212)시키고 상기 S213단계로 이동한다.
그 후 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도가 느려짐에따라 상기 무선통신부를 통해 패킷을 수신받는 속도보다 상기 게임프로그램으로 패킷이 출력되는 속도가 빨라져서 상기 버퍼가 소진되었는지 여부를 판단한다(S218).
상기 S218 판단결과, 버퍼가 소진된 경우, 상기 S200단계로 이동한다. 버퍼가 소진된 경우에 상기 S200단계로 이동해 상기 초기값들을 다시 산정하는 이유는 현재의 네트워크 상태가 상기 초기값 및 재설정값들에 비해 상당히 느려지고 불안 정해짐에 따라 현재의 네트워크 상태를 기준으로하여 다시 초기 버퍼지연시간을 산정하기 위함이다.
한편, 상기 S218 판단결과, 버퍼가 소진되지 않은 경우, 상기 재설정 버퍼지연값이 역방향임계값인 잔상효과시간값보다 큰지 여부를 판단한다(S220).
상기 S220 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 크지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후(S224) 하기 S226단계로 이동한다.
상기 S220 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 큰 경우, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은지 여부를 판단한다(S222).
상기 S222 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은 경우, 상기 재설정된 모든 값들을 초기값들로 설정한 후(S226) 상기 S206단계로 이동한다.
한편 상기 S222 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작지 않은 경우, 패킷스킵 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 건너뛰고 게임을 진행하거나 데드 레커닝 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 유추해내어 상기 게임에 반영시켜 게임을 진행시킴(S223)과 동시에 상기 S226단계로 이동한다. 상기 패킷스킵 알고리즘 또는 상기 데드 레커닝 알고리즘 이외에도 네트워크 상태가 불량한 경우 이를 해결하기 위한 여러 다른 알고리즘을 채 용하여 상기 게임을 진행할 수 있다.
도 7은 본 발명에 의한 장애극복방법에 대한 흐름도이다.
도 7을 참조하여 설명하면, 모바일 네트워크 게임을 진행중인 제1 이동통신단말기(300)는 상기 게임 상대의 제2 이동통신단말기(400)로부터 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 원본 UDP 패킷을 수신받는다(S300).
그 후 상기 제1 이동통신단말기(300)는 상기 게임 상대의 제2 이동통신단말기(400)로부터 상기 게임 상대의 이동통신단말기에서 산출한 버퍼지연시간의 절반에 해당하는 시간내에 상기 이동통신단말기에 도달하도록 산정된 패킷재전송시간(Tr)에 송신된 상기 원본 UDP 패킷의 도4에 도시된 타임스탬프1 및 키입력 정보1의 내용을 각각 도4에 도시된 타임스탬프2 및 키입력 정보2에 포함하는 복사본 UDP 패킷을 수신받는다(S302).
그 후, 상기 제1 이동통신단말기(300)의 제어부(310)는 상기 원본 UDP 패킷에 오류가 있는지 여부를 상기 원본 UDP 패킷에 포함된 32비트 체크섬1에 의해 판단한다(S304).
상기 S304 판단결과, 상기 원본 UDP 패킷에 오류가 있는 경우, 상기 원본 UDP 패킷에 대한 복사본 UDP 패킷이 버퍼에 존재하는지 여부를 판단한다(S306).
상기 S304 판단결과, 상기 원본 UDP 패킷에 대한 복사본 UDP 패킷이 버퍼에 존재하는 경우, 상기 복사본 UDP 패킷에 오류가 없는지 여부를 상기 복사본 UDP 패킷에 포함된 32비트 체크섬2에 의해 판단한다(S308).
상기 S308 판단결과, 상기 복사본 UDP 패킷에 오류가 없는 경우, 오류가 있 는 상기 원본 UDP 패킷의 타임스탬프1 및 키입력 정보1의 내용을 상기 복사본 UDP 패킷의 타임스탬프2 및 키입력 정보2의 내용으로 교체하여 게임에 반영하고 절차를 종료한다.(S310).
한편 상기 S308 판단결과, 상기 복사본 UDP 패킷에 오류가 있는 경우, 상기 패킷을 게임에 반영하지 않고 손실된 관련 키입력정보를 패킷스킵 또는 데드 레커닝 알고리즘 등에 의해 해결하고 절차를 종료한다.(S309).
상기 S308 판단결과, 상기 원본 UDP 패킷에 오류가 없는 경우, 상기 원본 UDP 패킷을 게임에 반영하고 절차를 종료한다(S312).
도 8a 및 도 8b는 본 발명에 의한 UDP데이터그램의 반복전송방법에 대한 흐름도이다.
도 8a 및 도 8b를 참조하여 설명하면, ADSL의 네크워크 환경하에서는 약 1%정도의 UDP 패킷 오류가 감지된다. 이러한 패킷오류를 개선하기 위해 상기 UDP 패킷에 32비트 체크섬 이외에 반복전송방법을 채용한다.
일정 주기로 패킷을 재전송하는 경우 상기 32비트 체크섬을 통해 오류가 감지될때 재전송을 요구하지 않고도 복사본 UDP 패킷에서 신회성 있는 패킷을 확보함으로써 끊임 없는 게임을 구현할 수 있다. 이론적으로 UDP 패킷이 오류가 발생한 상태로 진행될 확률은 1% * 1% = 0.01%로 현격하게 줄어든다.
반복전송에 의할 경우 UDP 패킷의 주고 받는 양이 두배가 되어 비효율적이라는 우려가 있을 수 있으나 주고 받는 정보는 오로지 키입력 정보 뿐이므로 네트워크의 대역폭을 거의 차지하지 않기 때문에 아무런 문제가 되지 않는다.
도 8a에 도시된 바와 같이, 모바일 네트워크 게임을 실행하고 있는 제1 이동통신단말기(300)는 원본 UDP 패킷을 전송한 후, 소정의 재전송시간이 지나면 상기 게임 상대의 제2 이동통신단말기(400)로 복사본 UDP 패킷을 전송한다. 상기 재전송시간은 상기 제1 이동통신단말기(300)에서 산출한 버퍼지연시간의 절반 이내에 상기 제2 이동통신단말기에 도달할 수 있는 시간으로 산정된다. 이 경우, 상기 패킷전송 후에 네트워크 상태가 급격히 불안정해져서 패킷송신지터레이트가 2가 되는 경우에도 상기 버퍼지연시간 내에 상기 제2 이동통신단말기(400)에서 상기 복사본 UDP 패킷을 수신할 수 있기 때문이다.
도 8b에 도시된 바와 같이, 상기 원본 UDP 패킷을 전송한 후에 네트워크 상태가 향상된 경우 복사본 UDP 패킷은 상기 버퍼지연시간 이내에 상기 제2 이동통신단말기에 도달하여 끊김없는 게임을 구현할 수 있게 된다.
이상의 본 발명은 모바일 네트워크 게임에 국한되지 않고 다른 컴퓨터용 네트워크 게임 등에 적용될 수 있음은 물론이다.
이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경들을 가져올 수 있으며, 이는 첨부된 청구항에서 정의된 본 발명의 취지와 범위에 포함된다.
상기와 같은 본 발명에 따르면, 여러 원격 단말기에서 진행되고 있는 네트워크 게임의 동기화를 위해 상기 게임에 관한 키입력만을 동기화시켜 게임의 속도를 개선시키는 효과가 있다.
또한, 상기와 같은 본 발명에 따르면, 상기 게임의 동기화를 위해 네트워크를 통해 전송되는 정보량이 감소하여 전체 네트워크의 가용량이 증가하는 효과가 있다.
또한, 상기와 같은 본 발명에 따르면, 상기 알고리즘을 구현하는 SDK(system development kit) 및 API(application program interface)를 제공하여 게임개발을 단순화시킬수 있는 효과가 있다.

Claims (31)

  1. 네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계;
    게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;
    를 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  2. 청구항 1에 있어서, 상기 제1단계 이전에
    타임스탬프정보를 포함하는 비연결형 프로토콜 패킷을 모바일 네트워크 게임 상대 단말기에 주기적으로 송신하는 제1 패킷송신단계;
    상기 게임을 진행하기 위한 임의의 키입력이 있는 경우, 상기 타임스탬프정보 및 해당 키입력정보를 포함하는 비연결형 프로토콜 패킷을 상기 게임 상대의 이동통신단말기에 송신하는 제2 패킷송신단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  3. 청구항 2에 있어서, 네트워크상 전송시 패킷의 손실로 인한 장애극복을 위해
    상기 임의의 비연결형 프로토콜 패킷을 전송시로부터 소정 시간의 경과 후 해당 패킷을 재전송하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  4. 청구항 2에 있어서, 상기 제1 패킷송신단계는
    모바일 네트워크 게임을 실행시킨 후, 시간동기화서버로부터 시간정보를 수신하여 상기 게임상대의 이동통신단말기와 클럭을 동기화시켜 상기 게임 상대의 이동통신단말기로 패킷을 송신하는데 소요되는 초기 패킷송신시간 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는데 소요되는 초기 패킷수신시간을 획득하고, 상기 획득된 초기 패킷송신시간 및 상기 초기 패킷수신시간에 의거하여 초기 버퍼지연시간을 산정하는 단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  5. 청구항 2에 있어서, 상기 초기 버퍼지연시간은 하기 식에 의거하여 얻어지는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
    식) Td = max(T1,T2) + Elim + min(T1,T2,Ov) + S
    (단, Td는 초기 버퍼지연시간, T1은 초기 패킷전송시간, T2는 초기 패킷수신 시간, Elim은 미리 설정된 역방향 임계값, S는 타임스탬프의 주기값, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드)
  6. 청구항 2에 있어서, 상기 제1 패킷송신단계는,
    상기 게임 상대의 이동통신단말기로 패킷을 송신하는 네트워크 경로의 안정도를 나타내는 초기 패킷송신지터레이트(jitter rate) 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 네트워크 경로의 안정도를 나타내는 초기 패킷수신지터레이트를 기준값으로 설정하는 단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  7. 청구항 1에 있어서, 상기 제1 단계는 초기값에서 변경된 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트를 산정하고, 상기 산정한 값들에 의거하여 재설정 버퍼지연시간을 산정하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  8. 청구항 7에 있어서, 상기 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트는 각각 하기 식1, 식2, 식3, 및 식4에 의거하여 얻어지는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
    식1) T1(n+1) = Ts - T2(n+1)
    식2) T2(n+1) = Ta - Tu
    식3) J1(n+1) = J1(n)*(1-S/Elim) + [(T1(n+1)-T1(n))/T1(n+1)]*(S/Elim)
    식4) J2(n+1) = J2(n)*(1-S/Elim) + [(T2(n+1)-T2(n))/T2(n+1)]*(S/Elim)
    (단, T1(n+1)는 재설정 패킷송신시간, T2(n+1)는 재설정 패킷수신시간, Ts는 소프트웨어 핑을 상기 게임상대의 이동통신단말기로 보내 획득한 핑의 왕복시간, Ta는 상기 패킷이 이동통신단말기에 수신된 시간, Tu는 상기 패킷에 포함된 타임스탬프가 나타내는 시간, J1(n)는 초기 패킷송신지터레이트, J2(n)는 초기 패킷수신지터레이트, J1(n+1)는 재설정 패킷송신지터레이트, J2(n+1)는 재설정 패킷수신지터레이트, S는 타임스탬프의 주기, Elim은 미리 설정된 역방향임계값)
  9. 청구항 7에 있어서,
    재설정 패킷송신지터레이트 또는 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰지 여부를 판단하는 재설정지터레이트판단단계;
    상기 판단결과 상기 재설정 패킷송신지터레이트 또는 상기 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰 경우, 버퍼가 소진되었는지 여부를 판단하는 버퍼소진판단단계;
    상기 판단결과 버퍼가 소진되지 않은 경우, 상기 재설정 지터레이트 중 상기 임계값보다 큰 것을 임계값으로 설정하는 지터레이트재설정단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기 화 방법.
  10. 청구항 9에 있어서, 버퍼가 소진되었는지 여부를 판단하여 판단결과 버퍼가 소진된 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  11. 청구항 7 또는 청구항 8에 있어서, 상기 재설정 버퍼지연시간은 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰 경우 하기 식 1)에 의하고, 크지 않은 경우 하기 식 2)에 의하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
    식1) Td(n+1) = T1(n+1)*J1(n+1) + T1(n+1)*[J1(n+1)-1] + Elim + S + min(T1(n+1)*J1(n+1),T2(n+1)*J2(n+1),Ov)
    식2) Td(n+1) = T2(n+1)*J2(n+1) +T2(n+1)*[J2(n+1)-1] + Elim + S + min(T1(n+1)*J1(n+1),T2(n+1)*J2(n+1),Ov)
    (단, Td(n+1)는 재설정 버퍼지연시간, T1(n+1)는 재설정 패킷송신시간, T2(n+1)는 재설정 패킷수신시간, J1(n+1)는 재설정 패킷송신지터레이트, J2(n+1)는 재설정 패킷수신지터레이트, Elim은 미리 설정된 역방향 임계값, S는 타임스탬프의 주기, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드)
  12. 청구항 1에 있어서, 상기 제2 단계 이후에
    버퍼가 소진되었는지 여부를 판단하는 버퍼소진여부판단단계;
    상기 판단결과 버퍼가 소진된 경우, 재설정 버퍼지연시간이 미리 설정된 역방향임계값 보다 큰지를 판단하는 역방향임계값대비단계;
    상기 판단결과 재설정 버퍼지연시간이 상기 역방향임계값 보다 큰 경우, 재설정 버퍼지연시간이 미리 설정된 순방향임계값 보다 작은지를 판단하는 순방향임계값대비단계;
    상기 판단결과 재설정 버퍼지연시간이 상기 순방향임계값 보다 작은 경우, 상기 제2 단계로 이동하는 회귀단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  13. 청구항 12에 있어서, 상기 재설정 버퍼지연시간이 상기 역방향임계값보다 크지 않은 경우, 재설정 버퍼지연시간을 역방향임계값으로 설정하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  14. 청구항 12에 있어서, 상기 재설정 버퍼지연시간이 상기 순방향임계값보다 작지 않은 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하고 상기 제2 단계로 이동하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  15. 청구항 1에 있어서, 상기 패킷은
    해당 패킷의 생성시간정보를 포함하는 제1 타임스탬프, 해당 패킷 생성시의 키입력정보를 포함하는 제1 키입력정보, 상기 제1 타임스탬프 및 상기 제1 키입력정보에 대한 제1 32비트체크섬정보를 포함하는 원본부와,
    해당 패킷의 생성시로부터 소정의 시간 전에 생성된 패킷의 제1 타임스탬프를 포함하는 제2 타임스탬프, 상기 소정의 시간 전에 생성된 패킷의 제1 키입력정보를 포함하는 제2 키입력정보, 상기 제2 타임스탬프 및 상기 제2 키입력정보에 대한 제2 32비트체크섬정보를 포함하는 복사본부로 이루어진 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  16. 청구항 15에 있어서,
    상기 수신된 임의의 제1 패킷의 원본부를 복사본부에 포함하는 제2 패킷을 소정의 시간 후에 수신하는 단계;
    상기 제1 패킷의 제1 32비트체크섬정보에 의거하여 상기 제1 패킷에 오류가 있는지 여부를 판단하는 단계;
    상기 판단결과 상기 제1 패킷에 오류가 있는 경우, 상기 버퍼에 상기 제2 패킷이 존재하는지 여부를 판단하는 단계;
    상기 판단결과 버퍼에 상기 제2 패킷이 존재하는 경우, 상기 제2 패킷에 오류가 있는지 여부를 상기 제2 패킷에 포함된 제2 32비트체크섬정보에 의거하여 판 단하는 단계;
    상기 판단결과 상기 제2 패킷에 오류가 없는 경우, 상기 제1 패킷의 제1 타임스탬프 및 제1 키입력 정보를 상기 제2 패킷의 제2 타임스탬프 및 제2 키입력 정보로 대체하는 단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  17. 청구항 14에 있어서, 상기 판단결과 상기 제2 패킷에 오류가 있는 경우 데드 레커닝 또는 패킷 스킵 방법을 적용하여 게임을 진행하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.
  18. 네크워크 게임을 진행하기 위한 프로그램을 저장하는 저장부;
    상기 게임의 진행에 관한 데이터를 입력받는 입력부;
    상기 게임의 진행상황을 표시하는 표시부;
    네트워크를 통해 연결된 상기 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크 상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하고 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하 도록 제어하는 제어부;
    를 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  19. 청구항 18에 있어서, 상기 제어부는 타임스탬프정보를 포함하는 비연결형 프로토콜 패킷을 모바일 네트워크 상대 단말기에 주기적으로 송신하고, 상기 게임을 진행하기 위한 임의의 키입력이 있는 경우 상기 타임스탬프정보 및 해당 키입력정보를 포함하는 비연결형 프로토콜 패킷을 상기 게임 상대의 단말기에 송신하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  20. 청구항 19에 있어서, 상기 제어부는 네트워크상 전송시 패킷의 손실로 인한 장애극복을 위해 상기 임의의 비연결형 프로토콜 패킷을 전송시로부터 소정 시간의 경과 후 해당 패킷을 재전송하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  21. 청구항 19에 있어서, 상기 제어부는 모바일 네트워크 게임을 실행시킨 후, 시간동기화서버로부터 시간정보를 수신하여 상기 게임상대의 이동통신단말기와 클럭을 동기화시켜 상기 게임 상대의 이동통신단말기로 패킷을 송신하는데 소요되는 초기 패킷송신시간 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 데 소요되는 초기 패킷수신시간을 획득하고, 상기 획득된 초기 패킷송신시간 및 상기 초기 패킷수신시간에 의거하여 초기 버퍼지연시간을 산정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  22. 청구항 19에 있어서, 상기 제어부는 상기 게임 상대의 이동통신단말기로 패킷을 송신하는 네트워크 경로의 안정도를 나타내는 초기 패킷송신지터레이트(jitter rate) 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 네트워크 경로의 안정도를 나타내는 초기 패킷수신지터레이트를 기준값으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  23. 청구항 19에 있어서, 상기 제어부는 초기값에서 변경된 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트를 산정하고, 상기 산정한 값들에 의거하여 재설정 버퍼지연시간을 산정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  24. 청구항 23에 있어서, 상기 제어부는 재설정 패킷송신지터레이트 또는 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰지를 판단하고, 상기 판단결과 상기 재설정 패킷송신지터레이트 또는 상기 재설정 패킷수신지터레이트가 미리 설정 된 임계값보다 큰 경우, 버퍼가 소진되었는지 여부를 판단하고, 상기 판단결과 버퍼가 소진되지 않은 경우, 상기 재설정 지터레이트 중 상기 임계값보다 큰 것을 임계값으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  25. 청구항 24에 있어서, 상기 제어부는 버퍼가 소진되었는지 여부를 판단하여 판단결과 버퍼가 소진된 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  26. 청구항 19에 있어서, 상기 제어부는 버퍼가 소진되었는지 여부를 판단하여 상기 판단결과 버퍼가 소진된 경우, 재설정 버퍼지연시간이 미리 설정된 역방향임계값 보다 큰지를 판단하고, 상기 판단결과 재설정 버퍼지연시간이 상기 역방향임계값 보다 큰 경우, 재설정 버퍼지연시간이 미리 설정된 순방향임계값 보다 작은지를 판단하며, 상기 판단결과 재설정 버퍼지연시간이 상기 순방향임계값 보다 작은 경우, 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  27. 청구항 26에 있어서, 상기 제어부는 상기 재설정 버퍼지연시간이 상기 역방 향임계값보다 크지 않은 경우, 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후, 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  28. 청구항 26에 있어서, 상기 제어부는 상기 재설정 버퍼지연시간이 상기 순방향임계값보다 작지 않은 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하고 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  29. 청구항 18에 있어서, 상기 패킷은 해당 패킷의 생성시간정보를 포함하는 제1 타임스탬프, 해당 패킷 생성시의 키입력정보를 포함하는 제1 키입력정보, 상기 제1 타임스탬프 및 상기 제1 키입력정보에 대한 제1 32비트체크섬정보를 포함하는 원본부와, 해당 패킷의 생성시로부터 소정의 시간 전에 생성된 패킷의 제1 타임스탬프를 포함하는 제2 타임스탬프, 상기 소정의 시간 전에 생성된 패킷의 제1 키입력정보를 포함하는 제2 키입력정보, 상기 제2 타임스탬프 및 상기 제2 키입력정보에 대한 제2 32비트체크섬정보를 포함하는 복사본부로 이루어진 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  30. 청구항 29에 있어서, 상기 제어부는 상기 수신된 임의의 제1 패킷의 원본부를 복사본부에 포함하는 제2 패킷을 소정의 시간 후에 수신하고 상기 제1 패킷의 제1 32비트체크섬정보에 의거하여 상기 제1 패킷에 오류가 있는지 여부를 판단하여 상기 판단결과 상기 제1 패킷에 오류가 있는 경우, 상기 버퍼에 상기 제2 패킷이 존재하는지 여부를 판단하고, 상기 판단결과 버퍼에 상기 제2 패킷이 존재하는 경우, 상기 제2 패킷에 오류가 있는지 여부를 상기 제2 패킷에 포함된 제2 32비트체크섬정보에 의거하여 판단하여 상기 판단결과 상기 제2 패킷에 오류가 없는 경우, 상기 제1 패킷의 제1 타임스탬프 및 제1 키입력 정보를 상기 제2 패킷의 제2 타임스탬프 및 제2 키입력 정보로 대체하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
  31. 청구항 29에 있어서, 상기 제어부는 상기 제2 패킷에 오류가 있는 경우 데드 레커닝 또는 패킷 스킵 방법을 적용하여 게임을 진행하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.
KR1020050003933A 2005-01-14 2005-01-14 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기 KR20060083051A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050003933A KR20060083051A (ko) 2005-01-14 2005-01-14 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050003933A KR20060083051A (ko) 2005-01-14 2005-01-14 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기

Publications (1)

Publication Number Publication Date
KR20060083051A true KR20060083051A (ko) 2006-07-20

Family

ID=37173551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050003933A KR20060083051A (ko) 2005-01-14 2005-01-14 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기

Country Status (1)

Country Link
KR (1) KR20060083051A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722427B1 (ko) * 2005-11-17 2007-05-28 한국전자통신연구원 유무선 멀티플랫폼 온라인 게임의 게임 상태 동기화 방법
WO2008121994A1 (en) * 2007-03-30 2008-10-09 Ntn Buzztime, Inc. Video feed synchronization in an interactive environment
KR100977653B1 (ko) * 2007-04-17 2010-08-24 캐논 가부시끼가이샤 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치
US8562442B2 (en) 2010-06-03 2013-10-22 Ntn Buzztime, Inc. Interactive gaming via mobile playmaker
US8562438B2 (en) 2006-10-26 2013-10-22 Ntn Buzztime, Inc. System and method for television-based services
JP2019186642A (ja) * 2018-04-04 2019-10-24 任天堂株式会社 情報処理装置、制御方法、情報処理システム、および、制御プログラム
KR20200018641A (ko) * 2017-07-24 2020-02-19 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체
US20220224747A1 (en) * 2021-01-12 2022-07-14 Yamaha Corporation Signal processing method and signal processing apparatus

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722427B1 (ko) * 2005-11-17 2007-05-28 한국전자통신연구원 유무선 멀티플랫폼 온라인 게임의 게임 상태 동기화 방법
US8562438B2 (en) 2006-10-26 2013-10-22 Ntn Buzztime, Inc. System and method for television-based services
WO2008121994A1 (en) * 2007-03-30 2008-10-09 Ntn Buzztime, Inc. Video feed synchronization in an interactive environment
KR100977653B1 (ko) * 2007-04-17 2010-08-24 캐논 가부시끼가이샤 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치
US8562442B2 (en) 2010-06-03 2013-10-22 Ntn Buzztime, Inc. Interactive gaming via mobile playmaker
KR20200018641A (ko) * 2017-07-24 2020-02-19 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체
US11266913B2 (en) 2017-07-24 2022-03-08 Tencent Technology (Shenzhen) Company Limited Method and apparatus for synchronously displaying game content and storage medium
JP2019186642A (ja) * 2018-04-04 2019-10-24 任天堂株式会社 情報処理装置、制御方法、情報処理システム、および、制御プログラム
US20220224747A1 (en) * 2021-01-12 2022-07-14 Yamaha Corporation Signal processing method and signal processing apparatus
US11711416B2 (en) * 2021-01-12 2023-07-25 Yamaha Corporation Signal processing method and signal processing apparatus

Similar Documents

Publication Publication Date Title
KR20060083051A (ko) 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기
US10462707B2 (en) Data transmission method and apparatus
US11271848B2 (en) Data transmission method, apparatus, and device
US8171123B2 (en) Network bandwidth detection and distribution
US11044290B2 (en) TCP cross traffic rate control
US7680038B1 (en) Dynamic bandwidth detection and response for online games
JP4491257B2 (ja) 終端間測定に基づくネットワークへのデータストリームの許容の制御
KR101638223B1 (ko) 적응적 스트리밍 서비스를 제공하기 위한 방법
US20050007952A1 (en) Method, system, and computer program product for managing jitter
US20050108420A1 (en) Fast dynamic measurement of bandwidth in a TCP network environment
US20060050640A1 (en) Method and apparatus for network congestion control using queue control and one-way delay measurements
CN112436924B (zh) 一种数据传输方法及电子设备
Abdelsalam et al. TCP wave: a new reliable transport approach for future internet
US20240171492A1 (en) Screen projection data transmission method and apparatus, electronic device, and storage medium
CN113676741B (zh) 数据传输方法、装置、存储介质及电子设备
CN111224999A (zh) 一种传输协议切换方法、装置、设备及存储介质
CN111327962B (zh) 播放控制方法、装置、设备及存储介质
JP2004229306A (ja) 送信コンピューティングシステムが連続するアクションを歩調合せする方法
Petlund Improving latency for interactive, thin-stream applications over reliable transport
CN117676695A (zh) Tcp传输方法、装置和***
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
GAMES A LOOK AT
Anand et al. Pgtp: Power aware game transport protocol for multi-player mobile games
CN112367493B (zh) 数据传输控制方法、装置、移动终端及存储介质
CN115426691A (zh) QoS值的确定方法、装置、终端设备及计算机存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application