KR20060057563A - 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법 - Google Patents

클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법 Download PDF

Info

Publication number
KR20060057563A
KR20060057563A KR1020060040809A KR20060040809A KR20060057563A KR 20060057563 A KR20060057563 A KR 20060057563A KR 1020060040809 A KR1020060040809 A KR 1020060040809A KR 20060040809 A KR20060040809 A KR 20060040809A KR 20060057563 A KR20060057563 A KR 20060057563A
Authority
KR
South Korea
Prior art keywords
file
split
module
server
client
Prior art date
Application number
KR1020060040809A
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 KR1020060040809A priority Critical patent/KR20060057563A/ko
Publication of KR20060057563A publication Critical patent/KR20060057563A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라이언트와 서버 사이에 데이터를 주고받는 과정에서 전체 데이터를 완전한 파일이 아니라 일정한 단위로 나누어 전송하고 다시 이를 병합하여 이용하도록 해주는 시스템 및 방법에 관한 것이다. 일반적으로 사용자는 클라이언트와 서버 간 데이터를 전송할 때 완전한 형태의 파일 단위로 송수신한다. 즉 파일 자체가 완전한 기능을 가지는 것이다. 그러나 사용자가 증가함에 따라 데이터 전송을 위한 대역폭이 부족해서 데이터 전송 속도가 매우 느려졌고, 특히 대용량 파일을 전송할 경우 서버에서 다수의 클라이언트로 파일을 전송하는 것은 매우 비효율적이다. 또한 특정 파일을 대상으로 하는 해킹이나 보안 위협도 자주 발생하고 있고, 초고속 인터넷 회선을 이용하더라도 다운로드에 비해 상대적으로 느린 업로드 속도 때문에 상대방에게 파일을 보내는 시간이 오래 걸리기도 한다. 이처럼 데이터 전송 및 이용 과정에서 완전한 파일을 단위로 하여 이용할 때 여러 가지 문제점과 불편 사항이 있는데, 본 발명에서는 파일을 분할하는 단계, 분할 파일을 보안 및 인증 처리하는 단계, 분할 파일을 전송하는 단계로 이루어지는 송신 처리부와 분할 파일을 수신하는 단계, 수신된 분할 파일의 보안 및 인증 처리를 해제하는 단계, 분할 파일을 병합하는 단계로 이루어지는 수신 처리부, 송수신 과정에서 분할 파일을 이용하고 관리하도록 도와주는 응용 처리부로 구성되는, 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템과 방법을 고안했다. 본 발명에 의하면, 사용자 증가로 인한 대역폭의 부족을 해결할 수 있을 뿐 아니라 개인 사용자 간의 데이터 전송에서 발생하는 불편함을 해결할 수 있고 특정 데이터를 대상으로 하는 보안 위협도 방지할 수 있으므로 데이터 전송과 처리, 이용 분야에 있어서 기술 발전과 관련 산업의 활성화에 매우 긍정적인 영향을 줄 것으로 예상된다.
클라이언트, 서버, 분할 전송, 분할 처리, 업로드, 인터넷 전송, 암호화, 패킷 처리, 보안 전송

Description

클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템 및 방법 {The system and method that fragments data into unit and transmits it between client and server}
도 1은 일반적인 클라이언트와 서버 간 데이터 전송 과정에서 데이터의 흐름을 사례별로 보여주는 개념도,
도 2는 일부 P2P 서비스에서 볼 수 있는, 동일 파일을 여러 서버로부터 전송받을 경우에 패킷 단위로 분할하여 전송받는 경우의 예를 보여주는 개념도,
도 3은 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에 있어서 파일의 분할 및 전송, 처리 과정을 보여주는 기본 흐름도,
도 4는 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에서 상세 모듈을 포함하는 전체 시스템의 기본 구성도,
도 5는 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에서 분할 파일을 이용하는 과정에서 쓰이는 파일 헤더의 기본 구조와 구성 요소를 보여주는 개념도,
도 6은 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 방법을 단계별로 보여주는 상세 흐름도,
* 도면의 주요부분에 대한 부호설명 *
111, 121 : 클라이언트
122, 122, 132 : 서버
131, 133 : 클라이언트/서버
113, 123, 134 : 데이터
210 : 클라이언트, 파일
220 : 다수의 서버
230 : 동일한 파일
410 : 송신 처리부 (상세도)
420 : 수신 처리부 (상세도)
430 : 응용 처리부 (상세도)
610 : 송신 과정
620 : 파일 탐색 과정
630 : 수신 과정
본 발명은 클라이언트와 서버 사이에 데이터를 주고받는 과정에서 데이터를 분할 전송 및 처리하는 시스템 및 이를 구현하는 방법에 관한 것이다. 일반적으로 클라이언트와 서버 사이에서 데이터를 주고받을 때에는 파일이나 다른 일정한 단위를 이용한다. 예를 들어 서버에 있는 데이터를 클라이언트에서 파일 형태로 내려 받는 식이다. 종래에는 이처럼 클라이언트와 서버 사이에 데이터를 주고받을 때 완전한 형태의 파일을 이용하는 경우가 대부분이었다. 이는 데이터를 이용하는 과정에서 가장 기본적인 단위가 파일이고 파일을 이용하려면 완전한 형태를 갖춘 것이어야 하기 때문이다. 예를 들어 파일이 조각나 있거나 분할되어 있다면 그 자체로 완전한 기능을 하지 않기 때문에 정상적으로 사용할 수 없고 오류가 발생하거나 아예 사용을 할 수 없는 경우도 발생한다.
개인 네트워크를 의미하는 P2P의 경우에는 여러 컴퓨터에 저장되어 있는 동일한 파일을 찾아서 차례대로 돌아가며 전송받는 기법을 사용하기도 한다. P2P가 일반 사용자의 컴퓨터를 서버로 이용하는 것이므로 전송 속도의 효율성을 높이고자 여러 컴퓨터의 동일한 파일을 조금씩 나누어 전송받는 것인데, 이렇게 한 파일을 패킷(packet) 단위로 나누어 한 컴퓨터에서 한 영역, 다른 컴퓨터에서 다른 영역을 분할 전송 받으면 속도가 느린 환경에서도 효율을 높일 수 있다. 그러나 이 경우도 파일을 실제로 분할하는 것이 아니라 전송 과정에서 파일을 일정 단위로 나누어 구분하고 그 단위로 전송하는 것일 뿐이다. 즉 모든 데이터 전송에서 파일은 완성된 형태로 존재하고 저장되고 사용되고 처리되는 것이다.
그러나 종래의 방법에서는 이름이 같은 가짜 파일을 이용하여 사용자를 혼란스럽게 하거나 특정 파일을 대상으로 해킹 및 보안 위협이 발생하기도 하고 파일의 크기가 큰 경우는 전송이 오래 걸려 불편한 경우가 많았다. 또한 같은 파일을 여러 곳에 저장해둘 경우 저장 공간의 효율성 면에서도 낭비가 심했던 것이 사실이다.
동영상 파일의 경우에는 별도의 파일 관리 프로그램을 통해서 두 세 개의 파일로 나누어 이용하는 경우도 있지만, 이렇게 분할된 파일 자체는 완전한 기능을 하는(정상적으로 동작하는) 파일이었다. 파일을 분할한다고 해도 여전히 크기가 크고 분할된 파일 자체로 완전한 동작을 하는 반면에 여전히 보안 위협은 존재하는 상태이며, 파일의 일부분이 손상될 경우 전체 파일을 쓸 수 없는 상태가 되는 것이다.
본 발명에서는 완전한 형태의 파일 단위로 데이터를 전송하는 과정에서 발생하는 문제점을 보완하고자 데이터를 전송하는 과정에서 파일을 분할 처리하는 시스템 및 방법을 고안했다. 이를 위해 파일을 구성하는 데이터들을 일정한 크기의 여러 조각으로 나누고 각 조각에 파일의 식별자를 부여하고 보안 처리를 하여 제3자가 분할 파일 자체만으로는 기능이나 용도를 전혀 식별하거나 침해할 수 없도록 보호하는 상태로 저장해두고 이를 전송 및 처리하는 방법을 고안한 것이다.
수신측(클라이언트)에서는 분할 파일을 전송받아서 보안 상태를 해제하고 병합하면 다시 원래 상태의 완전한 파일을 얻을 수 있다. 파일을 완전한 형태로 저장 및 이용하는 것도 가능하고 분할 보관, 전송, 이용하는 것도 가능하므로 필요에 따라 효율적으로 파일을 이용하고자 하는 경우에 매우 효과적인 방법이다.
정상적인 파일을 분할하고 보안 처리를 하여 전송하는 과정에서 가장 중요한 사항은 모든 사용자들이 공동으로 사용할 수 있도록 파일의 크기를 일정한 단위로 분할하고 이렇게 분할된 파일을 구분할 수 있도록 식별자를 부여하는 것이다. 예를 들어 파일의 크기가 1MB이고 이를 100KB씩 10개의 분할 파일로 나눈다면 각 분할 파일은 1, 2, ..., 9, 10과 같은 일련 번호를 가져야 한다. 또한 파일의 크기가 항상 정확히 나누어지는 것은 아니므로 모든 파일의 크기가 같을 수는 없겠지만 서버에서 10개의 분할 파일을 저장해두고 이를 다수의 클라이언트에서 전송받아 이용한다면 10개의 파일 크기와 식별자는 어디에서 만들어지고 사용되든지 모두 같아야 한다. 이런 공통적인 사항을 지키지 않으면 한 서버에서 분할한 10개의 파일과 다른 서버에서 분할한 10개의 파일이 서로 달라 두 서버에서 나누어 전송받은 파일을 다시 병합할 수 없을 것이다. 이를 위해 본 발명에서는 서버와 클라이언트 양측에 서버/클라이언트 양측 기능을 모두 구현할 수 있는 시스템을 두고 동일한 규칙에 따라 파일을 분할하고 보안 처리하고 전송하고 다시 병합하도록 했다. 본 발명에 의한 시스템에 기본적인 규칙을 정해두므로 여러 서버와 클라이언트에서 파일의 분할 크기 및 식별자가 다르게 지정되어 파일이 뒤섞이고 사용할 수 없는 상태로 되는 경우는 발생하지 않을 것이다.
또한 파일에 대한 해킹 및 보안 위협은 분할 파일에 대해서도 작용할 수 있다. 이를 방지하고자 본 발명에서는 분할 파일의 헤더에 파일 구분을 위한 식별자 외에 별도의 암호화 및 보안 기술을 적용할 수 있는 공간을 마련하여 외부의 해킹 및 보안 위협이 발생했을 경우 본 발명에 의한 시스템에서 분할 파일을 전송받은 후 보안을 해제하는 과정에 이를 감지하여 파일에 문제가 발생했을 경우 해당 분할 파일만을 버리고 다시 전송받도록 했다. 이 때 일반적인 파일이라면 전체 파일을 다시 구해야 하겠으나 본 발명에서는 실제로 조각난 분할 파일을 사용하므로 상대적으로 파일을 다시 구해서 전송받기 쉽고 시간이 덜 든다.
분할 파일과 정상 파일의 저장에 있어서도 효율성을 중시하고자 했다. 예를 들어 동영상 파일의 경우 분할한다고 해도 파일의 크기가 클 수 있고 또는 작은 크기로 분할할 경우 매우 많은 수의 분할 파일로 존재할 수 있다. 이 때 전체 파일의 보관 및 관리가 불편할 수 있는데, 본 발명에서는 분할 파일을 정상 파일로 병합하여 보관하고 분할 파일을 모두 삭제하거나 또는 분할 파일을 식별이 용이한 상태로 관리할 수 있도록 응용 기능을 제공함으로써 이러한 불편함을 덜어주고자 했다.
본 발명은 클라이언트와 서버 간 데이터를 전송하는 과정에서 데이터의 분할 전송 및 처리에 관한 시스템과 이를 구현하는 방법에 관한 것이다. 먼저, 본 발명에서 클라이언트(client)는 데이터를 수신하는 측을 가리키는 것으로, 일반적으로 사용자 컴퓨터나 단말기 등의 클라이언트 장치만을 가리키는 것이 아니라 데이터의 송수신 행위에서 수신하는 측을 클라이언트라고 표현했다. 또한 서버(server)는 데이터를 송신하는 측으로, 서버 컴퓨터만을 가리키는 것이 아니라 데이터를 송수신하는 행위의 송신측을 가리키는 용어로 사용했다. 즉 본 발명에 의한 시스템과 방법은 단순히 클라이언트와 서버 컴퓨터의 데이터 송수신에 국한하지 않고 데이터를 송수신하는 어떤 경우에도 적용할 수 있도록 고안한 것이다.
먼저, 도 1은 일반적으로 클라이언트와 서버 사이에 데이터를 주고받은 과정을 보여주는 개념도이다. 도 1에서 알 수 있듯이 클라이언트(111)는 서버(112)로부터 데이터(113)를 전송받는데, 하나의 서버(122)가 여러 클라이언트(121)를 대상으로 하기도 하고 P2P 서비스(130)와 같은 경우는 사용자 컴퓨터(131, 133)가 서버와 클라이언트 역할을 동시에 하기도 한다. 최근에는 개인 네트워크가 활발하므로, 본 발명에서는 단순히 과거의 서버-클라이언트 모델이 아니라 데이터를 송신하는 측(서버)과 수신하는 측(클라이언트)으로 역할과 기능에 따라 개념을 정의함으로써 보다 광범위한 클라이언트-서버 체계를 대상으로 하고자 했다.
도 2는 개인 네트워크의 대표적인 방식인 P2P의 구조와 P2P에서 패킷 단위로 파일을 나누어 전송받는 과정에 대한 개념도이다. 도 2에서 볼 수 있듯이 일부 P2P는 여러 사용자 컴퓨터(220)에 존재하는 동일한 이름의 파일(230)을 각각 패킷 단위로 나누어 전송받음(210)으로써 전송 효율을 높이고 있다. 다시 말해서, 서버 1로부터 파일 A의 첫 번째 1/4, 서버 2로부터 파일 A의 두 번째 1/4 등을 전송받는다. 각 서버로부터 파일의 1/4씩 전송받아 완성된 파일 A는 네 가지 모양으로 나타나 있는 것이다. 그러나 이 경우에도 각 컴퓨터에 존재하는 파일은 항상 완전한 형태를 갖추고 있다. 전송 과정에서 패킷 단위를 이용하지만 실제로 각 컴퓨터에 존재하는 파일은 분할된 것이 아니라 하나의 완성된 형태로 존재하는 것이다.
도 3은 본 발명에 의한 클라이언트와 서버 간 데이터의 분할 전송 및 처리에 관한 흐름을 보여준다. 먼저 본 발명에 의한 시스템이 설치되어 있는지 확인하고, 아직 설치되어 있지 않다면 본 발명에 의한 시스템을 설치해야 한다(310). 다음으로 전송에 사용할 파일을 선택한다(311). 본 발명에 의한 시스템을 구현하는 과정에서 파일을 선택하고 관리하는 기능을 정교하게 또는 단순히 원하는 파일만 선택하는 정도로 단순하게 만들 수도 있다. 파일을 선택하고 나면 전송을 위해 분할해야 한다(312). 그리고 분할된 파일을 실제로 개별 파일로 저장하고(313) 각 분할 파일에 필요한 헤더를 생성한다(314). 헤더에는 실제 파일의 이름, 각 파일의 일련번호, 암호, 인증 코드, 그 밖에 다양한 정보를 추가할 수 있고, 이에 관해서는 도 5에서 설명한다.
분할 파일을 만들고 헤더를 추가하고 나면 보안 처리(315)를 해야 한다. 분할 파일 역시 일종의 파일이므로 어떤 해킹이나 보안 위협 행위에도 노출되어 있다. 또한 일부 분할 파일이 잘못되더라도 전체 파일을 병합하여 생성할 수 없는 위험한 상황이 발생할 수 있으므로 본 발명에서는 가장 기본적인 방법을 통해 분할 파일이 잘못되었는지 검증하도록 했고, 이를 위해 보안 처리 과정에서 간단한 보안 처리 절차를 거친다.
인증 처리는 각 사용자의 고유 식별자를 추가하는 과정이다. 예를 들어 최초에 파일을 선택하여 분할을 시도하는 사용자는 원하는 인증 코드를 입력할 수 있다. 이렇게 함으로써 승인되지 않은 다른 사용자가 파일의 인증을 해제하지 못하도록 할 수 있고, 이는 간단하지만 분할 파일을 보호하는 장치로 동작한다.
보안 및 인증 처리 과정을 거치고 나면 송신이 시작된다(316). 이제 서버 측에서 필요한 과정이 끝나고 클라이언트 측에서의 수신이 가능하다. 그 전에 클라이언트 측에서는 어떤 파일을 수신할 것인지 선택하고 결정해야 한다(317).
파일의 수신이 끝나면(318) 송신 과정과 마찬가지로 인증 코드를 해제하고 보안 처리를 거쳐야 한다(319). 앞에서 인증 코드를 사용했다면 반드시 이를 해제해야 한다. 일반적인 파일에 대해서 인증 코드를 사용하지 않으면 누구나 사용할 수 있는 파일로 존재하며, 이 경우는 단순히 보안 처리 과정만 거친다.
다음으로, 분할 파일의 헤더를 분석해야 한다(320). 이 과정은 파일 병합에 있어서 가장 중요한 단계이다. 헤더를 정확히 분석하여 원래 파일명과 크기, 일련번호 등을 추출하여 정상적인 순서대로 분할 파일을 병합한다(321). 마지막으로 모든 분할 파일의 병합이 끝나면 완전한 상태의 파일이 만들어지고, 이를 저장(322)하면 된다.
도 4는 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에 있어서 세부 모듈을 포함하는 전체 시스템의 구성도이다. 본 발명에 의한 시스템은 크게 세 부분으로 이루어진다. 먼저 송신 처리부(410)는 서버 측에서 클라이언트로 데이터를 전송하기 전의 과정을 다루는 모듈로 구성된다. 수신 처리부(420)는 클라이언트 측에서 데이터를 전송받는 과정을 다루는 모듈로 구성되고, 응용 처리부(430)는 클라이언트와 서버 간 데이터를 전송하는 과정에서 분할 파일 전송 및 처리에 관련해서 확장 기능을 제공한다.
파일 관리 모듈(411)은 데이터 전송을 시작하기 전에 어떤 파일을 대상으로 할 것인지 선택하고 그 밖에 파일을 정렬, 삭제, 이동 등 파일을 관리하기 위한 기본적인 기능을 제공하는 모듈이다. 파일 분할 모듈(412)은 전송에 사용할 파일을 일정한 크기의 조각으로 나누는 모듈로, 본 발명에 의한 시스템을 구현하는 과정에서 파일의 분할 단위를 설정할 수 있으나 1024바이트와 같이 너무 작거나 30MB와 같이 너무 크지 않게 적당한 크기로 정하는 것이 좋다. 본 발명에서는 기본적으로 파일 관리 모듈에서 원래 파일의 크기를 측정한 후에 3개 이상 10개 이하 정도의 크기로 나누어 사용하는 것이 적합할 것으로 생각된다. 파일 분할 모듈은 파일 크기에 따른 개수 또는 일정한 단위(1MB)로 파일을 조각내는 기능을 한다.
헤더 생성 모듈(413)은 분할 파일을 다루는데 있어서 가장 중요한 파일 헤더를 만드는 기능을 한다. 분할 파일의 헤더는 분할 파일을 다시 병합하는 과정에서 반드시 필요한 정보를 포함하고 있으며, 또한 파일 수신을 시작하기 전에 원하는 파일을 탐색하는 과정에도 이용된다. 만약 분할 파일에 별도의 헤더가 없으면 단순히 큰 파일을 분할 파일로 조각내는 것에 불과하며 이는 이미 종래에 존재하는 기술인 동시에 앞에서 제기한 여러 가지 문제점을 전혀 해결할 수 없는 평이한 기술에 불과하다. 따라서 본 발명에서는 파일 헤더를 별도로 생성하여 분할 파일을 이용하는데 있어서 효과를 더한 것이다.
보안 모듈(414)은 가장 기본적인 단계의 보안 기능을 제공한다. 예를 들어 체크섬(checksum)은 파일을 구성하는 모든 값을 일정한 규칙에 따라 더하고 그 결과 값을 기준으로 파일의 이상 여부를 판단하는 방법이다. 또는 파일을 구성하는 각 바이트의 상위 자리와 하위 자리를 뒤바꾸는 방법도 기본적인 보안 처리에 해당한다. 이처럼 본 발명에서는 분할 파일을 그대로 저장하지 않고 보안 모듈을 통해 처리한다. 이유는 원래의 파일을 단순히 조각내어 크기를 줄이는 것이 아니라 외부의 해킹, 보안 위협으로부터 보호하고 본 발명에 의한 시스템을 통하지 않거나 인증되지 않은 다른 사용자가 분할 파일을 임의로 이용하거나 가로채는 일이 없도록 하기 위함이다.
인증 모듈(415)은 최초에 파일을 분할하는 사용자가 원하는 코드를 추가하게 해준다. 예를 들어 사용자가 승인되지 않은 다른 사용자들의 접근을 막고자 한다면 인증 모듈을 통해 자신만의 암호를 삽입할 수 있다. 이렇게 하면 암호를 모르는 일반 사용자들은 분할 파일을 구하더라도 파일을 병합하거나 이용할 수 없게 된다. 본 발명에 의한 시스템에서는 보안 및 인증 해제가 완료된 상태에서 파일의 이용이 가능하므로 인증 모듈은 사용자별 보안 기능을 제공하여 승인된 사용자만이 파일을 사용하도록 하기 위한 안전장치이다. 상기의 보안 모듈이 외부의 위험으로부터 파일이 파괴되거나 손상되지 않도록 보호하는 것이라면 인증 모듈은 승인되지 않은 제3의 사용자로부터 파일의 이용을 막고 보호하기 위한 장치인 것이다.
검증 모듈(416)은 헤더의 생성과 파일 분할, 보안 및 인증 처리가 끝난 후에 파일 헤더를 기준으로 하여 분할 파일의 상태를 점검하는 모듈이다. 이 모듈을 통해 파일의 송신 가능 여부를 최종적으로 확인하고 나면 송신 처리부의 역할은 모두 끝나고 분할 파일을 자유롭게 이용할 수 있는(전송, 처리, 이용 등) 상태가 된다. 송신 모듈(417)은 이렇게 완성된 분할 파일을 전송하는 기능이다.
다음으로 수신 처리부가 있다. 수신 처리부(420)는 상기의 송신 처리부(410)와 완전히 반대의 순서로 진행되지만 실제로 기능은 비슷하다. 먼저 파일 탐색 모듈(421)은 수신 처리부에서 가장 먼저 동작한다. 어떤 파일을 수신할 것인지의 여부는 송신 처리부가 아닌 수신 처리부에서의 역할이므로 파일 탐색 모듈은 수신 처리부에 포함되어 있다. 이 모듈은 원하는 파일을 찾아서 선택할 수 있도록 편리한 파일 탐색 기능을 제공하는 것이다.
일단 원하는 파일을 찾아서 선택했다면 이제 파일을 수신해야 한다. 수신 모듈(422)은 송신 처리부의 송신 모듈과 완전히 반대의 동작을 한다.
검증 모듈(423)은 수신된 분할 파일의 헤더를 기준으로 파일의 상태를 점검한다. 상기 송신 처리부의 검증 모듈과 마찬가지로 파일의 상태를 검증하여 문제가 있는 파일(해킹, 오류 등)은 제거하고 다시 수신하도록 알려주는 기능을 한다.
보안 모듈(424)과 인증 모듈(425)은 송신 처리부에서와 비슷하다. 보안 모듈은 보안 처리된 분할 파일의 보안 상태를 해제하고 인증 모듈은 인증 코드가 있는 경우에 인증 코드를 확인하는 역할을 한다. 만약 인증 코드를 제대로 사용하지 않으면 보안 상태를 해제하더라도 파일을 사용할 수 없게 된다.
헤더 분석 모듈(426)은 최종적으로 분할 파일의 헤더를 분석하여 파일을 병합할 수 있도록 준비하고 파일 병합 모듈(427)은 실제로 파일을 병합한다. 이렇게 만들어진 파일은 파일 관리 모듈(428)을 통해 이름을 바꾸거나 삭제하거나 이동시키거나 복사하거나 그 밖에 관리 작업을 할 수 있다.
상기에서 볼 수 있듯이 본 발명에 의한 시스템은 송신 처리부와 수신 처리부로 나누어져 있지만, 실제 구현 과정에서는 중복되는 기능의 모듈들을 통합하여 송신 및 수신 여부에 따라 기능을 전환해가며 사용할 수 있고, 이렇게 할 경우 송신 처리부와 수신 처리부를 통합하여 송수신 처리부로 구현할 수 있다. 도 4에서 볼 수 있듯이 파일 관리 모듈(411, 428), 파일 분할 및 병합 모듈(412, 427), 헤더 생성 및 분석 모듈(413, 426), 보안 모듈(414, 424), 인증 모듈(415, 425), 검증 모듈(416, 423), 송수신 모듈(417, 422)은 경우에 따라 통합 구현이 가능한 모듈이다. 단 파일 탐색 모듈은 별도로 구현하거나 또는 파일 관리 모듈에 포함시켜 구현해야 한다.
본 발명에 의한 시스템을 도 4와 같이 분리시켜 고안한 이유는 데이터의 전송이 기본적으로 클라이언트와 서버라는 독립적인 개체에서 이루어지는 과정이기 때문이다. 본 발명에서 클라이언트는 데이터 수신 측이고 서버는 데이터 송신 측이라는 것은 앞에서 설명했다. 클라이언트와 서버가 별도의 개체이므로 송신 처리부와 수신 처리부를 개별적으로 구현하여 운영하는 것이 기본적이다. 단 최근과 같이 개인 네트워크가 활성화된 경우는 P2P와 같이 사용자 컴퓨터를 클라이언트 및 서버로 동시 운영이 가능하므로 이러한 경우에는 상기에 설명했듯이 송신 처리부와 수신 처리부를 통합 구현하여 하나의 시스템으로 구현하고 이용하는 것이 가능함을 제안한 것이다.(청구항 3)
도 4의 응용 처리부(430)는 본 발명에 의한 시스템의 기능을 확장하고 응용하기 위한 것으로, 자세한 설명은 도 6에서 하도록 하겠다.
도 5는 본 발명에 의한 시스템에서 분할 파일에 쓰이는 파일 헤더의 기본 구조 및 구성 요소를 보여주는 개념도이다. 일반적으로 모든 파일은 기본적인 파일 헤더를 가지고 있다. 그림 파일의 경우에는 파일의 데이터가 어떤 형식으로 이루어지고 어떻게 쓰이는지 등의 정보를 포함하는 파일 헤더를 사용한다. 마찬가지로, 본 발명에 의한 시스템에서 쓰이는 분할 파일에도 비슷한 용도의 파일 헤더가 있다.
도 5에 의하면 분할 파일의 파일 헤더는 먼저 원래의 파일명(511)을 포함해야 한다. 이는 데이터 송수신을 위해 파일을 검색하는 과정은 물론이고 파일을 분할하고 나중에 다시 병합하는 과정에서 파일을 원상태로 복구하는데 가장 기본이 되는 정보이다. 또한 파일의 크기(514), 분할 파일의 크기, 일련번호(512), 보안값(513), 인증값(515), 파일 설명 등이 있다. 본 발명에서 분할 파일의 헤더를 정확히 정의하지 않은 이유는, 보안 방식과 기술 환경의 변화에 따라 파일 헤더 역시 변할 수 있는 구체적 사항(구현의 상세함)이기 때문이다. 그러나 파일 헤더에는 반드시 파일명, 파일 크기, 보안값, 인증값(코드), 파일의 일련번호와 같은 기본적인 정보가 존재해야 하며, 이는 파일을 분할하고 전송한 후에 나중에 병합 과정에서 파일을 원상태로 복구하는 기준 값으로 사용된다.
도 6은 본 발명에 의한 시스템의 세부 모듈을 이용하여 데이터를 분할 전송 및 처리하는 방법을 상세히 보여주는 흐름도이다. 먼저 본 발명에 의한 시스템이 설치되어 있는지 확인해야 한다(611). 만약 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템이 존재하지 않는다면 도 6의 과정에 따라 진행할 수 없으므로 시스템을 설치해야 한다.
이제 송신측의 과정(도 6의 610)이 진행된다. 데이터 전송에 사용할 파일을 선택해야 하는데(612) 송신 처리부(410)의 파일 관리 모듈(411)을 통해 파일 선택 및 삭제, 이동, 복사 등의 동작이 가능하다. 전송할 파일을 선택했다면 파일 분할(613)을 시작한다. P2P 서비스 등에서 볼 수 있는 가상적인 패킷 단위의 이용이 아니라 실제로 파일을 조각으로 나누어 저장해두고 이를 전송하고 다시 병합하는 것이다. 파일 분할은 송신 처리부의 파일 분할 모듈(412)을 통해 이루어진다.
이제 파일의 헤더를 만들어야 한다(614). 송신 처리부의 헤더 생성 모듈(413)에서 원래 파일의 이름, 크기, 분할 파일의 일련 번호, 보안 값, 인증 값 등을 포함하는 파일 헤더를 구성하고 이를 분할 파일에 덧붙여 완성된 분할 파일로 만드는 것이다.
파일 헤더를 제외한 나머지 데이터는 송신 처리부의 보안 모듈(414)을 통해 보안 처리(615) 단계에서 기본적인 보안 과정을 거친다. 예를 들어 데이터를 이루는 각 바이트의 상위 바이트와 하위 바이트의 순서를 바꾸면 일반적인 에디터로는 파일의 내용을 분석할 수 없다. 보다 강력한 보안 처리를 위해서는 암호화 기법을 적용할 수도 있으나, 보안 처리가 강력할수록 파일의 보안을 해제하는 시간이 길어지므로 기본적인 보안 기능을 적용해야 한다. 본 발명에서 보안 처리 기법을 구체적으로 명시하지 않는 것은 보안 기법의 적용이 구체적 구현과 기술이므로 본 발명에 의한 시스템 및 방법에 포함되지 않는 사항이기 때문이다.
인증 처리 과정(616)에서는 인증 모듈(415)을 통해 파일을 분할하는 사용자가 원하는 코드를 입력할 수 있다. 예를 들어 직장 동료와 주고받는 파일에 대해서 AAA라는 인증 코드를 만들어 두면 이를 모르는 다른 사용자가 혹시라도 분할 파일을 전송받거나 중간에 가로채더라도 나중에 인증 코드를 입력할 수 없으므로 파일 병합과 이용이 불가능하다. 인증 과정은 일종의 개인별 암호와 같다. 그러나 다수가 이용할 수 있는 분할 파일을 만들고 전송할 때에는 인증 코드를 넣을 필요가 없고 이러한 경우 인증 처리 과정을 거치지 않고 건너뛴다.
도 6의 617에 있는 검증 과정은 송신 처리부의 검증 모듈(416)을 통해 이루어진다. 검증 과정은 말 그대로 파일의 분할이 제대로 이루어지고 헤더가 정상적으로 생성되었는지, 보안 및 인증 과정을 거쳤는지 확인하는 것이다. 만약 검증 과정에서 분할 파일에 문제가 발견되면 다시 헤더 생성 단계(614)로 돌아가서 헤더 생성 및 보안, 인증 과정을 반복하게 된다.
분할 파일의 생성과 검증이 끝나면 데이터 전송이 가능해진다. 송신 처리부의 송신 모듈(417)은 마지막 단계인 송신 과정(618)을 담당한다. 물론 데이터 송신을 위해서는 수신 측인 클라이언트가 준비되어야 한다. 만약 즉시 데이터를 송신하는 것이 아니라 송신할 수 있도록 준비만 해두고자 한다면, 일단 분할 파일 검증(617) 단계까지 마치고 분할 파일을 보관한 상태로 대기하다가 클라이언트의 요청이 있을 때 송신 단계(618)를 거쳐 데이터를 전송할 수 있다.
도 6의 620에 있는 파일 탐색 단계부터는 클라이언트(데이터 수신 측)의 역할이다. 데이터를 수신하는 측에서 원하는 파일을 탐색하고 선택하면 분할 파일의 수신이 가능하다. 이는 수신 처리부(420)의 파일 탐색 모듈(421)에서 이루어진다. 파일 선택이 끝나면 본격적인 수신을 시작하는데(631) 이는 수신 모듈(422)의 기능이다. 본 발명에 의한 시스템을 P2P와 같은 개인 네트워크에 적용한다면, 도 6의 620에서 파일(분할 파일)을 탐색할 때 현재 사용자 컴퓨터와 통신이 가능한 단일 서버가 아니라 다수의 서버(데이터 송신 측)로부터 같은 이름의 여러 분할 파일을 찾을 수도 있다. 이러한 경우 다수의 서버에서 이름(및 기능)이 같은 여러 분할 파일을 찾는다면, 한 서버에서 여러 분할 파일을 차례대로 전송받는 것이 아니라 여러 서버에서 돌아가며 분할 파일들을 하나씩 전송받을 수 있고, 이렇게 하면 종래의 P2P에 비해서 훨씬 더 효율적으로 상대측의 업로드 대역폭의 한계를 극복하고 좀 더 빠른 시간 내에 전체 파일을 전송받을 수 있는 것이다. 특히 일반적인 P2P와 달리 본 발명에서는 분할 파일을 사용하므로 중간에 전송이 끊기거나 하더라도 분할 파일만 다시 전송받으면 되므로 훨씬 더 효율적이며, 바로 이것이 본 발명의 대표적인 효과라고 할 수 있겠다.
다시 발명의 구성으로 돌아가서, 도 6의 630에 있는 파일 수신부에 대해 살펴보도록 한다. 분할 파일은 일반적인 파일을 단순히 작은 크기로 조각낸 것이 아니므로 분할 파일을 수신하고 나면(631) 송신 과정과 반대로 보안 및 인증 과정을 거쳐야 한다. 분할 파일의 수신이 끝나면 먼저 파일에 오류가 있는지 검증해야 한다. 수신 처리부의 검증 모듈(423)은 검증 과정(632)을 수행하고, 만약 오류가 있다면(633) 파일을 다시 찾고(620) 수신해야 한다.
분할 파일에 오류가 없다면 이제 인증 과정을 거친다(634). 수신 처리부의 인증 모듈(425)은 송신 처리부에서와 비슷한 기능을 하는데, 이번에는 인증 코드를 설정하는 것이 아니라 이미 정해진 인증 코드를 입력하여 승인을 받아야 하는 것이다. 만약 다수가 이용할 수 있는 일반적인 파일을 전송받은 것이라면 인증 코드가 없으므로 이 과정을 거치지 않는다.
이제 파일의 실제 데이터에 대한 보안 처리를 해제해야 한다(635). 보안 처리는 외부로부터 해킹이나 보안 위협이 있을 경우 파일의 데이터를 보호하기 위한 안전장치이다. 이는 수신 처리부의 보안 모듈(424)을 통해 이루어지는데, 가장 기본적인 수준의 보안 처리만 수행하고 해제하더라도 웬만한 해킹이나 보안 위협으로부터 보호할 수 있다. 왜냐하면 본 발명에 의한 시스템에서는 하나의 완성된 파일이 아니라 분할 파일을 이용하므로 검증 과정에서 문제가 있는 파일이 발견될 경우 해당 파일을 다시 탐색하여 전송받을 수 있고 분할 파일 자체도 보안 처리를 거치므로 일반적인 파일에 비해 위험도가 낮아지기 때문이다.
보안 해제된 분할 파일은 헤더 분석 과정(636)을 거쳐 병합 과정으로 진행된다. 분할 파일의 헤더는 수신 처리부의 헤더 분석 모듈(426)을 통해 처리되고, 헤더에 저장된 정보를 바탕으로 필요한 분할 파일을 모두 전송받은 후에 파일 병합이 이루어지는 것이다(641). 일단 헤더의 분석이 이루어지면 파일을 병합하기 전에 응용 처리부의 과정을 거칠 수 있다. 응용 처리부에 대해서는 잠시 후에 설명하겠다.
분할 파일의 헤더 분석이 끝나고 모든 분할 파일을 전송받은 후에 파일의 병합이 이루어지면 이제 원래 상태의 파일을 얻게 된다. 이 파일은 본 발명에 의한 시스템을 거치지 않은 상태의 파일과 동일하므로 사용자가 원하는 대로 이용하거나 복사, 배포, 삭제 등의 관리 기능 및 일반적인 목적으로 이용하는 것이 가능하다. 이렇게 해서 파일의 저장(643)이 끝나고 더 이상의 파일 전송 및 처리를 원하지 않으면 본 발명에 의한 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템과 이를 구현하는 과정을 모두 마치게 된다.
도 6의 630에서 헤더 분석 단계(636)를 거친 후에 즉시 분할 파일을 이용하는 것이 가능한데, 이를 본 발명에서는 응용 처리 단계(637에서 확인)라고 하였다. 응용 처리가 필요한 경우에는 응용 단계(638)로 진행하는데, 파일의 종류와 사용자의 목적에 따라 다양한 응용 처리가 가능하다. 도 6에서는 멀티미디어 파일의 재생에 대한 흐름만을 예로 들어 표현했으나 파일의 종류에 따라 다양한 응용이 가능하다.
응용 처리 단계는 도 4의 430에 있는 응용 처리부에서 이루어진다. 예를 들어 분할 파일의 파일 헤더를 분석하여 모든 것이 정상으로 판단될 경우 이를 파일 병합에 이용하는 것이 아니라 즉시 원하는 용도로 사용하는 것이다. 분할 파일이 멀티미디어 파일이라면 헤더를 분석하여 정상적인 파일로 전환시킨 후 파일 병합 전에 즉시 재생하는 것이 가능하다. 일반적인 멀티미디어 파일(동영상 파일, 사운드 파일 등)은 멀티미디어 데이터의 연속이고, 본 발명에 의한 멀티미디어 파일의 분할 파일(검증 및 복구가 완료된 상태의 분할 파일) 역시 멀티미디어 데이터의 일부이므로 전송받아서 확인 되는대로 즉시 재생할 수 있는 것이다. 이렇게 하면 분할 파일을 실시간으로 전송받는 동시에 재생할 수 있으므로 네트워크 전송 속도에 따라서는 거의 실시간으로 전송 및 재생이 가능한 실시간 스트리밍 서비스를 구현할 수 있다.
본 발명에 의한 시스템에서 상기의 응용 처리부를 이용하면 실시간 스트리밍 서비스가 가능하다. 멀티미디어 재생기 또는 멀티미디어 플레이어에서 본 발명에 의한 시스템을 구현하면 분할 파일을 전송받는 즉시 재생이나 이용이 가능하므로 파일을 저장하지 않고도 이용할 수 있고 다수의 서버로부터 여러 분할 파일을 차례대로 나누어 전송받으면 전송 속도가 아주 빠르지 않더라도 효과적인 실시간 스트리밍 서비스가 가능한 것이다. 이는 본 발명에 의한 대표적인 효과라 할 수 있다.
그러나 때에 따라서는 전송 속도가 매우 느린 관계로 실시간 스트리밍 서비스를 구현하기에 부족한 경우가 있다. 바로 이 때 응용 처리부의 전송 캐시 모듈(433)을 이용할 수 있다. 전송 캐시 모듈은 캐시 기능을 수행하는 모듈이다. 즉 정상적인 파일로의 전환이 끝난 분할 파일을 즉시 재생하거나 이용하는 것이 아니라 다음 파일이 모두 전송될 때까지 임시 캐시 영역에 보관해두었다가 다음 파일들이 차례대로 전송되고 확인됨에 따라 캐시 영역의 데이터를 이용하는 것이다. 이렇게 하면 속도가 다소 느린 네트워크에서도 실시간 스트리밍 서비스에 못지않은 효과를 얻을 수 있다.
응용 처리부의 암호화 인증 모듈(432)은 기본적인 보안 모듈(414, 424) 외에 좀 더 강력한 보안 기능(암호화)을 수행하고자 할 때 사용되는 것이다. 기본적인 보안 기능이 아니라 독립적인 암호화 모듈 및 기법, 또는 기술이나 타 발명을 본 발명에 의한 시스템에 적용하고자 할 때 모듈 자체를 이 위치에 삽입하여 이용할 수 있는 확장 시스템인 것이다. 또한 별도의 알고리즘을 고안하여 보안 기능을 적용할 수 있다. 본 발명에 의한 시스템을 진행하는 과정에서 반드시 암호화 인증 모듈을 거쳐 추가 보안 처리 및 인증 처리를 수행하도록 해두면(프로그램 구현) 별도의 모듈 단위로 보안을 강화할 수 있다.
응용 처리부의 파일 관리 모듈(434)은 단순한 파일 이름 변경, 삭제, 이동과 같은 기능 외에도 복잡한 파일 관리 기능을 제공한다. 파일을 분할하여 다루다 보면 점점 더 많은 파일이 쌓이게 되고 분할 파일만으로는 파일의 내용을 알 수 있는 방법도 없으므로 이 파일 관리 모듈을 통해서 특정 파일의 분할 파일들을 별도의 폴더에 보관하거나 압축 상태로 보존하거나 또는 분할 파일의 헤더를 분석하여 파일 설명이 유사하거나 파일명이 유사한 것을 분류하는 등 많은 분할 파일과 원본 파일을 다루는 과정에서 필요한 기능을 구현하여 편의를 제공할 수 있는 것이다.
결제 관리 모듈(436)은 본 발명에 의한 시스템 및 방법을 수익 모델(영업 행위)로 발전시킬 때 서버에서 클라이언트로 분할 파일을 전송받은 후 검증을 거쳐 사용하기 전에 실제로 결제를 승인받은 사용자만 정상적인 이용이 가능하도록 하는 것과 같은 유료 결제 기능을 연계시킬 경우에 사용되는 모듈이다.
확장 기능 모듈(435)은 상기 기능 외에 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 과정에서 추가 기능이 필요할 때 새로운 기능을 확장하기 위한 것으로, 구현 단계에서 구체적으로 실시할 수 있기 때문에 본 발명에서는 구체적 사항이나 기술적 상세보다는 시스템 및 방법에 관한 내용을 기술하고자 했다.
본 발명에서 응용 처리부에 관한 도면은 첨부하지 않았으나 상기 도 4, 5, 6의 내용과 상기 발명의 구성을 기술하는 과정에도 간단히 소개하였으며 이에 대한 발명의 내용은 청구항에 기재하도록 하겠다.
본 발명은 종래의 데이터 전송 과정에서 발생할 수 있는 문제점을 해결하고 동시에 데이터 저장 공간 및 네트워크 대역폭의 효율적인 이용을 위해 고안된 것으로, 데이터 전송 과정에서 파일을 보안 처리함으로써 해킹이나 보안 위협으로부터 보호할 수 있는 장점도 가지고 있다. 이를 통해 데이터 전송의 활성화 및 P2P와 같은 네트워크 서비스의 활성화, 저장 공간의 효율성 개선을 통한 대용량 파일 및 데이터의 이용 증가, 그리고 데이터 저장, 전송 서비스, 네트워크 서비스, 보안 등 관련 산업 분야 전반에 걸쳐 효율적이고 안정적인 발전을 가져올 뿐 아니라 개인 사용자 및 기업에 있어서도 효율적인 데이터 전송을 통해 업무 효율을 높임으로써 비관련 분야에도 간접적인 생산성 증가를 가져올 것으로 예상된다.
본 발명에 의하면 P2P 서비스에 있어서 원본 파일을 분할하여 전송 속도를 높이고 효율성을 개선할 수 있을 뿐 아니라 분할 파일을 보안 처리하므로 분할 파일 자체로는 용도나 기능이 외부에 드러나지 않음으로써 중요한 파일을 공유할 수도 있고 인증 기능을 통해 사적인 데이터 공유도 가능하며 수익 모델로 전환할 경우 유료 결제를 거친 이용자만 전송이 가능하게 하는 등의 다양한 활용이 가능하다. 또한 MP3나 동영상 파일과 같은 멀티미디어 데이터를 대상으로 분할 파일을 통한 실시간 재생 및 이용이 가능하고 각 파일에 인증 코드를 심어 유료 결제를 유도하고 불법적인 이용이 불가하도록 방지하는 효과도 얻을 수 있다.

Claims (4)

  1. 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에 있어서,
    데이터 전송을 위해 파일을 선택하고 파일을 분할하고 헤더를 생성하고 보안 및 인증 처리를 하고 분할 파일을 검증하고 송신하는 송신 처리부(410); 수신할 파일을 탐색하고 파일을 수신하고 검증하고 보안 및 인증 해제하고 헤더를 분석하고 파일을 병합하고 저장하는 수신 처리부(420); 분할 파일을 수신하는 즉시 재생하고 캐시 영역에 보관하여 지연 시간을 줄여주고 결제 기능을 제공하고 강화된 보안 기능을 제공하고 파일을 관리하고 확장 기능을 제공하는 응용 처리부(430);
    로 구성되는 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템에서,
    상기 송신 처리부는 다시,
    송신할 파일을 선택하고 삭제, 이동, 복사, 관리하는 파일 관리 모듈(411); 송신할 파일을 조각내는 파일 분할 모듈(412); 분할 파일에 필요한 헤더를 만드는 헤더 생성 모듈(413); 분할 파일에 대한 해킹 및 보안 위협을 방지하고자 보안 처리를 하는 보안 모듈(414); 분할 파일에 독특한 식별자를 부여하는 인증 모듈(415); 분할 파일의 오류나 문제를 검사하는 검증 모듈(416); 분할 파일을 전송하는 송신 모듈(417);
    로 구성되는 송신 처리부,
    상기 수신 처리부는 다시,
    수신할 파일을 상대 서버 측으로부터 찾는 파일 탐색 모듈(421); 선택된 분할 파일을 전송받는 수신 모듈(422); 분할 파일의 오류를 검사하는 검증 모듈(423); 분할 파일의 보안 상태를 해제하는 보안 모듈(424); 분할 파일에 부여된 식별용 인증 코드를 해제하는 인증 모듈(425); 분할 파일의 헤더를 분석하여 원상태로 복구하도록 준비하는 헤더 분석 모듈(426); 모든 분할 파일을 하나로 묶어 원상태로 복구하는 파일 병합 모듈(427); 최종 파일을 저장, 삭제, 이동, 복사, 관리하는 파일 관리 모듈(428);
    로 구성되는 수신 처리부,
    상기 응용 처리부는 다시,
    분할 파일의 검증이 완료되고 파일 병합을 하기 전에 즉시 이용하게 해주는 파일 재생 모듈(431); 기본 보안 및 인증 기능 외에 강화된 보안 기능을 제공하는 암호화 인증 모듈(432); 전송 속도가 느린 경우에 캐시 영역에 분할 파일을 보관했다가 실시간 스트리밍 서비스를 구현하게 해주는 전송 캐시 모듈(433); 분할 파일 및 원본 파일 등의 파일을 압축, 보관, 이동, 분류, 정렬, 관리하게 해주는 파일 관리 모듈(434); 기본 기능 외에 실시 구현 과정에서 필요한 기능을 모듈로 구현하여 제공하는 확장 기능 모듈(435); 수익 모델로 전환시켜 유료 인증이 승인된 사용자에 대해서만 분할 파일의 이용 및 파일 병합을 허용하는 결제 관리 모듈(436);
    로 구성되는 응용 처리부,
    상기 송신 처리부, 수신 처리부, 응용 처리부로 구성되는 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템.
  2. 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 방법에 있어서,
    파일을 선택하고 분할하여 헤더를 추가하고 보안 및 인증 처리하여 검증을 마친 후 송신하는 송신 처리 단계(610); 수신할 파일을 탐색하여(620) 수신하고 검증하고 보안 및 인증 해제하여 헤더를 분석하고 파일을 병합 및 저장하는 수신 처리 단계(630); 분할 파일을 병합하기 전에 이용하고 응용 기능을 수행하는 응용 처리 단계;
    로 구성되는 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 방법에서,
    상기 송신 처리 단계는 다시,
    상기 1항의 시스템이 설치되어 있는지 확인하는 단계(611); 송신할 파일을 선택하는 단계(612); 파일을 조각내고 분할하는 단계(613); 분할 파일에 필요한 헤더를 생성하는 단계(614); 분할 파일을 보호하기 위해 보안 처리하는 단계(615); 분할 파일에 식별용 인증 코드를 추가하는 인증 단계(616); 분할 파일에 오류가 없는지 검증하는 단계(617); 파일에 오류가 있으면 다시 헤더를 생성하는 단계; 파일에 오류가 없으면 송신을 준비하고 클라이언트의 요청이 있으면 송신하는 단계(618);
    로 구성되는 송신 처리 단계,
    상기 수신 처리 단계는 다시,
    수신할 파일을 서버 측으로부터 찾아서 선택하는 파일 탐색 단계(620); 분할 파일을 수신하는 단계(631); 분할 파일에 오류가 있는지 검증하는 단계(632); 오류가 있으면 다시 같은 분할 파일을 찾아서 수신하도록 선택하는 단계(633); 오류가 없으면 인증 코드를 입력하여 승인하는 단계(634); 분할 파일의 보안을 해제하여 정상 파일로 변환하는 단계(635); 분할 파일의 헤더를 분석하여 파일을 병합하기 위해 준비하는 단계(636); 응용 처리가 필요한 경우 응용 처리를 진행하는 단계(637); 응용 처리가 필요하지 않은 경우 파일 병합을 수행하는 단계(641); 파일을 저장하는 단계(642); 작업이 끝나면 파일을 저장하고 마치는 단계(643); 작업이 끝나지 않았으면 다시 파일을 찾는 단계(620);
    로 구성되는 수신 처리 단계,
    상기 응용 처리 단계는 다시,
    분할 파일을 복구하여 즉시 재생하는 단계; 분할 파일의 보안 기능을 강화하는 단계; 분할 파일의 실시간 스트리밍을 위해 캐시 기능을 사용하는 단계; 분할 파일 및 원본 파일을 종류별로 정리하거나 압축 관리하거나 정렬 및 관리하는 단계; 상기 1항의 시스템을 구현하는 과정에서 정의한 확장 기능을 사용하는 단계; 결제 승인된 사용자 또는 클라이언트만이 파일을 사용하도록 확인하는 단계;
    로 구성되는 응용 처리 단계로,
    상기 응용 처리 단계는 연속적으로 이어지는 단계가 아니라 개별 기능을 수행하는 과정을 의미하는 각 단계들로 구성되는 응용 처리 단계,
    상기 송신 처리 단계, 수신 처리 단계, 응용 처리 단계로 구성되는 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 방법.
  3. 상기 2항의 방법으로 이루어지는 상기 1항의 시스템에서, P2P와 같이 클라이언트/서버가 동시에 구동되는 네트워크 환경에서, 상기 송신 처리부(410)와 수신 처리부(420)가 부분적으로 통합되어 파일 관리 모듈(411, 428); 파일 분할 및 병합 모듈(412, 427); 헤더 생성 및 분석 모듈(413. 426); 보안 모듈(414, 424); 인증 모듈(415, 425); 검증 모듈(416, 423); 송수신 모듈(417, 422); 파일 탐색 모듈(421)로 구성되는, 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템.
  4. 상기 2항의 방법으로 이루어지는 상기 1항 및 상기 3항의 시스템에서, 클라이언트는 단일 또는 다수의 개인용 컴퓨터, 단말기, 휴대용 단말기, 서버 등 데이터를 수신하는 측, 서버는 단일 또는 다수의 서버, 개인용 컴퓨터, 단말기, 휴대용 단말기 등 데이터를 송신하는 측의 역할을 하는 장치와 해당 장치를 기반으로 동작하는 소프트웨어를 가리키는, 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는 시스템.
KR1020060040809A 2006-05-08 2006-05-08 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법 KR20060057563A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060040809A KR20060057563A (ko) 2006-05-08 2006-05-08 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060040809A KR20060057563A (ko) 2006-05-08 2006-05-08 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20060057563A true KR20060057563A (ko) 2006-05-26

Family

ID=37152938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060040809A KR20060057563A (ko) 2006-05-08 2006-05-08 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20060057563A (ko)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008020708A1 (en) * 2006-08-18 2008-02-21 Infobada Co., Ltd. Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same
KR100810223B1 (ko) * 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법
WO2008039877A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Serialization of run-time state
KR100849639B1 (ko) * 2007-03-21 2008-08-01 주식회사 에이스엠이 동영상 파일의 암호화 및 복호화 방법과 그 방법을 구현한프로그램이 기록된 기록매체
US7672909B2 (en) 2006-09-28 2010-03-02 Microsoft Corporation Machine learning system and method comprising segregator convergence and recognition components to determine the existence of possible tagging data trends and identify that predetermined convergence criteria have been met or establish criteria for taxonomy purpose then recognize items based on an aggregate of user tagging behavior
US7680908B2 (en) 2006-09-28 2010-03-16 Microsoft Corporation State replication
US7716150B2 (en) 2006-09-28 2010-05-11 Microsoft Corporation Machine learning system for analyzing and establishing tagging trends based on convergence criteria
US7797453B2 (en) 2006-09-29 2010-09-14 Microsoft Corporation Resource standardization in an off-premise environment
US8012023B2 (en) 2006-09-28 2011-09-06 Microsoft Corporation Virtual entertainment
US8014308B2 (en) 2006-09-28 2011-09-06 Microsoft Corporation Hardware architecture for cloud services
KR101111389B1 (ko) * 2009-11-04 2012-02-24 주식회사 인프라웨어 인터넷과 온에어를 통한 미디어 컨텐츠 분할 전송 시스템 및 방법
KR101128292B1 (ko) * 2008-10-30 2012-03-23 에스케이플래닛 주식회사 복수의 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버
KR101230674B1 (ko) * 2011-10-11 2013-02-07 주식회사 엔씨소프트 인터넷을 통한 위협모듈 파일수집 방법
US8402110B2 (en) 2006-09-28 2013-03-19 Microsoft Corporation Remote provisioning of information technology
US8719143B2 (en) 2006-09-28 2014-05-06 Microsoft Corporation Determination of optimized location for services and data
KR101478029B1 (ko) * 2013-05-30 2015-01-02 오픈스택 주식회사 다중 통신망과 주변의 휴대 단말기를 이용한 휴대 단말기의 데이터 다운로드 및 업로드 방법
KR101507993B1 (ko) * 2010-10-20 2015-04-06 에스케이플래닛 주식회사 컨텐츠 부분 동기화를 통한 스트리밍 방법 및 시스템
US9298743B2 (en) 2008-10-15 2016-03-29 Canon Kabushiki Kaisha Method and apparatus for dividing a moving image into a plurality of moving images and further uploading the plurality of moving images
US9746912B2 (en) 2006-09-28 2017-08-29 Microsoft Technology Licensing, Llc Transformations for virtual guest representation
KR20190089619A (ko) * 2018-01-23 2019-07-31 주식회사 케이에스넷 금융서비스 중계 방법 및 장치
US11017108B2 (en) 2018-10-30 2021-05-25 International Business Machines Corporation Storage unification with security management
CN116707863A (zh) * 2023-05-05 2023-09-05 广州劲源科技发展股份有限公司 一种大容量数据传输管控系统
CN117579617A (zh) * 2024-01-10 2024-02-20 深圳市众志天成科技有限公司 一种基于信息安全的数据传输方法和装置

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008020708A1 (en) * 2006-08-18 2008-02-21 Infobada Co., Ltd. Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same
US7716150B2 (en) 2006-09-28 2010-05-11 Microsoft Corporation Machine learning system for analyzing and establishing tagging trends based on convergence criteria
WO2008039877A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Serialization of run-time state
US9253047B2 (en) 2006-09-28 2016-02-02 Microsoft Technology Licensing, Llc Serialization of run-time state
US7672909B2 (en) 2006-09-28 2010-03-02 Microsoft Corporation Machine learning system and method comprising segregator convergence and recognition components to determine the existence of possible tagging data trends and identify that predetermined convergence criteria have been met or establish criteria for taxonomy purpose then recognize items based on an aggregate of user tagging behavior
US7680908B2 (en) 2006-09-28 2010-03-16 Microsoft Corporation State replication
US8402110B2 (en) 2006-09-28 2013-03-19 Microsoft Corporation Remote provisioning of information technology
US9746912B2 (en) 2006-09-28 2017-08-29 Microsoft Technology Licensing, Llc Transformations for virtual guest representation
US8012023B2 (en) 2006-09-28 2011-09-06 Microsoft Corporation Virtual entertainment
US8014308B2 (en) 2006-09-28 2011-09-06 Microsoft Corporation Hardware architecture for cloud services
US8775677B2 (en) 2006-09-28 2014-07-08 Microsoft Corporation Transportable web application
US8719143B2 (en) 2006-09-28 2014-05-06 Microsoft Corporation Determination of optimized location for services and data
US8595356B2 (en) 2006-09-28 2013-11-26 Microsoft Corporation Serialization of run-time state
US7797453B2 (en) 2006-09-29 2010-09-14 Microsoft Corporation Resource standardization in an off-premise environment
US7792998B2 (en) 2007-01-19 2010-09-07 Samsung Electronics Co., Ltd System and method for providing real-time streaming service between terminals
KR100810223B1 (ko) * 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법
KR100849639B1 (ko) * 2007-03-21 2008-08-01 주식회사 에이스엠이 동영상 파일의 암호화 및 복호화 방법과 그 방법을 구현한프로그램이 기록된 기록매체
US9298743B2 (en) 2008-10-15 2016-03-29 Canon Kabushiki Kaisha Method and apparatus for dividing a moving image into a plurality of moving images and further uploading the plurality of moving images
KR101128292B1 (ko) * 2008-10-30 2012-03-23 에스케이플래닛 주식회사 복수의 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버
KR101111389B1 (ko) * 2009-11-04 2012-02-24 주식회사 인프라웨어 인터넷과 온에어를 통한 미디어 컨텐츠 분할 전송 시스템 및 방법
KR101507993B1 (ko) * 2010-10-20 2015-04-06 에스케이플래닛 주식회사 컨텐츠 부분 동기화를 통한 스트리밍 방법 및 시스템
KR101230674B1 (ko) * 2011-10-11 2013-02-07 주식회사 엔씨소프트 인터넷을 통한 위협모듈 파일수집 방법
KR101478029B1 (ko) * 2013-05-30 2015-01-02 오픈스택 주식회사 다중 통신망과 주변의 휴대 단말기를 이용한 휴대 단말기의 데이터 다운로드 및 업로드 방법
KR20190089619A (ko) * 2018-01-23 2019-07-31 주식회사 케이에스넷 금융서비스 중계 방법 및 장치
US11017108B2 (en) 2018-10-30 2021-05-25 International Business Machines Corporation Storage unification with security management
CN116707863A (zh) * 2023-05-05 2023-09-05 广州劲源科技发展股份有限公司 一种大容量数据传输管控系统
CN116707863B (zh) * 2023-05-05 2024-02-13 广州劲源科技发展股份有限公司 一种大容量数据传输管控系统
CN117579617A (zh) * 2024-01-10 2024-02-20 深圳市众志天成科技有限公司 一种基于信息安全的数据传输方法和装置
CN117579617B (zh) * 2024-01-10 2024-03-22 深圳市众志天成科技有限公司 一种基于信息安全的数据传输方法和装置

Similar Documents

Publication Publication Date Title
KR20060057563A (ko) 클라이언트와 서버 간 데이터를 분할 전송 및 처리하는시스템 및 방법
KR101781583B1 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
US11694195B2 (en) System and method employing virtual ledger with non-fungible token (NFT) generation
US11170114B2 (en) Electronic storage system and a method of data management
AU2001233320C1 (en) System for distributed media network and meta data server
US20030233328A1 (en) Method and system for securely communicating data in a communications network
US20140359748A1 (en) Network terminal validation
EP2528008A2 (en) Use of media storage structure with multiple pieces of content in a content-distribution system
US20050091167A1 (en) Interdiction of unauthorized copying in a decentralized network
CN1260890A (zh) 分布式高速缓存、预取和复制的方法和系统
US8578170B2 (en) Bundle verification
EP2020108A2 (en) System and method for drm translation
CN1304099A (zh) 对本地保持的数据提供访问控制的保密机制
US20200143074A1 (en) Method for Securing Data Utilizing Microshard Fragmentation
CN113435888A (zh) 一种账户数据处理方法、装置、设备及存储介质
JP7053031B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
CN111709047B (zh) 信息管理系统及其方法
Agarwala et al. DICE: A dual integrity convergent encryption protocol for client side secure data deduplication
US20220020019A1 (en) Smart Contract-Based Electronic Contract Forensics Method and System
TW202304171A (zh) 用於以區塊鏈實施之資料應用程式中簽章驗證的改良方法與系統
US20050076214A1 (en) Method and system for file downloads to portable computing devices
Thakur et al. Data integrity techniques in cloud computing: an analysis
US20090282245A1 (en) Security method and system for media playback devices
US20080040451A1 (en) System and Method for Verifying User and Provider Information Data Delivery
US20220020010A1 (en) Decentralized electronic contract attestation platform

Legal Events

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