KR20120012575A - P2p를 이용하여 패치하는 방법 및 그 단말기 - Google Patents

P2p를 이용하여 패치하는 방법 및 그 단말기 Download PDF

Info

Publication number
KR20120012575A
KR20120012575A KR1020100074594A KR20100074594A KR20120012575A KR 20120012575 A KR20120012575 A KR 20120012575A KR 1020100074594 A KR1020100074594 A KR 1020100074594A KR 20100074594 A KR20100074594 A KR 20100074594A KR 20120012575 A KR20120012575 A KR 20120012575A
Authority
KR
South Korea
Prior art keywords
metadata
data
patch
version
patching
Prior art date
Application number
KR1020100074594A
Other languages
English (en)
Inventor
정우재
박상진
Original Assignee
주식회사 아스트릭스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아스트릭스 filed Critical 주식회사 아스트릭스
Priority to KR1020100074594A priority Critical patent/KR20120012575A/ko
Publication of KR20120012575A publication Critical patent/KR20120012575A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 P2P를 이용하여 패치하는 방법 및 그 장치에 관한 것으로, 보다 상세하게는 패치를 위하여 패치데이터를 전송받는 것이 아니라, 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터인 메타데이터를 서버로부터 전송받고, 최신 버전의 데이터 중에서 필요한 부분데이터는 P2P를 이용하여 데이터를 수신함으로써 패치를 하는 방법 및 그 장치에 관한 것이다.
이를 위하여, 본 발명에 따른 P2P를 이용하여 패치하는 방법은, 서버로부터 메타데이터를 수신하는 단계와 상기 메타데이터를 기초로 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 단계 및 상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 단계를 포함한다.
이에 따라, 현재의 버전에 따라서 버전별로 단계적으로 패치할 필요 없이 최신 버전의 사용자로부터 필요한 데이터를 전송받아 최신 버전으로 바로 업그레이드 할 수 있다.

Description

P2P를 이용하여 패치하는 방법 및 그 단말기{Method and device for patching with P2P }
본 발명은 P2P를 이용하여 패치하는 방법 및 그 장치에 관한 것으로, 보다 상세하게는 패치를 위하여 패치데이터를 전송받는 것이 아니라, 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터인 메타데이터를 서버로부터 전송받고, 최신 버전의 데이터 중에서 필요한 부분데이터는 P2P를 이용하여 데이터를 수신함으로써 패치를 하는 방법 및 그 장치에 관한 것이다.
"패치"란 이미 정식으로 배포된 소프트웨어, 즉 운영체제 및 각종 응용 프로그램의 문제점을 보완하고, 이들의 결점을 해결해 주는 공급자의 추가 패키지라고 할 수 있다. 이러한 패치는 단순히 보안뿐만 아니라, 응용 프로그램의 실행 속도 개선, 메모리 누설 방지 등과 같이 여러 측면에서 소프트웨어의 성능을 향상시켜주기 위한 것이다. 패치는 대상 시스템의 취약성을 보완해주는 일종의 보조 프로그램이라고 할 수 있으며, 이러한 패치를 통하여 대상 시스템에 적합성을 유지하면서 배포된 소프트웨어를 업데이트할 수 있다.
특히, 온라인 게임의 경우 배포 이후 게임이 업데이트 되거나 오류를 발견하여 수정을 해야 하는 경우가 생기는데, 이러한 경우에도 패치를 통하여 업데이트를 하거나 오류를 수정할 수 있다. 게임의 재미 요소, 신규 아이템 등의 변경을 통해 완성도를 높여나가기 위한 작업이 계속 진행되므로 온라인 게임의 경우, 패치 작업이 필수적이다.
기존엔 패치데이터를 1:1로 전송받아 설치하였는데 이 방법이 가장 보편화된 패치 형태로 가장 안정한 방법이다. 하지만 많은 네트워크 트래픽 비용이 발생하고 패치 시간이 사용자의 네트워크 환경에 의존적이라는 문제점이 있다.
이러한 문제점을 해결하기 위하여 P2P(Peer-To-Peer network)를 이용하여 패치하는 방법이 나왔다. P2P는 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태로 크게 2가지 방식이 있다. 하나는 어느 정도의 서버의 도움을 얻어서 개인간 접속을 실현하는 방식이고, 다른 하나는 클라이언트 상호간에 미리 주소(IP address) 등의 개인 정보를 공유하여 서버 없이 직접 연결하는 방식이다. 앞의 경우에도 접속 및 검색 단계 이후는 뒤의 경우와 동일하게 개인끼리 직접 정보를 공유하고 교환하게 된다.
이러한 P2P를 이용하여 패치데이터를 전송받으면 트래픽 비용이 줄어드는 등 1:1로 전송받는 방법의 문제점을 해결할 수 있으나, 패치데이터의 경우 패치 작업을 완료한 사용자는 별도로 컴퓨터상에 저장해두지 않아서 패치데이터를 보유하는 시간이 짧아 P2P를 이용하여 패치데이터를 전송하는 것에 대한 활용도가 떨어지는 문제가 있다.
또한, P2P를 이용하여 패치를 하더라고, 구 버전에서 신 버전으로 패치하는 경우와 신 버전을 새로 설치하는 경우와 같이 여러 단계의 버전이 있을 때에 패치하는 단계나 작업이 다른 경우에 별도의 P2P로 동작해야 하는 불편함이 있다.
본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 패치 작업을 실행하기 위하여 패치데이터를 전송받을 때에, 서버로부터 기존의 파일과 일치하는 부분 및 변경된 부분에 대한 데이터만을 전송받고, 변경되거나 수정되어 별도로 전송받아야 할 부분데이터에 대해서는 P2P를 이용하여 필요한 부분데이터를 받아 패치를 하는 방법을 제공하는 데 목적이 있다.
또한 본 발명은 여러 단계의 버전을 패치해야 하는 경우에, 현재 버전에 상관없이 최신 버전의 데이터를 이용하여 바로 패치를 할 수 있는 P2P를 이용하여 패치하는 방법을 제공하는 데 또 다른 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 P2P를 이용하여 패치하는 방법은, 서버로부터 메타데이터를 수신하는 단계와 상기 메타데이터를 기초로 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 단계 및 상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 단계를 포함한다.
상기 메타데이터는, 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터이고, 최신 버전의 데이터를 블록단위로 나눠서 블록별로 생성될 수 있고, 여러 단계의 버전에 대하여 패치를 위하여 전송받아야할 위치에 관한 각각의 데이터를 병합하여 하나의 데이터로 생성될 수도 있다.
또한, 본 발명은 상기 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
한편, 본 발명에 따른 P2P를 이용하여 패치하는 단말기는, 서버로부터 메타데이터를 수신하는 메타데이터수신부와 상기 메타데이터를 기초로 상기 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 부분데이터수신부 및 상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 패치부를 포함한다.
본 발명에 따른 P2P를 이용하여 패치하는 방법 및 그 단말기에 의하면,
첫째, 현재의 버전에 따라서 버전별로 단계적으로 패치할 필요 없이 최신 버전의 사용자로부터 필요한 부분데이터를 전송받아 최신 버전으로 업그레이드 할 수 있다.
둘째, 버전의 변경이 여러 번 있었을 경우에 각 단계별 패치를 병합하여 한번에 패치를 처리할 수 있도록 하여. 네트워크의 트래픽을 줄이고 시간 비용도 줄일 수 있다.
셋째, 현재 구축된 P2P에 연동되므로 패치를 위한 P2P를 별도로 구축할 필요가 없어 경제적이다.
넷째, 기존의 파일을 이용해서 하는 패치와 신규로 추가되는 패치가 동시에 진행될 수 있다.
다섯째, 최신 버전만 있으며 현재의 버전에 상관없이 최신 버전으로 업그레이드 할 수 있어 효율적이다.
도 1은 P2P의 실시 예이고,
도 2는 서버의 기능블록도이고,
도 3은 단말기의 기능블록도이고,
도 4는 P2P를 이용하여 패치하는 방법의 흐름도이다.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 P2P의 실시 예를 도시한 것으로, P2P(Peer To Peer)는 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태의 네트워크를 말한다. 크게 2가지 방식이 있는데, 첫 번째 방식은 어느 정도의 서버의 도움을 얻어서 개인간 접속을 실현하는 방식이고, 두 번째 방식은 클라이언트 상호간에 미리 주소(IP address) 등의 개인 정보를 공유하여 서버 없이 직접 연결하는 방식이다. 첫 번째 방식의 경우에도 접속 및 검색 단계 이후는 뒤의 경우와 동일하게 개인끼리 직접 정보를 공유하고 교환하게 된다.
본 발명에서는 상기 2가지 방식의 P2P 형태가 모두 가능하나, 서버의 도움을 얻어서 개인간 접속을 실현하는 첫 번째 방식을 실시 예로 들어 설명한다.
도 2는 서버의 기능블록도로, 상기 서버(200)는 패치데이터생성부(210)와 메타데이터생성부(230)로 구성된다. 상기 패치데이터생성부(210)는 패치데이터를 생성하고, 상기 메타데이터생성부(230)는 메타데이터를 생성한다.
상기 패치데이터는 이미 발표된 소프트웨어 제품에서 발견된 사소한 기능 개선 또는 버그나 오류의 수정 등의 업데이트를 위한 데이터를 의미한다. 사용자에게 제공되는 즉각적인 해결책으로서, 단말기의 사용자는 상기 소프트웨어를 배포한 서버(200)로부터 전송로드 받을 수 있으며, 보통 컴파일된 코드, 즉 바이너리 코드 또는 목적 코드를 대체하거나 추가로 삽입하는 형태가 된다.
하지만, 이처럼 패치데이터를 사용자들이 서버(200)로부터 직접 전송로드받을 경우 서버(200)의 트래픽 비용이 발생하고 패치를 위한 시간이 많이 들어서 운영 비용이 증가하게 된다.
이에 따라, 상기 서버(200)의 메타데이터생성부(230)에서는 메타데이터를 생성하여 단말기가 상기 메타데이터를 전송받도록 함으로써 상기의 문제점을 해결한다.
상기 메타데이터는 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터이다. 일반적으로 패치데이터는 그 자체만으로 패치가 완료되는 것이 아니고 패치데이터를 실행시켜서 별도의 파일을 생성함으로써 패치 작업을 완료한다. 따라서 메타데이터는 상기 패치데이터를 실행시켜서 별도의 파일로 생성된 최신 버전의 데이터에 대해서 기존 버전의 데이터와 차이가 있는 위치 부분에 대한 데이터를 저장함으로써 별도의 패치데이터가 없이, 최신 버전의 데이터만 가지고도 패치 작업이 완료될 수 있도록 한다.
예를 들어, 패치를 위한 메타데이터는 일반적으로 다음과 같이 구성되어 있다.
[Copy From offset Length_1 xxxxx][Insert Length_2][Data]
[Modification with extra With Length_3][Extra Data]
상기 메타데이터는, offset으로부터 xxxxx만큼의 길이만큼은 기존 버전의 데이터와 동일하므로 기존 버전의 데이터에서 복사(Copy)하고, Length_2만큼 새로운 데이터가 삽입(Insert)될 것이니 비워두고, 길이가 Length_3인 Extra Data에 대해서는 수정(Modification)이 되어야한다는 것을 의미한다.
패치를 위한 메타데이터의 또 다른 간단한 실시 예를 들면, "A B C"라는 데이터를 가진 기존의 버전에서 "A I C"라는 데이터를 가진 최신 버전으로 업그레이드 됐다고 할 때에, 가운데 부분만 B에서 I로 변경되었고, 용량은 4KB였는데 10KB로 확장되었다고 하자. 이때 메타데이터는 [Copy n][10KB Insert][new data][Copy m]의 형태로 생성될 수 있다. 변함없는 I 앞부분의 n KB만큼은 기존의 데이터에서 복사하고 10 KB는 새로 삽입될 것이므로 그만큼의 공간만 형성해두고, 변함없는 I 뒷부분의 m KB만큼은 기존의 데이터에서 복사하라는 것을 의미한다.
이때 상기 메타데이터 중에서 Copy와 Insert 부분을 비교 분석하여 Insert가 많은 부분 또는 Modification의 부분이 큰 부분은 [SKIP n Bytes](n 바이트 만큼은 공간만 확보해두고 내용은 생략하라는 의미)형태로 처리할 수 있다. 이 경우 [SKIP n Bytes]로 처리된 부분은 서버(200)로부터 단말기(100)가 1:1로 접속하여 전송받을 수도 있지만 P2P를 이용하여 데이터를 수신하도록 함이 바람직하다.
이렇게 하는 경우 단말기(100)는 서버(200)로부터 메타데이터만 전송받고, 나머지는 P2P를 이용하여 전송받게 되는데, 메타데이터는 패치데이터나 최신 버전의 데이터에 비하여 크기가 획기적으로 줄어들어서 서버(200)로부터 수신하는 시간이 줄어들고, 그에 따라 서버(200)의 트래픽 비용도 감소하는 효과가 있다.
도 3는 단말기의 기능블록도로, 상기 도 2를 참조하여 P2P를 이용하여 패치하는 단말기(100)를 설명한다.
상기 단말기(100)는 P2P를 통하여 데이터를 송수신할 수 있는 통신 장치이며, 예를 들어, 스마트 폰과 같은 무선 통신 단말기, 컴퓨터, 인터넷 접속 가능한 TV 등의 다양한 통신 장치가 사용될 수 있다. 따라서 사용자는 PC 통신, 인터넷, 무선 인터넷, 전화망 등을 이용하여 편리하고 신속하게 다른 단말기(Peer)나 서버(200)에 접속할 수 있다.
상기 단말기(100)는 메타데이터수신부(110), 부분데이터수신부(130), 패치부(150)로 구성된다.
상기 메타데이터수신부(110)는 서버(200)로부터 메타데이터를 수신한다. 상기 메타데이터는 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터로 상기 서버(200)의 메타데이터생성부(230)에서 설명한 바와 동일하다.
다만, 상기 메타데이터는 최신 버전의 데이터가 용량이 큰 경우 비효율적이 될 수 있으므로, 상기 서버(200)의 메타데이터생성부(230)는 최신 버전의 데이터를 블록 단위로 나눠서 블록별로 생성할 수도 있다. 이때에도 상기 메타데이터수신부(110)는 블록별로 메타데이터를 수신하여 블록별로 그 이후 절차를 진행시킨다.
상기 부분데이터수신부(120)는 상기 메타데이터를 기초로 상기 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신한다. 상기 메타데이터는 최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터이므로, P2P에 접속해있는 최신 버전의 다른 단말기로부터 메타데이터에서 전송받아야할 위치라고 지정된 부분에 대해서 부분별로 데이터를 수신한다.
상기 패치부(150)에서는 상기 부분데이터수신부(120)에서 수신한 부분데이터를 이용하여 패치 작업을 완료한다. 즉, 상기 패치부(150)는 서버(200)로부터 수신한 메타데이터를 통하여 최신 버전의 데이터 구조를 먼저 형성한다. 기존 버전과 동일한 부분에 대해서는 기존 데이터에서 복사를 해두고, 수정된 부분이나 추가된 부분에 대해서는 메모리 영역만 확보해두는 형식으로 최신 버전의 데이터 구조를 형성한다. 그 후 P2P를 통하여 메타데이터를 기초로 변경되거나 추가된 부분에 대한 부분데이터를 수신함으로써, 공간만 확보해둔 부분에 데이터를 채우고 최신 버전의 데이터를 형성하여 패치 작업을 완료한다.
한편, 패치는 일회적으로 끝나는 경우도 있지만 지속적으로 업그레이드되거나 다른 버그나 오류의 발견으로 다음 버전으로 패치가 계속되는 경우가 훨씬 많다. 즉, 제 1 버전, 제 2 버전, 제 3 버전...이러한 형태로 지속적으로 최신 버전이 생성되는 것이다.
그런데 이와 같은 경우에 사용자들이 단계적으로 제 1 버전에서 제 2 버전으로 업그레이드하고, 제 2 버전에서 제 3 버전으로 업그레이드를 적절한 시기에 해주면 좋지만, 실제로는 지속적으로 접속하지 않는 사용자도 많기 때문에 단계적으로 업그레이드를 실시하지 못하는 사용자가 훨씬 많다. 따라서 제 1 버전을 사용하고 있는 사용자가 오랜만에 접속하여 사용하려고 할 때에는 이미 제 4 버전이 최신 버전일 수가 있는 것이다.
이처럼 여러 단계의 버전을 패치해야 하는 경우에 패치작업을 하는 방법을 예로 들어 설명하면, 단계별 버전을 A, B, C라고 한다면 A버전에서 C버전으로 업그레이드할 수 있는 패치데이터를 생성하고, B버전에서 C버전으로 업그레이드할 수 있는 패치데이터를 각각 생성하여 각각 별도의 메타데이터를 생성하여야 한다. 이렇게 할 경우 한 번의 패치로 최신 버전을 완성할 수 있다는 장점은 있으나, A버전에서 C버전으로, B버전에서 C버전으로 패치데이터 및 메타데이터를 각각 생성해야 하고 이에 대해 각각 별도의 P2P를 구성해야 한다는 단점이 있다.
여러 단계의 버전을 패치하는 또 다른 방법으로 A버전을 B버전으로 패치한 후에 B버전을 다시 C버전으로 패치하는 방법이 있다. 이 경우 별도의 패치데이터나 메타데이터를 생성할 필요없이 버전을 업그레이드할 때마다 생성한 것을 그대로 사용하면 되므로 복잡하지 않다는 장점이 있다. 하지만, B버전은 결국 사용되지도 않을껀데 B버전을 생성한 다음 다시 C버전을 생성하므로 패치 시간이 길어지고 네트워크 트래픽이 증가한다는 단점이 있다.
따라서 본 발명에서는 A버전에서 B버전으로, B버전에서 C버전으로 업그레이드하는 각각의 패치데이터와 메타데이터를 기초로 하나의 메타데이터만를 생성한다. 즉, 메타데이터가 여러 단계의 버전에 대하여 패치를 위하여 전송받아야할 위치에 관한 각각의 데이터를 병합하여 하나의 데이터로 생성되어 A버전에서 C버전으로 바로 패치 할 수 있도록 함으로써 패치 시간은 단축되고 네트워크 트래픽은 증가시키지 않을 수 있다.
패치데이터도 함께 병합하는 경우에 비하여 본 발명에서와 같이 메타데이터만을 병합하는 경우가 더 효율적인데, 특히 패치데이터의 용량이 클 때 그러하다. 패치데이터가 큰 경우 각각의 패치데이터 수신 시간 및 네트워크 트래픽이 늘어나기 때문에 패치를 병합하는데 시간이 오래 걸리고 하드웨어 리소스의 사용량이 많다. 반면에 메타데이터는 용량이 작기 때문에 병합하는 시간이 매우 빠르고, 트래픽 발생도 적기 때문에 훨씬 효율적이다.
한편, 본 발명에서는 A버전에서 C버전으로, B버전에서 C버전으로 가는 메타데이터를 생성하여 이용할 수도 있다. 상기에 설명한 바와 같이 이러한 방식으로 이용할 때에는 패치데이터가 큰 경우 파일 관리 및 생성 시간이 오래 걸리지만, 이러한 활용 자체가 불가능한 것은 아니며, 파일 관리 비용이나 트래픽 비용을 줄일 수 있으므로 선택적으로 사용하면 된다.
도 4는 P2P를 이용하여 패치하는 방법의 흐름도로, 상기 도 4를 참조하여 단말기에서 P2P를 이용하여 패치하는 방법을 설명한다.
먼저 서버로부터 메타데이터를 수신하고(S10), P2P를 이용하여 최신 버전의 다른 단말기로부터 메타데이터에 따른 부분데이터를 수신한다(S20). 상기 메타데이터를 통하여 최신 버전의 데이터의 구조 형식을 이미 생성을 하였으므로 상기 수신한 부분데이터를 이용하여 패치 작업을 완료한다(S30).
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 단말기 110 메타데이터수신부
130 부분데이터수신부 150 패치부
200 서버 210 패치데이터생성부
230 메타데이터생성부

Claims (9)

  1. 서버로부터 메타데이터를 수신하는 단계;
    상기 메타데이터를 기초로 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 단계; 및
    상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 단계;를 포함하는 P2P를 이용하여 패치하는 방법.
  2. 제 1 항에 있어서,
    상기 메타데이터는,
    최신 버전의 데이터 중에서 패치를 위하여 전송받아야할 위치에 관한 데이터인 것을 특징으로 하는 P2P를 이용하여 패치하는 방법.
  3. 제 2 항에 있어서,
    상기 메타데이터는,
    최신 버전의 데이터를 블록단위로 나눠서 블록별로 생성된 것을 특징으로 하는 P2P를 이용하여 패치하는 방법.
  4. 제 1 항에 있어서,
    상기 메타데이터는,
    여러 단계의 버전에 대하여 패치를 위하여 전송받아야할 위치에 관한 각각의 데이터를 병합하여 하나의 데이터로 생성되는 것을 특징으로 하는 P2P를 이용하여 패치하는 방법.
  5. 서버로부터 메타데이터를 수신하는 메타데이터수신부;
    상기 메타데이터를 기초로 상기 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 부분데이터수신부; 및
    상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 패치부;를 포함하는 P2P를 이용하여 패치하는 단말기.
  6. 제 5 항에 있어서,
    상기 메타데이터는,
    최신 버전의 데이터 증에서 패치를 위하여 전송받아야할 위치에 관한 데이터인 것을 특징으로 하는 P2P를 이용하여 패치하는 단말기.
  7. 제 6 항에 있어서,
    상기 메타데이터는,
    최신 버전의 데이터를 블록단위로 나눠서 블록별로 생성된 것을 특징으로 하는 P2P를 이용하여 패치하는 단말기.
  8. 제 5 항에 있어서,
    상기 메타데이터는,
    여러 단계의 버전에 대하여 패치를 위하여 전송받아야할 위치에 관한 각각의 데이터를 병합하여 하나의 데이터로 생성되는 것을 특징으로 하는 P2P를 이용하여 패치하는 단말기.
  9. 서버로부터 메타데이터를 수신하는 단계;
    상기 메타데이터를 기초로 P2P를 이용하여 최신 버전의 다른 단말기로부터 상기 메타데이터에 따른 부분데이터를 수신하는 단계; 및
    상기 수신한 부분데이터를 이용하여 패치 작업을 완료하는 단계;를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.

KR1020100074594A 2010-08-02 2010-08-02 P2p를 이용하여 패치하는 방법 및 그 단말기 KR20120012575A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100074594A KR20120012575A (ko) 2010-08-02 2010-08-02 P2p를 이용하여 패치하는 방법 및 그 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100074594A KR20120012575A (ko) 2010-08-02 2010-08-02 P2p를 이용하여 패치하는 방법 및 그 단말기

Publications (1)

Publication Number Publication Date
KR20120012575A true KR20120012575A (ko) 2012-02-10

Family

ID=45836427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100074594A KR20120012575A (ko) 2010-08-02 2010-08-02 P2p를 이용하여 패치하는 방법 및 그 단말기

Country Status (1)

Country Link
KR (1) KR20120012575A (ko)

Similar Documents

Publication Publication Date Title
CN108111331B (zh) 更新数据包的获取方法、装置、存储介质、处理器及系统
CN106843828B (zh) 界面显示、加载方法及装置
AU2016359508B2 (en) Page jumping method and apparatus
CN107346252B (zh) 应用更新方法和装置
US20150100955A1 (en) Method and System for Updating Software
RU2421785C2 (ru) Автоматизированное управление драйверами устройств
WO2016177061A1 (zh) 一种空中下载技术升级方法和装置
CN102571940B (zh) 应用程序远程安装系统、方法、智能终端、应用服务器
WO2019062703A1 (zh) 升级方法、嵌入式系统
CN102855152B (zh) 升级应用程序中资源文件的方法及系统
CN107305553B (zh) 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统
CN103645910A (zh) 用于更新应用程序的方法
US20220231926A1 (en) Standardized format for containerized applications
CN104657174A (zh) 一种用于动态实现应用功能的方法和装置
CN103973475A (zh) 差异补丁包生成方法及下载方法、服务器、客户端
CN106911729A (zh) 一种适用于国产处理器的操作系统远程安装方法
CN110543327B (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN106371874A (zh) 一种插件数据加载方法及设备
JP2016508322A (ja) 広告処理方法及び装置
US10404568B2 (en) Agent manager for distributed transaction monitoring system
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
US20150067668A1 (en) Installation engine and package format
CN109213533A (zh) 一种广告sdk动态加载方法、装置及终端
CN105872842A (zh) 一种多桌面独立升级方法及装置
CN110362333A (zh) 一种客户端升级阻碍的快速解决方法、装置和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application