KR20060083051A - Method for input/output based game-synchronization for the network game and the moblie phone thereof - Google Patents

Method for input/output based game-synchronization for the network game and the moblie phone thereof 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
Korean (ko)
Inventor
김훈동
박일
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020050003933A priority Critical patent/KR20060083051A/en
Publication of KR20060083051A publication Critical patent/KR20060083051A/en

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

Abstract

본 발명은 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것으로, 특히 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 비연결형 프로토콜 패킷을 통해 버퍼지연시간을 산정하여 상기 버퍼지연시간만큼 게임정보를 늦게 출력시키는 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것이다.The present invention relates to an I / O-based game synchronization method of a network game and a mobile communication terminal for the same. In particular, the buffer delay time is calculated through a connectionless protocol packet including a timestamp, key input information, and a 32-bit checksum. The present invention relates to an I / O-based game synchronization method for a network game that outputs game information late by a delay time, and a mobile communication terminal for the same.

이를 위하여 본 발명은 네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계; 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간마큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;를 포함하는 네트워크 게임의 입출력 기반 게임동기화 방법을 제공한다.To this end, the present invention includes a first step of calculating a buffer delay time for compensating for a signal transmission delay generated on a network from time stamp information included in a connectionless protocol packet received from a mobile communication terminal of a game opponent connected through a network; If there is a first key input by the user to proceed with the game, the second key included in the connectionless protocol packet received from the terminal of the game by delaying the information corresponding to the key input by the calculated buffer delay time. And a second step of synchronizing with information corresponding to an input and outputting the same to a game in progress.

버퍼지연시간, 비연결형 프로토콜, 반복전송Buffer delay time, connectionless protocol, repetitive transmission

Description

네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기 {method for input/output based game-synchronization for the network game and the moblie phone thereof}I / O based game synchronization method of network game and mobile communication terminal for same {method for input / output based game-synchronization for the network game and the moblie phone

도 1은 본 발명의 일 실시예에 따른 모바일 네트워크 게임의 동기화 시스템에 따른 개념도이다.1 is a conceptual diagram according to a synchronization system of a mobile network game according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기의 구성블록도이다.2 is a block diagram illustrating a configuration of the first mobile communication terminal shown in FIG. 1 according to an embodiment of the present invention.

도 3은 본 발명에 따른 도 2에 도시된 제어부의 상세구성도이다.3 is a detailed configuration diagram of the control unit shown in FIG. 2 according to the present invention.

도 4는 본 발명에 의한 UDP 패킷의 구성도이다.4 is a block diagram of a UDP packet according to the present invention.

도 5는 본 발명의 일실시예에 따른 모바일 네트워트 게임의 동기화 방법에 관한 흐름도이다.5 is a flowchart illustrating a method for synchronizing a mobile network game according to an embodiment of the present invention.

도 6은 본 발명에 의한 버퍼시간값 산정방법에 관한 흐름도이다.6 is a flowchart of a buffer time value calculation method according to the present invention.

도 7은 본 발명에 의한 장애극복방법에 대한 흐름도이다.7 is a flowchart illustrating a fault overcoming method according to the present invention.

도 8a 및 도 8b는 본 발명에 의한 UDP데이터그램의 반복전송방법에 대한 흐름도이다.8A and 8B are flowcharts illustrating a repetitive transmission method of a UDP datagram according to the present invention.

본 발명은 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것으로, 특히 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 비연결형 프로토콜 패킷을 통해 버퍼지연시간을 산정하여 상기 버퍼지연시간만큼 게임정보를 늦게 출력시키는 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를 위한 이동통신단말기에 관한 것이다.The present invention relates to an I / O-based game synchronization method of a network game and a mobile communication terminal for the same. In particular, the buffer delay time is calculated through a connectionless protocol packet including a timestamp, key input information, and a 32-bit checksum. The present invention relates to an I / O-based game synchronization method for a network game that outputs game information late by a delay time, and a mobile communication terminal for the same.

최근 모바일 네트워크 시장은 폭발적으로 증가하고 있는 추세로서 보드 게임, RPG 게임, 및 대전류 게임 등이 등장하고 있다. 보드게임 등의 턴방식 게임은 시간당 정보교환량이 많지 않아 네트워크 게임 구현에 별다른 어려움이 없다. 반면에 대전류 게임 등 실시간으로 게임의 동기화를 요하고 시간당 정보교환량이 상대적으로 많은 게임들에 있어서는 모바일 네트워크 전송속도 등 그 환경의 제약으로 인하여 개발자들에게 외면을 당하고 있으며, 실제 구현된 게임 자체도 속도면에서 많은 문제점을 보이고 있다.Recently, the mobile network market is exploding, and board games, RPG games, and large current games are emerging. Turn-based games such as board games do not have much difficulty in implementing network games because there is not much information exchange per hour. On the other hand, games that require synchronization of games in real time, such as large current games, and have a relatively large amount of information exchange per hour, are being turned away from developers due to the limitations of their environment, such as mobile network transmission speeds. There are many problems in this regard.

종래의 모바일 네트워크 게임들은 그 개발방법에 있어 모바일 게임의 네트워크화를 위한 방법과 동일한 방법으로 접근하고 있다. 즉, 화면데이터, 키입력데이터 등 게임 데이터를 구성하는 대부분의 데이터를 주고받아 동기화시키고 있다. 또한, 게임의 동기화를 위해 TCP/IP 프로토콜 등 연결형 프로토콜을 이용하여 신뢰성이 보장된 상태에서 동기화를 구현하고 있다.Conventional mobile network games are approaching the same method as the method for the networking of mobile games in the development method. That is, most data constituting game data such as screen data and key input data is exchanged for synchronization. In addition, the synchronization is implemented in a state where the reliability is guaranteed by using a connection protocol, such as TCP / IP protocol for the synchronization of the game.

상기와 같은 접근방법은 네트워크 대역폭이 일정이상으로 보장되는 등 네트워크 환경이 좋은 경우에는 문제가 없으나 모바일 네트워크 환경은 일반 네트워크 환경에 비하여 그 상태가 훨씬 빈약하여 실시간 동기화를 요하는 대전류 게임 등에 있어서는 동기화를 위한 패킷전송량이 지나치게 많아 게임 속도를 느리게 하고 동기화를 위한 패킷이 손실되는 문제점이 있었다.The above approach does not have a problem when the network environment is good, such as the network bandwidth is guaranteed to be above a certain level, but the mobile network environment is much weaker than the general network environment, so synchronization is required in a large current game that requires real-time synchronization. There is a problem that the packet transmission amount is too large for slowing down the game speed and losing the packet for synchronization.

상기 문제점을 해결하기 위해 손실된 패킷에 상응하는 화면 프레임율(frames per second) 감소에 의해 움직임을 둔하게 만들어 동기화를 유지하는 패킷스킵(packet skip) 알고리즘 또는 손실된 패킷의 정보를 이미 수신받은 패킷에 포함된 정보들로부터 유추해내서 게임에 반영시키는 데드레커닝(dead reckoning) 알고리즘 등이 적용되고 있다. 그러나 상기 패킷스킵방법은 프레임율이 감소함에 따라 사용자가 게임화면에 끊어짐을 느끼게 되고, 상기 데드레커닝 방법은 손실된 패킷에 포함된 정보를 유추하기 위해 프로세서에 지나친 오버헤드(ovehead)를 부가하는 문제점이 있었다.In order to solve the above problem, a packet skip algorithm or a packet that has already received information of a lost packet or a packet skip algorithm that maintains synchronization by slowing motion by reducing frames per second corresponding to a lost packet Dead reckoning algorithms are inferred from the information contained in and reflected in the game. However, in the packet skip method, the user feels a break in the game screen as the frame rate decreases, and the dead reckoning method adds excessive overhead to the processor to infer the information contained in the lost packet. There was this.

본 발명의 목적은, 상기 문제점을 해결하기 위해 안출된 것으로, 게임의 동기화를 각종 객체가 아닌 원격의 키입력값만을 동기화시키고 그 구현을 위해 비연결형 프로토콜과 버퍼시간값을 사용하여 모바일 게임의 속도를 개선시킴에 있다.An object of the present invention is to solve the above problems, and the speed of the mobile game using the connectionless protocol and the buffer time value for the synchronization of the game to synchronize only the remote key input value, not various objects. To improve.

본 발명의 다른 목적은, 상기 게임의 동기화를 위해 네트워크를 통해 전송되는 정보량을 감소시켜 전체 네트워크의 가용량을 증가시키는데 있다.Another object of the present invention is to increase the capacity of the entire network by reducing the amount of information transmitted through the network for the synchronization of the game.

본 발명의 또 다른 목적은, 상기 알고리즘을 구현하는 SDK(system development kit) 및 API(application program interface)를 제공하여 게임개발을 단순화시킬수 있도록 함에도 있다.Another object of the present invention is to provide a system development kit (SDK) and an application program interface (API) for implementing the above algorithm to simplify game development.

상기 목적을 달성하기 위한 본 발명의 일측면에 의하면, 네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 주기적으로 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계; 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;를 포함하는 네트워크 게임의 입출력 기반 게임동기화 방법인 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, to compensate for the signal transmission delay generated in the network from the time stamp information contained in the connectionless protocol packet periodically received from the mobile communication terminal of the game opponent connected via the network Calculating a buffer delay time for the first step; If there is a first key input by the user to proceed with the game, the second key included in the connectionless protocol packet received from the terminal of the game by delaying the information corresponding to the key input by the calculated buffer delay time. And a second step of synchronizing with information corresponding to an input and outputting the same to a game in progress.

상기 목적을 달성하기 위한 본 발명의 다른 측면에 의하면, 모바일 네크워크 게임을 저장하는 저장부; 상기 게임의 진행에 관한 데이터를 입력받는 입력부; 상기 게임의 진행상황을 표시하는 표시부; 네트워크를 통해 연결된 상기 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크 상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하고 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하도록 제어하는 제어부;를 포함하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기인것을 특징으로 한다. According to another aspect of the present invention for achieving the above object, a storage unit for storing a mobile network game; An input unit configured to receive data regarding the progress of the game; A display unit which displays the progress of the game; Calculate a buffer delay time for compensating for a signal propagation delay occurring on a network from time stamp information included in a connectionless protocol packet received from a mobile communication terminal of a game opponent connected through a network and providing a user's information to proceed with a game. When there is one key input, the information corresponding to the key input is delayed by the calculated buffer delay time to synchronize with the information corresponding to the second key input included in the connectionless protocol packet received from the terminal of the game opponent. And a controller for controlling to output to a game in progress.                     

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 모바일 네트워크 게임의 동기화 시스템에 따른 개념도이다.1 is a conceptual diagram according to a synchronization system of a mobile network game according to an embodiment of the present invention.

도 1을 참조하여 설명하면, 본 발명에 따른 모바일 네트워크 게임의 동기화 시스템은 게임서버(100), 시간동기화 서버(200), 제1 이동통신단말기(300), 제2 이동통신단말기(400), 및 인터넷(500)을 포함한다.Referring to Figure 1, the mobile network game synchronization system according to the present invention is a game server 100, time synchronization server 200, the first mobile communication terminal 300, the second mobile communication terminal 400, And the Internet 500.

상기 게임서버(100)는 제1 이동통신단말기(300) 또는 제2 이동통신단말기(400)의 요청이 있을때 상기 제1 이동통신단말기(300) 또는 상기 제2 이동통신단말기(400)로 다운로드할 모바일 네트워크 게임을 저장한다.The game server 100 may download to the first mobile communication terminal 300 or the second mobile communication terminal 400 when requested by the first mobile communication terminal 300 or the second mobile communication terminal 400. Save mobile network games.

상기 시간동기화서버(200)는 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)로부터 시간정보를 요청받았을때 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)의 클럭의 동기화를 위한 시간정보를 전송한다.When the time synchronization server 200 receives time information from the first mobile communication terminal 300 and the second mobile communication terminal 400, the first mobile communication terminal 300 and the second mobile communication terminal. Time information for synchronizing the clock of 400 is transmitted.

상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)는 상기 모바일 네트워크 게임을 미리 저장하고 있거나 상기 게임서버(100)로부터 상기 모바일 네트워크 게임을 다운로드 받아 저장한다. The first mobile communication terminal 300 and the second mobile communication terminal 400 may store the mobile network game in advance or download and store the mobile network game from the game server 100.

또한, 상기 게임을 실행하는 경우 상기 이동통신단말기 간의 동기화를 위해 상기 시간동기화서버(200)로부터 시간정보를 전송받고, 이후에 타임스탬프 및 32비트 체크섬을 포함하는 UDP 패킷을 상기 게임 상대의 이동통신단말기로 전송한다.In addition, when the game is executed, time information is transmitted from the time synchronization server 200 for synchronization between the mobile communication terminals, and then a UDP packet including a time stamp and a 32-bit checksum is transmitted to the mobile communication device. Send to the terminal.

상기 패킷 생성시에 해당 이동통신단말기의 키입력이 있으면 상기 UDP 패킷 에 키입력 정보를 추가하여 전송한다.If there is a key input of the mobile communication terminal when generating the packet, key input information is added to the UDP packet and transmitted.

도 2는 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기의 구성블록도이다.2 is a block diagram illustrating a configuration of the first mobile communication terminal shown in FIG. 1 according to an embodiment of the present invention.

도 2를 참조하여 설명하면, 본 발명의 일실시예에 따른 도 1에 도시된 제1 이동통신단말기(300)는 무선통신부(302), 저장부(304), 입력부(306), 표시부(308) 및 제어부(310)를 포함한다.Referring to FIG. 2, the first mobile communication terminal 300 shown in FIG. 1 according to an embodiment of the present invention may include a wireless communication unit 302, a storage unit 304, an input unit 306, and a display unit 308. ) And the controller 310.

상기 무선통신부(302)는 제어부(310)의 제어를 받으며, 상대 통화자와의 전화통화를 위해 음성신호를 송, 수신하고, 모바일 네트워크 게임 프로그램 및 모바일 네트워크 게임의 실행을 위한 입출력 정보를 비연결형 프로토콜인 UDP(user datagram protocol)를 이용하여 송, 수신하는 역할을 수행한다.The wireless communication unit 302 is controlled by the control unit 310, and transmits and receives a voice signal for a telephone call with the other party, the connectionless input and output information for the execution of the mobile network game program and mobile network game. It transmits and receives using UDP (user datagram protocol).

상기 저장부(304)는 제어부(310)의 제어시에 필요한 동작 프로그램, 시스템 프로그램이 저장되고, 특히 상기 모바일 네트워크 게임 프로그램 및 상기 모바일 네트워크 게임 실행에 필요한 각종 디바이스 드라이버와 프로그램들이 저장된다.The storage unit 304 stores operation programs and system programs necessary for the control of the controller 310, and in particular, the mobile network game program and various device drivers and programs necessary for executing the mobile network game.

상기 입력부(306)는 다수의 숫자 키와 메뉴 키 및 각종 기능을 수행하기 위한 기능 키로 이루어지며, 사용자가 입력하는 키에 대응하는 키입력 신호를 발생시켜 제어부(310)로 키입력 정보를 출력한다. 특히, 상기 모바일 네트워크 게임의 진행에 있어 필요한 사용자의 키입력을 입력받아 제어부(310)로 출력한다.The input unit 306 is composed of a plurality of numeric keys, menu keys, and function keys for performing various functions, and generates key input signals corresponding to keys input by a user to output key input information to the controller 310. . In particular, the user inputs a key input necessary for the progress of the mobile network game and outputs it to the controller 310.

상기 표시부(308)는 액정표시장치(LCD) 등과 같은 표시장치로서, 제어부(310)의 제어를 받아 상기 제1 이동통신단말기(300)의 상태나 상기 게임의 진행 상황을 표시한다. 특히, 네트워크 게임의 화면객체들을 상기 입력부(306) 및 상기 무 선통신부(302)를 통해 전송받은 모바일 네트워크 게임의 키입력 정보에 대응시켜 표시한다.The display unit 308 is a display device such as a liquid crystal display (LCD). The display unit 308 displays the state of the first mobile communication terminal 300 or the progress of the game under the control of the controller 310. In particular, the screen objects of the network game are displayed in correspondence with the key input information of the mobile network game transmitted through the input unit 306 and the wireless communication unit 302.

상기 제어부(310)는 상기 제1 이동통신단말기(300)의 전반적인 동작을 제어함과 동시에 상기 제1 이동통신단말기(300)의 저장부(304)에 저장된 모바일 네트워크 게임이 상기 게임과 네트워크를 통해 연결된 다른 모바일 네트워크 게임과 동기화되어 실행되도록 제어한다.The control unit 310 controls the overall operation of the first mobile communication terminal 300 and at the same time a mobile network game stored in the storage unit 304 of the first mobile communication terminal 300 through the game and the network. Control to run in sync with other connected mobile network games.

자세히 설명하면, 상기 제어부(310)는 상기 제1 이동통신단말기(300)와 상기 게임 상대의 제2 이동통신단말기(400)에서 실행되고 있는 모바일 네트워크 게임의 동기화를 위해 소정의 버퍼지연시간을 계산하여 그 시간 만큼 상기 입력부(306)를 통해 입력된 상기 이동통신단말기의 모바일 네트워크 게임에 관한 키입력정보를 지연시키고 상기 무선통신부(302)를 통해 수신된 상기 게임 상대의 이동통신단말기의 상기 게임에 관한 키입력정보를 상기 버퍼지연시간에서 해당 키입력정보를 포함하는 UDP 패킷(packet)을 상기 제2 이동통신단말기(400)에서 상기 제1 이동통신단말기(300)로 전송하는데 소요되는 시간인 패킷수신시간을 뺀 값만큼 지연시켜 상기 제1 이동통신단말기(300)에서 실행되는 게임에 반영되도록 제어한다. 즉, 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)의 상기 게임의 진행에 관한 키입력을 그 입력시로부터 상기 버퍼지연시간만큼 지난 뒤에 게임에 반영시켜 양 이동통신단말기간의 게임을 동기화시킨다.In detail, the controller 310 calculates a predetermined buffer delay time for synchronizing a mobile network game that is executed in the first mobile communication terminal 300 and the second mobile communication terminal 400 of the game opponent. Delay the key input information about the mobile network game of the mobile communication terminal input through the input unit 306 by the time and to the game of the mobile communication terminal of the game opponent received through the wireless communication unit 302. A packet which is a time required for transmitting a UDP packet including key input information related to the key input information from the buffer delay time to the first mobile communication terminal 300 from the second mobile communication terminal 400. By delaying the reception time by a value less, it is controlled to be reflected in the game executed in the first mobile communication terminal (300). That is, the key inputs related to the progress of the game of the first mobile communication terminal 300 and the second mobile communication terminal 400 are reflected in the game after the buffer delay time has passed from the input time. Synchronize games between

또한, 상기 제1 이동통신단말기에서 실행되고 있는 게임의 키입력 정보외의 다른 게임데이터들 또한 상기 버퍼지연시간에 해당하는 시간만큼 지난 다음에 상기 제1 이동통신단말기(300)에 실행되는 게임에 반영되어 출력되도록 제어한다.In addition, game data other than the key input information of the game executed in the first mobile communication terminal is also reflected in the game executed in the first mobile communication terminal 300 after a time corresponding to the buffer delay time. To control the output.

또한, 상기 제어부(310)는 상기 무선통신부(302)를 통해 수신된 키입력정보를 포함하는 패킷에 오류가 있는 장애가 발생하는 경우, 이의 극복을 위한 후술되는 장애극복알고리즘이 실행되도록 제어한다.In addition, the controller 310 controls to execute a failure overcoming algorithm, which will be described later, for overcoming a failure in the packet including the key input information received through the wireless communication unit 302.

도 1에 도시된 제2 이동통신단말기(400)의 구성은 상기 제1 이동통신단말기의 구성과 동일한바 여기에서는 그 상세한 설명을 생략한다.The configuration of the second mobile communication terminal 400 shown in FIG. 1 is the same as that of the first mobile communication terminal, and thus a detailed description thereof will be omitted.

도 3은 본 발명에 따른 도 2에 도시된 제어부의 상세구성도이다.3 is a detailed configuration diagram of the control unit shown in FIG. 2 according to the present invention.

도 3을 참조하여 본 발명에 따른 도 2에 도시된 제어부(310)의 상세 구성에 대해 설명하면, 본 발명에 따른 이동통신단말기의 제어부(310)는 이동통신처리부(311), 버퍼시간값산출부(312), 입력지연(input delay)처리부(313), 출력지연(output delay)처리부(314), 및 장애극복(fail over)처리부(315)를 포함한다.Referring to FIG. 3, the detailed configuration of the control unit 310 shown in FIG. 2 according to the present invention will be described. The control unit 310 of the mobile communication terminal according to the present invention is a mobile communication processing unit 311, a buffer time value calculation. The unit 312 includes an input delay processing unit 313, an output delay processing unit 314, and a fail over processing unit 315.

상기 이동통신처리부(311)는 이동통신단말기에서 무선자원을 활용하여 이동통신서비스를 수행하기 위한 모듈로서 공지의 이동통신기술을 사용하여 구성되어 동작함에 따라 여기에서는 상세한 설명을 생략하기로 한다.The mobile communication processing unit 311 is configured to operate using a known mobile communication technology as a module for performing a mobile communication service using a radio resource in the mobile communication terminal, and thus detailed description thereof will be omitted.

상기 버퍼지연시간산출부(312)는 모바일 네트워크 게임 상대의 이동통신단말기로부터 수신받은 UDP 패킷에 포함된 키입력정보 및 입력부(306)를 통해 입력된 상기 게임의 진행에 관한 키입력정보를 지연시켜 상기 게임에 반영시키도록하는 소정의 버퍼지연시간을 산출한다.The buffer delay time calculation unit 312 delays the key input information included in the UDP packet received from the mobile communication terminal of the mobile network game opponent and the key input information related to the progress of the game input through the input unit 306. A predetermined buffer delay time to be reflected in the game is calculated.

상기 입력지연처리부(313)는 상기 산출된 버퍼지연시간만큼 상기 입력부(306)를 통해 입력된 상기 게임의 진행에 관한 키입력정보를 지연시키고 상기 UDP 패킷에 포함된 키입력정보를 상기 산출된 버퍼지연시간에서 해당 패킷의 패킷수신시간을 뺀 값만큼 지연시켜 상기 게임에 반영되도록 제어한다. 이는 상기 게임 상대의 제2 이동통신단말기(400)로부터의 키입력정보가 해당 키입력이 상기 제2 이동통신단말기에 입력된 때로부터 상기 버퍼지연시간만큼 지난후에 상기 게임에 반영됨에 따라 상기 제1 이동통신단말기(300)에서 입력된 키입력정보 또한 게임의 동기화를 위해 동일한 시간만큼 지연시켜 상기 게임에 반영하기 위함이다.The input delay processing unit 313 delays the key input information related to the progress of the game input through the input unit 306 by the calculated buffer delay time and converts the key input information included in the UDP packet into the calculated buffer. The delay time is controlled by reflecting the game by delaying the packet reception time of the corresponding packet. This is because the key input information from the second mobile communication terminal 400 of the game opponent is reflected in the game after the buffer delay time from when the key input is input to the second mobile communication terminal. The key input information input from the mobile communication terminal 300 is also delayed by the same time for synchronization of the game and reflected in the game.

상기 출력지연처리부(314)는 상기 게임의 키입력정보 외의 화면객체정보 등 기타 데이터를 상기 산출된 버퍼지연시간만큼 지연시켜 상기 게임에 반영시켜 상기 표시부(308)로 출력되도록 제어한다. 이는 상기 게임에 관한 키입력정보가 상기 버퍼지연시간만큼 지난 후에 게임에 반영되므로 이에 맞추어 나머지 상기 게임에 관한 정보들을 그만큼 후에 반영시키기 위함이다.The output delay processing unit 314 controls other data such as screen object information other than the key input information of the game to be delayed by the calculated buffer delay time to be reflected to the game and outputted to the display unit 308. This is because the key input information about the game is reflected in the game after the buffer delay time, so that the remaining information about the game is reflected thereafter.

상기 게임의 키입력정보 외의 상기 게임에 관한 정보는 네트워크를 통해 전송하지 않는다. 이는 키입력정보만을 동기화시켜 각각 상기 제1 이동통신단말기(300) 및 상기 제2 이동통신단말기(400)에서 진행해도 상기 게임 진행에 있어 동기화가 가능하며 상기 네트워크를 통한 정보의 전송량을 줄여 상기 게임의 속도를 끊김없이 진행시킬 수 있기 때문이다.Information about the game other than the key input information of the game is not transmitted through the network. It synchronizes only key input information so that the first mobile communication terminal 300 and the second mobile communication terminal 400 can be synchronized in the game progress even if they proceed, respectively, and reduce the amount of transmission of information through the network. This is because the speed can be progressed seamlessly.

상기 장애극복처리부(315)는 상기 게임에 관한 원본 UDP 패킷을 송신한 후 소정의 시간의 지나면 상기 패킷의 복사본 UDP 패킷을 송신하도록 제어한다. 이는 상기 원본 UDP 패킷에 오류가 있는 경우 상기 복사본 UDP 패킷을 사용하여 상기 게임을 진행할 수 있도록 하기 위함이다. The failover processing unit 315 controls to transmit a copy UDP packet of the packet after a predetermined time after transmitting the original UDP packet related to the game. This is to allow the game to proceed using the copy UDP packet when there is an error in the original UDP packet.                     

또한, 상기 게임 상대의 제2 이동통신단말기(400)로부터 상기 원본 UDP 패킷을 수신한 후에 상기 원본 UDP 패킷에 오류가 있는지 여부를 검사하여 오류가 있는 경우, 버퍼에 상기 원본 UDP 패킷의 복사본이 존재하는지 여부를 판단한다. 상기 버퍼에 상기 복사본 UDP 패킷이 존재하는 경우, 상기 복사본 UDP 패킷에 오류가 있는지 여부를 검사하여 오류가 없으면 상기 복사본 UDP 패킷으로 상기 원본 UDP 패킷을 대체한다. 상기 버퍼에 상기 복사본 UDP 패킷이 존재하지 않거나 상기 복사본 UDP 패킷에도 오류가 있는 경우, 패킷스킵 또는 데드 레커닝 등의 알고리즘을 사용하여 손실된 패킷에 의한 장애를 극복하도록 제어한다.In addition, after receiving the original UDP packet from the second mobile communication terminal 400 of the game opponent, if there is an error by checking whether there is an error in the original UDP packet, a copy of the original UDP packet exists in a buffer. Determine whether or not. If the copy UDP packet exists in the buffer, it is checked whether there is an error in the copy UDP packet, and if there is no error, the original UDP packet is replaced with the copy UDP packet. If the copy UDP packet does not exist in the buffer or there is an error in the copy UDP packet, an algorithm such as packet skipping or dead reckoning is used to control a failure caused by the lost packet.

도 4는 본 발명에 의한 UDP 패킷의 구성도이다.4 is a block diagram of a UDP packet according to the present invention.

도 4를 참조하여 설명하면, 모바일 네트워크 게임을 실행하는 이동통신단말기에서 전송하는 UDP 패킷은 UDP 헤더와 데이터 부분으로 구성된다.Referring to FIG. 4, a UDP packet transmitted by a mobile communication terminal for executing a mobile network game includes a UDP header and a data portion.

상기 UDP 헤더는 패킷의 출발지 포트번호, 목적지 포트번호, 메시지 길이, 및 16 비트 체크섬으로 구성되며 그 구체적인 기능은 공지된 RFC(request for comment)768 문서에 정의된 사항에 의하는바 여기에서는 상세한 설명을 생략하기로 한다.The UDP header consists of a source port number, a destination port number, a message length, and a 16-bit checksum of a packet, the specific function of which is defined in a known request for comment (RFC) 768 document. Will be omitted.

상기 데이터부분은 타임스탬프1, 키입력정보1, 및 32비트체크섬1로 이루어진 원본부와 타임스탬프2, 키입력정보2, 및 32비트 체크섬2로 이루어진 복사본부로 구성된다.The data portion is composed of an original portion consisting of time stamp 1, key input information 1, and 32 bit checksum 1, and a copy portion consisting of time stamp 2, key input information 2, and 32 bit checksum 2.

상기 타임스탬프1은 해당 타임스탬프 정보를 포함하는 패킷이 송신된 시간을 나타낸다. 상기 타임스탬프는 상기 패킷을 송신한 이동통신단말기와 상기 패킷을 수신한 이동통신단말기 간의 전송시간을 계산하는 정보로서 사용된다. 또한, 상기 패킷을 수신한 이동통신단말기에서 수신된 패킷의 순서를 파악하는데 사용된다.The time stamp 1 indicates a time at which a packet including corresponding time stamp information is transmitted. The time stamp is used as information for calculating a transmission time between the mobile communication terminal that has transmitted the packet and the mobile communication terminal which has received the packet. In addition, the mobile communication terminal receiving the packet is used to determine the order of the received packet.

상기 키입력정보1은 해당 패킷을 생성한 이동통신단말기에서 실행중인 모바일 네트워크 게임에 관한 것으로서 해당 패킷의 생성시에 해당 게임에 관한 키입력이 있는 경우에만 포함된다.The key input information 1 relates to a mobile network game that is executed in the mobile communication terminal that generated the packet and is included only when there is a key input related to the game at the time of generating the packet.

상기 32비트체크섬1은 상기 타임스탬프1 및 상기 키입력정보1 항목에 오류가 있는지 여부를 검사하기 위한 부분으로서 기존 UDP 패킷의 16비트 체크섬보다 개선된 성능을 꾀할 수 있다.The 32-bit checksum 1 is a part for checking whether there is an error in the time stamp 1 and the key input information 1 item, and can improve performance over the 16-bit checksum of the existing UDP packet.

상기 타임스탬프2, 상기 키입력정보2, 및 상기 32비트체크섬2 부분은 후술되는 장애극복알고리즘의 구현을 위한 것이다.The timestamp 2, the key input information 2, and the 32-bit checksum 2 portion are for the implementation of the failover algorithm described below.

상기 타임스탬프2는 소정의 시간 전에 전송된 UDP 패킷의 타임스탬프1 항목에 포함된 타임스탬프 정보를 포함한다.The time stamp 2 includes time stamp information included in a time stamp 1 item of a UDP packet transmitted before a predetermined time.

상기 키입력정보2는 상기 타임스탬프2에 나와있는 시간에 생성된 패킷의 키입력정보1 항목에 들어있는 내용을 포함한다.The key input information 2 includes contents contained in the key input information 1 item of the packet generated at the time indicated in the time stamp 2.

상기 32비트체크섬2는 상기 타임스탬프2 및 상기 키입력정보2 항목에 오류가 있는지 여부를 검사하기 위한 부분으로서 기존 UDP 패킷의 16비트 체크섬보다 개선된 성능을 꾀할 수 있다.The 32-bit checksum 2 is a part for checking whether there is an error in the time stamp 2 and the key input information 2 item, and can improve performance than the 16-bit checksum of the existing UDP packet.

비연결형 프로토콜인 UDP를 이용하여 패킷을 송, 수신하는 이유는, 대역폭이 작고 상태가 불안정한 네트워크에서 신뢰성이 보장되는 TCP 프로토콜 등을 사용하여 패킷을 송, 수신하는 경우 패킷전송 후 패킷이 성공적으로 전송되었는지를 확인 하는 절차를 거쳐야 하므로 게임 속도가 지나치게 느려지기 때문이다.The reason for sending and receiving a packet using UDP, which is a connectionless protocol, is that a packet is successfully transmitted after packet transmission when a packet is transmitted and received using a TCP protocol that is guaranteed in a network with a small bandwidth and an unstable state. This is because the game slows down too much because it has to go through the process of checking whether it is.

한편, 상기 UDP 패킷의 데이터 부분에 해당하는 정보들을 헤더부분에 포함시킨 상기 UDP 프로토콜에 상응하는 새로운 프로토콜을 구축하여 본 발명을 구현하는 것도 가능하다.On the other hand, it is also possible to implement the present invention by building a new protocol corresponding to the UDP protocol including the information corresponding to the data portion of the UDP packet in the header portion.

도 5는 본 발명의 일실시예에 따른 모바일 네트워트 게임의 동기화 방법에 관한 흐름도이다.5 is a flowchart illustrating a method for synchronizing a mobile network game according to an embodiment of the present invention.

먼저, 이동통신단말기의 저장부에는 모바일 네트워크 게임이 저장되어 있다.First, a mobile network game is stored in a storage unit of a mobile communication terminal.

도 5를 참조하여 설명하면, 사용자가 제1 이동통신단말기(300)의 저장부(304)에 저장된 네트워크 게임을 실행시킨다(S100).Referring to FIG. 5, the user executes a network game stored in the storage unit 304 of the first mobile communication terminal 300 (S100).

그 후 상기 제1 이동통신단말기(300)는 시간동기화서버(100)로부터 시간정보를 수신받아 인터넷(500) 등의 원거리 네트워크망을 통해 연결된 모바일 네트워크 게임 상대의 제2 이동통신단말기(400)의 클럭과 상기 제2 이동통신단말기(300)의 클럭을 동기화시킨다(S102).Thereafter, the first mobile communication terminal 300 receives time information from the time synchronization server 100 of the second mobile communication terminal 400 of the mobile network game partner connected through a remote network such as the Internet 500. The clock and the clock of the second mobile communication terminal 300 are synchronized (S102).

그 후 상기 제1 이동통신단말기(300)는 초기 패킷송신시간과 초기 패킷수신시간을 수신받은 패킷에 포함된 타임스탬프 정보와 상기 게임 상대의 제2 이동통신단말기(400)에 대한 어플리케이션 레이어 레벨의 소프트웨어 핑 시간, 즉 패킷왕복시간에 기초하여 산정하고 상기 두 값에 의거하여 버퍼지연시간의 초기값, 즉 초기 버퍼지연시간을 산정한다. 또한 상기 제1 이동통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)로 패킷을 송신하는 네트워크 경로의 불안정도를 나타내는 패킷송신지터레이트의 초기값, 즉 초기 패킷송신지터레이트 및 상기 제1 이동 통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)로 패킷을 송신하는 네트워크 경로의 불안정도를 나타내는 패킷수신지터레이트의 초기값, 즉 초기 패킷수신지터레이트를 기준값인 1로 설정한다(S104).Thereafter, the first mobile communication terminal 300 includes timestamp information included in a packet that has received an initial packet transmission time and an initial packet reception time, and an application layer level of the second mobile communication terminal 400 of the game opponent. Based on the software ping time, that is, packet reciprocating time, the initial value of the buffer delay time, that is, the initial buffer delay time, is calculated based on the two values. In addition, the initial value of the packet transmission jitter indicating the instability of the network path for transmitting a packet from the first mobile communication terminal 300 to the second mobile communication terminal 400 of the game opponent, that is, the initial packet transmission jitter rate and The initial value of the packet reception jitter rate, that is, the initial packet reception jitter rate indicating the instability of the network path for transmitting a packet from the first mobile communication terminal 300 to the second mobile communication terminal 400 of the game opponent, is a reference value. It is set to 1 (S104).

그 후 상기 제1 이동통신단말기(300)는 상기 제1 이동통신단말기(300)의 입력부(306)로부터 상기 게임진행에 관한 키입력이 있거나 상기 제1 이동통신단말기(300)의 무선통신부(302)로부터 상기 게임진행에 관한 키입력정보가 포함된 패킷을 수신받으면(S106) 상기 키입력 정보를 상기 키입력의 키입력시로부터 상기 초기 버퍼지연시간만큼 후에 상기 게임에 반영시켜 상기 제1 이동통신단말기(300)의 표시부(308)에 출력한다(S108).Thereafter, the first mobile communication terminal 300 has a key input related to the game progress from the input unit 306 of the first mobile communication terminal 300 or the wireless communication unit 302 of the first mobile communication terminal 300. Receiving a packet including the key input information related to the game progress (S106), the key input information is reflected to the game after the initial buffer delay time from the key input of the key input to the first mobile communication. The display unit 308 outputs the terminal 300 (S108).

또한, 상기 제1 이동통신단말기(300)는 패킷송신시간의 재설정값, 즉 재설정 패킷송신시간및 패킷수신시간의 재설정값, 즉 재설정 패킷수신시간을 산정하고 상기 초기 패킷송신시간, 초기 패킷수신시간, 재설정 패킷송신시간, 재설정 패킷수신시간, 타임스탬프 주기, 및 인간인지반응평균시간값에 기초하여 패킷송신지터레이트의 재설정값, 즉 재설정 패킷송신지터레이트 및 패킷수신지터레이트의 재설정값, 즉 재설정 패킷수신지터레이트를 산정한다. 그 후 상기 재설정 패킷송신시간, 상기 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 상기 재설정 패킷수신지터레이트, 타임스팸프 주기, 및 네트워크 전송과 정보처리에 걸리는 기본 오버헤드에 기초하여 재설정 버퍼지연시간을 산정한다(S110).Further, the first mobile communication terminal 300 calculates the reset value of the packet transmission time, that is, the reset packet transmission time and the reset value of the packet reception time, that is, the reset packet reception time, and the initial packet transmission time and the initial packet reception time. Based on the reset packet transmission time, reset packet reception time, timestamp period, and human cognitive response time value, that is, reset packet transmission jitter rate, that is, reset packet transmission jitter and packet reception jitter Calculate packet reception jitter. Then, a reset buffer delay time based on the reset packet transmission time, the reset packet reception time, the reset packet transmission jitter rate, the reset packet reception jitter rate, the time spam period, and the basic overhead required for network transmission and information processing. Calculate the (S110).

그 후 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도가 느려짐에 따라 상기 무선통신부(302)를 통해 패킷을 수신받는 속도보다 상기 게임 프로그램으 로 패킷이 출력되는 속도가 빨라져서 상기 버퍼가 소진되었는지 여부를 판단한다(S112).Thereafter, as the speed of the network decreases, the first mobile communication terminal 300 speeds up the output of the packet to the game program rather than the speed of receiving the packet through the wireless communication unit 302, thus exhausting the buffer. It is determined whether or not (S112).

상기 S112 판단결과, 버퍼가 소진된 경우, 상기 S104단계로 이동한다. 버퍼가 소진된 경우에 상기 S104단계로 이동해 상기 초기값들을 다시 산정하는 이유는 현재의 네트워크 상태가 상기 초기값 및 재설정값들에 비해 상당히 느려지고 불안정해짐에 따라 현재의 네트워크 상태를 기준으로하여 다시 초기 버퍼지연시간을 산정하기 위함이다.As a result of the determination of S112, when the buffer is exhausted, the process moves to step S104. When the buffer is exhausted, the reason for moving back to step S104 and recalculating the initial values is that the current network state becomes significantly slower and unstable than the initial value and reset values. This is to calculate the buffer delay time.

한편, 상기 S112 판단결과, 버퍼가 소진되지 않은 경우, 상기 재설정 버퍼지연값이 역방향임계값인 잔상효과시간값보다 큰지 여부를 판단한다(S114).On the other hand, if it is determined in S112 that the buffer is not exhausted, it is determined whether the reset buffer delay value is larger than the afterimage effect time value which is a reverse threshold value (S114).

상기 S114 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 크지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후(S118) 하기 S120단계로 이동한다. 상기 재설정 버퍼지연시간을 역방향임계값인 잔상효과허용시간값으로 설정하는 이유는 인간이 출력화면의 끊어짐을 느끼지 못하는 잔상효과허용시간 이내로 버퍼지연시간이 설정된 경우에는 한, 두번의 버퍼 소진시에도 사용자가 화면의 깜빡임을 느끼지 않고 게임의 진행이 가능하기 때문이다.As a result of the determination in S114, when the reset buffer delay time is not greater than the afterimage effect time value of the reverse threshold value, the first mobile communication terminal 300 sets the reset buffer delay time to the reverse threshold value (S118). Go to step S120. The reason for setting the reset buffer delay time to the afterimage effect allowable time value, which is a reverse threshold value, is that the user may be used when one or two buffers are exhausted when the buffer delay time is set within the afterimage allowable time when the human being does not feel the disconnection of the output screen. This is because the game can proceed without feeling flickering on the screen.

상기 잔상효과시간값은 실험적으로 0.0625 초로 알려져 있다.The afterimage effect time is experimentally known as 0.0625 seconds.

상기 S114 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과허용시간값보다 큰 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은지 여부를 판단한다(S116). As a result of the determination of S114, when the reset buffer delay time is larger than the afterimage effect allowable time value, which is a reverse threshold value, the first mobile communication terminal 300 determines whether the reset buffer delay time is a human threshold response time which is a forward threshold value. It is determined whether or not it is smaller (S116).                     

상기 인간인지반응평균시간값은 게임의 사용자가 자신이 누른 키입력이 화면에 늦게 반영되었다고 느끼게 되는 평균시간으로 여러 학자들의 연구결과에 의하면 0.64초 이다. The average time value of human cognitive response is 0.64 seconds according to the research results of various scholars.

상기 S116 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정된 모든 값들을 초기값들로 설정한 후(S120) 상기 S106단계로 이동한다.As a result of the determination of S116, when the reset buffer delay time is smaller than the average human cognitive response time value, the first mobile communication terminal 300 sets all the reset values as initial values (S120). Move on to step S106.

한편 상기 S116 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작지 않은 경우, 상기 제1 이동통신단말기(300)는 패킷스킵 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 건너뛰고 게임을 진행하거나 데드 레커닝 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 유추해내어 상기 게임에 반영시켜 게임을 진행시킴(S117)과 동시에 상기 S118단계로 이동한다. 상기 패킷스킵 알고리즘 또는 상기 데드 레커닝 알고리즘 이외에도 네트워크 상태가 불량한 경우 이를 해결하기 위한 여러 다른 알고리즘을 채용하여 상기 게임을 진행할 수 있다.On the other hand, if it is determined in S116 that the reset buffer delay time is not smaller than the average human cognitive response time value, the first mobile communication terminal 300 applies a packet skip algorithm to the game within the forward threshold value. Skip the information that is not reflected in the game or proceed with a dead reckoning algorithm to infer the information not reflected in the game in the forward threshold value to reflect the game to proceed with the game (S117) and at the same time the S118 Go to step. In addition to the packet skipping algorithm or the dead reckoning algorithm, the game may be progressed by employing various algorithms to solve the case where the network condition is poor.

도 6은 본 발명에 의한 버퍼시간값 산정방법에 관한 흐름도이다.6 is a flowchart of a buffer time value calculation method according to the present invention.

먼저 제1 이동통신단말기(300)에서 모바일 네트워크 게임이 실행되고 있다.First, a mobile network game is executed in the first mobile communication terminal 300.

도 6을 참조하여 설명하면, 상기 제1 이동통신단말기(300)는 시간동기화서버(200)로부터 시간정보를 수신받아 인터넷(500) 등의 원거리 네트워크망을 통해 연결된 모바일 네트워크 게임 상대의 제2 이동통신단말기(400)의 클럭과 상기 이동통신단말기(300)의 클럭을 동기화시킨다. 이 과정에서 상기 시간동기화서버(200), 상 기 제1 이동통신단말기(300), 상기 게임 상대의 제2 이동통신단말기(400) 간에 핑을 주고 받으면서 상기 제1 이동통신단말기(300)의 초기 패킷송신시간 및 초기 패킷수신시간을 획득한다(S200). 상기 방법은 공지의 방법으로서 여기에서는 상세한 설명을 생략하기로 한다.Referring to FIG. 6, the first mobile communication terminal 300 receives the time information from the time synchronization server 200 and moves a second mobile opponent of the mobile network game connected through a remote network such as the Internet 500. The clock of the communication terminal 400 and the clock of the mobile communication terminal 300 are synchronized. In this process, the time synchronization server 200, the first mobile communication terminal 300, the second mobile communication terminal 400 of the game opponent while pinging the initial of the first mobile communication terminal 300 A packet transmission time and an initial packet reception time are obtained (S200). The method is a known method and detailed description thereof will be omitted herein.

그 후, 상기 제1 이동통신단말기(300)는 초기 패킷송신지터레이트 및 초기 패킷수신지터레이트를 기준값인 1로 설정(S202)하여 상기 초기 패킷송신시간 및 초기 패킷수신시간을 후술하는 계산의 기준으로 삼는다.Thereafter, the first mobile communication terminal 300 sets an initial packet transmission jitter rate and an initial packet reception jitter rate to 1, which is a reference value (S202), to calculate the initial packet transmission time and the initial packet reception time. Make it.

그 후, 상기 제1 이동통신단말기(300)는 초기 버퍼지연시간을 하기 식에 의거하여 산출한다(S204).Thereafter, the first mobile communication terminal 300 calculates an initial buffer delay time based on the following equation (S204).

식) Td(n) = max(T1,T2) + Elim + min(T1,T2,Ov) + STd (n) = max (T1, T2) + Elim + min (T1, T2, Ov) + S

여기서 Td는 상기 초기 버퍼지연시간, T1은 상기 초기 패킷전송시간, T2는 상기 초기 패킷수신시간, Elim은 미리 설정된 역방향 임계값, S는 상기 타임스탬프의 주기, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.Where Td is the initial buffer delay time, T1 is the initial packet transmission time, T2 is the initial packet reception time, Elim is a preset reverse threshold value, S is the period of the timestamp, and Ov is the basic for the network and information processing. Is overhead.

그 후, 상기 제1 이동통신단말기(300)에 상기 게임 상대의 이동통신단말기(400)로부터 타임스탬프 정보를 포함하는 상기 게임에 관한 패킷을 수신하여 해당 패킷의 송, 수신시간을 획득하고 상기 게임 상대의 제2 이동통신단말기(400)에 소프트웨어 핑을 보내 핑시간, 즉 상기 제1 이동통신단말기(300)에서 상기 게임 상대의 제2 이동통신단말기(400)를 거쳐 패킷이 되돌아 오는 시간을 획득한다. 상기 패킷 송, 수신시간 및 상기 핑시간에 기초하여 각각 하기 식1 및 식2에 의거해 재설정 패킷송신시간 및 재설정 패킷수신시간을 산출한다(S206). Thereafter, the first mobile communication terminal 300 receives a packet relating to the game including timestamp information from the mobile communication terminal 400 of the game opponent, obtains the transmission and reception time of the packet, and receives the game. Send a software ping to the opponent's second mobile communication terminal 400 to obtain a ping time, that is, a time for the packet to return from the first mobile communication terminal 300 to the game's second mobile communication terminal 400. do. Based on the packet transmission, reception time and the ping time, the reset packet transmission time and the reset packet reception time are calculated based on Equations 1 and 2, respectively (S206).                     

식1) T1(n+1) = Ts - T2(n+1)Equation 1) T1 (n + 1) = Ts-T2 (n + 1)

여기서 T1(n+1)는 재설정 패킷송신시간, Ts는 소프트웨어 핑을 상기 게임상대의 이동통신단말기로 보내 획득한 핑의 왕복시간, T2(n+1)는 재설정 패킷수신시간이다.Where T1 (n + 1) is the reset packet transmission time, Ts is the round trip time of the ping obtained by sending a software ping to the mobile communication terminal of the game, and T2 (n + 1) is the reset packet reception time.

식2) T2(n+1) = Ta - TuEquation 2) T2 (n + 1) = Ta-Tu

여기서 T2(n+1)는 재설정 패킷수신시간, Ta는 상기 패킷이 이동통신단말기에 수신된 시간, Tu는 상기 패킷에 포함된 타임스탬프가 나타내는 시간, 즉 상기 패킷이 송신된 시간이다.Here, T2 (n + 1) is a reset packet reception time, Ta is a time when the packet is received by the mobile communication terminal, Tu is a time indicated by the time stamp included in the packet, that is, a time when the packet is transmitted.

그 후, 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도 등 초기값 설정후 상기 네크워크 상태의 변화를 나타내는 재설정 패킷송신지터레이트 및 재설정 패킷수신지터레이트를 각각 하기 식3 및 식4에 의거하여 산출한다(S208).Thereafter, the first mobile communication terminal 300 sets the reset packet transmission jitter rate and the reset packet reception jitter rate indicating the change of the network state after setting an initial value such as the speed of the network based on Equations 3 and 4, respectively. It calculates by (S208).

식3) J1(n+1) = J1(n)*(1-S/Elim) + [(T1(n+1)-T1(n))/T1(n+1)]*(S/Elim)Equation 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은 미리 설정된 역방향임계값이다.Where J1 (n + 1) is the reset packet transmission jitter, J1 (n) is the initial packet transmission jitter rate, T1 (n + 1) is the reset packet transmission time, T1 (n) is the initial packet transmission time, and S is the time The period of the stamp, Elim, is a preset reverse threshold.

식4) J2(n+1) = J2(n)*(1-S/Elim) + [(T2(n+1)-T2(n))/T2(n+1)]*(S/Elim)Equation 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은 미리 설정된 역방향임계값이다.Where J2 (n + 1) is the reset packet reception jitter rate, J2 (n) is the initial packet reception jitter rate, T2 (n + 1) is the reset packet reception time, T2 (n) is the initial packet reception time, and S is the time The period of the stamp, Elim, is a preset reverse threshold.

그 후, 상기 제1 이동통신단말기(300)는 산출된 상기 재설정 패킷송신지터레 이트 또는 상기 재설정 패킷수신지터레이트가 2 미만인지 여부를 판단한다(S210).Thereafter, the first mobile communication terminal 300 determines whether the calculated reset packet transmission jitter rate or the reset packet reception jitter rate is less than two (S210).

즉, 상기 네트워크 상태가 초기 버퍼지연시간 산출 이후에 현저하게 느려졌는지 여부를 판단한다.That is, it is determined whether the network state is significantly slowed down after calculating the initial buffer delay time.

상기 S210 판단결과, 산출된 상기 재설정 패킷송신지터레이트 및 상기 재설정 패킷수신지터레이트가 2 미만인 경우, 상기 제1 이동통신단말기(300)는 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰지 여부를 판단한다(S214).As a result of the determination of S210, when the calculated reset packet transmission jitter rate and the reset packet reception jitter rate are less than 2, the first mobile communication terminal 300 multiplies the initial packet transmission jitter rate by the initial packet transmission time. It is determined whether the packet reception jitter rate is greater than a value multiplied by the initial packet reception time (S214).

상기 S214 판단결과, 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰 경우, 상기 이동통신단말기(300)는 하기 식 5에 의해 재설정 버퍼지연시간을 산출한 후(S216) 후술하는 S218단계로 이동한다.As a result of the determination of S214, when the value obtained by multiplying the initial packet transmission jitter rate and the initial packet transmission time is larger than the value obtained by multiplying the initial packet reception jitter rate and the initial packet reception time, the mobile communication terminal 300 is reset by Equation 5 below. After calculating the buffer delay time (S216), the process moves to step S218 to be described later.

식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)Equation 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는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.Where Td (n + 1) is the reset buffer delay time, T1 (n + 1) is the reset packet transmission time, J1 (n + 1) is the reset packet transmission jitter rate, Elim is the preset reverse threshold, S is the timestamp The period of, Ov is the basic overhead of the network and information processing.

한편, 상기 S214 판단결과, 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 크지 않은 경우, 상기 이동통신단말기(300)는 하기 식 6에 의해 재설정 버퍼지연시간을 산출한 후(S217) 후술하는 S218단계로 이동한다. On the other hand, when the result of the determination S214, if the value of the initial packet transmission jitter rate and the initial packet transmission time is not greater than the value of the initial packet reception jitter rate and the initial packet reception time, the mobile terminal 300 is expressed by Equation 6 After calculating the reset buffer delay time (S217), the process moves to step S218 to be described later.                     

식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)Equation 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는 네트워크 및 정보처리에 걸리는 기본 오버헤드이다.Where Td (n + 1) is the reset buffer delay time, T1 (n + 1) is the reset packet transmission time, J1 (n + 1) is the reset packet transmission jitter rate, Elim is the preset reverse threshold, and S is the time The period of the stamp, Ov, is the basic overhead of the network and information processing.

한편 상기 S210 판단결과, 상기 패킷송신지터레이트 또는 상기 패킷수신지터레이트가 2 미만이 아닌 경우, 상기 제1 이동통신단말기(300)는 버퍼가 소진되었는지 여부를 판단한다(S211).If the packet transmission jitter rate or the packet reception jitter rate is not less than 2, the first mobile communication terminal 300 determines whether the buffer is exhausted (S211).

상기 S211 판단결과 버퍼가 소진되지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 지터레이트 중 2 보다 큰 값을 2로 설정(S213)하고 상기 S214단계로 이동한다.If the buffer is not exhausted as a result of the determination of S211, the first mobile communication terminal 300 sets a value greater than 2 of the jitter rate to 2 (S213) and moves to step S214.

한편 상기 S212 판단결과 버퍼가 소진된 경우, 상기 제1 이동통신단말기(300)는 상기 게임진행에 있어 패킷스킵 또는 데드 레커닝 알고리즘을 적용(S212)시키고 상기 S213단계로 이동한다.On the other hand, if the buffer is exhausted as a result of the determination of S212, the first mobile communication terminal 300 applies a packet skip or dead reckoning algorithm (S212) and proceeds to step S213.

그 후 상기 제1 이동통신단말기(300)는 상기 네트워크의 속도가 느려짐에따라 상기 무선통신부를 통해 패킷을 수신받는 속도보다 상기 게임프로그램으로 패킷이 출력되는 속도가 빨라져서 상기 버퍼가 소진되었는지 여부를 판단한다(S218).Thereafter, as the speed of the network decreases, the first mobile communication terminal 300 determines whether the buffer is exhausted because the speed at which the packet is output to the game program is faster than the speed at which the packet is received through the wireless communication unit. (S218).

상기 S218 판단결과, 버퍼가 소진된 경우, 상기 S200단계로 이동한다. 버퍼가 소진된 경우에 상기 S200단계로 이동해 상기 초기값들을 다시 산정하는 이유는 현재의 네트워크 상태가 상기 초기값 및 재설정값들에 비해 상당히 느려지고 불안 정해짐에 따라 현재의 네트워크 상태를 기준으로하여 다시 초기 버퍼지연시간을 산정하기 위함이다.As a result of the determination of S218, when the buffer is exhausted, the flow proceeds to step S200. The reason for recalculating the initial values by moving to step S200 when the buffer is exhausted is based on the current network state as the current network state becomes considerably slower and unstable compared to the initial value and reset values. This is to calculate the initial buffer delay time.

한편, 상기 S218 판단결과, 버퍼가 소진되지 않은 경우, 상기 재설정 버퍼지연값이 역방향임계값인 잔상효과시간값보다 큰지 여부를 판단한다(S220).On the other hand, if it is determined in S218 that the buffer is not exhausted, it is determined whether the reset buffer delay value is greater than the afterimage effect time value, which is a reverse threshold value (S220).

상기 S220 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 크지 않은 경우, 상기 제1 이동통신단말기(300)는 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후(S224) 하기 S226단계로 이동한다.As a result of the determination in S220, when the reset buffer delay time is not greater than the afterimage effect time value, which is a reverse threshold value, the first mobile communication terminal 300 sets the reset buffer delay time as a reverse threshold value (S224). It moves to step S226 below.

상기 S220 판단결과, 상기 재설정 버퍼지연시간이 역방향임계값인 잔상효과시간값보다 큰 경우, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은지 여부를 판단한다(S222).As a result of the determination in S220, when the reset buffer delay time is greater than the afterimage effect time value of the reverse threshold value, it is determined whether the reset buffer delay time is human or less than the response average time value of the forward threshold value (S222).

상기 S222 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작은 경우, 상기 재설정된 모든 값들을 초기값들로 설정한 후(S226) 상기 S206단계로 이동한다.As a result of the determination in S222, when the reset buffer delay time is smaller than the human cognitive response average time value, which is a forward threshold value, all reset values are set as initial values (S226), and then the process proceeds to step S206.

한편 상기 S222 판단결과, 상기 재설정 버퍼지연시간이 순방향임계값인 인간인지반응평균시간값보다 작지 않은 경우, 패킷스킵 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 건너뛰고 게임을 진행하거나 데드 레커닝 알고리즘을 적용해 상기 순방향임계값 내에 상기 게임에 반영되지 않은 정보들을 유추해내어 상기 게임에 반영시켜 게임을 진행시킴(S223)과 동시에 상기 S226단계로 이동한다. 상기 패킷스킵 알고리즘 또는 상기 데드 레커닝 알고리즘 이외에도 네트워크 상태가 불량한 경우 이를 해결하기 위한 여러 다른 알고리즘을 채 용하여 상기 게임을 진행할 수 있다.On the other hand, if it is determined in S222 that the reset buffer delay time is not smaller than the average human cognitive response time value, the packet skip algorithm is applied to skip the information not reflected in the game in the forward threshold value and play the game. By proceeding or applying a dead reckoning algorithm infers the information that is not reflected in the game in the forward threshold value to reflect the game proceeds to the game (S223) and at the same time moves to step S226. In addition to the packet skip algorithm or the dead reckoning algorithm, the game may be performed by using various algorithms for solving a bad network condition.

도 7은 본 발명에 의한 장애극복방법에 대한 흐름도이다.7 is a flowchart illustrating a fault overcoming method according to the present invention.

도 7을 참조하여 설명하면, 모바일 네트워크 게임을 진행중인 제1 이동통신단말기(300)는 상기 게임 상대의 제2 이동통신단말기(400)로부터 타임스탬프, 키입력 정보, 및 32비트 체크섬을 포함하는 원본 UDP 패킷을 수신받는다(S300).Referring to FIG. 7, the first mobile communication terminal 300 undergoing a mobile network game includes an original including a time stamp, key input information, and a 32-bit checksum from the second mobile communication terminal 400 of the game opponent. Receive a UDP packet (S300).

그 후 상기 제1 이동통신단말기(300)는 상기 게임 상대의 제2 이동통신단말기(400)로부터 상기 게임 상대의 이동통신단말기에서 산출한 버퍼지연시간의 절반에 해당하는 시간내에 상기 이동통신단말기에 도달하도록 산정된 패킷재전송시간(Tr)에 송신된 상기 원본 UDP 패킷의 도4에 도시된 타임스탬프1 및 키입력 정보1의 내용을 각각 도4에 도시된 타임스탬프2 및 키입력 정보2에 포함하는 복사본 UDP 패킷을 수신받는다(S302).Thereafter, the first mobile communication terminal 300 is connected to the mobile communication terminal within a time corresponding to half of the buffer delay time calculated by the mobile communication terminal of the game opponent from the second mobile communication terminal 400 of the game opponent. The contents of time stamp 1 and key input information 1 shown in FIG. 4 of the original UDP packet transmitted at the packet retransmission time Tr estimated to arrive are included in the time stamp 2 and key input information 2 shown in FIG. 4, respectively. A copy UDP packet is received (S302).

그 후, 상기 제1 이동통신단말기(300)의 제어부(310)는 상기 원본 UDP 패킷에 오류가 있는지 여부를 상기 원본 UDP 패킷에 포함된 32비트 체크섬1에 의해 판단한다(S304).Thereafter, the controller 310 of the first mobile communication terminal 300 determines whether or not there is an error in the original UDP packet by a 32-bit checksum 1 included in the original UDP packet (S304).

상기 S304 판단결과, 상기 원본 UDP 패킷에 오류가 있는 경우, 상기 원본 UDP 패킷에 대한 복사본 UDP 패킷이 버퍼에 존재하는지 여부를 판단한다(S306).As a result of the determination of S304, if there is an error in the original UDP packet, it is determined whether a copy UDP packet for the original UDP packet exists in the buffer (S306).

상기 S304 판단결과, 상기 원본 UDP 패킷에 대한 복사본 UDP 패킷이 버퍼에 존재하는 경우, 상기 복사본 UDP 패킷에 오류가 없는지 여부를 상기 복사본 UDP 패킷에 포함된 32비트 체크섬2에 의해 판단한다(S308).As a result of the determination in S304, when a copy UDP packet for the original UDP packet exists in the buffer, it is determined by the 32-bit checksum 2 included in the copy UDP packet whether or not there is an error in the copy UDP packet (S308).

상기 S308 판단결과, 상기 복사본 UDP 패킷에 오류가 없는 경우, 오류가 있 는 상기 원본 UDP 패킷의 타임스탬프1 및 키입력 정보1의 내용을 상기 복사본 UDP 패킷의 타임스탬프2 및 키입력 정보2의 내용으로 교체하여 게임에 반영하고 절차를 종료한다.(S310).As a result of the determination in S308, when there is no error in the copy UDP packet, the contents of the time stamp 1 and the key input information 1 of the original UDP packet in error are included and the contents of the time stamp 2 and the key input information 2 of the copy UDP packet. Replace it to reflect the game and end the procedure. (S310).

한편 상기 S308 판단결과, 상기 복사본 UDP 패킷에 오류가 있는 경우, 상기 패킷을 게임에 반영하지 않고 손실된 관련 키입력정보를 패킷스킵 또는 데드 레커닝 알고리즘 등에 의해 해결하고 절차를 종료한다.(S309).On the other hand, if it is determined in S308 that there is an error in the copy UDP packet, the related key input information lost is resolved by packet skipping or dead reckoning algorithm without reflecting the packet in the game and the procedure is terminated (S309).

상기 S308 판단결과, 상기 원본 UDP 패킷에 오류가 없는 경우, 상기 원본 UDP 패킷을 게임에 반영하고 절차를 종료한다(S312).As a result of the determination of S308, if there is no error in the original UDP packet, the original UDP packet is reflected in the game and the procedure is terminated (S312).

도 8a 및 도 8b는 본 발명에 의한 UDP데이터그램의 반복전송방법에 대한 흐름도이다.8A and 8B are flowcharts illustrating a repetitive transmission method of a UDP datagram according to the present invention.

도 8a 및 도 8b를 참조하여 설명하면, ADSL의 네크워크 환경하에서는 약 1%정도의 UDP 패킷 오류가 감지된다. 이러한 패킷오류를 개선하기 위해 상기 UDP 패킷에 32비트 체크섬 이외에 반복전송방법을 채용한다.Referring to FIGS. 8A and 8B, about 1% of UDP packet errors are detected in an ADSL network environment. In order to improve such a packet error, a repetitive transmission method is adopted in addition to the 32-bit checksum in the UDP packet.

일정 주기로 패킷을 재전송하는 경우 상기 32비트 체크섬을 통해 오류가 감지될때 재전송을 요구하지 않고도 복사본 UDP 패킷에서 신회성 있는 패킷을 확보함으로써 끊임 없는 게임을 구현할 수 있다. 이론적으로 UDP 패킷이 오류가 발생한 상태로 진행될 확률은 1% * 1% = 0.01%로 현격하게 줄어든다.When the packet is retransmitted at regular intervals, when the error is detected through the 32-bit checksum, it is possible to implement a game incessantly by obtaining a reliable packet in the copy UDP packet without requiring retransmission. Theoretically, the probability of UDP packets going through an error is greatly reduced to 1% * 1% = 0.01%.

반복전송에 의할 경우 UDP 패킷의 주고 받는 양이 두배가 되어 비효율적이라는 우려가 있을 수 있으나 주고 받는 정보는 오로지 키입력 정보 뿐이므로 네트워크의 대역폭을 거의 차지하지 않기 때문에 아무런 문제가 되지 않는다. In case of repetitive transmission, there may be a concern that the amount of UDP packets is doubled and inefficient. However, since only the key input information is transmitted and received, it does not cause any problem because it occupies almost no bandwidth of the network.                     

도 8a에 도시된 바와 같이, 모바일 네트워크 게임을 실행하고 있는 제1 이동통신단말기(300)는 원본 UDP 패킷을 전송한 후, 소정의 재전송시간이 지나면 상기 게임 상대의 제2 이동통신단말기(400)로 복사본 UDP 패킷을 전송한다. 상기 재전송시간은 상기 제1 이동통신단말기(300)에서 산출한 버퍼지연시간의 절반 이내에 상기 제2 이동통신단말기에 도달할 수 있는 시간으로 산정된다. 이 경우, 상기 패킷전송 후에 네트워크 상태가 급격히 불안정해져서 패킷송신지터레이트가 2가 되는 경우에도 상기 버퍼지연시간 내에 상기 제2 이동통신단말기(400)에서 상기 복사본 UDP 패킷을 수신할 수 있기 때문이다.As shown in FIG. 8A, the first mobile communication terminal 300 executing the mobile network game transmits the original UDP packet, and after a predetermined retransmission time passes, the second mobile communication terminal 400 of the game opponent. Send a copy UDP packet. The retransmission time is calculated as the time that can reach the second mobile communication terminal within half of the buffer delay time calculated by the first mobile communication terminal 300. In this case, it is because the second mobile communication terminal 400 can receive the copy UDP packet within the buffer delay time even when the network transmission becomes unstable after the packet transmission and the packet transmission jitter becomes 2.

도 8b에 도시된 바와 같이, 상기 원본 UDP 패킷을 전송한 후에 네트워크 상태가 향상된 경우 복사본 UDP 패킷은 상기 버퍼지연시간 이내에 상기 제2 이동통신단말기에 도달하여 끊김없는 게임을 구현할 수 있게 된다.As shown in FIG. 8B, when the network condition is improved after transmitting the original UDP packet, the copy UDP packet arrives at the second mobile communication terminal within the buffer delay time to implement a seamless game.

이상의 본 발명은 모바일 네트워크 게임에 국한되지 않고 다른 컴퓨터용 네트워크 게임 등에 적용될 수 있음은 물론이다.The present invention is of course not limited to mobile network games, but can be applied to other computer network games.

이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경들을 가져올 수 있으며, 이는 첨부된 청구항에서 정의된 본 발명의 취지와 범위에 포함된다.The present invention is not limited to the embodiments described above, and various modifications and changes can be made by those skilled in the art, which are included in the spirit and scope of the present invention as defined in the appended claims.

상기와 같은 본 발명에 따르면, 여러 원격 단말기에서 진행되고 있는 네트워크 게임의 동기화를 위해 상기 게임에 관한 키입력만을 동기화시켜 게임의 속도를 개선시키는 효과가 있다. According to the present invention as described above, in order to synchronize the network game that is being progressed in the various remote terminals, only the key input related to the game can be synchronized to improve the speed of the game.                     

또한, 상기와 같은 본 발명에 따르면, 상기 게임의 동기화를 위해 네트워크를 통해 전송되는 정보량이 감소하여 전체 네트워크의 가용량이 증가하는 효과가 있다.In addition, according to the present invention as described above, the amount of information transmitted through the network for the synchronization of the game is reduced, thereby increasing the capacity of the entire network.

또한, 상기와 같은 본 발명에 따르면, 상기 알고리즘을 구현하는 SDK(system development kit) 및 API(application program interface)를 제공하여 게임개발을 단순화시킬수 있는 효과가 있다.In addition, according to the present invention as described above, by providing an SDK (system development kit) and API (application program interface) for implementing the algorithm there is an effect that can simplify the game development.

Claims (31)

네크워크를 통해 연결된 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하는 제1 단계;A first step of calculating a buffer delay time for compensating for a signal transmission delay occurring in a network from time stamp information included in a connectionless protocol packet received from a mobile communication terminal of a game opponent connected through a network; 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하는 제2 단계;If there is a first key input by the user to proceed with the game, the second key included in the connectionless protocol packet received from the terminal of the game by delaying the information corresponding to the key input by the calculated buffer delay time. A second step of synchronizing with information corresponding to the input and outputting the same to the game in progress; 를 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game comprising a. 청구항 1에 있어서, 상기 제1단계 이전에The method of claim 1, wherein before the first step 타임스탬프정보를 포함하는 비연결형 프로토콜 패킷을 모바일 네트워크 게임 상대 단말기에 주기적으로 송신하는 제1 패킷송신단계;A first packet transmission step of periodically transmitting a connectionless protocol packet including time stamp information to a mobile network game opponent terminal; 상기 게임을 진행하기 위한 임의의 키입력이 있는 경우, 상기 타임스탬프정보 및 해당 키입력정보를 포함하는 비연결형 프로토콜 패킷을 상기 게임 상대의 이동통신단말기에 송신하는 제2 패킷송신단계;A second packet transmission step of transmitting a connectionless protocol packet including the time stamp information and the corresponding key input information to a mobile communication terminal of the game opponent when there is any key input for proceeding with the game; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 2에 있어서, 네트워크상 전송시 패킷의 손실로 인한 장애극복을 위해 The method according to claim 2, for failover of packets due to loss of packets during transmission on a network. 상기 임의의 비연결형 프로토콜 패킷을 전송시로부터 소정 시간의 경과 후 해당 패킷을 재전송하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.I / O-based game synchronization method of the network game, characterized in that for retransmitting the packet after a predetermined time from the transmission of the arbitrary connectionless protocol packet. 청구항 2에 있어서, 상기 제1 패킷송신단계는 The method of claim 2, wherein the first packet transmission step 모바일 네트워크 게임을 실행시킨 후, 시간동기화서버로부터 시간정보를 수신하여 상기 게임상대의 이동통신단말기와 클럭을 동기화시켜 상기 게임 상대의 이동통신단말기로 패킷을 송신하는데 소요되는 초기 패킷송신시간 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는데 소요되는 초기 패킷수신시간을 획득하고, 상기 획득된 초기 패킷송신시간 및 상기 초기 패킷수신시간에 의거하여 초기 버퍼지연시간을 산정하는 단계;After executing the mobile network game, the initial packet transmission time and the game required to receive the time information from the time synchronization server to synchronize the clock with the mobile communication terminal of the game opponent to send packets to the mobile communication terminal of the game opponent Obtaining an initial packet reception time required to receive a packet from a counterpart mobile communication terminal, and calculating an initial buffer delay time based on the obtained initial packet transmission time and the initial packet reception time; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 2에 있어서, 상기 초기 버퍼지연시간은 하기 식에 의거하여 얻어지는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The input / output-based game synchronization method of claim 2, wherein the initial buffer delay time is obtained based on the following equation. 식) Td = max(T1,T2) + Elim + min(T1,T2,Ov) + STd = max (T1, T2) + Elim + min (T1, T2, Ov) + S (단, Td는 초기 버퍼지연시간, T1은 초기 패킷전송시간, T2는 초기 패킷수신 시간, Elim은 미리 설정된 역방향 임계값, S는 타임스탬프의 주기값, Ov는 네트워크 및 정보처리에 걸리는 기본 오버헤드)(However, Td is the initial buffer delay time, T1 is the initial packet transmission time, T2 is the initial packet reception time, Elim is the preset reverse threshold value, S is the time stamp period value, and Ov is the basic overload for network and information processing. head) 청구항 2에 있어서, 상기 제1 패킷송신단계는,The method according to claim 2, wherein the first packet transmission step, 상기 게임 상대의 이동통신단말기로 패킷을 송신하는 네트워크 경로의 안정도를 나타내는 초기 패킷송신지터레이트(jitter rate) 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 네트워크 경로의 안정도를 나타내는 초기 패킷수신지터레이트를 기준값으로 설정하는 단계;Initial packet transmission jitter rate indicating the stability of the network path for transmitting packets to the mobile communication terminal of the game opponent and initial packet reception indicating the stability of the network path for receiving packets from the mobile communication terminal of the game opponent Setting the jitter rate as a reference value; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 1에 있어서, 상기 제1 단계는 초기값에서 변경된 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트를 산정하고, 상기 산정한 값들에 의거하여 재설정 버퍼지연시간을 산정하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The method of claim 1, wherein the first step calculates a reset packet transmission time, a reset packet reception time, a reset packet transmission jitter rate, a reset packet reception jitter rate changed from an initial value, and reset buffer delay time based on the calculated values. I / O-based game synchronization method of a network game, characterized in that for calculating. 청구항 7에 있어서, 상기 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트는 각각 하기 식1, 식2, 식3, 및 식4에 의거하여 얻어지는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The method according to claim 7, wherein the reset packet transmission time, reset packet reception time, reset packet transmission jitter rate, reset packet reception jitter rate is obtained according to the following equations (1), (2), (3) and (4), respectively. I / O based game synchronization method for network games. 식1) T1(n+1) = Ts - T2(n+1)Equation 1) T1 (n + 1) = Ts-T2 (n + 1) 식2) T2(n+1) = Ta - TuEquation 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)Equation 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)Equation 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은 미리 설정된 역방향임계값)(Where T1 (n + 1) is the reset packet transmission time, T2 (n + 1) is the reset packet reception time, Ts is the software ping round trip time obtained by sending a software ping to the mobile communication terminal of the game, Ta is The time at which the packet is received at the mobile communication terminal, Tu is the time indicated by the time stamp included in the packet, J1 (n) is the initial packet transmission jitter, J2 (n) is the initial packet reception jitter, J1 (n + 1) is the reset packet transmission jitter rate, J2 (n + 1) is the reset packet reception jitter rate, S is the period of timestamp, and Elim is the preset reverse threshold value.) 청구항 7에 있어서, The method according to claim 7, 재설정 패킷송신지터레이트 또는 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰지 여부를 판단하는 재설정지터레이트판단단계;A reset jitter determination step of determining whether the reset packet transmission jitter rate or the reset packet reception jitter rate is greater than a preset threshold; 상기 판단결과 상기 재설정 패킷송신지터레이트 또는 상기 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰 경우, 버퍼가 소진되었는지 여부를 판단하는 버퍼소진판단단계;Determining whether the buffer is exhausted when the reset packet transmission jitter rate or the reset packet reception jitter rate is greater than a preset threshold; 상기 판단결과 버퍼가 소진되지 않은 경우, 상기 재설정 지터레이트 중 상기 임계값보다 큰 것을 임계값으로 설정하는 지터레이트재설정단계;A jitter resetting step of setting a larger value of the reset jitter rate as the threshold value when the buffer is not exhausted as a result of the determination; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기 화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 9에 있어서, 버퍼가 소진되었는지 여부를 판단하여 판단결과 버퍼가 소진된 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.10. The method of claim 9, wherein if the buffer is exhausted after determining whether the buffer is exhausted, the game is played by applying a packet skip or dead reckoning method. 청구항 7 또는 청구항 8에 있어서, 상기 재설정 버퍼지연시간은 초기 패킷송신지터레이트와 초기 패킷송신시간을 곱한 값이 초기 패킷수신지터레이트와 초기 패킷수신시간을 곱한 값보다 큰 경우 하기 식 1)에 의하고, 크지 않은 경우 하기 식 2)에 의하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The method according to claim 7 or 8, wherein the reset buffer delay time is based on Equation 1) when the value obtained by multiplying the initial packet transmission jitter rate and the initial packet transmission time is larger than the value of the initial packet reception jitter rate and the initial packet reception time. , If it is not large, the input and output game synchronization method of the network game, characterized in that by the following equation 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)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)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는 네트워크 및 정보처리에 걸리는 기본 오버헤드)(Where Td (n + 1) is the reset buffer delay time, T1 (n + 1) is the reset packet transmission time, T2 (n + 1) is the reset packet reception time, and J1 (n + 1) is the reset packet transmission jitter Rate, J2 (n + 1) is the reset packet reception jitter rate, Elim is the preset reverse threshold value, S is the period of timestamp, Ov is the basic overhead for network and information processing) 청구항 1에 있어서, 상기 제2 단계 이후에The method of claim 1, wherein after the second step 버퍼가 소진되었는지 여부를 판단하는 버퍼소진여부판단단계;A buffer exhaustion determining step of determining whether the buffer is exhausted; 상기 판단결과 버퍼가 소진된 경우, 재설정 버퍼지연시간이 미리 설정된 역방향임계값 보다 큰지를 판단하는 역방향임계값대비단계;A reverse threshold value contrast step of determining whether the reset buffer delay time is greater than a preset reverse threshold value when the buffer is exhausted as a result of the determination; 상기 판단결과 재설정 버퍼지연시간이 상기 역방향임계값 보다 큰 경우, 재설정 버퍼지연시간이 미리 설정된 순방향임계값 보다 작은지를 판단하는 순방향임계값대비단계;If the reset buffer delay time is larger than the reverse threshold value, determining whether the reset buffer delay time is smaller than a predetermined forward threshold value; 상기 판단결과 재설정 버퍼지연시간이 상기 순방향임계값 보다 작은 경우, 상기 제2 단계로 이동하는 회귀단계;A regression step of moving to the second step if the reset buffer delay time is smaller than the forward threshold value as a result of the determination; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 12에 있어서, 상기 재설정 버퍼지연시간이 상기 역방향임계값보다 크지 않은 경우, 재설정 버퍼지연시간을 역방향임계값으로 설정하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The method of claim 12, wherein the reset buffer delay time is set to a reverse threshold value when the reset buffer delay time is not greater than the reverse threshold value. 청구항 12에 있어서, 상기 재설정 버퍼지연시간이 상기 순방향임계값보다 작지 않은 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하고 상기 제2 단계로 이동하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The I / O-based game of a network game according to claim 12, wherein when the reset buffer delay time is not smaller than the forward threshold value, a packet skip or dead reckoning method is applied and the game proceeds to the second step. Synchronization method. 청구항 1에 있어서, 상기 패킷은 The method of claim 1, wherein the packet is 해당 패킷의 생성시간정보를 포함하는 제1 타임스탬프, 해당 패킷 생성시의 키입력정보를 포함하는 제1 키입력정보, 상기 제1 타임스탬프 및 상기 제1 키입력정보에 대한 제1 32비트체크섬정보를 포함하는 원본부와, A first timestamp including generation time information of the packet, first key input information including key input information at the time of packet generation, a first 32-bit checksum for the first time stamp, and the first key input information Original section containing the information, 해당 패킷의 생성시로부터 소정의 시간 전에 생성된 패킷의 제1 타임스탬프를 포함하는 제2 타임스탬프, 상기 소정의 시간 전에 생성된 패킷의 제1 키입력정보를 포함하는 제2 키입력정보, 상기 제2 타임스탬프 및 상기 제2 키입력정보에 대한 제2 32비트체크섬정보를 포함하는 복사본부로 이루어진 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.A second timestamp including a first timestamp of a packet generated before a predetermined time from the generation of the packet, second key input information including first key input information of a packet generated before the predetermined time, and And a copy unit including a second timestamp and second 32-bit checksum information with respect to the second key input information. 청구항 15에 있어서, The method according to claim 15, 상기 수신된 임의의 제1 패킷의 원본부를 복사본부에 포함하는 제2 패킷을 소정의 시간 후에 수신하는 단계;Receiving, after a predetermined time, a second packet including an original part of the received first packet; 상기 제1 패킷의 제1 32비트체크섬정보에 의거하여 상기 제1 패킷에 오류가 있는지 여부를 판단하는 단계;Determining whether there is an error in the first packet based on first 32-bit checksum information of the first packet; 상기 판단결과 상기 제1 패킷에 오류가 있는 경우, 상기 버퍼에 상기 제2 패킷이 존재하는지 여부를 판단하는 단계;Determining whether the second packet exists in the buffer when the first packet has an error as a result of the determination; 상기 판단결과 버퍼에 상기 제2 패킷이 존재하는 경우, 상기 제2 패킷에 오류가 있는지 여부를 상기 제2 패킷에 포함된 제2 32비트체크섬정보에 의거하여 판 단하는 단계;If the second packet exists in the buffer as a result of the determination, determining whether the second packet has an error based on second 32-bit checksum information included in the second packet; 상기 판단결과 상기 제2 패킷에 오류가 없는 경우, 상기 제1 패킷의 제1 타임스탬프 및 제1 키입력 정보를 상기 제2 패킷의 제2 타임스탬프 및 제2 키입력 정보로 대체하는 단계;If there is no error in the second packet, replacing the first time stamp and first key input information of the first packet with a second time stamp and second key input information of the second packet; 를 더 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.Input / output-based game synchronization method of a network game, characterized in that it further comprises. 청구항 14에 있어서, 상기 판단결과 상기 제2 패킷에 오류가 있는 경우 데드 레커닝 또는 패킷 스킵 방법을 적용하여 게임을 진행하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화 방법.The method according to claim 14, wherein if the second packet has an error as a result of the determination, the game is played by applying a dead reckoning or a packet skip method. 네크워크 게임을 진행하기 위한 프로그램을 저장하는 저장부;A storage unit for storing a program for running a network game; 상기 게임의 진행에 관한 데이터를 입력받는 입력부;An input unit configured to receive data regarding the progress of the game; 상기 게임의 진행상황을 표시하는 표시부;A display unit which displays the progress of the game; 네트워크를 통해 연결된 상기 게임 상대의 이동통신단말기로부터 수신되는 비연결형 프로토콜 패킷에 포함된 타임스탬프정보로부터 네트워크 상에서 발생되는 신호전달지연을 보상하기 위한 버퍼지연시간을 산정하고 게임을 진행하기 위한 사용자의 제1 키입력이 있는 경우, 해당 키입력에 대응되는 정보를 상기 산정된 버퍼지연시간만큼 지연시켜 상기 게임 상대의 단말기로부터 수신된 비연결형 프로토콜 패킷에 포함된 제2 키입력에 대응되는 정보와 동기화시켜 진행중인 게임에 출력하 도록 제어하는 제어부;Calculate a buffer delay time for compensating for a signal propagation delay occurring on a network from time stamp information included in a connectionless protocol packet received from a mobile communication terminal of a game opponent connected through a network and providing a user's information to proceed with a game. When there is one key input, the information corresponding to the key input is delayed by the calculated buffer delay time to synchronize with the information corresponding to the second key input included in the connectionless protocol packet received from the terminal of the game opponent. A controller for controlling the output to the game in progress; 를 포함하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.Mobile communication terminal for input / output based game synchronization of a network game comprising a. 청구항 18에 있어서, 상기 제어부는 타임스탬프정보를 포함하는 비연결형 프로토콜 패킷을 모바일 네트워크 상대 단말기에 주기적으로 송신하고, 상기 게임을 진행하기 위한 임의의 키입력이 있는 경우 상기 타임스탬프정보 및 해당 키입력정보를 포함하는 비연결형 프로토콜 패킷을 상기 게임 상대의 단말기에 송신하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.19. The apparatus of claim 18, wherein the controller periodically transmits a connectionless protocol packet including timestamp information to a mobile network counterpart terminal, and if there is any key input for proceeding with the game, the timestamp information and the corresponding key input. A mobile communication terminal for input / output based game synchronization of a network game, characterized by transmitting a connectionless protocol packet including information to the terminal of the game opponent. 청구항 19에 있어서, 상기 제어부는 네트워크상 전송시 패킷의 손실로 인한 장애극복을 위해 상기 임의의 비연결형 프로토콜 패킷을 전송시로부터 소정 시간의 경과 후 해당 패킷을 재전송하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.20. The network game of claim 19, wherein the controller controls the packet to be retransmitted after a predetermined time elapses from when the random connectionless protocol packet is transmitted to overcome a failure due to the loss of the packet during transmission on the network. Mobile communication terminal for I / O based game synchronization. 청구항 19에 있어서, 상기 제어부는 모바일 네트워크 게임을 실행시킨 후, 시간동기화서버로부터 시간정보를 수신하여 상기 게임상대의 이동통신단말기와 클럭을 동기화시켜 상기 게임 상대의 이동통신단말기로 패킷을 송신하는데 소요되는 초기 패킷송신시간 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 데 소요되는 초기 패킷수신시간을 획득하고, 상기 획득된 초기 패킷송신시간 및 상기 초기 패킷수신시간에 의거하여 초기 버퍼지연시간을 산정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.20. The method of claim 19, wherein after executing the mobile network game, the controller receives time information from a time synchronization server, synchronizes a clock with the mobile communication terminal of the game partner, and transmits the packet to the mobile communication terminal of the game opponent. An initial packet transmission time and an initial packet reception time required to receive a packet from the mobile communication terminal of the game opponent, and an initial buffer delay time based on the obtained initial packet transmission time and the initial packet reception time. Mobile communication terminal for the input and output game synchronization of the network game, characterized in that the control to calculate. 청구항 19에 있어서, 상기 제어부는 상기 게임 상대의 이동통신단말기로 패킷을 송신하는 네트워크 경로의 안정도를 나타내는 초기 패킷송신지터레이트(jitter rate) 및 상기 게임 상대의 이동통신단말기로부터의 패킷을 수신하는 네트워크 경로의 안정도를 나타내는 초기 패킷수신지터레이트를 기준값으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.The network of claim 19, wherein the controller receives an initial packet transmission jitter rate indicating a stability of a network path for transmitting a packet to the mobile communication terminal of the game opponent, and a network for receiving a packet from the mobile communication terminal of the game opponent. A mobile communication terminal for I / O-based game synchronization of a network game, characterized by controlling to set an initial packet reception jitter rate indicating a path stability as a reference value. 청구항 19에 있어서, 상기 제어부는 초기값에서 변경된 재설정 패킷송신시간, 재설정 패킷수신시간, 재설정 패킷송신지터레이트, 재설정 패킷수신지터레이트를 산정하고, 상기 산정한 값들에 의거하여 재설정 버퍼지연시간을 산정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.20. The apparatus of claim 19, wherein the controller calculates a reset packet transmission time, a reset packet reception time, a reset packet transmission jitter rate, a reset packet reception jitter rate changed from an initial value, and calculates a reset buffer delay time based on the calculated values. A mobile communication terminal for input / output based game synchronization of a network game, characterized in that the control to control. 청구항 23에 있어서, 상기 제어부는 재설정 패킷송신지터레이트 또는 재설정 패킷수신지터레이트가 미리 설정된 임계값보다 큰지를 판단하고, 상기 판단결과 상기 재설정 패킷송신지터레이트 또는 상기 재설정 패킷수신지터레이트가 미리 설정 된 임계값보다 큰 경우, 버퍼가 소진되었는지 여부를 판단하고, 상기 판단결과 버퍼가 소진되지 않은 경우, 상기 재설정 지터레이트 중 상기 임계값보다 큰 것을 임계값으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.24. The method of claim 23, wherein the controller determines whether the reset packet transmission jitter rate or the reset packet reception jitter rate is greater than a preset threshold, and as a result of the determination, the reset packet transmission jitter rate or the reset packet reception jitter rate is preset. If it is greater than the threshold value, it is determined whether or not the buffer is exhausted, and if the buffer is not exhausted as a result of the determination, controlling to set a larger value than the threshold value among the reset jitter rate as a threshold value. Mobile communication terminal for input / output based game synchronization. 청구항 24에 있어서, 상기 제어부는 버퍼가 소진되었는지 여부를 판단하여 판단결과 버퍼가 소진된 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.25. The I / O-based game synchronization of a network game according to claim 24, wherein the controller determines whether the buffer is exhausted and controls to proceed with the game by applying a packet skip or dead reckoning method when the buffer is exhausted. Mobile communication terminal for. 청구항 19에 있어서, 상기 제어부는 버퍼가 소진되었는지 여부를 판단하여 상기 판단결과 버퍼가 소진된 경우, 재설정 버퍼지연시간이 미리 설정된 역방향임계값 보다 큰지를 판단하고, 상기 판단결과 재설정 버퍼지연시간이 상기 역방향임계값 보다 큰 경우, 재설정 버퍼지연시간이 미리 설정된 순방향임계값 보다 작은지를 판단하며, 상기 판단결과 재설정 버퍼지연시간이 상기 순방향임계값 보다 작은 경우, 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.20. The method of claim 19, wherein the controller determines whether the buffer is exhausted, and when the buffer is exhausted as a result of the determination, the controller determines whether the reset buffer delay time is greater than a preset reverse threshold value, and the reset buffer delay time is determined. If it is larger than the reverse threshold value, it is determined whether the reset buffer delay time is smaller than the predetermined forward threshold value. If the reset buffer delay time is smaller than the forward threshold value, the reset buffer delay time is set as the initial buffer delay time. Mobile communication terminal for input and output game synchronization of the network game, characterized in that the control to set. 청구항 26에 있어서, 상기 제어부는 상기 재설정 버퍼지연시간이 상기 역방 향임계값보다 크지 않은 경우, 상기 재설정 버퍼지연시간을 역방향임계값으로 설정한 후, 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.27. The method of claim 26, wherein when the reset buffer delay time is not greater than the reverse threshold value, after setting the reset buffer delay time to a reverse threshold value, and setting the reset buffer delay time to an initial buffer delay time. A mobile communication terminal for input / output based game synchronization of a network game, characterized in that the control to control. 청구항 26에 있어서, 상기 제어부는 상기 재설정 버퍼지연시간이 상기 순방향임계값보다 작지 않은 경우, 패킷스킵 또는 데드 레커닝 방법을 적용하여 게임을 진행하고 상기 재설정 버퍼지연시간을 초기 버퍼지연시간으로 설정하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.27. The method of claim 26, wherein when the reset buffer delay time is not less than the forward threshold value, the controller controls to proceed with a game by applying a packet skip or dead reckoning method and to set the reset buffer delay time as an initial buffer delay time. Mobile communication terminal for input and output game synchronization of the network game, characterized in that. 청구항 18에 있어서, 상기 패킷은 해당 패킷의 생성시간정보를 포함하는 제1 타임스탬프, 해당 패킷 생성시의 키입력정보를 포함하는 제1 키입력정보, 상기 제1 타임스탬프 및 상기 제1 키입력정보에 대한 제1 32비트체크섬정보를 포함하는 원본부와, 해당 패킷의 생성시로부터 소정의 시간 전에 생성된 패킷의 제1 타임스탬프를 포함하는 제2 타임스탬프, 상기 소정의 시간 전에 생성된 패킷의 제1 키입력정보를 포함하는 제2 키입력정보, 상기 제2 타임스탬프 및 상기 제2 키입력정보에 대한 제2 32비트체크섬정보를 포함하는 복사본부로 이루어진 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.19. The method of claim 18, wherein the packet includes a first timestamp including generation time information of the packet, first key input information including key input information when the packet is generated, the first timestamp and the first key input. A second timestamp including a source portion including first 32-bit checksum information for the information, a first timestamp of a packet generated a predetermined time before the packet is generated, and a packet generated before the predetermined time And a copy unit including second key input information including first key input information of the second key stamp, second copy of the second time stamp and second 32 bit checksum information of the second key input information. Mobile terminal for game synchronization. 청구항 29에 있어서, 상기 제어부는 상기 수신된 임의의 제1 패킷의 원본부를 복사본부에 포함하는 제2 패킷을 소정의 시간 후에 수신하고 상기 제1 패킷의 제1 32비트체크섬정보에 의거하여 상기 제1 패킷에 오류가 있는지 여부를 판단하여 상기 판단결과 상기 제1 패킷에 오류가 있는 경우, 상기 버퍼에 상기 제2 패킷이 존재하는지 여부를 판단하고, 상기 판단결과 버퍼에 상기 제2 패킷이 존재하는 경우, 상기 제2 패킷에 오류가 있는지 여부를 상기 제2 패킷에 포함된 제2 32비트체크섬정보에 의거하여 판단하여 상기 판단결과 상기 제2 패킷에 오류가 없는 경우, 상기 제1 패킷의 제1 타임스탬프 및 제1 키입력 정보를 상기 제2 패킷의 제2 타임스탬프 및 제2 키입력 정보로 대체하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.30. The method of claim 29, wherein the control unit receives a second packet including the original portion of the received first first packet after a predetermined time and based on the first 32-bit checksum information of the first packet It is determined whether there is an error in the first packet, and if it is determined that the first packet has an error, it is determined whether the second packet exists in the buffer, and the determination result exists in the buffer. If it is determined that there is an error in the second packet, based on the second 32-bit checksum information included in the second packet, and if the second packet has no error, the first packet of the first packet is determined. I / O-based game synchronization of the network game, characterized in that the control to replace the first time stamp and the first key input information with the second time stamp and the second key input information of the second packet. Mobile communication terminal. 청구항 29에 있어서, 상기 제어부는 상기 제2 패킷에 오류가 있는 경우 데드 레커닝 또는 패킷 스킵 방법을 적용하여 게임을 진행하도록 제어하는 것을 특징으로 하는 네트워크 게임의 입출력 기반 게임동기화를 위한 이동통신단말기.30. The mobile communication terminal of claim 29, wherein the controller controls to proceed with a game by applying a dead reckoning or a packet skip method when the second packet has an error.
KR1020050003933A 2005-01-14 2005-01-14 Method for input/output based game-synchronization for the network game and the moblie phone thereof KR20060083051A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050003933A KR20060083051A (en) 2005-01-14 2005-01-14 Method for input/output based game-synchronization for the network game and the moblie phone thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050003933A KR20060083051A (en) 2005-01-14 2005-01-14 Method for input/output based game-synchronization for the network game and the moblie phone thereof

Publications (1)

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

Family

ID=37173551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050003933A KR20060083051A (en) 2005-01-14 2005-01-14 Method for input/output based game-synchronization for the network game and the moblie phone thereof

Country Status (1)

Country Link
KR (1) KR20060083051A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722427B1 (en) * 2005-11-17 2007-05-28 한국전자통신연구원 A Game State Synchronization System for a Wired and Wireless Multi-platform Online Game
WO2008121994A1 (en) * 2007-03-30 2008-10-09 Ntn Buzztime, Inc. Video feed synchronization in an interactive environment
KR100977653B1 (en) * 2007-04-17 2010-08-24 캐논 가부시끼가이샤 Method for the transmission and reception of data contents in a communications network, corresponding storage medium and devices
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 (en) * 2018-04-04 2019-10-24 任天堂株式会社 Information processing device, control method, information processing system, and control program
KR20200018641A (en) * 2017-07-24 2020-02-19 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Method and apparatus for synchronously displaying game content, and storage medium
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 (en) * 2005-11-17 2007-05-28 한국전자통신연구원 A Game State Synchronization System for a Wired and Wireless Multi-platform Online Game
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 (en) * 2007-04-17 2010-08-24 캐논 가부시끼가이샤 Method for the transmission and reception of data contents in a communications network, corresponding storage medium and devices
US8562442B2 (en) 2010-06-03 2013-10-22 Ntn Buzztime, Inc. Interactive gaming via mobile playmaker
KR20200018641A (en) * 2017-07-24 2020-02-19 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Method and apparatus for synchronously displaying game content, and storage medium
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 (en) * 2018-04-04 2019-10-24 任天堂株式会社 Information processing device, control method, information processing system, and control program
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 (en) Method for input/output based game-synchronization for the network game and the moblie phone thereof
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 (en) Controlling the admission of data streams to the network based on end-to-end measurements
KR101638223B1 (en) Method for providing an adaptive streaming service
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
Abdelsalam et al. TCP Wave: A new reliable transport approach for future internet
CN112436924B (en) Data transmission method and electronic equipment
CN111327962B (en) Play control method, device, equipment and storage medium
JP2004229306A (en) Pacing method of consecutive action of transmitting computing system
CN117676695A (en) TCP transmission method, device and system
Petlund Improving latency for interactive, thin-stream applications over reliable transport
Petlund et al. Improving SCTP retransmission delays for time-dependent thin streams
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
GAMES A LOOK AT
CN112367493B (en) Data transmission control method, device, mobile terminal and storage medium
CN115426691A (en) Method and device for determining QoS value, terminal equipment and computer storage medium
CN113676741B (en) Data transmission method and device, storage medium and electronic equipment
Hisamatsu et al. Network Friendly Transmission Control for Progressive Download over TCP.
CN112423342A (en) LEDBAT-based congestion control window acquisition method

Legal Events

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