[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20120095332A - 온라인 게임 패치를 위한 서버, 시스템 및 그 방법 - Google Patents

온라인 게임 패치를 위한 서버, 시스템 및 그 방법 Download PDF

Info

Publication number
KR20120095332A
KR20120095332A KR1020120074737A KR20120074737A KR20120095332A KR 20120095332 A KR20120095332 A KR 20120095332A KR 1020120074737 A KR1020120074737 A KR 1020120074737A KR 20120074737 A KR20120074737 A KR 20120074737A KR 20120095332 A KR20120095332 A KR 20120095332A
Authority
KR
South Korea
Prior art keywords
patch
online game
user terminal
patch file
file
Prior art date
Application number
KR1020120074737A
Other languages
English (en)
Other versions
KR101690066B1 (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 KR1020120074737A priority Critical patent/KR101690066B1/ko
Publication of KR20120095332A publication Critical patent/KR20120095332A/ko
Application granted granted Critical
Publication of KR101690066B1 publication Critical patent/KR101690066B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 단말이 패치 서버에서 전송될 패치 파일의 이전 버전의 온라인 게임을 하는 동안에 상기 패치 파일을 전송하는 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것이다.
이를 위하여 본 발명의 온라인 게임 패치 시스템은 사용자 단말이 패치 파일의 이전 버전의 온라인 게임을 하는 동안 패치 파일을 전송하는 패치 서버 및 상기 패치 서버에 접속하여 온라인 게임을 실행하는 중에 패치 파일을 수신하고, 상기 패치 서버로부터 수신한 패치 파일을 실행하는 사용자 단말을 포함한다.
이에 따라 패치 서버가 트래픽을 적절히 안분하도록 패치 파일의 전송을 제어하여 트래픽 몰림 현상을 해결할 수 있다.

Description

온라인 게임 패치를 위한 서버, 시스템 및 그 방법{Server, system and the method for on-line game patch }
본 발명은 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 단말이 패치 서버에서 전송될 패치 파일의 이전 버전의 온라인 게임을 하는 동안에 상기 패치 파일을 전송하는 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것이다.
"패치"란 이미 정식으로 배포된 소프트웨어, 즉 운영체제 및 각종 응용 프로그램의 문제점을 보완하고, 이들의 결점을 해결해 주는 공급자의 추가 패키지라고 할 수 있다. 이러한 패치는 단순히 보안뿐만 아니라, 응용 프로그램의 실행 속도 개선, 메모리 누설 방지 등과 같이 여러 측면에서 소프트웨어의 성능을 향상시켜주기 위한 것이다. 패치는 대상 시스템에서 있어 취약성을 보완해주는 일종의 보조 프로그램이라고 할 수 있으며, 이러한 패치를 통하여 대상 시스템에 적합성을 유지하면서 배포된 소프트웨어를 업데이트 할 수 있다.
특히 온라인 게임의 경우 배포 이후 게임이 업데이트 되거나 오류를 발견하여 수정을 해야 하는 경우가 생기는데, 이러한 경우에도 패치를 통하여 업데이트를 하거나 오류를 수정할 수 있다. 게임의 재미 요소, 신규 아이템 등의 변경을 통해 완성도를 높여나가기 위한 작업이 계속 진행되므로 온라인 게임의 경우, 패치 작업이 필수적이다.
기존엔 패치 파일을 1:1로 다운로드하여 설치하였는데 이 방법이 가장 보편화된 패치 형태로 가장 안정한 방법이다. 하지만 많은 네트워크 트래픽 비용이 발생하고 패치 시간이 사용자의 네트워크 환경에 의존적이라는 문제점이 있다.
기존의 다른 패치 방법으로, 패치 파일을 작은 단위의 파일들로 패킹하여 (Resource Packing) 특정 단위파일만 패치가 가능하도록 하는 방법이 있다. 수정된 내용만 패치가 가능하다는 장점이 있지만 게임 개발사의 입장에서는 배포자가 제공한 Pack Library를 사용한 추가작업이 필요하다는 문제점이 있다.
기존의 다른 패치 방법으로 이진 파일의 형태인 패치 파일에서 수정된 부분만 추출하여 해당 영역만 패치하는 방법이 있다. 이 방법은 많은 네트워크 비용을 절감하고 효율이 높을 경우 사용자 패치 시간이 감소한다는 장점이 있지만, 각 패치마다 제어하기 힘들고, 그에 상응하여 별도 파일을 생성하여야 하는 문제점이 있다. 또한 패치하는데 시간이 많이 들고 운영 비용이 증가하는 문제점도 있다.
기존의 다른 패치 방법으로 게임 실행시 필요한 최소한의 파일만 다운로드 받아 프로그램 실행 후 필요한 파일을 하나씩 다운로드 받는 방법이 있다. 이 경우 클라이언트에 전체 프로그램 패키지를 다 설치할 필요가 없다는 장점이 있지만 사용자 네트워크의 환경 변수에 매우 민감하여 다운로드해야 할 파일이 많을 경우 게임이 멈출 수 있는 문제점이 있다.
현재 실시간으로 패치하는 형태는 점검 후 일시적인 패치 트래픽 몰림 현상이 발생하고, 실시간 다운로드와 설치로 인하여 사용자의 패치 시간이 증가하는 문제점이 있다. 또한 새벽 시간에 패치 점검을 위해 담당자들의 업무가 과중화 되고 있고, 현재 온라인 게임의 추세는 대형화되고 있는데 기존의 패치 형태만으로는 상기 문제점을 해결할 수 없는 실정이다.
본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 패치 서버의 트래픽을 줄여 운용 비용을 낮추고, 게임 실행 중에 게임에 영향을 미치지 않고 패치 파일을 전송할 수 있는 온라인 게임 패치 시스템을 제공하는 데 목적이 있다.
따라서 현재 사용자 단말에서 패치 파일의 이전 버전의 온라인 게임을 실행하는 동안에 패치 파일을 미리 전송하여 둠으로써, 실질적으로 다음 버전으로 게임을 실행해야 할 때에 별도의 다운로드 없이 패치 작업을 완료하여 게임을 실행할 수 있는 온라인 게임 패치 시스템을 제공한다.
상기의 목적을 달성하기 위한 본 발명에 따른 온라인 게임 패치 서버는, 패치 파일을 저장하는 패치파일저장부와 사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 게임제공부와 상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 버전확인부와 상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 버전비교부 및 상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 온라인 게임을 실행 중인 상기 사용자 단말로 상기 패치 파일을 전송하는 패치파일전송부를 포함한다.
상기의 목적을 달성하기 위한 본 발명에 따른 온라인 게임 패치 시스템은 사용자 단말이 패치 파일의 이전 버전의 온라인 게임을 하는 동안 패치 파일을 전송하는 패치 서버 및 상기 패치 서버에 접속하여 온라인 게임을 실행하는 중에 패치 파일을 수신하고, 상기 패치 서버로부터 수신한 패치 파일을 실행하는 사용자 단말을 포함한다.
또한 상기의 목적을 달성하기 위한 본 발명에 따른 온라인 게임 패치 방법은 패치 파일을 저장하는 단계와 사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계와 상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 단계와 상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 단계 및 상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 온라인 게임을 실행 중인 상기 사용자 단말로 상기 패치 파일을 전송하는 단계를 포함한다.
또한 상기 온라인 게임 패치 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
본 발명에 따른 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 의하면,
첫째, 패치 서버가 트래픽을 적절히 안분하도록 패치 파일의 전송을 제어하여 트래픽 몰림 현상을 해결할 수 있다.
둘째, 패치 서버의 트래픽을 줄임으로써 운영 비용을 절감할 수 있다.
셋째, 패치 파일의 전송은 사용자 단말에서 패치 파일의 이전 버전의 온라인 게임을 하는 동안 이루어지는 것이기 때문에, 패치 파일을 실행해야 할 시점에서는 별도로 패치 파일을 전송받지 않고 바로 실행할 수 있어 사용자에게 편의를 제공한다.
넷째, 패치 서버에서는 패치 파일의 전송 현황을 별도로 관리하고 있기 때문에, 사용자 단말에서의 패치 파일 실행일자를 예측할 수 있어 온라인 게임의 버전 관리가 용이해진다.
다섯째, 기존의 패치 속도와 비교할 때 월등히 빠른 속도로 패치가 가능하다.
도 1은 온라인 게임 패치 시스템의 기능블록도이고,
도 2a는 온라인 게임 패치 시스템의 실시 예이고,
도 2b는 도 2a의 온라인 게임 패치 시스템의 실시 예에 따를 효과를 나타낸 도면이고,
도 3은 패치 관련 정보를 패치 서버에서 이용하는 실시 예이고,
도 4는 온라인 게임 패치 방법의 실시 예의 흐름도이다.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시 예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
도 1은 온라인 게임 패치 시스템의 기능블록도로, 상기 도면을 참조하여 온라인 게임 패치 시스템을 설명한다.
온라인 게임 패치 시스템은 패치DB(100), 패치 서버(200)와 사용자 단말(300)로 이루어지고, 상기 패치 서버(200)에는 네트워크(전화망, 인터넷, 무선 통신망 등 다양한 형태의 모든 네트워크를 포함)를 통하여 다수의 사용자 단말(300)이 연결되어 있다. 도 1에서는 사용자 단말(300)을 하나만 도시하였지만 다수의 사용자 단말(300)이 연결될 수 있다.
먼저, 상기 패치 서버(200)는 사용자 단말(300)이 패치 파일의 이전 버전의 온라인 게임을 하는 동안 패치 파일을 전송하며, 패치파일저장부(210), 게임제공부(220), 버전확인부(230), 버전비교부(240), 패치파일전송부(250)를 포함한다.
상기 패치파일저장부(210)는 패치 파일을 저장하며, 상기 패치 파일은 상기 사용자 단말(300)의 시스템 정보에 따라 구성을 달리할 수 있다.
패치 파일은 경우에 따라서 사용자 단말(300)의 시스템 환경(OS, 그래픽카드, CPU 속도 등)을 고려해야 하는 경우가 있다. 그러한 경우에 각 시스템 환경에 적합한 패치 파일을 생성하고, 시스템 환경별로 그에 적합한 패치 파일을 설치하여야 한다. 시스템 환경별로 그에 적합한 패치 파일을 설치하기 위하여, 패치 서버(200)에서 사용자 단말(300)로부터 시스템 환경 정보를 받아 상기 시스템 환경 정보에 따라 상이한 패치 파일을 전송하거나 또는, 상기 패치 서버(200)에서 사용자 단말(300)의 시스템 환경과 상관없이 사용자 단말(300)로 패치 파일을 일괄적으로 전송하면, 상기 사용자 단말(300)에서 자신의 시스템 환경에 맞는 패치 파일을 선택하여 설치할 수도 있다.
일반적인 패치 파일의 배포 방식은 패치 서버(200)에서 패치 파일을 전송할 때에 사용자 단말(300)의 시스템 정보를 고려하지 않고 일괄적으로 배포하고, 패치 파일을 실행할 때에 사용자 단말(300)에서 시스템 정보에 맞는 패치 파일을 선택하여 실행하는 것이다. 하지만, 이와 같은 경우 패치 파일의 사이즈가 커지므로, 사용자 단말(300)의 시스템 정보에 따라 상기 패치 파일의 구성을 달리하여 패치 파일을 전송할 때에 효율을 높일 수 있다.
상기 게임제공부(220)는 사용자 단말(300)의 접속 요청에 따라 온라인 게임 서비스를 제공하며, 상기 게임제공부(220)가 구동되는 동안에 하기에 설명할 패치파일전송부(250)에서는 패치 파일을 전송한다.
상기 버전확인부(230)는 상기 사용자 단말(300)이 사용하고 있는 온라인 게임의 버전을 확인한다. 사용자 단말(300)이 사용하고 있는 온라인 게임이 패치 파일의 실행으로 인한 버전 업그레이드가 가능한 상태인지 판단해야한다. 또한, 사용자 단말(300)이 사용하고 있는 온라인 게임의 버전에 따라서 패치 파일의 종류가 결정되고, 패치 파일의 전송 여부가 결정되므로 상기 패치 서버(200)에선 사용자 단말(300)의 온라인 게임의 버전에 대한 정보를 확인해야 할 필요가 있다.
상기 버전비교부(240)는 상기 버전확인부(230)에서 확인한 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교한다. 상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우에만 상기 패치 파일을 전송하므로, 패치 파일의 버전과의 비교가 필요하다.
상기 패치파일전송부(250)는 상기 버전비교부(240)의 비교 결과, 상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우에, 패치 관련 정보에 따라 온라인 게임을 실행 중인 상기 사용자 단말(300)로 상기 패치 파일을 전송한다. 따라서, 상기 패치 파일이 없더라도 현재 사용자 단말(300)에서의 온라인 게임 실행에는 영향이 없다.
상기 패치 관련 정보는 패치 파일의 정보, 패치 파일을 전송하는 개시일, 배포 기간, 전송 일정, 패치 파일의 전송률, 패치 작업 완료 여부, 패치 파일의 전송 현황 정보 및 패치 버전 중 적어도 하나 이상을 포함하는 패치와 관련한 정보이다.
상기 패치파일전송부(250)가 상기 패치 관련 정보를 따라 동작하는 것에 대한 실시 예를 들면, 상기 패치파일저장부(210)에 새로운 패치 파일이 저장되면, 상기 패치 파일을 전송하는 개시일, 배포 기간 및 전송 일정 등을 포함한 패치 관련 정보가 패치DB(100)에 저장한다. 패치 배포 기간은 게임규모, 패치 용량, 사용자수 등의 변수에 따라 유동적으로 운영되는데, 사용자 단말(300)의 리소스 및 성능에 영향을 주지않기 위하여 전송하는 속도를 패치파일전송부(250)에서 일괄적으로 관리한다. 보통은 분당100MB정도로 설정을 하기 때문에, 예를 들어 60분 정도의 게임을 이용하는 사용자 단말(300)이 분당 10MB 속도로 패치를 하게 될 경우 600MB의 패치 파일을 전송할 수 있게 된다. 따라서 상기 패치파일전송부(250)는 패치 파일이 전송될 사용자 단말(300)이 속하는 지역의 네트워크 상태 등을 고려하여 배포 기간 및 전송 일정, 전송 속도 등을 포함한 패치 관련 정보를 관리하여 전송한다.
또한, 본 발명에 따라 패치 파일을 전송하는 경우, 패치 파일의 전송이 게임을 하는 도중에 조금씩 전송되기 때문에 한 번의 접속으로 패치 파일 전송이 안 되는 경우도 있다. 따라서 패치 파일의 전송 현황을 파악하여 다음 접속시 설치하지 못한 부분만 전송할 수 있도록 해야 하고, 상기 사용자 단말(300)의 현재 패치 파일의 설치 현황 정보도 있어야 한다.
따라서 이에 대한 패치 관련 정보 중 패치 파일의 전송 현황 정보는 패치 서버(200)에서 패치DB(100)를 통해 저장하여 관리할 수 있고, 또는 사용자 단말(300)이 온라인 게임을 위하여 패치 서버(200)에 접속함과 동시에 자동으로 현재의 패치 버전과 전송 현황 정보를 상기 패치 서버(200)로 보내주거나, 상기 패치 서버(200)가 사용자 단말(300)로 전송 현황 정보를 요청할 때에 보내줄 수도 있다.
또한, 상기 패치 관련 정보는 패치 파일의 전송을 원활하게 하기 위하여 상기 패치 서버(200)의 트래픽이 특정값 이하가 되도록 구성될 수 있다. 사용자 단말(300)이 게임을 위하여 패치 서버(200)에 접속할 때에 상기 패치 파일을 전송하지만, 이 경우에도 게임 사용자가 지나치게 많을 경우 패치 서버(200)의 트래픽이 과도하게 증가할 수 있다. 따라서, 상기 패치 관련 정보에 상기 패치 서버(200)의 트래픽에 대해 특정값을 지정하여 두고, 상기 패치 서버(200)의 트래픽이 특정값 이상이 되면 일부 사용자 단말(300)에 대해서는 전송을 중단하는 방법 등을 통하여 트래픽을 조절할 수 있도록 한다. 상기 트래픽의 특정값은 원하는 대로 패치 서버(200)의 운영자가 설정할 수 있으며, 트래픽을 조절하는 방법은 상기에 기술한 바와 같이 일부 사용자 단말(300)에 대해 패치 파일의 전송을 중단하는 방법 이외에 다양한 방법이 사용될 수 있다.
도 3은 상기 패치 관련 정보를 패치 서버(200)에서 이용하는 실시 예를 나타낸 도면이다.
한편, 도 2a는 온라인 게임 패치 시스템의 실시 예이고, 도 2b는 도 2a의 온라인 게임 패치 시스템의 실시 예에 따른 효과를 나타낸 도면으로 상기 도면들을 참조하여 상기 패치파일전송부(250)를 더 상세히 설명한다.
먼저 도 2a를 보면, 일반적으로 온라인 게임 패치라고 하면 현재 상태를 기준으로 온라인 게임의 이전 버전을 체크하여 다음번 버전을 패치하는 것을 의미한다. 따라서 V1, V2는 예전 버전을 의미하고 V3가 현재 유효한 버전이다. 따라서 기존 패치 시스템은 사용자 단말(300)의 온라인 게임 버전이 V1, V2인 경우 시스템에서 체크하여 이를 V3로 패치하는 시스템을 의미한다. 그러나 본 발명에 따른 패치 시스템은 현재 유효한 V3 패치 외에 사용자 게임 버전에 영향을 주지않는 다음 버전을 미리 패치할 수 있는 시스템이다. 이것이 V4, V5이며, 사용자 환경에 미리 패치 관련 작업만 해놓고 실제로 게임은 현재 Live된 버전인 V3로 동작하게 된다. 따라서 도면에서 "Background Download"라고 기재된 V4, V5는 현재 게임 실행에 영향을 받지 않으면서, 게임 실행시 패치파일전송부(250)를 통하여 사용자단말로 전송하고 있음을 의미한다. 따라서 도 2b에서 실제 V4 버전의 게임을 실행해야 할 때에는 이미 V3 버전의 게임을 실행하면서 패치 파일을 다운받았기 때문에 별도로 패치 파일을 다운받을 필요없이 바로 V4 버전의 게임을 실행할 수 있게 된다. 따라서 V4 버전의 게임을 개시할 때 패치 파일을 다운받을 필요가 없기 때문에 패치 서버(200)로의 트래픽 몰림 현상이 현저하게 줄어든다.
또한 상기 패치파일전송부(250)에서 패치 파일을 전송할 때, 사용자 단말(300)의 온라인 게임 접속 패턴에 따라 상기 패치 파일의 전송 사이즈를 달리할 수 있으며. 상기 온라인 게임 접속 패턴은 상기 사용자 단말(300)이 상기 패치 서버(200)에 접속하는 평균 시간 및 온라인 게임의 평균 이용 시간 중 적어도 하나를 이용하여 분석한 것을 의미한다.
예를 들어, 사용자 단말(300)이 상기 패치 서버(200)에 접속하는 패턴이 야간 시간대에 접속 빈도가 높고, 접속했을 때에 접속 유지 시간이 3~4시간 가량이라고 한다면, 야간 시간대에는 패킷(패치 파일을 전송하기 위하여 일정 크기 단위로 나눈 전송 단위)의 사이즈를 크게 만들어서 전송을 할 수 있다. 하지만 낮 시간대에는 접속 빈도가 높지만, 접속했을 때에 접속 유지 시간이 30분에서 1시간 정도라면, 큰 사이즈의 패킷을 보내면 전송이 실패할 우려가 있으므로 패킷 사이즈를 작게하여 전송하는 것이 효율적이다.
한편, 사용자 단말(300)은 네트워크를 통하여 패치 서버(200)에 접속할 수 있는 통신 장치이며, 예를 들어, 유선 전화, 무선 통신 단말기, 컴퓨터, 인터넷 접속 가능한 TV 등의 다양한 통신 장치가 사용될 수 있다. 따라서 사용자 단말(300)은 PC통신, 인터넷, 무선 인터넷, 전화망 등을 이용하여 편리하고 신속하게 패치 서버(200)에 접속할 수 있다. 상기 사용자 단말(300)은 패치매니저(310), 게임실행부(330)를 포함하여 구성된다.
상기 게임실행부(330)는 사용자 단말(300)에서 게임을 실행시키면 자동으로 패치매니저(310)를 구동시킨다.
한편, 상기 패치매니저(310)는 온라인 게임 실행 중에 상기 패치 서버(200)로부터 패치 파일 전송받고, 상기 패치 파일의 전송이 완료되면 상기 패치 파일을 실행하여 패치 작업을 한다.
상기 패치매니저(310)는 온라인 게임이 실행되면, 상기 온라인 게임의 전회(前回) 실행에서 패치 파일을 수신한 현황을 확인하여 상기 패치 서버(200)로 알려준다. 상기 전회(前回)라고 함은 온라인 게임을 하기 위하여 상기 패치 서버(200)에 접속한 과거 시점을 의미하는 것으로, 바로 직전의 접속뿐만 아니라, 그 이전이더라도 패치 파일을 맨 마지막으로 수신한 접속 시점을 의미한다.
상기 패치 파일의 수신한 현황 확인 결과, 패치 파일의 전송이 완료되지 않은 경우라면, 패치 서버(200)로부터 전송받지 못한 부분의 패치 파일을 이어서 수신하며, 상기 설명한 "Background Download"방식으로 게임과 별도로 패치 파일을 다운을 받는다. 다만 온라인 게임 실행이 처음이라면 패치매니저(310)는 사용자 단말(300) 내의 설정된 곳에 폴더를 생성하고 패치 파일을 받을 수 있도록 셋팅한다. 상기 폴더는 패치 서버(200)에 접속해서 패치 파일을 전송받기 위한 저장 공간으로 게임 개발자나 운영자가 폴더 생성 위치를 설정할 수 있으며, 상기 패치매니저(310)가 실행될 때에 상기 폴더를 찾고, 폴더가 없으면 폴더를 생성한다.
또한 상기 패치 파일의 수신한 현황 확인 결과, 패치 파일의 전송이 완료된 경우라면, 패치 파일을 실행하는 패치 작업을 한다. 상기 패치 작업을 할 때에 사용자 단말(300)의 시스템 정보를 확인 후, 상기 사용자 단말(300)에 적합한 패치 파일을 선택하여 상기 패치 파일을 실행할 수 있다. 패치 파일의 배포 방식에 있어서, 패치 서버(200)에서 패치 파일을 전송할 때에 사용자 단말(300)의 시스템 사양을 고려하지 않고 일괄적으로 배포하고, 패치 파일을 실행할 때에 사용자 단말(300)에서 시스템 사양에 맞는 패치 파일을 선택하여 실행하여야 하는 경우에 상기 기능이 유용하다. 또한 상기 패치 파일을 실행하는 경우, 패치 파일의 전송이 완료되면 자동으로 패치 파일을 실행하거나 또는 상기 사용자 단말(300)의 사용자로부터 승인을 받아 패치 파일을 실행하도록 할 수 있다.
한편, 패치 파일의 전송은 완료되었지만 패치 파일이 실행되지 않은 상태의 사용자 단말(300)은, 패치 파일을 패치 서버(200)에서 다운로드 받고 다시 패치 파일을 실행하는 과정을 거치지 않고 사용자 단말(300)에 저장된 패치 파일을 실행하여 바로 패치 작업을 하고 게임에 진입하게 된다. 하지만 기본적으로 상기 사용자 단말(300)로 전송된 패치 파일은 상기 사용자 단말(300)에 모두 전송이 완료된 경우에 실행되기 때문에, 상기와 같이 패치 파일의 전송이 완료되었지만 패치 파일이 실행되지 않은 상태는 온라인 게임이 갑자기 종료되는 등의 특이한 상황이라고 할 수 있다.
또한, 패치매니저(310)에서 패치 파일을 실행시킬 때 "move" 명령어를 사용하여 속도를 현저히 향상시킨다. 보통 "copy" 명령어를 사용하는데, "copy" 명령어의 경우, 원본을 읽어서 메모리 등에 로딩한 후 다시 목표가 되는 공간에 "write"하는 형태이기 때문에 하드디스크 "read/write"의 I/O(Input/Output)가 발생한다. 그러나 "move" 명령어의 경우 OS커널에서 파일의 위치만 살짝 바꾸는 것이기 때문에 하드디스크의 "read/write"의 I/O가 발생하지 않는다. 이에 따라 일반 사용자는 현저한 속도 향상을 느낄 수 있다.
한편, 상기 온라인 게임 패치 방법은, 패치 파일을 저장하는 단계와 사용자 단말(300)의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계와 상기 사용자 단말(300)이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 단계와 상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 단계 및 상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 온라인 게임을 실행 중인 상기 사용자 단말(300)로 상기 패치 파일을 전송하는 단계를 포함한다.
상기 사용자 단말(300)로 전송된 패치 파일은 상기 사용자 단말(300)에 모두 전송이 완료된 경우에 실행된다. 실행되는 동작이나 방법은 상기 온라인 게임 패치 시스템에서 설명한 바와 동일하다. 또한, 상기 패치 파일은 상기 사용자 단말(300)의 시스템 정보에 따라 구성을 달리할 수 있으며, 상기 패치 관련 정보도 상기 온라인 게임 패치 시스템에서 설명한 바와 동일하다.
도 4는 상기 온라인 게임 패치 방법의 흐름도로 온라인 게임 패치를 위한 방법의 일실시 예이다.
먼저 패치 서버가 사용자 단말로부터 게임 실행을 요청받으면(S1), 패치 서버는 사용자 단말로부터 시스템 정보 및 전송 현황 정보를 포함한 패치 관련 정보를 수신한다(S2). 상기 패치 관련 정보는 이처럼 사용자 단말로부터 얻는 정보도 포함한다. 상기 수신된 패치 관련 정보를 바탕으로 최신 패치 파일의 전송이 완료되었는지 판단하고(S3), 최신 패치 파일이 전송이 완료되지 않은 경우에, 상기 수신한 패치 관련 정보를 바탕으로 상기 사용자 단말이 상기 패치 파일의 이전 버전의 온라인 게임을 하는 동안에 패치 파일을 전송한다(S4). 또한 최신 패치 파일의 전송이 완료되었다면(S3) 사용자 단말에서 게임 실행시 패치 작업을 완료(S5)하고 게임을 실행(S6)한다.
또한 본 발명의 위 온라인 게임 패치 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
이상과 같이, 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 패치DB 200 패치 서버
210 패치파일저장부 220 게임제공부
230 버전확인부 240 버전비교부
250 패치파일전송부 300 사용자 단말
310 패치매니저 330 게임실행부

Claims (15)

  1. 온라인 게임 패치 서버에 있어서,
    패치 파일을 저장하는 패치파일저장부;
    사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 게임제공부;
    상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 버전확인부;
    상기 온라인 게임의 버전과 상기 저장된 패치 파일의 버전을 비교하는 버전비교부; 및
    상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 사용자가 온라인 게임 서비스를 수행하는 상기 사용자 단말로 상기 패치 파일을 전송하는 패치파일전송부;를 포함하고,
    상기 게임제공부가 상기 온라인 게임 서비스를 사용자가 수행할 수 있도록 제공하는 동안에, 상기 패치파일 전송부가 사용자 단말에 패치 파일을 전송하며,
    상기 패치 관련 정보는 상기 온라인 게임 패치 서버의 트래픽에 대해 미리 설정된 값이 설정되고, 상기 패치파일 전송부는 상기 미리 설정된 값 이상이 되는 경우에는 사용자 단말에 상기 패치 파일의 전송을 중단하도록 하며,
    상기 패치 파일전송부는 상기 사용자 단말의 온라인 게임 접속 패턴을 분석하고 이에 따라 상기 패치 파일의 사이즈를 달리하여 전송하는 온라인 게임 패치 서버.
  2. 제 1항에 있어서,
    상기 온라인 게임 접속 패턴의 분석은 상기 사용자 단말이 상기 패치 서버에 접속하는 평균 시간 및 온라인 게임의 평균 이용 시간 중 적어도 하나를 이용하여 분석한 것에 해당하는 온라인 게임 패치 서버.
  3. 사용자 단말이 패치 파일의 이전 버전의 온라인 게임을 수행하도록 하고, 사용자 단말이 패치 파일의 이전 버전의 온라인 게임을 수행하는 동안에, 상기 사용자 단말의 온라인 게임 접속 패턴을 분석하고 이에 따라 사이즈를 달리하여 패치 파일을 전송하는 패치 서버; 및
    상기 패치 서버에 접속하여 상기 이전 버전의 온라인 게임을 수행하면서 패치 파일을 수신하고, 상기 패치 서버로부터 수신한 패치 파일을 실행하는 사용자 단말;을 포함하며,
    상기 패치 관련 정보는 상기 패치 서버의 트래픽에 대해 미리 설정된 값이 설정되고, 상기 패치 서버는 상기 미리 설정된 값 이상이 되는 경우에는 사용자 단말에 상기 패치 파일의 전송을 중단하도록 하는 온라인 게임 패치 시스템.
  4. 제 3항에 있어서,
    상기 패치 서버는,
    패치 파일을 저장하는 패치파일저장부;
    사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 게임제공부;
    상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 버전확인부;
    상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 버전비교부; 및
    상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 사용자가 온라인 게임 서비스를 수행하는 상기 사용자 단말로 상기 패치 파일을 전송하는 패치파일전송부;를 포함하며,
    상기 패치 관련 정보는 상기 패치 서버의 트래픽에 대해 미리 설정된 값이 설정되고, 상기 패치파일 전송부는 상기 미리 설정된 값 이상이 되는 경우에는 사용자 단말에 상기 패치 파일의 전송을 중단하도록 하며,
    상기 패치 파일전송부는 상기 사용자 단말의 온라인 게임 접속 패턴을 분석하고 이에 따라 상기 패치 파일의 사이즈를 달리하여 전송하는 것을 특징으로 하는 온라인 게임 패치 시스템.
  5. 제 3항에 있어서,
    상기 사용자 단말은,
    온라인 게임 실행 중에 상기 패치 서버로부터 패치 파일을 전송받고, 상기 패치 파일의 전송이 완료되면 상기 패치 파일을 실행하는 패치매니저; 및
    온라인 게임을 실행시키고, 상기 온라인 게임 실행과 동시에 상기 패치매니저를 구동시키는 게임실행부;를 포함하는 것을 특징으로 하는 온라인 게임 패치 시스템.
  6. 제 5항에 있어서,
    상기 패치매니저는,
    상기 사용자 단말의 시스템 사양을 확인 후, 상기 확인된 시스템 사양에 맞는 패치 파일을 선택하여 상기 패치 파일을 실행하는 것을 특징으로 하는 온라인 게임 패치 시스템.
  7. 제 5항에 있어서,
    상기 패치매니저는,
    온라인 게임이 실행되면, 상기 온라인 게임의 전회(前回) 실행에서 패치 파일을 수신한 현황을 확인하여 상기 패치 서버로 알려주는 것을 특징으로 하는 온라인 게임 시스템.
  8. 제 5항에 있어서,
    상기 패치매니저는,
    패치 파일의 전송이 완료되면 자동으로 패치 파일을 실행하거나 또는 상기 사용자 단말의 사용자로부터 승인을 받아 패치 파일을 실행하는 것을 특징으로 하는 온라인 게임 패치 시스템.
  9. 온라인 게임 패치 서버에서 수행되는 온라인 게임 패치 방법에 있어서,
    상기 온라인 게임 패치 서버가,
    패치 파일을 저장하는 단계;
    사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계;
    상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 단계;
    상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 단계; 및
    상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 사용자가 온라인 게임 서비스를 수행하는 상기 사용자 단말로 상기 패치 파일을 전송하는 단계;를 포함하며,
    상기 패치 관련 정보는 상기 온라인 게임 패치 서버의 트래픽에 대해 미리 설정된 값이 설정되고, 상기 패치파일 전송부는 상기 미리 설정된 값 이상이 되는 경우에는 사용자 단말에 상기 패치 파일의 전송을 중단하도록 하며,
    상기 패치 파일을 전송하는 단계는 상기 사용자 단말의 온라인 게임 접속 패턴을 분석하고 이에 따라 상기 패치 파일의 사이즈를 달리하여 전송하는 온라인 게임 패치 방법.
  10. 제 9항에 있어서,
    상기 사용자 단말로 전송된 패치 파일은,
    상기 사용자 단말에 모두 전송이 완료된 경우에 실행되는 것을 특징으로 하는 온라인 게임 패치 방법.
  11. 제 9항에 있어서,
    상기 패치 파일은,
    상기 사용자 단말의 시스템 사양에 따라 구성을 달리하는 것을 특징으로 하는 온라인 게임 패치 방법.
  12. 제 9항에 있어서,
    상기 패치 파일을 전송하는 단계는,
    패치 관련 정보에 따라 온라인 게임을 실행 중인 상기 사용자 단말로 상기 패치 파일을 전송하며,
    상기 패치 관련 정보는,
    패치 파일의 정보, 패치 파일을 전송하는 개시일, 배포 기간, 전송 일정, 패치 파일의 전송률, 패치 작업 완료 여부, 패치 파일의 전송 현황 정보 및 패치 버전 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 온라인 게임 패치 방법.
  13. 제 12항에 있어서,
    상기 패치 관련 정보는,
    트래픽이 특정값 이하가 되도록 구성되는 것을 특징으로 하는 온라인 게임 패치 방법.
  14. 제 9항에 있어서,
    상기 사용자 단말의 온라인 게임 접속 패턴은,
    상기 사용자 단말이 패치 서버에 접속하는 평균 시간 및 온라인 게임의 평균 이용시간 중 적어도 하나를 이용하여 분석한 것을 특징으로 하는 온라인 게임 패치 방법.
  15. 온라인 게임 패치 서버에서 수행되는 온라인 게임 패치 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에 있어서,
    상기 온라인 게임 패치 서버가,
    패치 파일을 저장하는 단계;
    사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계;
    상기 사용자 단말이 사용하고 있는 상기 온라인 게임의 버전을 확인하는 단계;
    상기 온라인 게임의 버전과 저장된 패치 파일의 버전을 비교하는 단계; 및
    상기 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 사용자가 온라인 게임 서비스를 수행하는 상기 사용자 단말로 상기 패치 파일을 전송하는 단계;를 포함하며,
    상기 패치 관련 정보는 상기 온라인 게임 패치 서버의 트래픽에 대해 미리 설정된 값이 설정되고, 상기 패치파일 전송부는 상기 미리 설정된 값 이상이 되는 경우에는 사용자 단말에 상기 패치 파일의 전송을 중단하도록 하며,
    상기 패치 파일을 전송하는 단계는 상기 사용자 단말의 온라인 게임 접속 패턴을 분석하고 이에 따라 상기 패치 파일의 사이즈를 달리하여 전송하는 온라인 게임 패치 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020120074737A 2012-07-09 2012-07-09 온라인 게임 패치를 위한 서버, 시스템 및 그 방법 KR101690066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120074737A KR101690066B1 (ko) 2012-07-09 2012-07-09 온라인 게임 패치를 위한 서버, 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120074737A KR101690066B1 (ko) 2012-07-09 2012-07-09 온라인 게임 패치를 위한 서버, 시스템 및 그 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100046913A Division KR20110127434A (ko) 2010-05-19 2010-05-19 온라인 게임 패치를 위한 서버, 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120095332A true KR20120095332A (ko) 2012-08-28
KR101690066B1 KR101690066B1 (ko) 2017-01-09

Family

ID=46885900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120074737A KR101690066B1 (ko) 2012-07-09 2012-07-09 온라인 게임 패치를 위한 서버, 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101690066B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063505A (ko) * 2016-12-02 2018-06-12 충남대학교산학협력단 패치 자동 설치 시스템 및 방법
US10709989B2 (en) 2018-01-11 2020-07-14 Electronics And Telecommunications Research Institute System and method for analyzing game update effect according to change of gamer action sequence
KR20240021502A (ko) 2022-08-10 2024-02-19 주식회사 넥슨코리아 패치노트 제공장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189598A (ja) * 2000-12-21 2002-07-05 Hitachi Software Eng Co Ltd ファイルダウンロード時のプログラムの制御方法
KR20060108891A (ko) * 2005-04-14 2006-10-18 판게아 주식회사 온라인 게임의 실시간 게임 파일 갱신 방법 및 이를수행하는 게임 시스템
KR20070095530A (ko) * 2005-11-18 2007-10-01 엔에이치엔(주) 클라이언트 단말기로 게임 패치 데이터를 제공하는 게임제공 시스템의 동작 방법 및 상기 방법을 채용한 게임 제공시스템
KR20090091902A (ko) * 2008-02-26 2009-08-31 주식회사 알티캐스트 컨텐츠 다운로드 서비스 제공 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189598A (ja) * 2000-12-21 2002-07-05 Hitachi Software Eng Co Ltd ファイルダウンロード時のプログラムの制御方法
KR20060108891A (ko) * 2005-04-14 2006-10-18 판게아 주식회사 온라인 게임의 실시간 게임 파일 갱신 방법 및 이를수행하는 게임 시스템
KR20070095530A (ko) * 2005-11-18 2007-10-01 엔에이치엔(주) 클라이언트 단말기로 게임 패치 데이터를 제공하는 게임제공 시스템의 동작 방법 및 상기 방법을 채용한 게임 제공시스템
KR20090091902A (ko) * 2008-02-26 2009-08-31 주식회사 알티캐스트 컨텐츠 다운로드 서비스 제공 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063505A (ko) * 2016-12-02 2018-06-12 충남대학교산학협력단 패치 자동 설치 시스템 및 방법
US10709989B2 (en) 2018-01-11 2020-07-14 Electronics And Telecommunications Research Institute System and method for analyzing game update effect according to change of gamer action sequence
KR20240021502A (ko) 2022-08-10 2024-02-19 주식회사 넥슨코리아 패치노트 제공장치 및 방법

Also Published As

Publication number Publication date
KR101690066B1 (ko) 2017-01-09

Similar Documents

Publication Publication Date Title
CN106991035B (zh) 一种基于微服务架构的主机监控系统
KR101150041B1 (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
US7676448B2 (en) Controlling installation update behaviors on a client computer
KR101098745B1 (ko) 소프트웨어 업데이트를 관리하고 통신하기 위한 시스템 및방법
KR101130367B1 (ko) 소프트웨어 분산 서비스를 위한 시스템 및 방법
KR101098621B1 (ko) 네트워킹된 환경에서 설치 컴포넌트들을 업데이트하는시스템 및 방법
US20050203968A1 (en) Update distribution system architecture and method for distributing software
US20060277281A1 (en) Updating information in network devices
CN109800005B (zh) 一种客户端热更新方法及装置
US9092294B2 (en) Systems, apparatus, and methods for utilizing a reachability set to manage a network upgrade
CN102970342A (zh) 一种基于ota 技术的嵌入式终端自动升级方法
CN105786551A (zh) 一种应用程序运行访问控制方法和系统
CN105204910A (zh) 一种脚本热更新方法和系统
KR20120095332A (ko) 온라인 게임 패치를 위한 서버, 시스템 및 그 방법
KR20110127434A (ko) 온라인 게임 패치를 위한 서버, 시스템 및 그 방법
EP3321808B1 (en) Verification system and verification method
CN111353150B (zh) 一种可信启动方法、装置、电子设备及可读存储介质
KR101461319B1 (ko) 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치
CN113110849A (zh) 按需加载资源
CN104158812A (zh) 一种终端应用的安全控制方法及系统
CN116578957A (zh) 账号操作请求的响应方法、装置和电子设备
CN112732403B (zh) 一种基于容器的文件管理方法和电子设备
CN111897561B (zh) 一种通过云端进行灰度发布的方法和系统
CN107124627A (zh) 一种界面排版的更新方法
KR20130011836A (ko) 게임 보조 프로그램 제공 서버, 시스템 및 그 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant