KR20070019188A - Crc를 이용한 부분다운로드 시스템 및 방법 - Google Patents

Crc를 이용한 부분다운로드 시스템 및 방법 Download PDF

Info

Publication number
KR20070019188A
KR20070019188A KR1020050073901A KR20050073901A KR20070019188A KR 20070019188 A KR20070019188 A KR 20070019188A KR 1020050073901 A KR1020050073901 A KR 1020050073901A KR 20050073901 A KR20050073901 A KR 20050073901A KR 20070019188 A KR20070019188 A KR 20070019188A
Authority
KR
South Korea
Prior art keywords
crc
segment
crc value
file
unit
Prior art date
Application number
KR1020050073901A
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 KR1020050073901A priority Critical patent/KR20070019188A/ko
Publication of KR20070019188A publication Critical patent/KR20070019188A/ko

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 CRC를 이용한 부분다운로드 시스템 및 방법에 관한 것으로, 클라이언트 단말기가 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC(Cyclic Redundancy Checking)값을 서버로부터 수신하고, 이를 상기 메모리의 CRC정보 블럭에 저장된 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버로부터 수신하여 상기 메모리의 해당 세그먼트에 기록하여 갱신하도록 구현함으로써 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트 할 수 있도록 한 것이다.
다운로드, 서버, 클라이언트, CRC(Cyclic Redundancy Checking)

Description

CRC를 이용한 부분다운로드 시스템 및 방법{Partial download system and method used the Cyclic Redundancy Checking technique}
도 1 은 본 발명에 따른 CRC를 이용한 부분다운로드 시스템에 의해 다운로드되는 데이타를 저장한 메모리를 도시한 도면
도 2 는 본 발명에 따른 CRC를 이용한 부분다운로드 시스템의 일 실시예에 따른 블럭도
도 3 은 본 발명에 따른 CRC를 이용한 부분다운로드 시스템의 또 다른 실시예에 따른 블럭도
도 4 는 본 발명에 따른 CRC를 이용한 부분다운로드 방법의 일 실시예에 따른 흐름도
도 5 는 본 발명에 따른 CRC를 이용한 부분다운로드 방법의 또 다른 실시예에 따른 흐름도
<도면의 주요 부분에 대한 부호의 설명>
10 :클라이언트 단말기 20 : 서버
100 : 메모리 200, 400 : 다운로드 제어부
210 : CRC값 수신부 220, 450 : CRC값 비교부
230, 460 : 다운로드 처리부 310, 410 : 파일 분리부
320, 420 : 세그먼트 번호 부여부 330, 430 : CRC값 계산부
340 : CRC값 처리부 350 : 데이타 전송부
440 : CRC값 독출부
본 발명은 CRC를 이용한 부분다운로드 시스템 및 방법에 관한 것으로, 특히 이동통신 단말기의 메모리에 저장되는 데이타를 갱신하는 기술에 관련된 것이다.
종래의 경우 이동통신 단말기의 메모리에 기록되는 바이너리(Binary) 파일을 업그레이드하기 위해서는 이동통신 단말기의 메모리에 기 저장된 바이너리(Binary) 파일과 업데이트 될 바이너리 파일의 비교없이, 기 저장된 바이너리(Binary) 파일을 무시하고 업데이트 될 바이너리 파일을 이동통신 단말기와 유무선 연결된 서버로부터 다운로드 받아 갱신하는 방법을 이용했다.
따라서, 종래의 경우 다운로드 시간은 업데이트 될 바이너리 파일의 크기에 따라 결정되었으므로, 예컨데, 바이너리 파일이 총 40Mbyte이고 변경된 부분이 10Mbyte일지라도 무조건 40Mbyte를 다운로드 받아야만 했으므로, 파일 업데이트시 시간이 많이 소요되는 문제점이 있었다.
따라서, 본 발명자는 업데이트될 전체 파일 중 변경된 부분만을 선택하여 이동통신 단말기 등의 메모리에 저장된 파일을 업데이트 함으로써 파일 업데이트시 불필요한 시간 소요를 줄일 수 있는 부분 다운로드 기술에 대한 연구를 하게 되었 다.
본 발명은 상기한 취지하에 발명된 것으로, 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트 함으로써 파일 업데이트시 불필요한 시간 소요를 줄일 수 있는 CRC를 이용한 부분다운로드 시스템 및 방법을 제공함을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 본 발명에 따른 CRC를 이용한 부분다운로드 시스템 및 방법은 클라이언트 단말기가 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버로부터 수신하고, 이를 상기 메모리의 CRC정보 블럭에 저장된 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버로부터 수신하여 상기 메모리의 해당 세그먼트에 기록하여 갱신하는 것을 특징으로 한다.
한편, 본 발명의 또 다른 양상에 따르면, 본 발명에 따른 CRC를 이용한 부분다운로드 시스템 및 방법은 서버가 상기 클라이언트 단말기 메모리의 CRC정보 블럭으로부터 CRC값을 독출하고, 이를 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기 메모리의 코드 영역에 기록하여 갱신하는 것을 특징으로 한다.
따라서, 본 발명은 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트 함으로써 파일 업데이트시 불필요한 시간 소요를 줄일 수 있게 된다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
도 1 은 본 발명에 따른 CRC를 이용한 부분다운로드 시스템에 의해 다운로드되는 데이타를 저장한 메모리를 도시한 도면이다.
도면에 도시한 바와같이, 본 발명에 따른 CRC를 이용한 부분다운로드 시스템에 의해 다운로드되는 데이타를 저장한 메모리는 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트할 수 있도록 하기 위해 코드 영역과 CRC정보 블럭을 포함한다.
상기 코드 영역은 파일을 일정한 크기의 세그먼트(Segment) 단위로 분리하여 저장한다.
상기 CRC정보 블럭은 상기 각 세그먼트를 식별하기 위한 세그먼트 번호들과 각 세그먼트 번호에 대응하는 세그먼트내의 데이터로부터 연산된 CRC(Cyclic Redundancy Checking)값들을 저장한다.
이 때, 상기 세그먼트(Segment) 단위는 상기 메모리의 지우기(Erase) 단위인 것이 바람직하다. 그 이유는 롬(ROM)은 고쳐쓰기(Rewrite) 기능이 있는게 아니라, 지우기(Erase)를 한 후에 쓰기(Write)를 하기 때문에 반드시 쓰기(Write)를 위해서는 지우기(Erase)를 해야만 하므로, 부분 업데이트 되는 데이타의 단위 즉, 세그먼트 단위를 지우기(Erase) 단위로 하는 것이 유리하기 때문이다.
상기 CRC(Cyclic Redundancy Checking)값은 상기 세그먼트내의 데이타를 16 또는 32 비트의 다항식에 적용하여 그 결과로 얻어진 코드값으로, 전송되는 데이타 의 에러 검출시 주로 이용되는 값이다.
따라서, 본 발명은 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트할 수 있도록 파일을 세그먼트 단위로 분리하여 메모리의 코드 영역에 저장하고, 세그먼트 번호별로 CRC(Cyclic Redundancy Checking)값을 메모리의 CRC정보 블럭에 저장함으로써 메모리에 저장되는 파일의 각 세그먼트 별 CRC값과 다운로드될 파일의 각 세그먼트 별 CRC값을 비교함에 의해 전체 파일중 어느 부분이 변경되었는지 알 수 있고, 이 부분만 다운로드하여 메모리에 저장된 파일을 갱신함으로써 파일 업데이트시 다운로드 속도를 향상시키게 된다.
도 2 는 본 발명에 따른 CRC를 이용한 부분다운로드 시스템의 일 실시예에 따른 블럭도이다.
이 실시예에 따른 CRC를 이용한 부분다운로드 시스템은 파일의 다운로드를 처리하는 소프트웨어인 다운로드 제어부가 클라이언트 단말기(10)에서 실행되는 경우의 실시예이다.
상기 클라이언트 단말기(10)는 메모리(100)와 다운로드 제어부(200)를 포함한다.
상기 메모리(100)는 파일을 일정한 크기의 세그먼트(Segment) 단위로 분리하여 저장하는 코드 영역과, 상기 각 세그먼트를 식별하기 위한 세그먼트 번호들과 각 세그먼트 번호에 대응하는 세그먼트내의 데이터로부터 연산된 CRC(Cyclic Redundancy Checking)값들을 저장한다.
상기 다운로드 제어부(200)는 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버(20)로부터 수신하고, 이를 상기 메모리(100)의 CRC정보 블럭에 저장된 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버로부터 수신하여 상기 메모리(100)의 해당 세그먼트에 기록하여 갱신함으로써 메모리에 저장된 전체 파일 중 변경된 부분만을 선택하여 업데이트 한다.
구체적으로 상기 다운로드 제어부(200)는 CRC값 수신부(210)와, CRC값 비교부(220)와, 다운로드 처리부(230)를 포함한다.
상기 CRC값 수신부(210)는 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버(20)에 요청하여 수신한다.
즉, 이동통신 단말기 등의 클라이언트 단말기(10)의 메모리(100)에 저장된 파일의 변경된 부분만을 업데이트 하기 위해, 사용자는 먼저 클라이언트 단말기(10)를 개발자 컴퓨터나, 고객센터의 컴퓨터나, 영업소 컴퓨터 등의 서버(20)와 유선 또는 무선 연결한다.
그리고, 전체 파일중 변경된 파일만을 부분 업데이트하는 클라이언트 단말기(10)에서 실행가능한 소프트웨어인 상기 다운로드 제어부(200)를 실행한다.
그러면, 상기 다운로드 제어부(200)는 상기 CRC값 수신부(210)를 통해 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버(20)에 요청하여 수신한다. 이 때, 상기 서버(20)는 하기하는 바와같이 미리 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 저장하고 있어야 한다.
상기 CRC값 비교부(220)는 상기 CRC값 수신부(210)에 의해 수신된 CRC값과 상기 메모리(100)의 CRC정보 블럭에 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
즉, 상기 CRC값 수신부(210)에 의해 CRC값이 수신되면, 상기 다운로드 제어부(200)가 상기 CRC값 비교부(220)를 통해 수신된 CRC값과 상기 메모리(100)의 CRC정보 블럭에 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
상기 다운로드 처리부(230)는 상기 CRC값 비교부(220)에 의한 비교 결과, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버(20)에 요청하여 수신하고 이를 상기 메모리(100)의 해당 세그먼트에 기록하여 갱신한다.
즉, 상기 CRC값 비교부(220)에 의한 비교 결과, 두 값이 일치하는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경되지 않은 것으로 판단하고, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경된 것으로 판단한다. 위와같이 판단하는 이유는 세그먼트내의 데이타가 변경되었다면, 상기 세그먼트내의 데이타를 16 또는 32 비트의 다항식에 적용하여 얻어지는 CRC값이 변경되고, 세그먼트내의 데이타가 변경되지 않았다면 CRC값이 동일하기 때문이다.
따라서, 상기 CRC값 비교부(220)에 의한 비교 결과, 두 값이 일치하는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경되지 않은 것으로 판단하여 스킵(Skip)하고, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경된 것으로 판단하여 상기 다운로드 제어부(200)가 상기 다운로드 처리부(230)를 통해 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타 를 상기 서버(20)에 요청하여 수신하고, 상기 메모리(100)의 해당 세그먼트의 데이타를 지우기(Erase)한 다음, 수신된 세그먼트 번호에 대응하는 세그먼트의 데이타를 지우기한 영역에 쓰기(Write)하여 갱신함으로써 전체 파일중 변경되는 부분만 선택적으로 다운로드 하여 갱신할 수 있게 된다.
한편, 상기 서버(20)는 미리 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 저장하는 처리를 수행하는 소프트웨어를 구비하는 것이 바람직하며, 이 소프트웨어는 파일 분리부(310)와, 세그먼트 번호 부여부(320)와, CRC값 계산부(330)와, CRC값 처리부(340)와, 데이타 전송부(350)를 포함한다.
상기 파일 분리부(310)는 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리한다.
상기 세그먼트 번호 부여부(320)는 상기 파일 분리부(310)에 의해 분리된 각 세그먼트(Segment)에 번호를 부여한다.
상기 CRC값 계산부(330)는 상기 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산한다.
상기 CRC값 처리부(340)는 상기 CRC값 계산부(330)에 의해 계산된 각 세그먼트별 CRC값을 저장하고, 클라이언트 단말기(10)로부터의 요청에 따라 CRC값을 클라이언트 단말기(10)로 전송한다.
상기 데이타 전송부(350)는 클라이언트 단말기(10)로부터의 요청에 따라 CRC값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 클라이언트 단말기(10)로 전송한다.
즉, 서버(20)는 상기 파일 분리부(310)를 통해 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리하고, 상기 세그먼트 번호 부여부(320)를 통해 분리된 각 세그먼트(Segment)에 번호를 부여하고, 상기 CRC값 계산부(330)를 통해 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장하고, 클라이언트 단말기(10)의 다운로드 제어부(200)로부터의 요청에 따라 상기 CRC값 처리부(340)를 통해 상기 저장된 CRC값을 클라이언트 단말기(10)로 전송한다.
그러면, 이를 수신한 클라이언트 단말기(10)의 다운로드 제어부(200)는 이 수신된 CRC값과 메모리(100)의 CRC 정보블럭으로부터 독출한 CRC값을 각 세그먼트 번호별로 비교하여, CRC값이 서로 다른 세그먼트 번호에 대응하는 세그먼트 데이타의 전송을 서버(20)로 요청한다.
그러면, 상기 서버(20)는 상기 데이타 전송부(350)를 통해 전송 요청된 CRC값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 클라이언트 단말기(10)로 전송하고, 이를 수신한 클라이언트 단말기(10)의 다운로드 제어부(200)는 메모리의 코드 영역에 이를 기록함으로써 전체 파일중 변경되는 부분만 선택적으로 갱신된다.
도 3 은 본 발명에 따른 CRC를 이용한 부분다운로드 시스템의 또 다른 실시예에 따른 블럭도이다.
이 실시예에 따른 CRC를 이용한 부분다운로드 시스템은 파일의 다운로드를 처리하는 소프트웨어인 다운로드 제어부가 도 2 와는 달리 서버(20)에서 실행되는 경우의 실시예이다.
이 실시예에서의 클라이언트 단말기(10)의 메모리(100)는 파일을 일정한 크기의 세그먼트(Segment) 단위로 분리하여 저장하는 코드 영역과, 상기 각 세그먼트를 식별하기 위한 세그먼트 번호들과 각 세그먼트 번호에 대응하는 세그먼트내의 데이터로부터 연산된 CRC(Cyclic Redundancy Checking)값들을 저장하는 CRC정보 블럭을 포함한다.
한편, 서버(20)는 상기 클라이언트 단말기(10) 메모리(100)의 CRC정보 블럭으로부터 CRC값을 독출하고, 이를 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기(10) 메모리(100)의 코드 영역에 기록하여 갱신하는 다운로드 제어부(400)를 포함한다.
구체적으로, 상기 다운로드 제어부(400)는 파일 분리부(410)와, 세그먼트 번호 부여부(420)와, CRC값 계산부(430)와, CRC값 독출부(440)와, CRC값 비교부(450)와, 다운로드 처리부(460)를 포함한다.
상기 파일 분리부(410)는 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리한다.
상기 세그먼트 번호 부여부(420)는 상기 파일 분리부(410)에 의해 분리된 각 세그먼트(Segment)에 번호를 부여한다.
상기 CRC값 계산부(430)는 상기 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장한다.
상기 CRC값 독출부(440)는 상기 클라이언트 단말기(10) 메모리(100)의 CRC정보 블럭으로부터 CRC값을 독출한다.
상기 CRC값 비교부(450)는 상기 CRC값 독출부(440)에 의해 독출된 CRC값과 상기 CRC값 계산부(430)에 의해 계산되어 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
상기 다운로드 처리부(460)는 상기 CRC값 비교부(450)에 의한 비교 결과, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기(10) 메모리(100)의 코드 영역에 기록하여 갱신한다.
즉, 이동통신 단말기 등의 클라이언트 단말기(10)의 메모리(100)에 저장된 파일의 변경된 부분만을 업데이트 하기 위해, 사용자는 먼저 클라이언트 단말기(10)를 개발자 컴퓨터나, 고객센터의 컴퓨터나, 영업소 컴퓨터 등의 서버(20)와 유선 또는 무선 연결한다.
그리고, 전체 파일중 변경된 파일만을 부분 업데이트하는 서버(20)에서 실행가능한 소프트웨어인 상기 다운로드 제어부(400)를 실행한다.
이 때, 서버(20)는 미리 상기 파일 분리부(410)를 통해 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리하고, 상기 세그먼트 번호 부여부(420)를 통해 분리된 각 세그먼트(Segment)에 번호를 부여하고, 상기 CRC값 계산부(430)를 통해 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장한다.
상기 다운로드 제어부(400)가 실행되면, 상기 다운로드 제어부(400)는 상기 CRC값 수신부(440)를 통해 상기 클라이언트 단말기(10)의 메모리(100)에 포함된 CRC정보 블럭으로부터 CRC값을 독출한다.
그 다음, 상기 다운로드 제어부(400)는 상기 CRC값 비교부(450)를 통해 상기 CRC값 독출부(440)에 의해 독출된 CRC값과, 상기 CRC값 계산부(430)에 의해 계산되어 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
이 때, 상기 CRC값 비교부(450)에 의한 비교 결과, 두 값이 일치하는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경되지 않은 것으로 판단하고, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경된 것으로 판단한다. 위와같이 판단하는 이유는 세그먼트내의 데이타가 변경되었다면, 상기 세그먼트내의 데이타를 16 또는 32 비트의 다항식에 적용하여 얻어지는 CRC값이 변경되고, 세그먼트내의 데이타가 변경되지 않았다면 CRC값이 동일하기 때문이다.
상기 CRC값 비교부(450)에 의한 비교 결과, 두 값이 일치하는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경되지 않은 것으로 판단하여 스킵(Skip)하고, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타는 변경된 것으로 판단하여 상기 다운로드 제어부(400)가 상기 다운로드 처리부(460)를 통해 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 클라이언트 단말기(10) 메모리(100)로부터 지우기(Erase)한 다음, 세그먼트 번호에 대응하는 업데이트 할 파일의 세그먼트의 데이타를 지우기한 영역에 쓰기(Write)하여 갱신함으로써 전체 파일중 변경되는 부분만 선택적으로 갱신한다.
상기한 구성을 갖는 본 발명에 따른 CRC를 이용한 부분다운로드 시스템의 부 분다운로드 동작을 도 4 및 도 5 를 참조하여 알아본다.
도 4 는 본 발명에 따른 CRC를 이용한 부분다운로드 방법의 일 실시예에 따른 흐름도이다.
이 실시예는 파일의 다운로드를 처리하는 소프트웨어인 다운로드 제어부가 클라이언트 단말기에서 실행되는 경우의 흐름도이다.
먼저, CRC값 수신단계(S110)에서 다운로드 제어부가 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버에 요청하여 수신한다.
그 다음, 상기 CRC값 수신단계(S110)에 의해 CRC값이 수신되면, 다운로드 제어부가 CRC값 비교단계(S120)에서 수신된 CRC값과 클라이언트 단말기 메모리의 CRC정보 블럭에 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
만일, 상기 CRC값 비교단계(S120)에 의한 비교 결과, 두 값이 일치하지 않을 경우 다운로드 제어부가 다운로드 처리단계(S130)에서 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버에 요청하여 수신하고 이를 상기 메모리의 해당 세그먼트에 기록하여 갱신함으로써 전체 파일 중 변경된 부분만 부분다운로드하여 업데이트한다.
도 5 는 본 발명에 따른 CRC를 이용한 부분다운로드 방법의 또 다른 실시예에 따른 흐름도이다.
이 실시예는 파일의 다운로드를 처리하는 소프트웨어인 다운로드 제어부가 서버에서 실행되는 경우의 흐름도이다.
먼저, 파일 분리단계(S210)에서 다운로드 제어부가 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리한다.
그 다음, 세그먼트 번호 부여단계(S220)에서 다운로드 제어부가 상기 파일 분리단계(S210)에 의해 분리된 각 세그먼트(Segment)에 번호를 부여한다.
그 다음, CRC값 계산단계(S230)에서 다운로드 제어부가 상기 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장한다.
이 상태에서 부분다운로드시, CRC값 독출단계(S240)에서 다운로드 제어부가 상기 클라이언트 단말기 메모리의 CRC정보 블럭으로부터 CRC값을 독출한다.
그 다음, CRC값 비교단계(S250)에서 다운로드 제어부가 상기 CRC값 독출단계(S240)에 의해 수신된 CRC값과 상기 CRC값 계산단계(S230)에 의해 계산되어 저장된 CRC값을 각각 세그먼트 번호별로 비교한다.
만일, CRC값 비교단계에 의한 비교 결과, 두 값이 일치하지 않을 경우 다운로드 제어부가 다운로드 처리단계(S260)에서 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기 메모리의 코드 영역에 기록하여 갱신함으로써 전체 파일 중 변경된 부분만 부분다운로드하여 업데이트한다.
따라서, 위와 같이함에 의해 본 발명에 따른 CRC를 이용한 부분다운로드 시스템 및 방법은 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트 함으로써 파일 업데이트시 불필요한 시간 소요를 줄일 수 있게 되므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있게 된다.
이상에서 설명한 바와 같은 본 발명에 따른 CRC를 이용한 부분다운로드 시스템 및 방법은 업데이트될 전체 파일 중 변경된 부분만을 선택하여 업데이트 함으로써 파일 업데이트시 불필요한 시간 소요를 줄일 수 있는 유용한 효과를 가진다.
본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.

Claims (5)

  1. 파일을 일정한 크기의 세그먼트(Segment) 단위로 분리하여 저장하는 코드 영역과, 상기 각 세그먼트를 식별하기 위한 세그먼트 번호들과 각 세그먼트 번호에 대응하는 세그먼트내의 데이터로부터 연산된 CRC(Cyclic Redundancy Checking)값들을 저장하는 CRC정보 블럭을 포함하는 메모리를 포함하는 클라이언트 단말기와;
    상기 클라이언트 단말기 메모리의 CRC정보 블럭으로부터 CRC값을 독출하고, 이를 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값과 각각 세그먼트 번호별로 비교하여, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기 메모리의 코드 영역에 기록하여 갱신하는 서버를;
    포함하는 것을 특징으로 하는 CRC를 이용한 부분다운로드 시스템.
  2. 제 1 항에 있어서,
    상기 세그먼트(Segment) 단위가:
    상기 메모리의 지우기(Erase) 단위인 것을 특징으로 하는 CRC를 이용한 부분다운로드 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 서버가:
    다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리하는 파일 분리부와;
    상기 파일 분리부에 의해 분리된 각 세그먼트(Segment)에 번호를 부여하는 세그먼트 번호 부여부와;
    상기 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장하는 CRC값 계산부와;
    상기 클라이언트 단말기 메모리의 CRC정보 블럭으로부터 CRC값을 독출하는 CRC값 독출부와;
    상기 CRC값 독출부에 의해 독출된 CRC값과 상기 CRC값 계산부에 의해 계산되어 저장된 CRC값을 각각 세그먼트 번호별로 비교하는 CRC값 비교부와;
    상기 CRC값 비교부에 의한 비교 결과, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기 메모리의 코드 영역에 기록하여 갱신하는 다운로드 처리부를;
    포함하는 다운로드 제어부를 포함하는 것을 특징으로 하는 CRC를 이용한 부분다운로드 시스템.
  4. 다운로드 할 파일을 세그먼트 단위로 분리하여 연산한 CRC값을 서버에 요청하여 수신하는 CRC값 수신단계와;
    상기 CRC값 수신단계에 의해 수신된 CRC값과 상기 메모리의 CRC정보 블럭에 저장된 CRC값을 각각 세그먼트 번호별로 비교하는 CRC값 비교단계와;
    상기 CRC값 비교단계에 의한 비교 결과, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 서버에 요청하여 수신하고 이를 상기 메모리의 해당 세그먼트에 기록하여 갱신하는 다운로드 처리단계를;
    포함하는 것을 특징으로 하는 CRC를 이용한 부분다운로드 방법.
  5. 다운로드 할 파일을 일정 크기의 세그먼트(Segment) 단위로 분리하는 파일 분리단계와;
    상기 파일 분리단계에 의해 분리된 각 세그먼트(Segment)에 번호를 부여하는 세그먼트 번호 부여단계와;
    상기 각 세그먼트 번호에 대응하는 세그먼트의 CRC(Cyclic Redundancy Checking)값을 각각 계산하여 저장하는 CRC값 계산단계와;
    상기 클라이언트 단말기 메모리의 CRC정보 블럭으로부터 CRC값을 독출하는 CRC값 독출단계와;
    상기 CRC값 독출단계에 의해 수신된 CRC값과 상기 CRC값 계산단계에 의해 계산되어 저장된 CRC값을 각각 세그먼트 번호별로 비교하는 CRC값 비교단계와;
    상기 CRC값 비교단계에 의한 비교 결과, 두 값이 일치하지 않는 세그먼트 번호에 대응하는 세그먼트의 데이타를 상기 클라이언트 단말기 메모리의 코드 영역에 기록하여 갱신하는 다운로드 처리단계를;
    포함하는 것을 특징으로 하는 CRC를 이용한 부분다운로드 방법.
KR1020050073901A 2005-08-11 2005-08-11 Crc를 이용한 부분다운로드 시스템 및 방법 KR20070019188A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050073901A KR20070019188A (ko) 2005-08-11 2005-08-11 Crc를 이용한 부분다운로드 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050073901A KR20070019188A (ko) 2005-08-11 2005-08-11 Crc를 이용한 부분다운로드 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20070019188A true KR20070019188A (ko) 2007-02-15

Family

ID=43652326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050073901A KR20070019188A (ko) 2005-08-11 2005-08-11 Crc를 이용한 부분다운로드 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20070019188A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831297B (zh) * 2019-04-17 2021-10-26 中兴通讯股份有限公司 零差分升级方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831297B (zh) * 2019-04-17 2021-10-26 中兴通讯股份有限公司 零差分升级方法及装置

Similar Documents

Publication Publication Date Title
KR100987628B1 (ko) 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
US7873956B2 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US20040135705A1 (en) Map data processing apparatus and center system
US20090320012A1 (en) Secure booting for updating firmware over the air
CN101911074A (zh) 基于存储寿命和速度选择存储位置用于文件存储
CN111880744A (zh) 一种数据迁移方法、装置、电子设备和介质
JP7143735B2 (ja) メモリコントローラ、及びメモリシステム
KR100927446B1 (ko) 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템
JP2021144635A (ja) プログラム更新システム、並びに情報処理装置及び情報処理プログラム
CN112783449A (zh) 数据迁移方法及装置
CN103825945A (zh) 一种分片存储方法及用户终端
EP1648148B1 (en) Cellular phone with automatic program update method
CN111143258B (zh) 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质
CN112346771B (zh) 升级文件生成方法及装置
KR20070019188A (ko) Crc를 이용한 부분다운로드 시스템 및 방법
JP6050794B2 (ja) フラッシュメモリモジュール、不揮発性半導体メモリモジュール及びストレージ装置
CN110704091A (zh) 一种固件升级方法及装置
CN112650513B (zh) 程序升级方法、装置、计算机设备和存储介质
CN112036133A (zh) 一种文件保存方法、装置、电子设备及存储介质
JP2007052558A (ja) フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム
CN112657196A (zh) 资源更新方法、装置、计算机设备和可读存储介质
KR100693551B1 (ko) 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법
CN112148220A (zh) 一种实现数据处理的方法、装置、计算机存储介质及终端
KR100571915B1 (ko) 갱신할 데이터에 따라 전체 지우기와 부분 지우기를선택하여 프로그램을 갱신하는 방법 및 그 장치
KR101106568B1 (ko) 모바일기기용 파일 정렬 시스템 및 그 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination