KR20010054529A - 소프트웨어 원격 다운 로드 방법 - Google Patents

소프트웨어 원격 다운 로드 방법 Download PDF

Info

Publication number
KR20010054529A
KR20010054529A KR1019990055375A KR19990055375A KR20010054529A KR 20010054529 A KR20010054529 A KR 20010054529A KR 1019990055375 A KR1019990055375 A KR 1019990055375A KR 19990055375 A KR19990055375 A KR 19990055375A KR 20010054529 A KR20010054529 A KR 20010054529A
Authority
KR
South Korea
Prior art keywords
processor board
target file
ram
sequence
destination processor
Prior art date
Application number
KR1019990055375A
Other languages
English (en)
Other versions
KR100640508B1 (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 KR1019990055375A priority Critical patent/KR100640508B1/ko
Publication of KR20010054529A publication Critical patent/KR20010054529A/ko
Application granted granted Critical
Publication of KR100640508B1 publication Critical patent/KR100640508B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 소스 프로세서 보드와 목적지 프로세서 보드간의 소프트웨어 원격 다운로드 방법에 있어서, 양쪽 프로세서 보드간에 메시지 통신을 통해 다운로드되는 대상파일에 대한 정보를 주고 받고, 소스 프로세서 보드에서 대상파일을 목적지 프로세서 보드의 램이 수용 가능한 크기로 다수개의 조각으로 나누어 이를 전송하며, 목적지 프로세서 보드에서는 전송된 대상파일의 조각을 램에 다운로드하여 이를 처리하는 과정을 가진다.

Description

소프트웨어 원격 다운 로드 방법{SOFTWARE REMOTE DOWNLOAD}
본 발명은 전송장비의 프로세서 보드에 소프트웨어 원격 다운 로드(software remote download} 동작에 관한 기술로서, 특히 임시저장 공간인 램(RAM) 용량이 원격 다운로드 받을 소프트웨어 대상파일 크기보다 작을 경우에도 이를 다운로드 받기 위한 방법에 관한 것이다.
통상적으로, 다중 매체 응용을 지원하기 위한 전송로의 기반기술로는 동기식디지털 계위(Synchronous Digital Hierarchy: 이하 SDH라 칭함)가 요구된다. 동기식 디지털 계위는 광대역 종합정보 통신망의 망노드 접면 표준으로도 사용할 수 있도록 일반화한 것을 말하는데, 이 동기식 디지털 계위에 의거한 전송방식이 동기식 전송 방식이다.
도 1은 종래의 SDH에 의거한 소프트웨어 원격 다운로드 동작을 설명하기 위한 소스/목적지 프로세서 보드의 개략적인 구성도이다. 도 1을 참조하면, 소스 프로세서 보드(source processor board)(110)와 목적지 프로세서 보드(destination processor board)(120)간에 IPC(Inter Processor Communication)가 이루어지고 있다고 할 때에, 소스 프로세서 보드(110)의 램(RAM: Random Access Memory)(112)에 존재하는 대상파일은 목적지 프로세서 보드(120)의 램(122)에 다운로드 된다. 목적지 프로세서 보드(120)의 램(122)에서 다운로드된 대상파일은 이후 목적지 프로세서 보드(120)의 플래시 이이피롬(Flash EEPROM: Electrically Erasable Programmable ROM, 이하 FROM이라 칭함)(124, 126)으로 한번에 복사된다.
상기와 같은 소프트웨어 원격 다운로드는 다운로드할 대상파일 크기보다 이를 임시로 받아 저장하는 목적지 프로세서 보드(120)의 램(122) 용량이 크다는 것을 전제로 한다. 그런데 만약 다운로드할 대상파일 크기보다 이를 임시로 받아 저장하는 목적지 프로세서 보드(120)의 램(122) 용량이 더 작을 경우는 한꺼번에 다운로드 받는 알고리즘으로는 신뢰성 있게 대상파일을 다운로드 받을 수 없다.
다운로드할 대상파일 크기보다 이를 임시로 받아 저장하는 램(122)의 용량이 더 클 경우는 소스 프로세서 보드(110)의 램(112)에서 목적지 프로세서 보드(120)의 램(122)으로 한번에 다운로드 동작이 이루어지고 다시 목적지 프로세서 보드 (120)의 램(122)에서 목적지 프로세서 보드(120)의 FROM1, 2(124, 126)까지 한번에 복사가 가능하다. 만약 도 1에 도시된 바와 같은 메모리 구조에서, 목적지 프로세서 보드(122)의 소프트웨어 다운로드 기능에 할당된 램(122)의 용량이 대상파일의 크기보다 작다면 다운로드시 대상파일이 램(122)의 영역을 넘어서 복사될 수도 있고, 이는 기존에 수행중인 코드나 데이터 영역을 침범하여 치명적인 오류를 발생시킬 수도 있다.
상기한 오류를 방지하기 위하여, 소스 프로세서 보드(110)와 목적지 프로세서 보드(120)간에 다운로드 가능한 최대한의 크기를 미리 지정해서 다운로드 동작전에 이를 체크하여 다운로드 동작이 되지 않도록 사전에 막을 수도 있을 것이다. 그런데, 이 경우도 다운로드 동작이 이루어지지 않기 때문에, 결과적으로 다운로드 기능을 지원할 수 없게 된다.
따라서 본 발명의 목적은 소스 프로세서 보드에서 목적지 프로세서 보드로 다운로드할 대상파일 크기보다 이를 임시로 받아 저장하는 램의 용량이 더 작을 경우에도 이를 신뢰성 있게 다운로드할 수 있는 소프트웨어 다운로드 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명은 대상파일을 램이 수용할 수 있는 크기로 여러 개로 나누어 이를 순차적으로 램에 다운로드하면서, 다운로드한 대상파일의 부분을 해당 FROM 영역에 순차적으로 복사하는 작업을 반복적으로 수행함을 특징을 한다.
도 1은 종래의 소프트웨어 원격 다운로드 동작을 설명하기 위한 소스/목적지 프로세서 보드의 개략적인 구성도,
도 2는 본 발명의 일 실시예에 따른 소프트웨어 원격 다운로드 동작을 설명하기 위한 소스/목적지 프로세서 보드의 개략적인 구성도,
도 3은 본 발명의 일 실시예에 따른 소프트웨어 원격 다운 로드 과정의 흐름도.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 원격 다운로드 동작을 설명하기 위한 소스/목적지 프로세서 보드의 개략적인 구성도이다. 도 2를 참조하여 목적지 프로세서 보드(220)의, 또한 이와 동일한 소스 프로세서 보드(210)의 메모리 구성은 간략히 보면, 메모리는 대상파일의 임시저장 영역 역할을 하는 램(222)과 다운로드한 대상파일이 실제로 복사될 FROM(224, 226) 영역으로 구성된다. FROM(224, 226)영역은 FROM1(224), FROM2(226)으로 다시 두 영역 이상으로 나누어져서, FROM(224, 226) 영역 전체에 최소한 두 개 이상의 서로 다른 소프트웨어 버전이 저장될 수 있다. 이를 통상적으로 뱅크(Bank) 1, 뱅크 2라 부른다.
실제로 2.5G SDH 전송장비의 MPU(Main Processor Unit), DCU(Data Communication Unit)는 FROM이 두 영역(2M-2M, 뱅크1-뱅크2)으로 나뉘어 있다. 이 밖에도 다운로드 알고리즘 상 프로그램에서 필요로 하는 자체 데이터와, 실행명령 후 다시 프로그램이 수행될 때 어느 FROM 영역의 프로그램을 수행할 것인지 등 백업 데이터를 저장하게 되는 NVRAM(Non-Volatile RAM)이 필요하다. 그리고 다운로드 대상파일의 다운로드 경로 역할을 하는 채널이 필요하다. 이 채널은 2,5G SDH 전송장비의 경우 IPC(InterProcessor Communication)가 담당하게 된다. 이 IPC 태스크 (task)는 소스 프로세서 보드와 목적지 프로세서 보드에 거의 비슷한 알고리즘으로 존재한다.
실제적 예로 2.5G SDH 전송장비의 MPU는 많은 태스크들이 램 용량의 대부분을 사용하므로 소프트웨어 원격 다운로드(RDL: Remote Down-Load) 태스크가 확보할 수 있는 램 영역은 얼마되지 않는다. 그러므로 소스 프로세서 보드인 DCU에서 MPU 프로그램(대상파일)을 MPU에 다운로드할 수 없다.
다시 도 2를 참조하면, 본 발명에서는 소스 프로세서 보드(210)에서 목적지 프로세서 보드(220)로 대상파일을 전송할 때에 이를 목적지 프로세서 보드(220)의 램(222)이 수용할 수 있는 크기로 여러 개(#1, #2, #3... #N)로 나누어 이를 순차적으로 상기 램(222)에 다운로드하게 된다. 이러한 방식은 상기 대상파일의 크기가 상기 램(222)의 크기보다 클 경우에 적용됨이 바람직하다. 대상파일의 크기가 상기 램보다 작을 경우에는 종래와 같이 대상파일을 한번에 전송할 수도 있다. 도 2에서는 대상파일의 크기가 2M 이상임에 비해 상기 램(222)은 2M 이하인 것으로 예를 들었다.
상기와 같이 여러 개로 나누어진 대상파일의 각 조각은 목적지 프로세서 보드(220)의 램(222)에 다운로드된 후에 FROM1(224)에 각각 복사된다. 이때 램(222)에 다운로드받은 대상파일의 조각이 복사되는 과정은 하나의 조작이 램에 다운로드된 후에 다음 조각을 다운로드 받는 도중에서 이미 다운로드된 조각은 FROM1(224)에 복사하는 것으로 이루어질 수 있고, 각각의 조각의 크기가 작다면, 적절히 다수개의 조각을 다운로드 받은 후에 이를 FROM1(224)에 복사할 수도 있다. 상기 조각의 크기는 대상파일의 크기, 상기 다운로드 받을 램(224)의 크기, 전송속도 등에 따라 적절히 설정될 수 있다.
상기와 같은 본 발명의 동작이 정상적으로 수행되려면 몇가지 전제 조건이 필요하다. 먼저, 본 발명의 방식대로 다운로드시 양 프로세서 보드간에는 이미 메시지 통신을 통해 대상파일의 전체 크기, 대상파일을 몇 개로 나누었는지 그 개수를 알고 있다. 이하의 설명에서는 상기 대상파일을 나눈 하나의 조각을 시퀀스 (sequence)라고 칭한다. 그리고 이러한 시퀀스의 크기도 미리 양쪽 프로세서 보드간에 약속이 되어 있어야 한다. 왜냐하면 양쪽 프로세서 보드의 IPC는 약속된 크기로 대상파일의 조각들을 주고 받기 때문이다.
이하 본 발명의 일 실시예에 따른 소프트웨어 원격 다운로드 과정을 도 3을 참조하여 보다 상세히 설명하기로 한다. 도 3은 본 발명의 일 실시예에 따른 소프트웨어 원격 다운로드 과정의 흐름도이다. 도 3을 참조하면, 먼저 302단계에서 양쪽 프로세서 보드간에 초기화가 이루어진다. 초기화시에는 상기한 바와 같이 메시지 통신을 통해 다운로드되는 대상파일의 정보 즉, 전체 크기, 대상파일의 나눈 개수 등에 대한 정보를 주고 받는다.
이후 304단계에서, 소스 프로세서 보드(210)에서 보낸 첫 번째 시퀀스(sub-sequence = 1)를 목적지 프로세서 보드(220)가 램(222)을 통해 받게 된다. 이후 306단계에서 목적지 프로세서 보드(220)는 운용자의 편의를 위해 다운로드의 진행율을 표시할 수 있다. 이는 한 시퀀스를 받을 때마다 대상파일의 전체 크기에 대한백분율을 계산하여 이를 GUI(Graphic User Interface)나 NMS(Network Management Subsystem)로 보고한다.
이후 308단계에서 현재 수신받은 시퀀스가 마지막 시퀀스인가를 확인하여 마지막 시퀀스가 아니면 310단계로 진행하고, 마지막 시퀀스이면 316단계로 진행한다. 310단계에서, 상기 목적지 프로세서 보드(220)는 상기 램(222)에 저장된 시퀀스를 FROM1(224)에 복사한다. 이때에 상기 시퀀스가 첫 번째 시퀀스이면, 이를 FROM1(224)에 복사하기 전에 먼저 FROM1(224) 영역을 지우게 된다. 이후 312단계에서 소스 프로세서 보드(210)에 다음 시퀀스를 보내라는 메시지를 보낸다. 상기 메시지를 받을 때까지 소스 프로세서 보드(210)는 다음 시퀀스를 보내서는 안된다. 왜냐하면 전송 타이밍이 틀어지면 목적지 프로세서 보드(220)가 램(222)의 시퀀스를 FROM(224)에 다 복사하기도 전에 소스 프로세서 보드(210)가 상기 램(222)에 다음 시퀀스를 오버라이트(overwrite)할 수도 있기 때문이다.
다음 시퀀스 요구를 받은 소스 프로세서 보드(210)는 대상파일에서 다음 시퀀스를 목적지 프로세서 보드(220)의 램(222)에 보낸다. 이때부터 목적지 프로세서 보드(220)는 상기 306단계로 진행하여 상기의 과정을 반복진행하게 되는데, 이때에는 FROM(224)을 지우는 작업 없이 이전 시퀀스가 복사된 다음 번지부터 받은 시퀀스를 복사한다. 상기에서 마지막 시퀀스까지 모드 전송이 되었으면, 상기 308단계에서 마지막 시퀀스임을 확인한 후 316단계에서 FROM(224)에 이를 복사하고 종료하게 된다.
상기한 과정으로 대상파일을 모드 목적지 프로세서 보드(220)의 FROM(224)영역에 복사하게 된다. 상기에서 소스 프로세서 보드(220)나 목적지 프로세서 보드(224)는 모두 전체 시퀀스의 개수(total-sequence)를 알고 있으므로, 목적지 프로세서 보드(220)는 마지막 시퀀스를 받으면 FROM1(224)에 복사하고 난 후 소스 프로세서 보드(210)에게는 마지막 시퀀스를 받았다는 메시지를 보내 알리고, 그 동안 다운로드 작업이 이루어졌던 통로인 IPC 채널을 닫을 수 있다. 반면 소스 프로세서 보드(210)는 자신이 대상파일의 마지막 시퀀스를 보냈음을 알고 있으므로 그 상태에서 목적지 프로세서 보드(220)로부터 마지막 시퀀스를 받았음을 알리는 메시지를 받으면 다운로드 동작이 정상적으로 수행되었다고 판단할 수 있다. 마지막으로 목적지 프로세서 보드(220)는 GUI나 NMS에게로 100% 다운로드 완료 자동보고를 할 수 있다.
상기한 바와 같이 본 발명은 대상파일을 램이 수용할 수 있는 크기로 여러 개로 나누어 이를 순차적으로 램에 다운로드하면서, 다운로드한 대상파일의 부분을 해당 FROM 영역에 순차적으로 복사하는 작업을 반복적으로 수행하여, 대상파일이 목적지 프로세서의 램 용량에 비해 클 경우에도 이를 다운로드할 수 있다.
상기한 바와 같이 본 발명은 소스 프로세서 보드에서 목적지 프로세서 보드로 다운로드할 대상파일 크기보다 이를 임시로 받아 저장하는 램의 용량이 더 작을 경우에도 대상파일을 신뢰성 있게 다운로드할 수 있다.

Claims (3)

  1. 소스 프로세서 보드와 목적지 프로세서 보드간의 소프트웨어 원격 다운로드 방법에 있어서,
    상기 양쪽 프로세서 보드간에 메시지 통신을 통해 다운로드되는 대상파일에 대한 정보를 주고 받는 과정과,
    상기 소스 프로세서 보드에서 대상파일을 상기 목적지 프로세서 보드의 램이 수용 가능한 크기로 다수개의 조각으로 나누어 이를 전송하는 과정과,
    상기 목적지 프로세서 보드에서 상기 전송된 대상파일의 조각을 상기 램에 다운로드하여 이를 처리하는 과정을 가짐을 특징으로 하는 소프트웨어 원격 다운로드 방법.
  2. 제1항에 있어서, 상기 목적지 프로세서 보드에서 상기 전송된 대상파일의 조각을 처리하는 과정이 다운로드의 진행 상태를 운용자에게 표시하는 단계를 가짐을 특징으로 하는 소프트웨어 원격 다운로드 방법.
  3. 제1항에 있어서, 상기 대상파일에 대한 정보는 대상파일의 크기 및 대상파일을 나눈 조각의 개수에 대한 정보를 포함함을 특징으로 하는 소프트웨어 원격 다운로드 방법.
KR1019990055375A 1999-12-07 1999-12-07 소프트웨어 원격 다운 로드 방법 KR100640508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990055375A KR100640508B1 (ko) 1999-12-07 1999-12-07 소프트웨어 원격 다운 로드 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990055375A KR100640508B1 (ko) 1999-12-07 1999-12-07 소프트웨어 원격 다운 로드 방법

Publications (2)

Publication Number Publication Date
KR20010054529A true KR20010054529A (ko) 2001-07-02
KR100640508B1 KR100640508B1 (ko) 2006-10-31

Family

ID=19623919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990055375A KR100640508B1 (ko) 1999-12-07 1999-12-07 소프트웨어 원격 다운 로드 방법

Country Status (1)

Country Link
KR (1) KR100640508B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691259B1 (ko) * 2004-12-13 2007-03-12 한국전자통신연구원 전송 블록 그룹화를 위한 임대 소프트웨어 제공 시스템 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289108A (ja) * 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd リモートプログラムダウンロード装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691259B1 (ko) * 2004-12-13 2007-03-12 한국전자통신연구원 전송 블록 그룹화를 위한 임대 소프트웨어 제공 시스템 및 그 방법

Also Published As

Publication number Publication date
KR100640508B1 (ko) 2006-10-31

Similar Documents

Publication Publication Date Title
US6453343B1 (en) Methods, systems and computer program products for maintaining a common checkpoint cache for multiple sessions between a single client and server
US20050055595A1 (en) Software update method, apparatus and system
US7136982B2 (en) Apparatus and method for allocating memory blocks
WO2004046910A1 (en) Device memory management during electronic file updating
JP5395108B2 (ja) 組み込みシステム内のファームウエアをアップグレードする装置と方法
CN107659663A (zh) 一种数据同步的方法、装置、设备和存储介质
CN104915270B (zh) 用于压缩与解压缩的同步历史数据的系统和方法
JP3864337B2 (ja) バージョンアップ方法
CN107577609A (zh) 一种基于主机端动态链接的嵌入式系统动态模块调试方法
CN109460252A (zh) 基于git的配置文件处理方法、装置和计算机设备
CN108446130A (zh) Ota升级方法
CN108280174A (zh) 前端文件构建方法和服务器、页面访问方法和终端
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
KR100729525B1 (ko) 펌웨어 업데이트 방법 및 시스템
KR100640508B1 (ko) 소프트웨어 원격 다운 로드 방법
CN106254440B (zh) 一种ap的升级方法和装置
CN109597639B (zh) 一种软件升级方法、装置、设备及介质
Cisco Working with System Software Images
Cisco Working With System Software Images
CN112181930A (zh) 虚拟交换矩阵的文件管理方法及装置
CN112486511A (zh) 一种通过web生成操作系统安装镜像的方法
CN112035379A (zh) 存储空间的使用方法、装置、存储介质以及电子装置
KR20010038169A (ko) 부팅 프로그램 변경방법
CN111984299A (zh) 一种数据加载的方法和设备
CN115883536B (zh) 文件传递方法、装置、系统及存储介质

Legal Events

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

Payment date: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160114

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171023

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191021

Year of fee payment: 14