KR100521361B1 - 네트워크 환경에서의 파일 공동 전송 방법 - Google Patents

네트워크 환경에서의 파일 공동 전송 방법 Download PDF

Info

Publication number
KR100521361B1
KR100521361B1 KR10-2001-7011726A KR20017011726A KR100521361B1 KR 100521361 B1 KR100521361 B1 KR 100521361B1 KR 20017011726 A KR20017011726 A KR 20017011726A KR 100521361 B1 KR100521361 B1 KR 100521361B1
Authority
KR
South Korea
Prior art keywords
file
devices
server
servers
transfer
Prior art date
Application number
KR10-2001-7011726A
Other languages
English (en)
Other versions
KR20030014094A (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 KR10-2001-7011726A priority Critical patent/KR100521361B1/ko
Publication of KR20030014094A publication Critical patent/KR20030014094A/ko
Application granted granted Critical
Publication of KR100521361B1 publication Critical patent/KR100521361B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 네트워크 환경에서 여러 개의 서버로부터 하나의 파일을 분할하여 전송받는 방법에 관한 것으로서, 사용자 장치가 전송받고자 하는 파일을 선택하는 단계와, 상기 파일을 저장하고 있는 장치들에 대한 정보를, 파일 전송을 관리하는 파일 관리 시스템으로부터 수신하는 단계와, 상기 파일을 저장하고 있는 장치들 중에 상기 파일을 전송할 하나 이상의 서버를 결정하는 단계와, 상기 하나 이상의 서버에게 각각 상기 파일의 어느 일부분을 전송하도록 요청하는 단계와, 상기 하나 이상의 서버로부터 각각 상기 요청된 파일의 일부분들을 전송받는 단계와, 상기 전송된 파일의 일부분들을 하나의 파일로 병합하는 단계를 포함하는 것을 특징으로 한다.
상기 파일 관리 시스템은 파일의 전송을 관리하는 시스템으로서 별도의 파일 관리 서버로서 존재할 수도 있고, 여러 장치간에 분산되어 존재할 수도 있다.
이러한 구성에 의하면, 다수의 서버로부터 하나의 파일을 나누어 전송받음으로써 전송 속도를 향상시키고, 전송 도중에 여러 개의 서버 중 하나의 서버에 문제가 생기는 경우, 다른 서버로 대체하여 전송하게 함으로써, 서버의 장애에 관계없이(fault-tolerant) 안정적으로 파일을 전송할 수 있다.

Description

네트워크 환경에서의 파일 공동 전송 방법{a method of collaborating in transferring a file in a networking environment}
본 발명은 파일 공동 전송 방법에 관한 것으로서, 보다 구체적으로는, 네트워크 환경에서 여러 개의 서버로부터 하나의 파일을 분할하여 전송받는 방법에 관한 것이다.
종래 네트워크 환경의 클라이언트/서버 모델에서는 클라이언트가 하나의 서버에 접속하여 파일을 전송받는 방식인 소위 1:1 전송 방식을 취하고 있다. 이 방식에서는 서버의 전송 속도가 낮은 경우 클라이언트가 자신의 대역폭을 충분히 활용하지 못하는 상태에서 느린 속도로 파일을 전송받아야 하고, 최적의 서버에 접속하더라도 전송 도중에 인터넷 사용자의 수가 증가하면 전송 속도가 현저히 떨어지게 되는 문제점이 있다. 또한, 파일을 전송하는 서버에 장애가 생기는 경우 파일 전송이 실패하므로, 클라이언트는 다른 서버로부터 파일을 다시 전송받아야 하는 문제점이 있다. 파일 전송 속도 향상을 위하여 미국특허공보 제6,085,251호에서 병렬적으로 파일을 전송하는 방법을 개시하고 있다. 이 방법에서는 서버가 하나의 파일을 다수의 패킷으로 분할하여 동시에 병렬적으로 클라이언트로 전송하고 동시에 패킷 수신 신호를 되돌려 받으며, 클라이언트로 하여금 그 나눈 사실을 알게 해서 클라이언트가 상기 다수의 패킷을 합쳐서 하나의 파일로 만들도록 한다. 이 방법은 패킷을 하나씩 전송하고 수신 여부를 확인하는 것에 비해, 파일 전송 속도가 현저히 빨라지는 효과가 있으나, 서버에 장애가 있는 경우 파일 전송이 안 되므로, 안정적인 파일 전송을 보장해주지는 못한다.
1:1 전송 방식이 이러한 한계를 가지고 있고, 더욱이 개인용 컴퓨터의 성능 향상으로 개인용 컴퓨터가 서버의 역할을 할 수 있는 환경이 갖추어진 현실에서, 굳이 1:1 전송 방식을 고수할 필요는 없다.
본 발명은 이러한 점에 착안한 것으로서, 1:1 전송 방식이 아니라, 다수의 서버로부터 하나의 파일을 나누어 전송받음으로써 사용자들이 최대한 대역폭을 활용할 수 있게 함으로써, 전송 속도를 향상시키는 것을 목적으로 한다.
또한, 본 발명은 전송 도중에 여러 개의 서버 중 하나의 서버에 문제가 생기는 경우, 다른 서버로 대체하여 전송하게 함으로써, 서버의 장애에 관계없이(fault-tolerant) 안정적으로 파일을 전송하는 것을 목적으로 한다.
또한, 본 발명은 하나의 파일을 여러 개의 서버로부터 분할하여 전송받을 수 있기 위한 전제 요건으로서, 여러 개의 서버가 동일한 파일의 조각들을 전송하는 것을 보장하는 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 하나의 장치에 파일 전체를 저장할 수 없는 경우, 이 파일을 여러 장치에 분산하여 저장하고, 본 발명에 의한 파일 전송방법에 의하여 파일의 전체 내용을 볼 수 있도록 하는 방법을 제공하는 것을 목적으로 한다.
도1은 본 발명에 의한 파일 전송 시스템의 전체 구성도.
도2-4는 본 발명에 의한 파일 관리 시스템의 구성도.
도5는 본 발명에 의한 파일 전송 과정을 전체적으로 도시하는 흐름도.
도6은 파일을 전송할 수 있는 서버들의 정보를 저장한 후보 서버 리스트의 데이터 구조.
도7는 파일 전송 정보를 기록하는 로그 파일의 예시도.
도8은 본 발명에 따라 파일을 전송하는 모습을 도시하는 도면.
도9는 본 발명에 따라 하나의 장치에서 여러 장치로 파일을 전송하는 모습을 도시하는 도면.
상기 목적을 달성하기 위하여, 본 발명의 제1 측면은 네트워크를 통해 연결된 장치들간에 파일을 전송하기 위한 방법에 있어서, 사용자 장치가 전송받고자 하는 파일을 선택하는 단계와, 상기 파일을 저장하고 있는 장치들에 대한 정보를, 파일 전송을 관리하는 파일 관리 시스템으로부터 수신하는 단계와, 상기 파일을 저장하고 있는 장치들 중에 상기 파일을 전송할 하나 이상의 서버를 결정하는 단계와, 상기 하나 이상의 서버에게 각각 상기 파일의 어느 일부분을 전송하도록 요청하는 단계와, 상기 하나 이상의 서버로부터 각각 상기 요청된 파일의 일부분들을 전송받는 단계와, 상기 전송된 파일의 일부분들을 하나의 파일로 병합하는 단계를 포함하는 것을 특징으로 한다.
여기서, 서버란 서버 역할을 하게 되는 장치, 즉, 파일을 전송하는 장치를 의미하고, 전송은 다운로드뿐만 아니라 스트리밍(streaming)을 포함한다.
하나의 파일을 여러개의 서버로부터 전송받기 위해서는 파일의 전송을 관리하는 시스템이 존재하여야 하는데, 이러한 파일 관리 시스템은 별도의 파일 관리 서버로서 존재할 수도 있고, 여러 장치간에 분산되어 존재할 수도 있다.
상기 사용자 장치가 파일을 전송할 하나 이상의 서버를 결정할 때는 전송 속도가 높은 순으로 결정하는 것이 바람직하다. 또한, 여러 서버로부터 각각 파일의 일부분을 전송받을 때는 전송 속도가 빠른 서버로부터 많은 분량을 전송받고, 전송 속도가 낮은 서버로부터 작은 분량을 전송받는 것이 바람직하다.
사용자 장치가 여러 서버로부터 각각 파일의 일부분들을 전송받은 후에는 이 정보를 로그 파일에 기록하는데, 후에 이 로그 파일은 파일의 일부분을 병합하여 하나의 파일로 만드는데 이용된다.
사용자 장치는 각 서버로부터 일정 크기의 패킷을 전송받을 때마다 서버의 전송속도를 평가하여, 속도가 심각하게 떨어지거나 전송이 불안정한 서버가 존재하는 경우, 이 서버를 다른 서버로 대체한다.
대체 서버는 파일 관리 시스템으로부터 수신한, 파일을 저장하고 있는 장치들의 리스트 중에서 결정하거나, 다시 파일 관리 시스템에게 상기 리스트를 요청하고, 갱신된 리스트 중에서 결정한다.
한편, 하나의 파일을 여러 서버들이 분할하여 전송하기 위해서는 서버들이 모두 같은 파일의 조각들을 전송하고 있다는 것을 보장하여야만 하는데, 본 발명에서는 파일 전송을 받을 때 메타파일에 원본 파일의 정보를 기록해두고, 타 사용자에게 파일 조각을 전송할 때, 전송할 파일을 메타파일에 저장된 정보와 비교하는 방법을 사용한다.
이러한 본 발명의 제1 측면에 의하면, 다수의 서버로부터 하나의 파일을 나누어 전송받음으로써 사용자들이 최대한 대역폭을 활용할 수 있게 함으로써, 전송 속도를 향상시킬 수 있고, 전송 도중에 여러 개의 서버 중 하나의 서버에 문제가 생기는 경우, 다른 서버로 대체하여 전송하게 함으로써, 서버의 장애에 관계없이(fault-tolerant) 안정적으로 파일을 전송할 수 있다.
본 발명은 하나의 완전한 파일을 여러 개의 서버로부터 분할하여 전송받는 경우뿐만 아니라, 파일이 실제로 여러 곳에 분할되어 저장되어 있는 경우에도 사용될 수 있다.
즉, 본 발명의 제2 측면은 하나의 파일이 네트워크를 통해 연결된 다수의 장치들에 분산되어 저장된 경우, 상기 파일을 호출하기 위한 방법에 있어서, 상기 파일을 구성하는 각 부분을 저장하고 있는 장치들에 대한 정보를, 파일 전송을 관리하는 파일 관리 시스템으로부터 수신하는 단계와, 상기 파일의 각 부분에 대하여, 상기 각 부분을 저장하고 있는 장치들 중에 상기 각 부분을 전송할 하나 이상의 서버를 결정하는 단계와, 상기 파일의 각 부분에 대하여 상기 파일의 각 부분을 상기 결정된 하나 이상의 서버로부터 분산하여 전송받는 단계와, 상기 전송된 파일의 각 부분을 하나의 파일로 병합하는 단계를 포함한다.
또한, 본 발명의 제3 측면은 네트워크를 통하여 연결된 장치들에서 하나의 장치로부터 복수개의 장치들로 파일을 전송하기 위한 방법에 있어서, 상기 하나의 장치는 상기 복수개의 장치들 중 가장 빠른 장치로 상기 파일을 전송하는 단계와, 상기 파일을 전송받은 가장 빠른 장치는 상기 복수개의 장치들 중 두번째로 빠른 장치로 다시 파일을 전송하고, 상기 파일을 전송받은 두번째로 빠른 장치는 세번째로 빠른 장치로 상기 전송받은 파일을 전송하는 식으로, 가장 속도가 느린 장치까지 파일을 전송하는 단계를 포함하고, 상기 하나의 장치가 상기 복수개의 장치들 중 하나의 장치에 대한 파일 전송을 완료한 경우, 상기 복수개의 장치들 중 또다른 장치로 다시 상기 파일을 전송하는 것을 특징으로 한다.
또한, 본 발명의 제4 측면은 네트워크를 통하여 연결된 장치들에서 하나의 장치로부터 복수개의 장치들로 파일을 전송하기 위한 방법에 있어서, 상기 하나의 장치는 복수개의 장치들에게 상기 파일을 전송하는 단계와, 상기 전송 도중 전송량이 소정의 기준보다 넘을 경우, 상기 하나의 상기 복수개의 장치들 중 가장 빠른 장치에만 상기 파일을 전송하고, 상기 가장 빠른 장치는 상기 하나의 장치로부터 상기 파일을 전송받는 동시에 상기 복수개의 장치들 중 다른 장치들에게 상기 파일을 전송하는 단계를 포함한다.
이러한 본 발명의 제3 측면과 제4 측면에 의하면, 하나의 장치로부터 다수의 장치로 파일을 빠른 속도로 전송할 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참고하여 상세히 설명한다.
도1은 본 발명에 의한 파일 전송 시스템의 전체 구성을 도시한다. 도1에 도시된 바와 같이, 본 발명에 의한 파일 전송 시스템은 네트워크(10)를 통해 연결된 다수의 장치(201, 202, 203, .. 20n)를 포함한다.
네트워크(10)는 모뎀과 PSTN, 전용선, ISDN 등을 이용한 유선 인터넷과 셀룰러, PCS, 마이크로웨이브나 위성 통신망 등을 통한 무선 인터넷, LAN(local area network), 인트라넷(intranet), 익스트라넷(extranet) 등 네트워킹이 가능한 모든 환경을 포함한다. 장치(201, 202, 203, .. 20n)는 PC, 워크스테이션, 미니 컴퓨터, 메인프레임 컴퓨터(mainframe computer), 노트북 컴퓨터, 일반 휴대용 통신 단말기, PDA(personal digital assistant), 셋톱 박스(settop box), 디지털 텔레비전, 웹폰(web phone) 등 데이터 통신이 가능한 장치라면 모두 사용가능하다.
장치(201, 202, 203, .. 20n)는 네트워크(10)에 연결된 다른 장치로부터 파일을 전송받거나 다른 장치로 파일을 전송할 수 있으며, 이를 위해 각 장치의 위치, 파일 정보 등을 관리하는 파일 관리 시스템(30)이 존재한다.
파일 관리 시스템은 하나의 장치가 여러 장치로부터 파일을 분할하여 전송받을 수 있도록 하기 위해, 여러 장치가 공통으로 가진 파일에는 고유한 파일 ID를 부여하고, 각 장치 사이에 전송가능한 파일들의 리스트를 관리하는 등의 기능을 하는 바, 도1에 도시된 여러 장치 중의 하나가 파일 관리 시스템이 될 수도 있고, 여러 장치가 서로 협력하여 파일 관리 시스템을 구성할 수도 있다.
파일 관리 시스템의 여러 유형이 도2 내지 도4에 도시되어 있다.
도2는 중앙 관리형 파일 관리 시스템(30)을 나타내는 것으로서, 파일 관리 시스템을 서버와 같은 대형 장치에 구현하는 것이다. 이 경우, 파일 관리 서버가 파일의 전송에 필요한 모든 정보를 관리하며, 장치 사이의 파일 전송을 총괄하여 제어한다.
도3은 분산형 파일 관리 시스템(30)을 나타내는 것으로서, 파일 관리 시스템을 여러 장치에 분산시켜 놓은 것이다. 이 경우, 파일의 공동 전송에 필요한 정보는 각 장치에 분산되어 저장되어 있으며, 파일 전송의 제어는 여러 장치가 협력하여 하게 된다.
도4는 하이브리드 파일 관리 시스템(30)을 나타내는 것으로서, 도2와 도3의 시스템을 결합한 것이다. 이 경우, 파일의 전송에 필요한 정보 관리 및 파일 전송 제어는 주로 파일 관리 시스템(30)에서 이루어지지만, 나머지 장치도 약간의 일을 분담해서 하게 된다.
도2 내지 도4는 파일 관리 시스템의 예시일 뿐이며, 그 외에 여러가지 토폴로지(topology)로 구현될 수 있다.
도5는 본 발명에 의하여 파일 전송이 이루어지는 과정을 설명하기 위한 흐름도이다.
먼저, 파일을 전송받고자 하는 사용자 장치(20)는 전송받을 수 있는 파일의 리스트를 파일 관리 시스템(30)으로부터 수신하고(S501), 이 중 전송받고자 하는 파일을 지정하여 파일 관리 시스템(30)에 알린다(S502).
파일 관리 시스템(30)은 상기 사용자 장치(20)가 지정한 파일을 저장하고 있는 장치들을 파악하고, 이러한 각 장치의 위치와 전송 속도를 계산하고, 전송 속도가 높은 순으로 장치를 정렬하여 사용자 장치(20)로 전송한다(S503). 이러한 장치 리스트(이하, "후보 서버 리스트" 라 하며, "서버" 는 서버 역할을 하는 장치를 의미함)의 예가 도6에 도시되어 있다. 도6에 도시된 바와 같이, 후보 서버 리스트는 각 서버 별로 서버 ID(601), 서버의 위치(602), 및 서버의 전송 속도(603)를 포함하며, 서버의 전송 속도가 높은 것부터 정렬되어 있다. 서버의 전송 속도(603)는 대역폭과 현재 수행중인 작업의 수 등을 고려하여 계산된다.
사용자 장치(20)는 상기 후보 서버 리스트를 수신하고, 이로부터 파일을 전송받기에 적합한 서버들을 결정한다(S504). 즉, 사용자 장치(20)는 자신의 대역폭을 최대한 활용할 수 있도록 가장 빠른 장치부터 시작해서 n개의 서버(40)를 지정하는데, 이를 수식으로 나타내면 다음과 같다.
BW v1+v2+ Λ+vn(vi≥vi+1)
BW : 사용자 대역폭
vi : i번째 장치의 속도
위 수식에서와 같이, 사용자 장치(20)가 대역폭을 최대한 사용하기 위해서는 서버(40)의 전송 속도를 더한 값이 대역폭과 가까운 값이 되어야 하고, 대역폭을 완전히 사용하기 위해서는 서버(40)의 전송 속도를 더한 값이 대역폭보다 크거나 같은 것이 바람직하다. 예를 들어, 모뎀 사용자 같이 느린 전송 속도 환경에서는 전송 속도가 가장 빠른 서버(40) 하나 정도만 지정하면 될 것이다.
사용자 장치(20)가 전송 속도가 빠른 n 개의 서버(40)를 결정한 다음에는, 상기 결정된 서버들(40)로부터 각각 어떤 부분을 어떤 크기로 전송받을 것인지 결정한다(S504). 이 경우, 전송 속도가 빠른 서버(40)로부터는 파일의 많은 양을 전송받고, 전송 속도가 비교적 느린 서버(40)로부터는 파일의 적은 양을 전송는 것이 바람직한데, 이를 수식으로 나타내면 다음과 같다.
fi : i번째 장치가 할당받은 파일 조각의 크기
F : 전송 받을 파일 크기
단계(S504)에서 결정된 전송 서버(40) 리스트와 각 서버(40)가 전송할 파일 조각에 대한 정보는 로그 파일에 기록된다. 이 로그 파일은 후에 사용자 장치(20)가 여러 서버(40)로부터 파일 조각을 전송받아서, 하나로 합칠 때 필요하다.
다음으로, 사용자 장치(20)는 결정된 전송 서버(40)에게 전송할 파일 조각에 대한 정보를 알려주면서 파일 전송을 요청한다(S505).
사용자 장치(20)는 파일 조각을 전송받고, 전송받은 정보를 로그 파일에 기록한다. 이 과정에서 파일 전송에 문제가 있는 서버(40)는 다른 서버(40)로 대체하여 다시 전송하는데, 파일 전송에 대하여는 후에 상세히 설명한다. 또한, 여러 서버에서 전송하는 파일 조각들은 모두 동일한 파일의 조각이어야 하는데, 이러한 파일의 동일성을 보장하기 위한 방법에 대해서는 후에 설명한다.
여러 서버(40)로부터 파일 조각의 전송이 모두 완료되면, 사용자 장치(20)는 로그 파일에 기초하여 파일 조각들을 하나의 파일로 합치고(S507), 파일 관리 시스템(30)에 파일 전송 완료를 알린다(S508).
도7은 로그 파일의 예를 도시하고 있다. 도7의 로그 파일은 전체가 10000000 바이트인 파일 중 1000001 바이트에서 50000000 바이트까지를 3번째 서버(40)로부터 전송 받으려고 했으나, 중간에 파일 전송에 실패하여 2000578 바이트까지만 전송받고, 나머지는 다른 서버(40)로부터 "조각6" 으로서 전송받은 상황을 나타낸다. 사용자 장치(20)는 도7에 도시된 것과 같은 로그 파일의 전송 정보에 의거하여 파일 조각들을 합쳐 하나의 파일로 만들게 된다.
파일 전송이 완료된 후, 사용자 장치(20)에는 전송받은 파일이 고유의 파일 ID로 저장되게 되며, 파일 관리 시스템(30)은 상기 사용자 장치(20)가 상기 파일 ID를 가진 파일을 저장하고 있다는 것을 기억하게 된다. 상기 전송받은 파일이 사용자의 파일 수정, 위치 변경, 손상 등으로 인해 파일의 동일성을 보장할 수 없을 경우에는 파일 공유 환경으로부터 제거 혹은 배제할 수 있다.
이제, 본 발명에 의한 파일 조각 전송 단계(도5의 S506)에 대해 상세히 설명한다.
사용자 장치(20)는 각 서버로부터 일정 크기의 패킷을 전송받을 때마다 전송 속도를 평가함으로써, 이를 전송 관리에 사용한다. 서버의 전송 속도는 항상 일정한 것이 아니라, 중간에 계속 변화하기 때문에, 파일 조각 전송 도중에 심각하게 속도가 떨어지거나 전송이 불안정한 서버가 있다면, 이 서버를 다른 서버로 교체해야 하기 때문이다.
전송 서버를 교체하기 위해서는 도6에 도시된 것과 같은 후보 서버 리스트를 이용하는 바, 후보 서버 리스트에서 전송 속도가 비교적 빠른 다른 서버를 결정한 후, 상기 문제가 있는 서버가 할당량 중 아직 전송하지 못한 나머지 부분을 전송하도록 한다. 문제가 있는 서버를 대체하는 서버는 복수개일 수 있다.
만일 후보 서버 리스트에 대체할 만한 서버가 존재하지 않는다면, 사용자 장치(20)는 파일 관리 시스템에 요청하여 갱신된 후보 서버 리스트를 얻고, 이로부터 대체 서버를 찾는다.
다음으로, 서버가 전송하는 파일 조각들이 모두 동일한 파일의 조각임을 보장하는 방법에 대하여 설명한다.
전술한 바와 같이, 하나의 파일을 여러 장치들이 분할하여 전송하기 위해서는 장치들이 모두 같은 파일의 조각들을 전송한다는 것을 보장하여야만 한다. 만일, 여러 장치들이 서로 동일하지 않은 파일의 조각들을 전송하고, 사용자 장치가 이 조각들을 병합하여 하나의 파일로 만든다면, 전송된 파일은 사용자가 원하는 파일이 아닌 손상된 파일이 될 것이다.
이러한 파일의 동일성을 보장하기 위하여, 본 발명에서는 파일 전송을 받을 때 메타파일에 원본 파일의 정보를 기록해두고, 타사용자에게 파일 조각을 전송할 때, 전송할 파일을 메타파일에 저장된 정보와 비교하는 방법을 사용한다. 만일 비교 결과, 동일한 파일이면 전송하고, 동일한 파일이 아니라면 파일 관리 시스템에서 새로운 ID를 부여받아 새로운 파일로 관리한다. 파일이 동일한지 여부는 구체적으로 다음과 같은 방법에 의해 판단될 수 있다.
첫째, 파일의 크기 정보를 이용하여 파일의 크기가 동일하면, 파일이 동일하다고 판단한다.
둘째, 파일을 m 개의 조각으로 나눈 후, 각 조각의 일정부분에 대한 정보를 메타파일에 기록해 둔다. 상기 파일을 다른 장치로 전송할 때에는 전송할 조각의 일정 부분을 메타파일에 기록된 정보와 비교하여 동일하면, 파일이 동일하다고 판단한다. 이 때, 상기 일정부분의 위치와 크기는 파일 관리 시스템의 필요에 따라 조정될 수 있다.
셋째, 파일을 m 개의 조각으로 나눈 후, 각 조각의 모든 내용을 코드화(message digest)하여 메타 파일에 기록하고, 상기 파일을 다른 장치로 추후 전송해 줄 때에는, 전송해 줄 조각을 코드화한 후에 메타 파일에 기록한 코드와 비교한다. 만약 코드가 다르다면, 파일이 동일하지 않은 것으로 판단하고 그 조각을 전송하지 않으며, 전체 시스템에서 새로운 파일로 관리한다.
만일 메타 파일에 조각의 모든 내용을 기록한 후에 비교한다면 파일의 동일성을 100% 확실히 보장할 수 있겠지만, 이렇게 하는 경우 메타 파일의 크기가 원본 파일의 크기와 같아져 자원 낭비가 심하다. 따라서, 전송 받은 조각의 내용을 적당한 크기의 코드로 바꾼 후, 메타 파일에 기록하는 방법을 사용하는 것이다.
파일의 조각을 코드화하는 방법을 식으로 표현하면 다음과 같다.
코드화 함수와 코드의 크기는 파일 관리 시스템이 자신의 목적에 맞추어 알맞은 것을 선택하는데, 가장 간단한 코드화 함수로서 내용들의 합을 구하는 함수를 예로 들 수 있다. 동일성 보장에 더 큰 무게를 둔다면 내용 손실이 전혀 없는 압축 방법을 코드화 함수로 사용할 수도 있다.
도8은 도5에 도시된 과정에 의해 사용자 장치가 여러 개의 서버로부터 파일 조각들을 전송받아 하나의 파일로 병합하는 모습을 나타내는 도면이다.
도8에서 다섯개의 서버(81-85)가 사용자 장치(20)로 각각 파일 조각을 전송하는데, 전송 속도가 빠른 서버가 더 많은 분량을 전송하게 된다. 도8에서는 가장 많은 분량을 전송하는 서버(83)가 가장 속도가 빠르고, 가장 적은 분량을 전송하는 서버(81)가 가장 속도가 느릴 것이다.
이와 같이, 다섯개의 서버(81-85)들이 협력하여 하나의 파일을 전송함으로써, 사용자 장치(20)는 자신이 사용할 수 있는 최대한의 대역폭을 사용할 수 있고, 이에 따라 파일 전송 속도가 현저하게 향상될 수 있다.
지금까지는 하나의 완전한 파일을 여러 개의 서버로부터 분할하여 전송받는 방법을 설명하였으나, 파일이 실제로 여러 곳에 분할되어 저장되어 있는 경우에도 마찬가지로 본 발명이 사용될 수 있다. 따라서, 본 발명의 파일 공동 전송 방법 및 시스템은 대용량 파일의 분산 저장 방법으로서 사용될 수 있는 바, 이하 이에 대해 설명한다.
파일의 크기가 커질 경우, 장치에 따라서 파일 전체를 저장할 수 없는 경우가 발생할 수 있는데, 이 경우 파일 전체를 저장할 수 없는 장치(장치 A라 하자)는 대용량 파일을 분할하여 일정 부분만을 저장하고 나머지 부분은 다른 장치들이 저장하고 있도록 한다. 그리고 장치 A가 상기 대용량 파일의 내용을 보고자 할 때는 본 발명에 의한 파일 관리 시스템을 이용하여 파일의 다른 부분들을 전송받음으로써, 마치 자신이 전체 파일을 저장하고 있는 것처럼 파일의 내용을 볼 수 있다. 이 때, 여러 장치에 분산되어 저장된 파일의 여러 부분은 파일 관리 시스템에 의해 각각 일반적인 파일로 취급되며, 파일 전송 과정 또한, 앞에서 도5를 통하여 설명한 전송 과정과 동일하다.
예를 들어, 장치 A가 어떤 대용량 파일을 모두 저장할 수 없어서, 이 파일을 다루기 적당한 크기가 되도록 10개의 조각으로 분할하여 자신을 포함한 여러 장치에 분산 저장하도록 했다면, 장치 A는 본 발명에 의한 파일 관리 시스템을 이용하여 자신이 저장하고 있지 않은 파일의 나머지 부분을 전송받음으로써, 전체 파일을 볼 수 있으며, 파일 시스템은 10개의 조각들을 10개의 일반적인 파일처럼 인식하여, 도5에 도시된 과정에 의해 장치 A로 파일을 전송한다.
이 때, 파일 공유 시스템이 이러한 10개의 독립적인 파일들을 이어진 파일 조각으로 관리할 수 있어야 한다. 또한, 전체 파일을 이용하는 장치 A는 파일의 일부분을 저장하게 되는데 다른 장치들이 많이 가지고 있지 않은 부분을 저장하는 것이 효율적이다. 이를 위해서는, 장치 A가 10개의 파일에 대하여 각각 도6에 도시된 것과 같은 후보 서버 리스트를 파일 관리 시스템에게 요청하고, 각 파일 부분들을 보유하고 있는 서버의 개수를 알아낸 후, 보유 서버 개수가 가장 적은 파일 부분을 저장한다.
지금까지는 동일한 파일이 여러 서버에 분산되어 존재한다는 것을 전제로, 여러 서버로부터 파일의 조각들을 전송받아 이를 하나의 파일로 합치는 방법(다:1 전송 상황)을 설명하였다.
그러나, 파일이 최초로 생성되었을 때는 하나의 장치에만 이 파일이 존재할 것이다. 따라서, 이하에서는 파일을 여러 장치로 전송하는 경우(1: 다 전송 상황), 전송 속도를 향상시키기 위한 두가지 방법에 대하여 설명한다.
첫째, 이 방법은 도2에 도시된 것과 같은 중앙 집중형 파일 관리 시스템이 장치들의 속도를 관리하는 경우로서, 가장 빠른 장치부터 파일을 전송받을 수 있도록 하는 것이다.
즉, 파일 관리 시스템은 파일을 전송받고자 하는 장치들의 전송 속도를 구하여 속도순으로 정렬하고, 이 리스트를 파일을 저장하고 있는 장치(서버)와 파일을 전송받고자 하는 다수의 장치들에게 보낸다. 이 리스트를 참조하여, 서버는 가장 빠른 장치로 파일을 전송하고, 가장 빠른 장치는 두번째 빠른 장치에 전송하고, 두번째 빠른 장치는 세번째 빠른 장치로 전송하는 식으로 파일을 전송한다. 전송 도중 첫번째 빠른 장치가 파일의 전송이 완료되면 전송완료 메시지를 서버에게 통지하고, 이 장치는 또 다른 서버 역할을 하도록 하고, 원래 서버였던 장치는 두번째 빠른 장치에게도 파일을 전송할 수 있도록 한다.
도9를 참조하여 예를 들어 설명하면 다음과 같다. 현재 0번 장치만이 특정 파일을 가지고 있고, 속도순으로 정렬된 1번에서 100번까지의 장치가 0번 장치로부터 이 파일을 전송받고자 한다고 하자. 0번 장치는 1번 장치로 파일을 전송하고, 1번 장치는 2번 장치에게 파일을 전송하는 식으로, 100번 장치까지 이어진다. 전송 도중에 1번 장치에 대한 전송이 완료되면, 1번 장치는 서버 역할을 하도록 하고, 원래 서버였던 0번 장치는 2번 장치에게도 파일을 전송할 수 있도록 한다. 이러한 식으로 하여, 계속 서버수가 증가함으로써, 전송 상황은 점차 다:1 전송 상황으로 되고, 이에 따라 파일의 전송 속도는 향상된다.
둘째, 이 방법은 파일 관리 시스템이 장치의 속도를 관리할 필요가 없는 방법으로서, 서버 역할을 하는 장치(0번 장치라 하자)가 자신에게 전송을 요구하는 장치들이 자신의 전송가능한 일정 용량보다 많아지면, 가장 빠른 속도를 가진 장치(1번 장치라 하자)에만 집중적으로 전송을 해주고, 나머지 장치들에게는 거의 전송을 해 주지 않아, 나머지 장치들이 다른 서버를 찾아보도록 유도한다. 한편, 0번 장치는 파일 관리 시스템에게 새로운 서버 역할을 할 장치로서 현재 전송해주고 있는 1번 장치를 알려준다.
파일 관리 시스템은 다른 장치들이 서버 역할을 하는 장치의 리스트를 요구할 때, 1번 장치를 리스트에 올려서 보내주고, 다른 장치들은 이 리스트를 보고, 1번 장치로부터 전송받는 것을 시도하게 된다.
따라서 1번 장치는 자신이 현재까지 전송받은 데이터의 범위내에서 다른 장치들에게 전송을 해주며, 동시에 0번 장치로부터 전송을 받는다. 만일 1번 장치에 전송을 요구하는 장치가 너무 많으면 파일 관리 시스템에게 자신이 전송을 해 주고 있는 장치(2번 장치라 하자)를 새로운 서버 역할을 할 장치로서 알려준다. 이런 식으로 해서, 1:다 전송 상황은 점차 다:1 전송 상황으로 바뀌게 되고, 이에 따라 전송 속도는 향상된다.
지금까지는 본 발명을 파일이 다운로드(download)되는 경우를 중심으로 설명하였으나, 다운로드뿐만 아니라, 스트리밍(streaming) 전송의 경우에도 이용될 수 있다. 스트리밍 기술은 비디오나 오디오 컨텐츠를 시청하기 위해 대용량의 파일을 다운로드할 필요가 없이, 데이터를 수신하면서 비디오나 오디오 컨텐츠를 재생할 수 있는 기술이다. 이 경우에도 파일을 다운로드하는 경우와 마찬가지로 본 발명이 그대로 적용될 수 있다.
이상 본 발명을 실시예를 사용하여 설명하였지만, 본 발명의 범위는 특정 실시예에 한정되는 것은 아니며, 첨부된 특허청구범위에 의해서 해석되어야 할 것이다.
본 발명에 의한 파일 전송 시스템 및 방법은 사용자들에게 하나의 서버에만 의지하여 전체 파일을 전송받는 것이 아니라, 여러 개의 서버로부터 파일을 분할하여 전송받을 수 있게 함으로써, 파일 전송 속도를 현저하게 향상시킨다.
또한, 전송 도중에 여러 개의 서버 중 하나의 서버에 문제가 생기는 경우, 다른 서버로 대체하여 전송하게 함으로써, 사용자는 서버의 장애에 관계없이(fault-tolerant) 안정적으로 파일을 전송받을 수 있도록 한다.
또한, 파일이 하나의 장치에만 존재하여 하나의 장치로서 여러 장치로 파일을 전송해야 하는 경우에도 파일의 전송 속도를 향상시킬 수 있다.
본 발명에 의한 파일 전송 시스템 및 방법은 기존에 이용하기 어려운 대용량의 파일을 이용할 수 있을 뿐만 아니라, 스트리밍 서비스에도 이용할 수 있다.

Claims (25)

  1. 네트워크를 통해 연결된 장치들간에 파일을 전송하기 위한 방법에 있어서,
    사용자 장치가 전송받고자 하는 파일을 선택하는 단계와,
    파일 전송을 관리하는 파일 관리 시스템으로부터 상기 선택된 파일을 저장하고 있는 장치들에 대한 정보를 수신하는 단계와,
    상기 선택된 파일을 저장하고 있는 장치들 중에 상기 파일을 전송할 하나 이상의 서버를 결정하는 단계와,
    상기 하나 이상의 서버에게 각각 상기 선택된 파일의 일부분을 전송하도록 요청하는 단계와,
    상기 하나 이상의 서버로부터 각각 상기 요청된 파일의 일부분들을 전송받는 단계와,
    상기 전송된 파일의 일부분들을 하나의 파일로 병합하는 단계를 포함하는 파일 전송 방법.
  2. 제1항에 있어서, 상기 파일을 저장하고 있는 장치들 중에서 하나 이상의 서버를 결정하는 것은, 가장 속도가 빠른 장치부터 선택하는 것을 특징으로 하는 파일 전송 방법.
  3. 제1항에 있어서, 상기 파일의 어느 일부분을 상기 하나 이상의 서버에게 각각 요청할 때, 서버의 속도가 빠를수록, 요청하는 파일의 조각의 크기가 커지는 것을 특징으로 하는 파일 전송 방법.
  4. 제1항에 있어서, 상기 하나 이상의 서버로부터 각각 상기 요청된 파일의 일부분을 전송받는 경우, 전송받은 부분에 대한 정보를 로그 파일에 기록하는 단계를 더 포함하는 파일 전송 방법.
  5. 제4항에 있어서, 상기 사용자 장치가 상기 전송된 파일의 일부분을 병합하여 하나의 파일로 만들 때, 상기 로그 파일을 참조하는 것을 특징으로 하는 파일 전송 방법.
  6. 제1항에 있어서, 상기 하나의 파일을 병합하는 단계 이후에 상기 파일 관리 시스템으로 파일 전송 완료를 알리는 단계를 더 포함하는 파일 전송 방법.
  7. 제1항에 있어서, 상기 하나 이상의 서버로부터 각각 상기 요청된 파일의 일부분을 전송받는 단계에서, 일정 크기의 패킷을 전송받을 때마다 각 서버의 전송 속도를 체크하는 것을 특징으로 하는 파일 전송 방법.
  8. 제7항에 있어서, 상기 전송 속도가 소정의 값 이상으로 떨어지는 서버가 존재하는 경우, 상기 서버를 다른 서버로 대체하는 것을 특징으로 하는 파일 전송 방법.
  9. 제8항에 있어서, 상기 대체 서버가 존재하지 않는 경우, 상기 파일 관리 시스템으로부터 상기 파일을 저장하고 있는 장치들 및 상기 각 장치의 속도에 관한 정보를 다시 수신하여, 이로부터 대체 서버를 결정하는 것을 특징으로 하는 파일 전송 방법.
  10. 제1항에 있어서, 상기 장치는 개인용 컴퓨터, 워크스테이션, 미니 컴퓨터, 노트북 컴퓨터, PDA 등을 포함하는 데이터 통신이 가능한 장치인 것을 특징으로 하는 파일 전송 방법.
  11. 제1항에 있어서, 상기 네트워크는 유선 인터넷, 무선 인터넷, LAN(Local Area Network), 인트라넷(intranet), 익스트라넷(extranet)을 포함하는 네트워킹이 가능한 환경을 특징으로 하는 파일 전송 방법.
  12. 제1항에 있어서, 상기 전송받고자 하는 파일은 상기 파일을 저장하고 있는 장치들내에서 공통된 파일 ID를 가지고 있는 것을 특징으로 하는 파일 전송 방법.
  13. 제1항에 있어서, 상기 파일 관리 시스템은 상기 네트워크에 연결된 장치들 중의 하나인 것을 특징으로 하는 파일 전송 방법.
  14. 제1항에 있어서, 상기 파일 관리 시스템은 상기 네트워크에 연결된 장치들간에 분산되어 존재하는 것을 특징으로 하는 파일 전송 방법.
  15. 제1항에 있어서, 상기 파일을 저장하고 있는 장치들에 대한 정보는 장치 ID, 장치의 위치, 장치의 전송 속도를 포함하는 것을 특징으로 하는 파일 전송 방법.
  16. 제1항에 있어서, 상기 사용자 장치는 상기 병합된 하나의 파일에 대한 정보를 메타 파일에 저장하는 단계를 더 포함하는 것을 특징으로 하는 파일 전송 방법.
  17. 제16항에 있어서, 상기 병합된 하나의 파일을 다른 장치로 다시 전송할 때, 상기 파일에 대한 정보가 상기 메타 파일에 기록된 정보와 동일한지 확인한 후 전송하는 것을 특징으로 하는 파일 전송 방법.
  18. 제1항에 있어서, 상기 전송은 다운로드와 스트리밍 기술(streaming technology)을 포함하는 것을 특징으로 하는 파일 전송 방법.
  19. 하나의 파일이 네트워크를 통해 연결된 다수의 장치들에 분산되어 저장된 경우, 상기 파일을 호출하기 위한 방법에 있어서,
    상기 파일을 구성하는 각 부분을 저장하고 있는 장치들에 대한 정보를, 파일 전송을 관리하는 파일 관리 시스템으로부터 수신하는 단계와,
    상기 파일의 각 부분에 대하여, 상기 각 부분을 저장하고 있는 장치들 중에 상기 각 부분을 전송할 하나 이상의 서버를 결정하는 단계와,
    상기 파일의 각 부분에 대하여 상기 파일의 각 부분을 상기 결정된 하나 이상의 서버로부터 분산하여 전송받는 단계와,
    상기 전송된 파일의 각 부분을 하나의 파일로 병합하는 단계를 포함하는 파일 호출 방법.
  20. 제19항에 있어서, 상기 파일을 구성하는 각 부분은 동일한 파일에 속함을 나타내는 것을 특징으로 하는 파일 호출 방법.
  21. 네트워크를 통하여 연결된 장치들에서 하나의 장치로부터 복수개의 장치들로 파일을 전송하기 위한 방법에 있어서,
    상기 하나의 장치는 상기 복수개의 장치들 중 가장 빠른 장치로 상기 파일을 전송하는 단계와,
    상기 파일을 전송받은 가장 빠른 장치는 상기 복수개의 장치들 중 두번째로 빠른 장치로 다시 파일을 전송하고, 상기 파일을 전송받은 두번째로 빠른 장치는 세번째로 빠른 장치로 상기 전송받은 파일을 전송하는 식으로, 가장 속도가 느린 장치까지 파일을 전송하는 단계를 포함하고,
    상기 하나의 장치가 상기 복수개의 장치들 중 하나의 장치에 대한 파일 전송을 완료한 경우, 상기 복수개의 장치들 중 또다른 장치로 다시 상기 파일을 전송하는 것을 특징으로 하는 파일 전송 방법.
  22. 네트워크를 통하여 연결된 장치들에서 하나의 장치로부터 복수개의 장치들로 파일을 전송하기 위한 방법에 있어서,
    상기 하나의 장치는 복수개의 장치들에게 상기 파일을 전송하는 단계와,
    상기 전송 도중 전송량이 소정의 기준보다 넘을 경우, 상기 하나의 상기 복수개의 장치들 중 가장 빠른 장치에만 상기 파일을 전송하고, 상기 가장 빠른 장치는 상기 하나의 장치로부터 상기 파일을 전송받는 동시에 상기 복수개의 장치들 중 다른 장치들에게 상기 파일을 전송하는 단계를 포함하는 파일 전송 방법.
  23. 제21항 또는 제22항에 있어서, 상기 전송은 다운로드와 스트리밍 기술(streaming technology)을 포함하는 것을 특징으로 하는 파일 전송 방법.
  24. 요청된 파일과 동일한 파일을 전송하는 방법에 있어서,
    파일을 소정의 조각으로 나누어, 각 조각의 소정의 부분의 정보를 메타 파일에 저장하는 단계와,
    상기 파일에 대한 전송 요청에 응답하여, 상기 파일을 상기 소정의 조각으로 나누어 각 조각의 상기 소정의 부분의 정보를 추출하는 단계와,
    상기 추출된 정보와 상기 메타 파일에 기록된 정보와 비교하는 단계와,
    상기 비교 결과 동일하다면, 상기 파일을 전송하고, 동일하지 않다면, 상기 파일에 별도의 파일 ID를 부여하는 단계를 포함하는 파일 전송 방법.
  25. 요청된 파일과 동일한 파일을 전송하는 방법에 있어서,
    a) 파일을 소정의 조각으로 나누어, 각 조각을 코드화 함수에 의해 코드화한 후, 각 코드를 메타 파일에 저장하는 단계와,
    b) 상기 파일에 대한 전송 요청에 응답하여, 상기 파일을 상기 소정의 조각으로 나누어 각 조각을 상기 코드와 함수로 코드화하는 단계와,
    c) b)단계에서 코드화된 결과와 상기 메타 파일에 기록된 정보와 비교하는 단계와,
    d) 상기 비교 결과 동일하다면, 상기 파일을 전송하고, 동일하지 않다면, 상기 파일에 별도의 파일 ID를 부여하는 단계를 포함하는 파일 전송 방법.
KR10-2001-7011726A 2001-09-14 2001-03-28 네트워크 환경에서의 파일 공동 전송 방법 KR100521361B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-7011726A KR100521361B1 (ko) 2001-09-14 2001-03-28 네트워크 환경에서의 파일 공동 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-7011726A KR100521361B1 (ko) 2001-09-14 2001-03-28 네트워크 환경에서의 파일 공동 전송 방법

Publications (2)

Publication Number Publication Date
KR20030014094A KR20030014094A (ko) 2003-02-15
KR100521361B1 true KR100521361B1 (ko) 2005-10-14

Family

ID=27725603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7011726A KR100521361B1 (ko) 2001-09-14 2001-03-28 네트워크 환경에서의 파일 공동 전송 방법

Country Status (1)

Country Link
KR (1) KR100521361B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929031B1 (ko) 2007-09-17 2009-11-26 (주)씨디네트웍스 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
KR20190054355A (ko) * 2017-11-13 2019-05-22 권흥열 파일 전송 방법 및 이를 수행하는 시스템

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100557699B1 (ko) * 2001-07-21 2006-03-07 (주)와이즈인터네셔날코리아 로컬 네트워크를 이용한 화상 전송장치
KR20040001336A (ko) * 2002-06-27 2004-01-07 주식회사 케이티 인터넷에서 개인간 파일 공유기술을 이용한 푸쉬 방식컨텐츠 전달 시스템 및 그 방법
KR100911805B1 (ko) * 2002-09-27 2009-08-12 주식회사 케이티 웹 사용자와 서버간 루팅 정보 갱신방법 및 기록매체
KR100485974B1 (ko) 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
CN100472486C (zh) * 2003-09-30 2009-03-25 索尼株式会社 内容获得方法、设备和系统
KR100772385B1 (ko) * 2005-12-07 2007-11-01 삼성전자주식회사 분산 스토리지 시스템 상에서 컨텐트를 송수신하는 방법 및장치
US20090063301A1 (en) * 2007-09-04 2009-03-05 Alan Ward Digital Asset Delivery to Different Devices
KR101230923B1 (ko) * 2008-02-15 2013-02-07 에스케이텔레콤 주식회사 동영상 데이터 결합 시스템 및 방법
KR101006539B1 (ko) * 2009-02-06 2011-01-07 (주)씨디네트웍스 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
KR100987653B1 (ko) * 2009-11-17 2010-10-13 주식회사 다이나맥스 디지털 사이니지 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996042145A1 (en) * 1995-06-12 1996-12-27 Oy Nokia Ab Transmission protocol for file transfer in a dab system
WO1997028620A1 (en) * 1996-01-30 1997-08-07 Oy Nokia Ab Coding of file segments on a digital radio channel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996042145A1 (en) * 1995-06-12 1996-12-27 Oy Nokia Ab Transmission protocol for file transfer in a dab system
WO1997028620A1 (en) * 1996-01-30 1997-08-07 Oy Nokia Ab Coding of file segments on a digital radio channel

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929031B1 (ko) 2007-09-17 2009-11-26 (주)씨디네트웍스 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
KR20190054355A (ko) * 2017-11-13 2019-05-22 권흥열 파일 전송 방법 및 이를 수행하는 시스템
KR102065958B1 (ko) * 2017-11-13 2020-02-11 유한회사 이노릭스 파일 전송 방법 및 이를 수행하는 시스템
US11122107B2 (en) 2017-11-13 2021-09-14 Heung Yeol KWON File transmission method and system performing the same
US11588879B2 (en) 2017-11-13 2023-02-21 Heung Yeol KWON File transmission method and system performing the same

Also Published As

Publication number Publication date
KR20030014094A (ko) 2003-02-15

Similar Documents

Publication Publication Date Title
EP1364510B1 (en) Method and system for managing distributed content and related metadata
US7636767B2 (en) Method and apparatus for reducing network traffic over low bandwidth links
WO2002093846A1 (en) Method of transferring a divided file
EP1892921B1 (en) Method and system for managing distributed content and related metadata
JP4738900B2 (ja) ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
KR100359960B1 (ko) 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법
US7634566B2 (en) Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
US8983983B2 (en) State operating system
US7613770B2 (en) On-demand file transfers for mass P2P file sharing
US7617256B2 (en) Remote file updates through remote protocol
US7627549B1 (en) Methods and systems for transferring data over electronics networks
KR20030056701A (ko) P2p 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
KR100521361B1 (ko) 네트워크 환경에서의 파일 공동 전송 방법
US8352602B2 (en) Arrangements and methods for access to stored data
US8280895B2 (en) Multi-streamed method for optimizing data transfer through parallelized interlacing of data based upon sorted characteristics to minimize latencies inherent in the system
EP1473636B1 (en) Information processing device and method, and computer program
US20030154246A1 (en) Server for storing files
US8086629B2 (en) Content delivery apparatus, content delivery method, and content delivery program
US20020078461A1 (en) Incasting for downloading files on distributed networks
US20050058138A1 (en) Communications management system
CN100449509C (zh) 一种使数据单元流入终端的备份交换机
KR100751075B1 (ko) Nas 상에서 병렬 전송 기술을 이용한 원격 미러링시스템
CN113992653B (zh) 一种基于边缘缓存的cdn-p2p网络的内容下载、预存和替换方法
JP2004221756A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E801 Decision on dismissal of amendment
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee