KR101157483B1 - 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체 - Google Patents

파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR101157483B1
KR101157483B1 KR1020100080375A KR20100080375A KR101157483B1 KR 101157483 B1 KR101157483 B1 KR 101157483B1 KR 1020100080375 A KR1020100080375 A KR 1020100080375A KR 20100080375 A KR20100080375 A KR 20100080375A KR 101157483 B1 KR101157483 B1 KR 101157483B1
Authority
KR
South Korea
Prior art keywords
file
hash
content
files
content files
Prior art date
Application number
KR1020100080375A
Other languages
English (en)
Other versions
KR20120017644A (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 KR1020100080375A priority Critical patent/KR101157483B1/ko
Publication of KR20120017644A publication Critical patent/KR20120017644A/ko
Application granted granted Critical
Publication of KR101157483B1 publication Critical patent/KR101157483B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 콘텐츠 전송 장치로 요청하고-복수의 콘텐츠 파일에 대한 해쉬 파일은 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-, 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하여, 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 복수의 콘텐츠 파일에 대한 해쉬 파일을 다운로드받고, 복수의 콘텐츠 파일의 다운로드를 요청하여, 복수의 콘텐츠 파일을 다운로드받는다.
본 발명에 따르면, 파일 다운로드 서비스를 제공하고 파일을 다운로드 받는 장치들의 부하를 줄이면서 보다 빠르게 복수의 파일을 다운로드할 수 있고, 또한, 보다 빠르게 복수의 파일을 다운로드할 수 있어 파일 다운로드 서비스의 질을 높일 수 있는 장점이 있다.

Description

파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체{Method for downloading file and record media recorded program for realizing the same}
본 발명은 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 관한 것으로서, 보다 상세하게는 복수의 파일을 보다 빠르게 다운로드 받을 수 있게 하는 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 관한 것이다.
전기/전자 장치와 통신망의 발달로 통신망을 통해 다양한 서비스를 제공받을 수 있게 되었다.
한편, 이러한 통신망을 통해 통신망에 연결된 장치에 저장된 다양한 종류의 데이터를 수신하는 파일 다운로드를 다양한 형태와 방법으로 제공하고 있다.
이러한 종래의 파일 다운로드가 수행되는 과정을 도 1을 참조하여 살펴본다.
도 1은 종래의 파일 다운로드가 수행되는 과정을 도시한 순서도이다.
이하에서는 해쉬 파일과의 구분을 위해 다운로드 받고자하는 파일 자체는 콘텐츠 파일로 칭하기로 하나, 이러한 명칭은 파일의 종류 등을 한정하는 것이 아님은 자명하다.
도 1에서 도시된 바와 같이 종래의 파일 다운로드는 먼저 다운로드 받고자 하는 콘텐츠 파일이 선택되면 선택된 콘텐츠 파일에 대한 해쉬 파일을 먼저 요청하여 해쉬 파일(hash file)을 다운로드 받는다(S100).
해쉬 파일은 해쉬 함수 등을 이용하여 생성되는 해쉬값 등이 포함되는 파일로서 파일의 무결성(integrity) 등 파일의 유효성 검사를 위해 이용된다.
한편, 이러한 다운로드 받고자 하는 콘텐츠 파일의 해쉬 파일의 다운로드가 완료되면, 해당 콘텐츠 파일을 요청하여 콘텐츠 파일의 다운로드가 시작된다(S102).
콘텐츠 파일이 다운로드되면, 미리 다운로드받은 해쉬 파일을 이용하여 다운로드된 콘텐츠 파일에 대한 유효성 검사를 수행하게 되며(S104), 이러한 콘텐츠 파일에 대한 유효성 검사가 완료되어 다운로드 받은 콘텐츠 파일에 대하여 유효성이 확인되면 비로소 콘텐츠 파일의 다운로드가 완료되게 된다(S106).
그러나 종래의 이러한 파일 다운로드 방법의 경우 복수의 콘텐츠 파일을 다운로드 하는 경우에는 복수의 콘텐츠 파일 각각에 대한 해쉬 파일을 다운로드하고 복수의 콘텐츠 파일 각각을 다시 다운로드하여야 하므로 콘텐츠 파일을 전송하는 장치와 콘텐츠를 수신하는 장치 사이에 복수의 해쉬 파일과 콘텐츠 파일의 전송을 위한 많은 세션(session)이 필요하게 되는 등 각각의 장치에서 많은 부하가 발생되는 문제점이 있다.
또한, 이러한 부하의 증가로 다운로드 속도 등이 저하되어 파일 다운로드 서비스의 질이 저하되는 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 빠르게 복수의 파일을 다운로드할 수 있는 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체를 제안하는 것이다.
또한, 보다 빠르게 복수의 파일을 다운로드할 수 있어 파일 다운로드 서비스의 질을 높일 수 있는 복수의 파일을 다운로드할 수 있는 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체를 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 콘텐츠 파일의 다운로드 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에서 수행되는 콘텐츠 파일의 다운로드 방법에 있어서, 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하는 단계; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 다운로드받는 단계; 상기 복수의 콘텐츠 파일의 다운로드를 요청하는 단계; 및 상기 복수의 콘텐츠 파일을 다운로드받는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법이 제공된다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 다운로드받는 단계를 수행할 수 있다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 상기 관리 장치로 전송하는 단계를 수행할 수 있으며, 상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 관리 장치로 전송하는 단계는 상기 중계 장치를 통해 수행될 수 있다.
상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 콘텐츠 전송 장치로 전송하여 수행될 수 있다.
상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트를 미리 저장된 해쉬 함수를 이용하여 리스트 해쉬값으로 생성하는 단계; 및 상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면 콘텐츠 파일의 전송 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에서 수행되는 콘텐츠 파일의 전송 방법에 있어서, 상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는지 판단하는 단계; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계; 및 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하고, 상기 엔드 유저 장치로 상기 복수의 콘텐츠 파일을 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 전송 방법이 제공된다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계를 포함할 수 있다.
상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하여 수행될 수 있다.
상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행될 수 있다.
본 발명의 또 다른 일 측면에 따르면 콘텐츠 파일의 다운로드 관리 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에서 수행되는 콘텐츠 파일의 다운로드를 관리하기 위한 방법에 있어서, 상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하는 단계; 상기 수신된 복수의 콘텐츠 파일에 대한 리스트에 따라 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 및 상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 관리 방법이 제공된다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 수행될 수 있다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행될 수 있다.
상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는 상기 중계 장치를 통해 수행될 수 있다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트에 대하여 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 상기 엔드 유저 장치로부터 수신하여 수행될 수 있다.
본 발명의 또 다른 일 측면에 따르면 엔드 유저 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에 있어서, 상기 엔드 유저 장치에서 다운로드 받을 콘텐츠 파일 유효성 검사에 이용되는 해쉬(hash) 함수가 저장되는 해쉬 함수 저장부; 및 상기 해쉬 함수 저장부에 저장된 상기 해쉬 함수를 이용하여 상기 콘텐츠 파일의 유효성을 검사하는 콘텐츠 파일 유효성 검사부를 포함하고, 상기 엔드 유저 장치는 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하고-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하여, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 콘텐츠 파일 유효성 검사부에서 상기 복수의 콘텐츠 파일에 대한 유효성 검사를 수행하는 것을 특징으로 하는 엔드 유저 장치가 제공된다.
상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 콘텐츠 전송 장치로부터 다운로드 받아 상기 콘텐츠 파일 유효성 검사부에서 상기 복수의 콘텐츠 파일에 대한 유효성 검사를 수행할 수 있다.
상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 상기 관리 장치로 전송할 수 있으며, 상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 중계 장치를 통해 상기 관리 장치로 전송할 수 있다.
상기 해쉬 함수 저장부는 상기 복수의 콘텐츠 파일에 대한 리스트를 이용하여 리스트 해쉬값을 생성하는 해쉬 함수가 더 저장되고, 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로 상기 복수의 콘텐츠 파일에 대한 해쉬 파일의 다운로드를 요청하는 것은 상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하여 수행될 수 있다.
상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로 상기 복수의 콘텐츠 파일에 대한 해쉬 파일의 다운로드를 요청하는 것은 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 콘텐츠 전송 장치로 전송하여 수행될 수 있다.
상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로 상기 복수의 콘텐츠 파일에 대한 해쉬 파일의 다운로드를 요청하는 것은 상기 복수의 콘텐츠 파일에 대한 리스트를 미리 저장된 해쉬 함수를 이용하여 리스트 해쉬값으로 생성하고, 상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하여 수행될 수 있다.
본 발명의 또 다른 일 측면에 따르면 콘텐츠 전송 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에 있어서, 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 저장되는 해쉬 파일 저장부-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 복수의 콘텐츠 파일이 저장되는 콘텐츠 파일 저장부를 포함하고, 상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신되면, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 상기 해쉬 파일 저장부에 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하는 것을 특징으로 하는 콘텐츠 전송 장치가 제공된다.
상기 해쉬 파일 저장부에 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송할 수 있다.
상기 콘텐츠 전송 장치는, 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트(list)를 이용하여 생성하는 리스트 해쉬값과 관련된 해쉬 함수가 저장되는 해쉬 함수 저장부를 더 포함하고, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하는 것은 상기 엔드 유저 장치로부터 상기 리스트 해쉬값을 수신하여 수행될 수 있다.
상기 콘텐츠 전송 장치는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하는 것은 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트를 수신하여 수행될 수 있다.
상기 콘텐츠 전송 장치는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하는 것은 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행될 수 있다.
본 발명의 또 다른 일 측면에 따르면 관리 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에 있어서, 상기 엔드 유저 장치에서 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 이용되는 해쉬 함수가 저장되는 해쉬 함수 저장부-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 해쉬 함수 저장부에 저장된 해쉬 함수를 이용하여 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 생성하는 해쉬 파일 생성부를 포함하여, 상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하는 것을 특징으로 하는 관리 장치가 제공된다.
상기 해쉬 파일 생성부는 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하여 상기 해쉬 파일의 생성을 수행할 수 있다.
상기 해쉬 파일 생성부는 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 상기 해쉬 파일의 생성을 수행할 수 있다.
그리고 상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트 또는 상기 리스트 해쉬값을 수신하는 것은 상기 중계 장치를 통해 수신될 수 있다.
상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트를 수신하는 것은, 상기 엔드 유저 장치에서 상기 복수의 콘텐츠 파일에 대한 리스트를 이용하여 생성된 리스트 해쉬값을 수신하고, 상기 해쉬 함수 저장부는 상기 리스트 해쉬값과 관련된 해쉬 함수가 더 저장될 수 있다.
본 발명의 또 다른 일 측면에 따르면 콘텐츠 파일의 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에서 수행되는 콘텐츠 파일의 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하는 단계; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 다운로드받는 단계; 상기 복수의 콘텐츠 파일의 다운로드를 요청하는 단계; 및 상기 복수의 콘텐츠 파일을 다운로드받는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 다운로드받는 단계를 수행할 수 있다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우, 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 상기 관리 장치로 전송하는 단계를 수행할 수 있으며, 상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 관리 장치로 전송하는 단계는 상기 중계 장치를 통해 수행될 수 있다.
상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 콘텐츠 전송 장치로 전송하여 수행될 수 있다.
상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트를 미리 저장된 해쉬 함수를 이용하여 리스트 해쉬값으로 생성하는 단계; 및 상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함할 수 있다.
본 발명의 또 다른 일 측면에 따르면 콘텐츠 파일의 전송 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에서 수행되는 콘텐츠 파일의 전송 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는지 판단하는 단계; 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계; 및 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하고, 상기 엔드 유저 장치로 상기 복수의 콘텐츠 파일을 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 전송 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계를 포함할 수 있다.
상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하여 수행될 수 있다.
상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행될 수 있다.
본 발명의 또 다른 일 측면에 따르면 콘텐츠 파일의 다운로드를 관리하기 위한 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에서 수행되는 콘텐츠 파일의 다운로드를 관리하기 위한 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하는 단계; 상기 수신된 복수의 콘텐츠 파일에 대한 리스트에 따라 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 및 상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함하는 콘텐츠 파일의 다운로드 관리 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 수행될 수 있다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행될 수 있다.
상기 파일 다운로드 시스템은 중계 장치를 더 포함하고, 상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는 상기 중계 장치를 통해 수행될 수 있다.
상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는, 상기 복수의 콘텐츠 파일에 대한 리스트에 대하여 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 상기 엔드 유저 장치로부터 수신하여 수행될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체에 의하면, 파일 다운로드 서비스를 제공하고 파일을 다운로드 받는 장치들의 부하를 줄이면서 보다 빠르게 복수의 파일을 다운로드할 수 있는 장점이 있다.
또한, 보다 빠르게 복수의 파일을 다운로드할 수 있어 파일 다운로드 서비스의 질을 높일 수 있는 장점이 있다.
도 1은 종래의 파일 다운로드가 수행되는 과정을 도시한 순서도.
도 2는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 적용될 수 있는 파일 다운로드 시스템의 구성을 예시하여 도시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 엔드 유저 장치에서 수행되는 과정을 예시하여 도시한 순서도.
도 4는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 중계 장치에서 수행되는 과정을 예시하여 도시한 순서도.
도 5는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 콘텐츠 전송 장치에서 수행되는 과정을 예시하여 도시한 순서도.
도 6은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일의 다운로드를 가능하게 하기 위해 관리 장치에서 수행되는 과정을 예시하여 도시한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일 다운로드가 수행되는 과정을 예시하여 도시한 순서도.
도 8은 종래의 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 구성을 예시하여 도시한 도면.
도 9는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 구성을 예시하여 도시한 도면.
도 10은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 또 다른 구성을 예시하여 도시한 도면.
도 11은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 엔드 유저 장치의 구성을 예시하여 도시한 도면.
도 12는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 중계 장치의 구성을 예시하여 도시한 도면.
도 13은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 콘텐츠 전송 장치의 구성을 예시하여 도시한 도면.
도 14는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 관리 장치의 구성을 예시하여 도시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
한편, 이하에서는 해쉬 파일(hash file)과의 구분을 위해 다운로드 받고자 하는 파일 자체는 콘텐츠 파일로 칭하기로 하나, 이러한 명칭은 파일의 종류 등을 한정하는 것이 아님은 전술한 바와 같다.
먼저 도 2를 참조하여 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 적용될 수 있는 파일 다운로드 시스템의 구성을 살펴보기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 적용될 수 있는 파일 다운로드 시스템의 구성을 예시하여 도시한 도면이다.
도 2에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 적용될 수 있는 파일 다운로드 시스템은 엔드 유저 장치(200), 중계 장치(210), 콘텐츠 전송 장치(220) 및 관리 장치(230)를 포함할 수 있다.
엔드 유저 장치(200)는 통신망을 통해 중계 장치(210), 콘텐츠 전송 장치(220)와 연결될 수 있는 장치로서, 콘텐츠 파일을 다운로드 받고자 하는 장치이다.
중계 장치(210)는 엔드 유저 장치(200)와 관리 장치(230)와 연결되며, 엔드 유저 장치(200)로부터 엔드 유저 장치(200)가 다운로드 받고자 하는 복수의 콘텐츠 파일에 대한 리스트를 수신하고, 엔드 유저 장치(200)로부터 수신한 리스트를 관리 장치(230)로 전송한다.
콘텐츠 전송 장치(220)는 엔드 유저 장치(200)로 콘텐츠 파일을 전송하는 장치로서, 전술한 바와 같이 콘텐츠 파일을 전송하는 경우 해당 콘텐츠 파일의 유효성 검사를 위한 해쉬 파일도 엔드 유저 장치(200)로 전송한다.
관리 장치(230)는 중계 장치(210)와 콘텐츠 전송 장치(220)와 연결되며, 엔드 유저 장치(200)에서 요청하는 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file을 생성하여 콘텐츠 전송 장치(220)로 전송한다.
그리고, 관리 장치(230)는 콘텐츠 전송 장치(220)에서 전송할 콘텐츠 파일이 업로드될 수 있으며, 이러한 콘텐츠 파일이 전송되는 경우 콘텐츠 전송 장치(220)로 즉시 업로드되는 콘텐츠 파일을 전송하여 콘텐츠 전송 장치(220)가 동일한 콘텐츠 파일을 제공하도록 하는 동기화를 수행할 수 있다.
물론 이러한 콘텐츠 전송 장치(220)에서 전송할 콘텐츠 파일의 업로드는 관리 장치(230)가 아닌 별도의 다른 장치에서 수행될 수도 있음은 자명하다.
그리고 관치 장치(230)에서의 packed hash file의 생성은 중계 장치(210)로부터 복수의 콘텐츠 파일에 대한 리스트를 수신하는 경우 즉 중계 장치(210)로부터 packed hash file의 생성 요청을 수신하는 경우 수행될 수 있다.
한편, 도 2에서는 각각 하나의 엔드 유저 장치(200), 중계 장치(210), 콘텐츠 전송 장치(220) 및 관리 장치(230)만을 도시하였으나, 복수개가 존재하여 서로 연결될 수 있으며, 그 연결은 각각 네트워크를 통해 연결될 수 있다.
또한, 콘텐츠 전송 장치(22)의 콘텐츠를 엔드 유저 장치(200)로 전송하는 기능과 관리 장치(230)의 packed hash file 생성 기능을 하나의 장치에 포함하여 구현하고 각각의 기능들이 상호간의 통신을 통해 본 발명에 의한 packed hash file 생성을 이용한 파일 다운로드 방법을 제공하는 것도 가능할 것이나, 이하의 설명에서는 기능에 따라 물리적으로 각각의 장치들이 구분되는 경우를 중심으로 본 발명을 설명하기로 한다.
한편, 각각의 장치들이 연결되는 네트워크의 종류는 이동 통신망 및 인터넷을 포함할 뿐만 아니라, 인터넷은 TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service) 등을 제공하는 전세계적인 개방형 네트워크 구조를 모두 포함한다.
또한, 이동 통신망은 기지국(BS: Base Station), 이동전화 교환국(MTSO: Mobile Telephone Switching Office), 홈 위치 등록기(HLR: Home Location Register) 이외에, 무선 패킷 데이터의 송수신을 가능하게 하는 액세스 게이트웨이(Access Gateway), PDSN(Packet Data Serving Node) 등과 같은 구성요소를 추가로 포함할 수 있다.
한편, 본 발명에서는 엔드 유저 장치(200)의 사용자가 복수의 콘텐츠 파일을 다운로드 받고자 하는 경우, 복수의 콘텐츠 파일 각각에 대한 각각의 해쉬 파일들이 하나의 해쉬 파일인 packed hash file로 생성하고, 복수의 콘텐츠 파일도 마치 하나의 콘텐츠 파일처럼 엔드 유저 장치(200)로 전송하게 된다.
물론 필요한 경우 복수의 콘텐츠 파일 각각에 대한 각각의 해쉬 파일들을 복수개의 해쉬 파일로 생성하는 것도 가능하다. 즉, 예를 들면 5개의 콘텐츠 파일을 다운로드 받고자 하는 경우 본래 5개의 해쉬 파일을 다운로드 하여야 할 것이나, 본 발명에서는 5개의 해쉬 파일을 하나의 packed hash file로 생성하거나 또는 2 내지 4개의 해쉬 파일로 생성하는 것이 가능하다.
즉, 본래 다운로드 받아야할 해쉬 파일보다 적은 개수이고 해쉬 파일로서 복수개의 해쉬 파일이 하나의 해쉬 파일로 생성되는 경우라면, 본 발명에 의한 packed hash file에 해당한다.
한편, 이러한 packed hash file을 이용하는 경우 종래와 비교하여 파일을 다운로드하기 위해 파일 송수신 장치들 사이에서 연결해야 할 데이터 송수신 횟수, 세션(session) 수 등이 줄어들게 된다.
예를 들어, 종래에는 5개의 콘텐츠 파일을 다운로드하기 위해서는 5개의 해쉬 파일을 다운로드 하기 위한 최소 5번의 해쉬 파일 수신과 최소 5번의 콘텐츠 파일의 수신이 필요하다.
그러나 본 발명에서는 예를 들어 5개의 콘텐츠 파일에 대한 1개의 packed hash file을 생성하고, 5개의 콘텐츠 파일을 한번에 묶어 콘텐츠 파일을 수신하는 경우 1번의 해쉬 파일 수신과 1번의 콘텐츠 파일의 수신이면 5개의 콘텐츠 파일을 모두 다운로드 받을 수 있게 된다.
물론 종래에도 복수개의 파일을 마치 하나의 파일처럼 한번에 묶어 다운로드할 수 있는 방법들이 제안되고 있었으나, 이러한 경우에도 전술한 예시에서는 최소 5번의 해쉬 파일 수신이 반드시 필요하게 되므로 콘텐츠를 송수신하는 장치들 사이의 부하가 증가할 수 밖에 없었다.
그러나 본 발명에서는 해쉬 파일들도 packed hash file로 형성되어 엔드 유저 장치(200)로 다운로드되게 되므로 1번의 해쉬 파일 수신과 1번의 콘텐츠 파일의 수신이면 5개의 콘텐츠 파일을 모두 다운로드 받을 수 있게 된다.
따라서, 종래에 비해 파일을 송수신하는 장치들 사이의 부하를 크게 줄일 수 있게 되는 것이다.
한편, 엔드 유저 장치(200)의 사용자가 요청하는 복수의 콘텐츠 파일은 엔드 유저 장치(200)의 사용자마다 달라질 수 있으므로 콘텐츠 파일 자체와 달리 해쉬 파일에 대해서는 복수개의 해쉬 파일들을 하나의 파일처럼 packed hash file로 생성하여 다운로드하도록 하는 것이 어려웠다.
예를 들어, 콘텐츠 파일의 종류가 a, b, c, d가 존재하는 경우라면 엔드 유저 장치(200)의 사용자가 요청할 수 있는 콘텐츠 파일의 경우의 수는 15가지의 경우가 가능하다.
즉, 엔드 유저 장치(200)는 a, b, c, d 4개의 콘텐츠 파일 중 a, b, c, d 중 하나의 콘텐츠 파일만을 요청할 수도 있고, a, b나 a, c 또는 a d 등 2개의 콘텐츠 파일만을 요청할 수도 있고 또한, 3개 또는 4개 모두 요청할 수도 있다.
따라서 엔드 유저 장치(200)의 사용자가 요청하는 콘텐츠 파일의 종류에 따라 하나의 콘텐츠 파일에 대한 해쉬 파일을 포함하여 모두 15개의 해쉬 파일과 packed hash file 등의 해쉬 파일을 콘텐츠 전송 장치(220)에 저장하여야만 한다.
이러한 콘텐츠 전송 장치(220)에 저장하여야 할 해쉬 파일과 packed hash file의 개수는 콘텐츠 전송 장치(220)가 전송할 수 있는 콘텐츠 파일의 종류가 증가되면 더욱 증가된다.
따라서 종래에는 엔드 유저 장치(200)의 사용자가 요청하는 복수의 콘텐츠 파일은 엔드 유저 장치(200)의 사용자마다 달라질 수 있으므로 콘텐츠 파일 자체와 달리 해쉬 파일에 대해서는 복수개의 해쉬 파일들을 하나의 파일처럼 packed hash file로 생성하여 콘텐츠 전송 장치(220)에 저장하였다가 엔드 유저 장치(200)로 다운로드하도록 하는 것이 어려웠던 것이다.
본 발명에서는 이러한 점을 해결하기 위해 콘텐츠를 전송하는 콘텐츠 전송 장치(220)를 관리하는 관리 장치(230)를 포함하고, 엔드 유저 장치(200)에서 복수의 콘텐츠를 요청하는 경우 복수의 콘텐츠 리스트가 관리 장치(230)로 전송되어 관리 장치(230)에서 복수의 콘텐츠에 대한 해쉬 파일인 packed hash file을 생성하고, 콘텐츠 전송 장치(220)로 전송하여 콘텐츠 전송 장치(220)에서 엔드 유저 장치(200)로 packed hash file을 전송하도록 한다.
한편, 콘텐츠 전송 장치(220)가 packed hash file을 생성하도록 하는 것도 가능하나, 이러한 경우 엔드 유저 장치(200)의 사용자가 요청하는 복수개의 파일 종류가 다양할 수 있어 콘텐츠 전송 장치(220)가 packed hash file을 생성하는데 따른 부하가 증가될 수 있다.
그리고 콘텐츠 전송 장치(220)가 packed hash file을 생성하는 동안 엔드 유저 장치(200)는 콘텐츠 파일의 다운로드를 대기하여야 하며, 또한 일반적으로 복수개가 존재하는 콘텐츠 전송 장치(220)에서 모두 packed hash file을 생성하고 동일한 packed hash file을 보유하도록 하는 것이 어려울 수 있으므로, 바람직하게는 콘텐츠 전송 장치(220)를 관리하고 제어하는 관리 장치(230)에서 packed hash file을 생성하도록 한다.
그리고 중계 장치(210)는, 관리 장치(230)가 전술한 바와 같이 콘텐츠 전송 장치(220)와의 동기화를 수행하는 경우 packed hash file의 생성과 동기화를 위해 콘텐츠 전송 장치(220)에서 엔드 유저 장치(200)로의 콘텐츠 파일의 전송이 지연되는 것을 방지할 수 있다.
또한, 엔드 유저 장치(200)로부터 수신되는 리스트 해쉬값을 저장함으로써 관리 장치(230)가 packed hash file을 생성 요청을 수신하지 못하거나, 관리 장치(230)의 상태가 현재 packed hash file을 생성할 수 없는 경우 다시 관리 장치(230)에서 packed hash file을 생성할 수 있게 하는 백업(back-up) 기능을 수행할 수 있다.
따라서, 만약 packed hash file의 생성과 동기화를 위해 콘텐츠 전송 장치(220)에서 엔드 유저 장치(200) 로의 콘텐츠 파일의 전송이 지연되는 것을 방지하는 것이 필요하지 않거나 백업 기능 등이 요구되지 않는 경우 도 2에서의 본 발명에 의한 파일 다운로드 시스템에 중계 장치(210)는 포함되지 않을 수 있다.
이하에서는 이러한 본 발명에 의한 파일 다운로드 시스템의 구성을 참조하여 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 파일 다운로드 시스템을 구성하는 각각의 장치에서 수행되는 순서를 도 3 내지 도 7을 참조하여 살펴보기로 한다.
먼저 도 3은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 엔드 유저 장치(200)에서 수행되는 과정을 예시하여 도시한 순서도이다.
도 3에 도시된 바와 같이, 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 엔드 유저 장치(200)에서 수행되는 과정은 먼저 다운로드 받을 복수의 콘텐츠 파일을 선택한다(S300).
그리고 선택된 복수의 콘텐츠 파일의 리스트를 이용하여 리스트 해쉬값을 생성한다(S302).
이러한 리스트 해쉬값은 복수의 콘텐츠 파일의 리스트에 대한 정보를 특정한 값으로 표현하거나 이러한 정보를 암호화하여 인증 및 보안을 위한 것으로서, 만약 복수의 콘텐츠 파일의 리스트에 대한 정보를 특정한 값으로 표현하거나 이러한 정보를 암호화하는 것이 필요하지 않은 경우라면 엔드 유저 장치(200)에서는 다운로드 받을 복수의 콘텐츠 파일의 리스트만을 콘텐츠 전송 장치(220)로 전송할 수 있다.
한편, 복수의 콘텐츠 파일의 리스트를 이용하여 리스트 해쉬값을 생성하는 것은 리스트에 대한 정보를 특정한 값으로 표현하거나 이러한 정보를 암호화하는 특정 함수인 해쉬 함수를 엔드 유저 장치(200), 콘텐츠 전송 장치(220) 및 관리 장치(230) 등이 공유함으로써 본 발명에 의한 파일 다운로드 서비스를 이용하는 사용자만이 파일 다운로드 서비스를 제공받을 수 있게 하기 위한 것이나 이에 한정되는 것은 아니다.
생성된 리스트 해쉬값 또는 다운로드 받고자 하는 복수의 콘텐츠 파일에 대한 리스트를 이용하여 콘텐츠 전송 장치(220)로 먼저 복수의 콘텐츠 파일에 대한 해쉬 파일 즉 packed hash file의 다운로드를 요청한다(S304).
그리고 콘텐츠 전송 장치(220)로부터 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file이 다운로드되는지 판단한다(S306).
만약 packed hash file이 다운로드되는 경우 즉 packed hash file의 다운로드가 가능한 경우에는 먼저 packed hash file을 다운로드 받고(S308), 복수의 콘텐츠 파일을 요청하여 복수의 콘텐츠 파일을 다운로드받는다(S310).
한편, 단계 306에서 콘텐츠 전송 장치(220)로부터 packed hash file이 다운로드되는지 판단하는 것은 먼저 콘텐츠 전송 장치(220) 로부터 packed hash file이 다운로드되는지 아닌지 여부로 판단하거나, 콘텐츠 전송 장치(220)로부터 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 packed hash file을 소유하고 있지 않다는 신호를 수신하는 등 다양한 방법으로 판단하는 것이 가능하다.
한편, packed hash file이 다운로드되지 않는 경우 즉 packed hash file의 다운로드가 가능하지 않은 경우에는 경우 콘텐츠 전송 장치(220)가 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 packed hash file을 가지고 있지 않은 경우이므로, 엔드 유저 장치(200)는 복수의 콘텐츠 파일의 리스트를 이용하여 생성된 리스트 해쉬값 또는 다운로드 받고자 하는 복수의 콘텐츠 파일에 대한 리스트를 중계 장치(210)로 전송한다(S312).
한편, 엔드 유저 장치(200)가 생성된 리스트 해쉬값을 중계 장치(210)로 전송하는 것은 전술한 바와 같이 본 발명에 의한 파일 다운로드 시스템의 사용자임을 인증하고 기타 보안을 위한 목적 등을 위한 것으로서 이러한 인증 및 보안 등이 필요하지 않은 경우라면, 엔드 유저 장치(200)는 중계 장치(210)로 리스트 해쉬값이 아닌 복수의 콘텐츠 파일의 리스트 자체를 전송하는 것도 가능함은 전술한 바와 같다.
한편, 엔드 유저 장치(200)는 복수의 콘텐츠 파일의 리스트를 이용하여 생성된 리스트 해쉬값을 중계 장치(210)로 전송하면서, 콘텐츠 전송 장치(220)로부터는 복수의 콘텐츠 파일 각각에 대하여 콘텐츠 파일별로 해쉬 파일과 콘텐츠 파일을 요청하여 다운로드 받는다(S314).
그리고 콘텐츠 전송 장치(220)로부터는 복수의 콘텐츠 파일 각각에 대하여 콘텐츠 파일별로 해쉬 파일과 콘텐츠 파일을 다운로드 받는 것은, 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일은 각각 하나의 해쉬 파일로서 다운로드받고, 복수의 콘텐츠 파일은 마치 하나의 파일처럼 한번에 다운로드받거나, 각각의 해쉬 파일은 각각 하나의 해쉬 파일로서 다운로드받고, 복수의 콘텐츠 파일도 각각의 콘텐츠 파일로서 각각 다운로드받는 등의 방법이 가능하다.
한편, 이러한 콘텐츠 전송 장치(220)가 엔드 유저 장치(200)의 사용자가 요청한 복수의 콘텐츠 파일에 대한 packed hash file을 가지고 있지 않아 콘텐츠 전송 장치(220)로부터는 복수의 콘텐츠 파일 각각에 대하여 콘텐츠 파일별로 해쉬 파일과 콘텐츠 파일을 다운로드 받는 것은 이러한 복수의 콘텐츠 파일을 처음으로 요청한 엔드 유저 장치(200)의 사용자만이 해당하게 된다.
다음으로 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 중계 장치(210)에서 수행되는 과정을 도 4를 참조하여 살펴본다.
도 4는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 중계 장치(210)에서 수행되는 과정을 예시하여 도시한 순서도이다.
도 4에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 중계 장치(210)에서 수행되는 과정은 먼저 엔드 유저 장치(200)로부터 엔드 유저 장치가(200)가 다운로드 받고자 하는 복수의 콘텐츠 리스트나 이러한 리스트를 암호화된 정보로 표시한 해쉬 값을 수신한다(S400).
엔드 유저 장치(200)로부터 리스트 해쉬값을 수신하는 것은 앞서 살펴본 바와 같이 엔드 유저 장치(200)가 콘텐츠 전송 장치(220)로 복수의 콘텐츠 파일에 대하여 다운로드를 요청하였으나, 콘텐츠 전송 장치(220)가 packed hash file을 가지고 있지 않은 경우이다.
그리고 리스트 해쉬값을 수신하는 것으로 도시하였으나, 인증이나 보안 등을 고려하지 않는 경우 복수의 콘텐츠 파일에 대한 리스트 자체를 엔드 유저 장치(200)로부터 수신할 수도 있음은 전술한 바와 같다.
한편, 엔드 유저 장치(200)로부터 리스트 해쉬값을 수신하면, 수신된 리스트 해쉬값을 중계 장치(210)에 저장하고(S402), 리스트 해쉬값을 관리 장치(230)로 전송한다(S404).
또한, 중계 장치(210)에서 packed hash file을 생성하여 콘텐츠 전송 장치(220)나 관리 장치(230)로 전송하는 것도 가능하다.
한편, 전술한 바와 같이 중계 장치(210)가 엔드 유저 장치(200)로부터 수신된 리스트 해쉬값을 저장하는 것은 관리 장치(230)로 리스트 해쉬값을 전송하는 것을 실패하거나 나중에 다시 관리 장치(230)로 리스트 해쉬값을 전송하게 되는 경우 등을 위한 백업 기능을 수행하기 위한 것으로서 수행될 수 있다.
따라서, 전술한 바와 같이 본 발명에 의한 파일 다운로드 시스템에서는 중계 장치(210)가 포함되지 않거나, 리스트 해쉬값을 저장하는 기능 등을 수행하지 않을 수도 있다.
다음으로는 엔드 유저 장치(200)로부터 콘텐츠 파일의 전송 요청을 수신하여 엔드 유저 장치(200)로 파일을 다운로드해주는 콘텐츠 전송 장치(220)에서 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법이 수행되는 순서를 살펴보기로 한다.
도 5는 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 콘텐츠 전송 장치(220)에서 수행되는 과정을 예시하여 도시한 순서도이다.
도 5에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일을 다운로드하기 위해 콘텐츠 전송 장치(220)에서 수행되는 순서는 먼저 엔드 유저 장치(200)로부터 콘텐츠 파일의 다운로드 요청이 수신되는지 판단한다(S500).
엔드 유저 장치(200)로부터 콘텐츠 파일의 다운로드 요청이 수신되는 경우, 엔드 유저 장치(200)로부터의 콘텐츠 파일의 다운로드 요청이 복수의 콘텐츠 파일 다운로드 요청인지 판단하기 위해 엔드 유저 장치(200)로부터 복수의 콘텐츠 파일에 대한 해쉬 파일 즉 packed hash file의 다운로드 요청이 수신되는지 판단한다(S502).
그리고 엔드 유저 장치(200)로부터 수신되는 것이 packed hash file의 다운로드 요청인 경우, 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file이 콘텐츠 전송 장치(220)에 있는지 판단한다(S504).
한편, 단계 502에서 엔드 유저 장치(200)로부터 수신되는 packed hash 파일의 다운로드 요청인지 여부의 판단은 엔드 유저 장치(200)로부터 엔드 유저 장치(200)에서 복수의 콘텐츠 파일의 리스트나 이러한 복수의 콘텐츠 파일의 리스트를 이용하여 생성되는 리스트 해쉬값이 엔드 유저 장치(200)로부터 수신되었는지 여부를 이용하여 판단하거나, 엔드 유저 장치로부터 별도의 본 발명에 의한 파일 다운로드 방법에 의한 파일 다운로드 요청 신호를 수신되는지 여부를 이용하여 판단할 수 있다.
그리고 단계 504에서 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file이 콘텐츠 전송 장치(220)에 있는지 여부를 판단하는 경우에도 엔드 유저 장치(200)로부터 수신된 복수의 콘텐츠에 대한 리스트나 복수의 콘텐츠에 대한 리스트가 특정값으로 표시되는 리스트 해쉬값로부터 복수의 콘텐츠 파일의 리스트를 획득하고, 획득된 복수의 콘텐츠 파일에 대한 리스트를 이용하여 판단할 수 있다.
한편, 복수의 콘텐츠에 대한 리스트가 특정값으로 표시되는 리스트 해쉬값로부터 복수의 콘텐츠 파일의 리스트를 획득하는 경우 리스트 해쉬값로부터 복수의 콘텐츠 파일의 리스트를 획득하기 위해의 콘텐츠 전송 장치(220)에도 엔드 유저 장치(200), 관리 장치(230)와 동일한 리스트 해쉬값로부터 복수의 콘텐츠 파일의 리스트를 획득하게 하기 위한 특정 함수인 해쉬 함수를 공유할 수 있다.
한편, 만약 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file이 콘텐츠 전송 장치(220)에 있는 경우라면, 복수의 콘텐츠 파일에 대한 해쉬 파일 즉 packed hash file을 엔드 유저 장치(200)로 먼저 전송하고(S506), 복수의 콘텐츠 파일을 엔드 유저 장치(200)로 전송한다(S508).
한편, 단계 502에서 엔드 유저 장치(200)로부터의 콘텐츠 파일 다운로드 요청이 복수의 콘텐츠 파일 다운로드 요청이 아니거나, 단계 504에서 콘텐츠 전송 장치(220)에 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file을 가지고 있지 않은 경우에는 각각의 콘텐츠 파일별 해쉬 파일을 먼저 엔드 유저 장치(200)로 전송하고(S510), 각각의 콘텐츠 파일 별로 콘텐츠 파일을 전송한다(S512). 즉, 종래와 같이 콘텐츠 파일에 대한 검증을 위한 해쉬 파일을 전송한 후, 해당 콘텐츠 파일을 엔드 유저 장치(200)로 전송한다.
이하에서는 이러한 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일의 다운로드를 가능하게 하기 위해 관리 장치(230)에서 수행되는 과정을 도 6을 참조하여 살펴보기로 한다.
도 6은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일의 다운로드를 가능하게 하기 위해 관리 장치(230)에서 수행되는 과정을 예시하여 도시한 순서도이다.
도 6에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일의 다운로드를 가능하게 하기 위해 관리 장치(230)에서는 먼저 중계 장치(210)로부터 리스트 해쉬값을 수신한다(S600).
즉, 도 6은 엔드 유저 장치(200) 에서 요청한 복수의 콘텐츠 파일에 대한 packed hash file이 콘텐츠 전송 장치(220) 에 저장되어 있지 않은 경우 관리 장치(230)의 동작 순서를 예시하여 도시한 것이다.
그리고 도 6에서는 중계 장치(210)를 통해 엔드 유저 장치(200)로부터 복수의 콘텐츠 리스트에 대한 리스트 해쉬값을 수신하는 것으로 도시하였으나, 전술한 바와 같이, 별도의 중계 장치(210)를 통하지 않고, 엔드 유저 장치(200)로부터 리스트 해쉬값 또는 복수의 콘텐츠에 대한 리스트 자체를 수신하는 것도 가능하다.
한편, 중계 장치(210)로부터 복수의 콘텐츠에 대한 리스트 또는 이를 특정값으로 표시한 리스트 해쉬값을 수신한 관리 장치(230)는 복수의 콘텐츠 파일의 리스트를 획득한다(S602).
물론 리스트 해쉬값으로 수신되는 경우 중계 장치(210)는 엔드 유저 장치(200)와 공유하는 해쉬 함수를 이용하여 리스트 해쉬값으로부터 복수의 콘텐츠 파일의 리스트를 획득하게 된다.
관리 장치(230)와 엔드 유저 장치(200)가 해쉬 함수를 공유하고 이를 이용하여 리스트 해쉬값을 생성하는 것은 전술한 바와 같이, 인증 및 보안 등의 목적으로서, 만약 이러한 목적이 필요하지 않은 경우라면 관리 장치(230)는 중계 장치(210)로부터 또는 엔드 유저 장치(200)에서 직접 엔드 유저 장치(200)가 요청하는 복수의 콘텐츠 파일에 대한 리스트를 수신하는 것도 가능하다.
한편, 리스트 해쉬값으로부터 복수의 콘텐츠 파일의 리스트를 획득하면, 획득된 복수의 콘텐츠 파일에 대한 리스트를 이용하여 복수의 콘텐츠 파일에 대한 해쉬 파일 즉 packed hash file을 생성한다(S604).
그리고 콘텐츠 전송 장치(220)로 생성된 packed hash file을 전송한다(S606).
이렇게 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 packed hash file을 콘텐츠 전송 장치(220)로 전송함으로써 콘텐츠 전송 장치(220)는 수신된 packed hash file을 저장하고 있다가, 만약 다른 엔드 유저 장치(미도시)(200)에서 동일한 리스트의 콘텐츠 파일 즉 같은 복수의 콘텐츠 파일에 대한 다운로드 요청이 수신되는 경우 먼저 packed hash file을 엔드 유저 장치(200)로 전송하고, 복수의 콘텐츠 파일을 엔드 유저 장치(200)로 전송하게 되는 것이다.
이하에서는 콘텐츠 전송 장치(220)에 엔드 유저 장치(200)가 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file을 가지고 있는 경우 엔드 유저 장치(200)에서 콘텐츠 파일을 다운로드 받는 순서를 도 7을 참조하여 살펴본다.
도 7은 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일 다운로드가 수행되는 과정을 예시하여 도시한 순서도이다.
도 7에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 의한 파일 다운로드 방법에 의해 파일 다운로드가 수행되는 과정은 먼저 콘텐츠 전송 장치(220)로부터 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file을 다운로드받는다(S700).
그리고 packed hash file 다운로드후, 복수의 콘텐츠 파일의 다운로드를 시작하게 되며(S702), 단계 700에서 다운로드받은 packed file을 이용하여 복수의 콘텐츠 파일 각각에 대한 유효성 검사를 수행한다(S704).
이렇게 복수의 콘텐츠 파일 각각에 대한 유효성 검사를 수행하여 복수의 콘텐츠 파일 각각에 대한 유효성 검사가 완료되면, 비로소 복수의 콘텐츠 파일에 대한 다운로드는 완료되게 된다(S706).
따라서, 엔드 유저 장치(200)에서는 복수의 콘텐츠 파일을 다운로드받게 되지만, 한번에 복수의 콘텐츠 파일에 대하여 유효성 검사를 위한 packed hash file을 다운로드받을 수 있어 상대적으로 보다 빠르게 그리고 엔드 유저 장치(200)의 부하도 줄이면서 복수의 콘텐츠 파일을 다운로드 받을 수 있게 된다.
이하에서는 도 8, 도 9 및 도 10을 비교하여 종래의 파일 다운로드 방법과 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 구성의 차이점에 대해 살펴보기로 한다.
도 8은 종래의 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 구성을 예시하여 도시한 도면이고, 도 9와 도 10은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 방법에 적용될 수 있는 해쉬 파일과 콘텐츠 파일의 구성을 예시하여 도시한 도면이다.
도 8에 예시된 바와 같이 종래의 해쉬 파일은 해쉬 파일 내의 하나의 영역에는 콘텐츠 파일의 블록에 대하여 무결성(integrity) 등 파일의 유효성 검사를 위한 해쉬값이 저장된다.
즉, 예를 들면 콘텐츠 파일에 대하여 10MB 단위의 블록마다 각각 이에 대응되는 해쉬값이 저장되고 이러한 해쉬값들이 모여 하나의 해쉬 파일을 형성하게 된다.
이에 비해 도 9와 도10에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 해쉬 파일 즉 packed hash file은 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일들이 예를 들면, 하나의 파일로 생성되게 된다.
한편, 이러한 packed hash file의 형성 방법은 도 9와 도 10에 각각 도시된 바와 같이 다양한 방법으로 가능하다.
먼저 도 9에서와 같이 복수의 콘텐츠 파일을 마치 하나의 파일로 보고, 복수의 콘텐츠 파일 자체를 미리 설정된 단위로 나누어 해쉬값을 생성하는 것이다.
이에 비해 도 10에서는 복수의 콘텐츠 파일에서 하나의 콘텐츠 파일 별로 미리 설정된 단위로 나누어 해쉬값을 생성하는 것이다.
예를 들어 도 8의 예시와 같이 10MB당 해쉬값을 생성한다고 가정하고, 콘텐츠 파일1은 24MB이고 콘텐츠 파일 2는 25MB라고 가정한다.
이러한 경우 도 9에서는 콘텐츠 파일 1과 콘텐츠 파일 2이 모두 결합된 복수의 콘텐츠 파일 그 자체를 하나의 파일로 간주하고 10MB 단위의 블록으로 해쉬값을 생성하는 것이다.
이에 비해 도 10에서는 콘텐츠 파일 1과 콘텐츠 파일 2 각각을 구분하여 10MB 단위의 블록으로 해쉬값을 생성하는 것이다.
따라서 도 9의 예시에서 packed hash file의 영역 3에는 콘텐츠 파일 1의 마지막 4MB와 콘텐츠 파일 2의 처음 6MB에 대한 해쉬값이 저장되게 되는 것이다.
이에 비해 도 10의 예시에서 packed hash file의 영역 3에는 콘텐츠 파일 1의 마지막 4MB에 대한 해쉬값만이 저장되게 된다.
도 9와 같이 복수의 콘텐츠 파일 전부를 하나의 콘텐츠 파일로 간주하고 packed hash file을 형성하는 경우에는 상대적으로 packed hash file의 크기를 줄일 수 있다.
이에 비해 도 10과 같이 콘텐츠 파일별로 해쉬값을 생성하는 경우, 콘텐츠 파일별로 해쉬값이 형성되므로 콘텐츠 파일 각각에 대한 유효성 검사를 상대적으로 보다 빨리 수행할 수 있다.
한편, 예를 들어 콘텐츠 파일에 대하여 10MB 단위로 해쉬값을 생성하는 경우 형성되는 해쉬값은 파일의 무결성 검사를 위한 해쉬 함수는 MD 5(Message-Digest algorithm 5) 함수 등의 다양한 함수가 이용될 수 있으며, 이러한 함수의 종류와 해쉬값의 형성 방법 등에 따라 다양한 크기를 가지는 해쉬값이 형성될 수 있다.
즉, 예를 들어 콘텐츠 파일에 대하여 10MB 단위로 해쉬값을 생성하는 경우 형성되는 해쉬값은 해쉬 함수의 종류에 따라 1MB 또는 2MB 등 다양한 크기의 단위를 가지는 해쉬값이 형성될 수 있다.
한편, 이러한 packed hash file 자체의 형성 방법은 예시에 불과하며, 복수의 콘텐츠 파일에 대하여 하나의 해쉬 파일의 형태를 형성할 수 있는 경우라면 아무런 제한이 없다.
그리고 파일의 무결성 검사를 위한 해쉬 함수는 MD 5(Message-Digest algorithm 5) 함수 등의 다양한 함수가 이용될 수 있으며, 도 8, 도 9 및 도 10의 예시와 같이 파일을 구성하는 블록별로 무결성 검사 등을 수행하기 위한 해쉬 파일을 생성하는 것뿐만 아니라 패킷 단위나 기타 다른 단위를 기준으로 해쉬 파일을 생성할 수 있음은 자명하다.
그리고, 전술한 본 발명에 의한 파일 다운로드 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
이하에서는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 방법이 적용되는 것을 예시를 통해 살펴보기로 한다.
먼저 엔드 유저 장치(200)의 사용자가 파일a, b 및 c를 다운로드 받고자 하는 경우를 가정한다.
이 경우 종래에는 파일a를 다운로드 받기 위해 먼저 파일a의 유효성 검사를 위한 해쉬 파일을 다운로드 받고, 파일a를 다운로드 받는다.
그리고 콘텐츠 전송 장치(220)와 별도의 다른 세션 연결 등을 통해 각각 파일b, c의 유효성 검사를 위한 해쉬 파일을 다운로드 받고 파일b나 파일c를 다운로드 받게 된다.
따라서, 종래에는 파일 a, b 및 c를 전송하기 위해서는 엔드 유저 장치(200)와 콘텐츠 전송 장치(220) 사이에는 6개의 세션 연결이 필요하게 된다.
그러나 본 발명에서는 엔드 유저 장치(200)의 사용자가 파일a, b 및 c를 다운로드 받고자 하는 경우 파일 리스트(또는 리스트의 해쉬값)이 콘텐츠 전송 장치(220)로 전송되고, 콘텐츠 전송 장치(220)는 파일a, b 및 c 각각의 해쉬 파일을 하나의 해쉬 파일로 생성한 packed hash file이 콘텐츠 전송 장치(220)에 저장되어 있는 경우 packed hash file을 엔드 유저 장치(200)로 전송하고, 파일a, b 및 c도 엔드 유저 장치(200)로 전송하게 된다.
그러나, 본원 발명에서는 파일 a, b 및 c를 전송하기 위해서는 엔드 유저 장치(200)와 콘텐츠 전송 장치(220) 사이에는 2개의 세션 연결만이 필요하게 된다.
물론, 이러한 세션의 수는 파일 a, b 및 c를 하나의 파일처럼 다운로드하는 경우를 가정한 것이다.
전술한 바와 같이, 파일a, b 및 c를 엔드 유저 장치(200)로 전송하는 것은 파일 a, b 및 c를 하나의 파일처럼 다운로드하는 것뿐만 아니라 파일 a, b 및 c 각각을 별개의 파일로 다운로드하는 등 다양한 방법이 가능하며, 콘텐츠 파일 자체의 다운로드 방법은 아무런 제한이 없다.
그러나, 사용자가 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일을 하나의 해쉬 파일로 생성하여 엔드 유저 장치(200)로 전송함으로써 상대적으로 엔드 유저 장치(200)와 콘텐츠 전송 장치(220) 사이의 세션 연결 수가 줄어들 수 있으며, 또한 파일의 수가 줄어들어 상대적으로 엔드 유저 장치(200)와 콘텐츠 전송 장치(220) 각각에서의 부하도 줄어 들 수 있게 된다.
한편, 엔드 유저 장치(200)에서 요청한 파일 a, b 및 c에 대한 packed hash file이 콘텐츠 전송 장치(220)에 존재하지 않는 경우에는 콘텐츠 전송 장치(220)는 packed hash file을 전송할 수 없음을 나타내는 신호 등을 엔드 유저 장치(200)로 전송한다.
그리고 이러한 신호를 수신한 엔드 유저 장치(200)는 파일 a, b 및 c에 대해서는 종래와 같이 파일 a, b 및 c 각각에 대한 해쉬 파일과 콘텐츠 파일을 다운로드받고, 파일 a, b 및 c에 대한 리스트(또는 해쉬값)를 중계 장치(210) 또는 관리 장치(230)로 전송한다.
그리고 이를 수신한 관리 장치(230)는 파일 a, b 및 c에 대한 packed hash file을 생성하여 콘텐츠 전송 장치(220)로 전송한다.
한편, 만약 다음에 다른 엔드 유저 장치(미도시)가 동일하게 파일 a, b 및 c에 대하여 다운로드 요청을 하는 경우 파일 a, b 및 c에 대한 packed hash file을 전송하고 파일 a, b 및 c를 전송한다.
이렇게 함으로써 처음으로 파일 a, b 및 c를 엔드 유저 장치(200) 에는 packed hash file 생성에 따른 시간의 지연없이 a, b 및 c를 다운로드 해주는 것이 가능하고, 다음에 파일 a, b 및 c를 다운로드 요청하는 다른 엔드 유저 장치(미도시)로는 보다 빠르게 복수의 파일 a, b 및 c를 다운로드 해주는 것이 가능하게 된다.
한편, 이러한 파일 다운로드 시스템은 단순히 특정 파일을 다른 장치로 전송하여 주는 경우뿐만 아니라 다양한 시스템과 분야에 적용 가능하다.
예를 들면, P2P 네트워크나, 콘텐츠 전송망(CDN: Contents Delivery Network) 그리고 P2P 네트워크와 CDN이 결합된 하이브리드(hybrid) CDN나 하이브리드 P2P 네트워크 등에 본 발명을 적용할 수 있다.
예를 들어 P2P 네트워크에서 엔드 유저 장치(200)를 파일을 다운로드 하고자 하는 피어(peer)로, 콘텐츠 전송 장치(220)를 파일을 전송해 주는 피어로, 그리고 관리 장치(230)는 이러한 피어들을 관리하는 장치로 설정하는 경우 P2P 네트워크에서 피어들 사이의 복수의 파일 다운로드가 보다 빠르게 이루어지도록 하는 것이 가능하다.
또한, CDN에서 엔드 유저 장치(200)를 CDN 서비스를 이용하는 클라이언트로, 콘텐츠 전송 장치(220)를 클라이언트로 콘텐츠를 전송하는 에지 서버(edge sever)로, 그리고 관리 장치(230) 는 이러한 에지 서버들을 관리하는 장치로 설정하는 경우 CDN에서 CDN 서비스를 이용하는 클라이언트로 복수의 파일 다운로드가 보다 빠르게 이루어지도록 하는 것도 가능하다.
또한, P2P 네트워크와 CDN이 결합되어 피어들을 CDN의 에지 서버로 활용하는 하이브리드(hybrid) CDN이나 P2P 네트워크와 CDN이 결합되어 CDN의 에지 서버를 피어로 활용하는 하이브리드 P2P의 경우도 P2P 네트워크의 피어나 CDN의 에지 서버를 콘텐츠 전송 장치(220)로, 하이브리드 CDN 서비스나 하이브리드 P2P 서비스를 관리하는 서버를 관리 장치(230)로 설정하는 경우 하이브리드 CDN 서비스나 하이브리드 P2P 서비스 이용자가 복수의 파일 다운로드가 보다 빠르게 이루어지도록 하는 것도 가능하다.
이하에서는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 장치들의 구성을 도 11 내지 도 14을 참조하여 살펴보기로 한다.
먼저 도 11은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 엔드 유저 장치(200)의 구성을 예시하여 도시한 도면이다.
도 11에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 엔드 유저 장치(200)는 해쉬 함수 저장부(1100), 리스트 해쉬값 생성부(1110), 콘텐츠 파일 유효성 검사부(1120) 및 통신부(1130)를 포함할 수 있다.
해쉬 함수 저장부(1100)에는 콘텐츠 파일의 유효성 검사를 위한 해쉬 함수가 저장된다. 콘텐츠 파일의 유효성 검사를 위한 해쉬 함수는 전술한 바와 같이 MD5 해쉬 함수 등 다양한 해쉬 함수가 가능하다.
또한, 해쉬 함수 저장부(1100)에는 엔드 유저 장치(200)에서 콘텐츠 전송 장치(220)로 전송되며, 또한 중계 장치(210)를 통해 또는 관리 장치(230)로 직접 전송되는 엔드 유저 장치(200)에서 사용자가 선택한 복수의 콘텐츠 파일에 대한 리스트를 이용하여 생성되는 리스트 해쉬값을 생성하기 위한 해쉬 함수가 저장될 수 있다.
리스트 해쉬값 생성부(1110)는 해쉬 함수 저장부(1100)에 저장된 해쉬 함수로 엔드 유저 장치(200)를 통해 사용자가 선택한 복수의 콘텐츠 파일에 대한 리스트를 이용하여 리스트 해쉬값을 생성한다.
한편, 전술한 바와 같이 본 발명에 의한 파일 다운로드 서비스에 대하여 인증이나 보안 등이 요구되지 않는 경우 리스트 해쉬값을 반드시 생성할 필요성이 없으므로, 본 발명에 의한 엔드 유저 장치(200)에서 해쉬 함수 저장부(1100)에는 복수의 콘텐츠 파일에 대한 리스트를 이용하여 생성되는 리스트 해쉬값을 생성하기 위한 해쉬 함수가 저장되지 않고, 또한 엔드 유저 장치(200)에는 리스트 해쉬값 생성부(1110)가 포함되지 않을 수 있다.
콘텐츠 파일 유효성 검사부(1120)는 해쉬 함수 저장부(1100)에 저장된 콘텐츠 파일의 유효성 검사를 위한 MD5 함수와 같은 해쉬 함수를 이용하여 콘텐츠 전송 장치(220)로부터 수신한 해쉬 파일을 이용하여 콘텐츠 파일의 유효성을 검사한다.
통신부(1130)는 통신망을 통해 콘텐츠 전송 장치(220), 중계 장치(210) 또는 관리 장치(230)와 파일 다운로드를 위해 필요한 데이터를 송수신한다.
이하에서는 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대하여 콘텐츠 전송 장치(220)가 복수의 콘텐츠 파일에 대한 해쉬 파일을 소유하고 있지 않은 경우, 엔드 유저 장치(200)가 복수의 콘텐츠에 대한 리스트 또는 리스트에 대한 해쉬값을 전송하는 중계 장치(210)의 구성에 대하여 도 12를 참조하여 살펴보기로 한다.
도 12는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 중계 장치(210)의 구성을 예시하여 도시한 도면이다.
도 12에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 중계 장치(210)는 리스트 해쉬값 저장부(1200)와 통신부(1210)를 포함할 수 있다.
리스트 해쉬값 저장부(1200)는 엔드 유저 장치(200)로부터 수신된 리스트 해쉬값이 저장된다.
리스트 해쉬값은 엔드 유저 장치(200)에서 사용자가 선택한 복수의 콘텐츠 파일에 대한 목록인 콘텐츠 파일에 대한 리스트를 해쉬 함수를 이용하여 생성한 해쉬값이다.
이를 수신한 중계 장치(210)는 통신부(1210)를 통해 관리 장치(230)로 리스트 해쉬값을 관리 장치(230)로 전송한다.
한편, 전술한 바와 같이 리스트 해쉬값은 복수의 콘텐츠 파일에 대한 리스트를 특정 값으로 표현하기 위한 것이며, 리스트 해쉬값을 생성하기 위한 해쉬 함수는 이를 위해 사용되는 특정 함수이다.
그리고 이러한 복수의 콘텐츠 파일에 대한 리스트를 특정 값으로 표현하는 것은 인증이나 보안 등을 위한 것으로서, 만약 인증이나 보안 등의 목적이 요구되지 않는 경우라면, 리스트 해쉬값이 생성되지 않으므로 리스트 해쉬값 저장부(1200)는 엔드 유저 장치(200)로부터 수신된 복수의 콘텐츠 파일에 대한 리스트가 저장될 수 있으며, 통신부(1210)는 관리 장치(230)로 복수의 콘텐츠 파일에 대한 리스트를 전송할 수 있다.
한편, 중계 장치(210)가 리스트 해쉬값을 저장하는 것은 관리 장치(230)가 리스트 해쉬값을 수신하지 못하는 경우 등을 위한 백업의 기능 등을 위한 것으로서 이러한 기능이 필요하지 않은 경우라면 리스트 해쉬값 저장부(1200)는 본 발명에 의한 중계 장치(210)에 포함되지 않을 수 있다.
또한, 전술한 바와 같이 만약 packed hash file의 생성과 동기화를 위해 콘텐츠 전송 장치(220)에서 엔드 유저 장치(200)로의 콘텐츠 파일의 전송이 지연되는 것을 방지하는 것이 필요하지 않거나 백업 기능 등이 요구되지 않는 경우 본 발명에 의한 파일 다운로드 시스템에 중계 장치(210)가 포함되지 않을 수 있음은 전술한 바와 같다.
이하에서는 엔드 유저 장치(200)로 콘텐츠 파일을 전송하고, 관리 장치(230)로부터 엔드 유저 장치(200)로 전송할 콘텐츠 파일과 packed hash file을 포함하는 해쉬 파일을 수신하는 콘텐츠 전송 장치(220)의 구성에 대해 도 13을 참조하여 살펴보기로 한다.
도 13은 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 콘텐츠 전송 장치(220)의 구성을 예시하여 도시한 도면이다.
도 13에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 콘텐츠 전송 장치(220)는 해쉬 함수 저장부(1300), packed hash file 저장부(1310), 콘텐츠 파일 저장부(1320) 및 통신부(1330)를 포함할 수 있다.
해쉬 함수 저장부(1300)는 관리 장치(230)로부터 수신한 콘텐츠 파일의 유효성 검사를 위한 해쉬 함수가 저장되며, 콘텐츠 파일의 유효성 검사를 위한 해쉬 함수는 전술한 바와 같이 MD5 해쉬 함수 등 다양한 해쉬 함수가 가능하다.
또한, 해쉬 함수 저장부(1300)에는 엔드 유저 장치(200)에서 사용자가 선택한 복수의 콘텐츠 파일에 대한 리스트를 이용하여 리스트 해쉬값을 생성하고 이러한 리스트 해쉬값을 이용하여 복수의 콘텐츠 파일에 대한 요청을 하는 경우 리스트 해쉬값으로부터 복수의 콘텐츠 파일에 대한 리스트를 획득하기 위한 해쉬 함수가 저장될 수 있다.
packed hash file 저장부(1310)는 관리 장치(230)에서 생성되어 수신되는 엔드 유저 장치(200)에서 요청한 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file이 저장된다.
콘텐츠 파일 저장부(1320)는 관리 장치(230)에서 수신되는 콘텐츠 파일이 저장된다.
통신부(1330)는 통신망을 통해 엔드 유저 장치(200)와 관리 장치(230)와 연결되어 파일 다운로드를 위해 필요한 데이터를 송수신한다.
이하에서는 엔드 유저 장치(200)로 콘텐츠 파일을 전송하는 콘텐츠 전송 장치(220)를 관리하고 엔드 유저 장치(200) 또는 중계 장치(210)로부터 복수의 콘텐츠 파일에 대한 리스트 정보를 수신하는 관리 장치(230)의 구성에 대해 도 14를 참조하여 살펴보기로 한다.
도 14는 본 발명의 바람직한 일 실시예에 따른 파일 다운로드 시스템에 적용될 수 있는 관리 장치(230)의 구성을 예시하여 도시한 도면이다.
도 14에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 관리 장치(230)는 해쉬 함수 저장부(1400), packed hash file 생성부(1410) 및 통신부(1420)를 포함할 수 있다.
해쉬 함수 저장부(1400)는 콘텐츠 파일의 유효성 검사를 위해 이용되는 해쉬 함수가 저장되며, 콘텐츠 파일의 유효성 검사를 위한 해쉬 함수는 전술한 바와 같이 MD5 해쉬 함수 등 다양한 해쉬 함수가 가능하다.
또한, 해쉬 함수 저장부(1400)에는 엔드 유저 장치(200)에서 사용자가 선택한 복수의 콘텐츠 파일에 대한 리스트를 이용하여 생성되는 리스트 해쉬값을 수신하는 경우 리스트 해쉬값으로부터 복수의 콘텐츠 파일에 대한 리스트를 획득하기 위한 해쉬 함수가 저장될 수 있다.
packed hash file 생성부(1410)는 엔드 유저 장치(200)에서 사용자가 선택하여 요청한 복수의 콘텐츠 파일에 대한 리스트를 이용하여 복수의 콘텐츠 파일에 대한 해쉬 파일인 packed hash file을 생성하며, 이러한 packed hash file의 생성에는 해쉬 함수 저장부(1400)에 저장된 해쉬 함수가 이용된다.
통신부(1420)는 통신망을 통해 콘텐츠 전송 장치(220) 그리고 엔드 유저 장치(200) 또는 중계 장치(210) 와 연결되어 파일 다운로드를 위해 필요한 데이터를 송수신한다.
한편, 전술한 본 발명에 의한 파일 다운로드 시스템에 적용되는 장치들은 전술한 각각의 장치에서 구현되는 방법들이 프로그램으로 구현되어 컴퓨터와 같은 디지털 처리 장치에 설치되어 구현될 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
200: 엔드 유저 장치 210: 중계 장치
220: 콘텐츠 전송 장치 230: 관리 장치
1100: 해쉬 함수 저장부 1110: 리스트 해쉬값 생성부
1120: 콘텐츠 파일 유효성 검사부 1130: 통신부
1200: 리스트 해쉬값 저장부 1210: 통신부
1300: 해쉬 함수 저장부 1310: packed hash file 저장부
1320: 콘텐츠 파일 저장부 1330: 통신부
1400: 해쉬 함수 저장부 1410: packed hash file 생성부
1420: 통신부

Claims (31)

  1. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에서 수행되는 콘텐츠 파일의 다운로드 방법에 있어서,
    다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하는 단계;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 다운로드받는 단계;
    상기 복수의 콘텐츠 파일의 다운로드를 요청하는 단계; 및
    상기 복수의 콘텐츠 파일을 다운로드받는 단계를 포함하되,
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우,
    상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 다운로드 받는 단계를 수행하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우,
    상기 복수의 콘텐츠 파일에 대한 리스트(list)를 상기 관리 장치로 전송하는 단계를 수행하는 것을 특징으로 하는 콘텐츠 파일 다운로드 방법.
  4. 제3항에 있어서,
    상기 파일 다운로드 시스템은 중계 장치를 더 포함하고,
    상기 복수의 콘텐츠 파일에 대한 리스트를 상기 관리 장치로 전송하는 단계는 상기 중계 장치를 통해 수행되는 것을 특징으로 하는 콘텐츠 파일 다운로드 방법.
  5. 제1항에 있어서,
    상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는,
    상기 복수의 콘텐츠 파일에 대한 리스트를 상기 콘텐츠 전송 장치로 전송하여 수행되는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법.
  6. 제1항에 있어서,
    상기 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계는,
    상기 복수의 콘텐츠 파일에 대한 리스트를 미리 저장된 해쉬 함수를 이용하여 리스트 해쉬값으로 생성하는 단계; 및
    상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법.
  7. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에서 수행되는 콘텐츠 파일의 전송 방법에 있어서,
    상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는지 판단하는 단계;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계; 및
    상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하고, 상기 엔드 유저 장치로 상기 복수의 콘텐츠 파일을 전송하는 단계를 포함하되,
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 전송 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하여 수행되는 것을 특징으로 하는 콘텐츠 파일의 전송 방법.
  10. 제7항에 있어서,
    상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계는,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행되는 것을 특징으로 하는 콘텐츠 파일의 전송 방법.
  11. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에서 수행되는 콘텐츠 파일의 다운로드를 관리하기 위한 방법에 있어서,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하는 단계;
    상기 수신된 복수의 콘텐츠 파일에 대한 리스트에 따라 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 및
    상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함하되,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는,
    상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 수행되는 것을 특징으로 하는 콘텐츠 파일의 다운로드 관리 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행되는 것을 특징으로 하는 콘텐츠 파일의 다운로드 관리 방법
  14. 제11항에 있어서,
    상기 파일 다운로드 시스템은 중계 장치를 더 포함하고,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는 상기 중계 장치를 통해 수행되는 것을 특징으로 하는 콘텐츠 파일의 다운로드 관리 방법.
  15. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에 있어서,
    상기 엔드 유저 장치에서 다운로드 받을 콘텐츠 파일 유효성 검사에 이용되는 해쉬(hash) 함수가 저장되는 해쉬 함수 저장부; 및
    상기 해쉬 함수 저장부에 저장된 상기 해쉬 함수를 이용하여 상기 콘텐츠 파일의 유효성을 검사하는 콘텐츠 파일 유효성 검사부를 포함하고,
    상기 엔드 유저 장치는 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하고-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하여, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 콘텐츠 파일 유효성 검사부에서 상기 복수의 콘텐츠 파일에 대한 유효성 검사를 수행하고,
    상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우,
    상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 콘텐츠 전송 장치로부터 다운로드 받아 상기 콘텐츠 파일 유효성 검사부에서 상기 복수의 콘텐츠 파일에 대한 유효성 검사를 수행하는 것을 특징으로 하는 엔드 유저 장치.
  16. 삭제
  17. 제15항에 있어서,
    상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우,
    상기 복수의 콘텐츠 파일에 대한 리스트(list)를 상기 관리 장치로 전송하는 것을 특징으로 하는 엔드 유저 장치.
  18. 제17항에 있어서,
    상기 파일 다운로드 시스템은 중계 장치를 더 포함하고,
    상기 엔드 유저 장치는 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 중계 장치를 통해 상기 관리 장치로 전송하는 것을 특징으로 하는 엔드 유저 장치.
  19. 제15항에 있어서,
    상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로 상기 복수의 콘텐츠 파일에 대한 해쉬 파일의 다운로드를 요청하는 것은 상기 복수의 콘텐츠 파일에 대한 리스트를 상기 콘텐츠 전송 장치로 전송하여 수행되는 것을 특징으로 하는 엔드 유저 장치.
  20. 제15항에 있어서,
    상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로 상기 복수의 콘텐츠 파일에 대한 해쉬 파일의 다운로드를 요청하는 것은 상기 복수의 콘텐츠 파일에 대한 리스트를 미리 저장된 해쉬 함수를 이용하여 리스트 해쉬값으로 생성하고, 상기 생성된 리스트 해쉬값을 상기 콘텐츠 전송 장치로 전송하여 수행되는 것을 특징으로 하는 엔드 유저 장치.
  21. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에 있어서,
    복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 저장되는 해쉬 파일 저장부-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 복수의 콘텐츠 파일이 저장되는 콘텐츠 파일 저장부를 포함하고,
    상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신되면, 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 상기 해쉬 파일 저장부에 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하고,
    상기 해쉬 파일 저장부에 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송하는 것을 특징으로 하는 콘텐츠 전송 장치.
  22. 삭제
  23. 제21항에 있어서,
    상기 콘텐츠 전송 장치는,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하는 것은 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트를 수신하여 수행되는 것을 특징으로 하는 콘텐츠 전송 장치.
  24. 제21항에 있어서,
    상기 콘텐츠 전송 장치는,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하는 것은 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 수행되는 것을 특징으로 하는 콘텐츠 전송 장치.
  25. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에 있어서,
    상기 엔드 유저 장치에서 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 이용되는 해쉬 함수가 저장되는 해쉬 함수 저장부-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 해쉬 함수 저장부에 저장된 해쉬 함수를 이용하여 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 생성하는 해쉬 파일 생성부를 포함하여, 상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하고,
    상기 해쉬 파일 생성부는 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하여 상기 해쉬 파일의 생성을 수행하는 것을 특징으로 하는 관리 장치.
  26. 삭제
  27. 제25항에 있어서,
    상기 해쉬 파일 생성부는 상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트(list)를 미리 저장된 해쉬 함수를 이용하여 생성된 리스트 해쉬값을 수신하여 상기 해쉬 파일의 생성을 수행하는 것을 특징으로 하는 관리 장치.
  28. 제27항에 있어서,
    상기 파일 다운로드 시스템은 중계 장치를 더 포함하고,
    상기 엔드 유저 장치로부터 상기 복수의 콘텐츠 파일에 대한 리스트 또는 상기 리스트 해쉬값을 수신하는 것은 상기 중계 장치를 통해 수신되는 것을 특징으로 하는 관리 장치.
  29. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 엔드 유저 장치에서 수행되는 콘텐츠 파일의 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드를 상기 콘텐츠 전송 장치로 요청하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)이 수신되는지 판단하는 단계;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 다운로드받는 단계;
    상기 복수의 콘텐츠 파일의 다운로드를 요청하는 단계; 및
    상기 복수의 콘텐츠 파일을 다운로드 받는 단계를 포함하되,
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우,
    상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 다운로드 받는 단계를 수행하는 것을 특징으로 하는 콘텐츠 파일의 다운로드 방법을 구현하기 위한 프로그램을 기록한 기록매체.
  30. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 콘텐츠 전송 장치에서 수행되는 콘텐츠 파일의 전송 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    상기 엔드 유저 장치로부터 상기 엔드 유저 장치가 다운로드 받을 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)의 다운로드 요청을 수신하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는지 판단하는 단계;
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있는 경우 상기 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계; 및
    상기 복수의 콘텐츠 파일에 대한 다운로드 요청을 수신하고, 상기 엔드 유저 장치로 상기 복수의 콘텐츠 파일을 전송하는 단계를 포함하되,
    상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 저장되어 있지 않은 경우 상기 복수의 콘텐츠 파일에 대한 각각의 해쉬 파일을 상기 엔드 유저 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 파일의 전송 방법을 구현하기 위한 프로그램을 기록한 기록매체.
  31. 엔드 유저(end user) 장치, 콘텐츠 전송 장치 및 관리 장치를 포함하는 파일(file) 다운로드(download) 시스템에서 상기 관리 장치에서 수행되는 콘텐츠 파일의 다운로드를 관리하기 위한 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트(list)를 수신하는 단계;
    상기 수신된 복수의 콘텐츠 파일에 대한 리스트에 따라 상기 복수의 콘텐츠 파일에 대한 해쉬 파일(hash file)을 생성하는 단계-상기 복수의 콘텐츠 파일에 대한 해쉬 파일은 상기 복수의 콘텐츠 파일 각각에 대한 해쉬 파일들이 하나의 파일로 결합된 해쉬 파일임-; 및
    상기 생성된 복수의 콘텐츠 파일에 대한 해쉬 파일을 상기 콘텐츠 전송 장치로 전송하는 단계를 포함하되,
    상기 엔드 유저 장치로부터 다운로드 받을 복수의 콘텐츠 파일에 대한 리스트를 수신하는 단계는,
    상기 엔드 유저 장치가 상기 콘텐츠 전송 장치로부터 상기 복수의 콘텐츠 파일에 대한 해쉬 파일이 수신되지 않는 경우 수행되는 것을 특징으로 하는 콘텐츠 파일의 다운로드 관리 방법을 구현하기 위한 프로그램을 기록한 기록매체.
KR1020100080375A 2010-08-19 2010-08-19 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체 KR101157483B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100080375A KR101157483B1 (ko) 2010-08-19 2010-08-19 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100080375A KR101157483B1 (ko) 2010-08-19 2010-08-19 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20120017644A KR20120017644A (ko) 2012-02-29
KR101157483B1 true KR101157483B1 (ko) 2012-06-20

Family

ID=45839516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100080375A KR101157483B1 (ko) 2010-08-19 2010-08-19 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR101157483B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101419428B1 (ko) * 2012-10-17 2014-07-17 주식회사 리얼타임테크 모바일 환경에 구축된 데이터베이스에 대한 트랜잭션 로깅 및 회복 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069315A (ko) * 2001-12-14 2004-08-05 인터내셔널 비지네스 머신즈 코포레이션 멀티미디어 컨텐츠 마련 방법 및 분산형 데이터 처리 시스템
US20050038826A1 (en) * 2003-03-13 2005-02-17 Samsung Electronics Co., Ltd. Method of managing multimedia content written in SMIL and file system thereof
JP2005216118A (ja) * 2004-01-30 2005-08-11 Nippon Computer:Kk コンテンツメール転送結合システム
US7523452B1 (en) 2004-12-07 2009-04-21 Netapp, Inc. Method and apparatus for creating and using a download package to modify software configuration of a storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069315A (ko) * 2001-12-14 2004-08-05 인터내셔널 비지네스 머신즈 코포레이션 멀티미디어 컨텐츠 마련 방법 및 분산형 데이터 처리 시스템
US20050038826A1 (en) * 2003-03-13 2005-02-17 Samsung Electronics Co., Ltd. Method of managing multimedia content written in SMIL and file system thereof
JP2005216118A (ja) * 2004-01-30 2005-08-11 Nippon Computer:Kk コンテンツメール転送結合システム
US7523452B1 (en) 2004-12-07 2009-04-21 Netapp, Inc. Method and apparatus for creating and using a download package to modify software configuration of a storage system

Also Published As

Publication number Publication date
KR20120017644A (ko) 2012-02-29

Similar Documents

Publication Publication Date Title
US11153290B2 (en) Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US8595319B2 (en) Home network video peer-to-peer for mobile devices
US10212166B2 (en) File downloading method, apparatus, and system
KR101322947B1 (ko) 네트워크에서의 파일의 분산 캐싱
US9380028B2 (en) Proxy server operation
JP5485400B2 (ja) データ比較により通信機器への冗長コンテンツの記憶を自動的に検証するシステムと方法
US8510415B2 (en) Data distribution method, data distribution system and relevant devices in edge network
US7966491B2 (en) Protection of the distribution of digital documents in a peer to peer network
EP3633949B1 (en) Method and system for performing ssl handshake
WO2016150169A1 (zh) 一种安全通信方法、网关、网络侧服务器及系统
CN102195790A (zh) 对等网络中的资源控制方法、装置和系统
JP2019537897A (ja) 配信性能を改善するためのリソースセグメント化
US20150381716A1 (en) Method and system for sharing files over p2p
EP3366019B1 (en) Method and apparatus for secure content caching and delivery
EP2856736B1 (en) Apparatus and method for transmitting and receiving files in general purpose device
US20050076057A1 (en) Method and system for transferring video and audio files to portable computing devices
CN105099686B (zh) 数据同步的方法、服务器、终端及系统
US20050076214A1 (en) Method and system for file downloads to portable computing devices
WO2016029854A1 (zh) 一种无线网络连接方法、设备及系统
KR20090029113A (ko) 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
Cui Comparison of IoT application layer protocols
KR101157483B1 (ko) 파일 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
CN111448778A (zh) 安全的下一跳通信
CN106027555A (zh) 一种采用sdn技术改善内容分发网络安全性的方法及系统
Quinn et al. Forensic analysis and remote evidence recovery from syncthing: An open source decentralised file synchronisation utility

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190522

Year of fee payment: 8