KR20120117504A - 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법 - Google Patents

통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법 Download PDF

Info

Publication number
KR20120117504A
KR20120117504A KR1020110035296A KR20110035296A KR20120117504A KR 20120117504 A KR20120117504 A KR 20120117504A KR 1020110035296 A KR1020110035296 A KR 1020110035296A KR 20110035296 A KR20110035296 A KR 20110035296A KR 20120117504 A KR20120117504 A KR 20120117504A
Authority
KR
South Korea
Prior art keywords
update
version
file
terminal
version file
Prior art date
Application number
KR1020110035296A
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 KR1020110035296A priority Critical patent/KR20120117504A/ko
Publication of KR20120117504A publication Critical patent/KR20120117504A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 통신 시스템 및 그 통신 시스템에서 소프트웨어를 업데이트하는 방법에 관한 것으로, 업데이트 관리 서버는 소프트웨어를 업데이트하기 위한 업데이트 파일 및 상기 업데이트 파일을 설명하기 위한 버전 정보 및 주기 설정 정보를 포함하는 버전 파일을 분산 업데이트 서버로 분산하는 과정과, 단말기는 업데이트 여부를 판단하기 위한 업데이트 판단 주기에 상기 분산 업데이트 서버로부터 상기 버전 파일을 수신하는 과정과, 상기 단말기는 상기 버전 파일에 포함된 상기 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 결정하고, 해당 소프트웨어를 업데이트하는 과정으로 구성된다. 따라서 업데이트 관리 서버에 발생될 수 있는 부하가 줄어들며, 단말기는 업데이트 여부를 판단하는 주기를 조절할 수 있다.

Description

통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법{COMMUNICATION SYSTEM AND METHOD FOR UPDATING SOFTWARE THEREOF}
본 발명은 통신 시스템 및 그 통신 시스템에서 소프트웨어를 업데이트하는 방법에 관한 것이다. 특히 분산 서버를 이용하여 단말기는 업데이트 여부를 판단하고, 판단 결과에 따라 해당 업데이트 파일을 수신하여 소프트웨어를 업데이트하는 방법 및 그를 수행하는 통신 시스템에 관한 것이다.
펌웨어(firmware)는 하드웨어를 제어하고 관리하는 프로그램을 의미한다. 펌웨어는 프로그램이라는 점에서 하드웨어와 구분되지만, 하드웨어를 제어하고 관리한다는 점에서 일반 응용 프로그램과 구분되는 특수한 프로그램이다. 즉 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 갖고 있다고 할 수 있다. 일반적으로 펌웨어는 롬(ROM), 즉 플래시 메모리에 저장된다.
통상적으로 다양한 기능을 수행할 수 있는 단말기는 해당 기능을 수행하기 위한 펌웨어를 내장한다. 이때 펌웨어는 운영 체제(Operating system)와 같은 대규모의 프로그램을 사용하기보다는 소규모의 단일 프로그램을 탑재하기 위해 많이 사용된다. 이와 같은 펌웨어는 소규모의 프로그램이기 때문에 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 갱신된다.
그러기 위해 단말기는 업데이트 관리 서버에 펌웨어 업데이트 버전이 있는지 주기적으로 확인한다. 그러나 단말기를 사용하는 사용자들이 증가함에 따라, 단말기의 개수도 증가한다. 즉 펌웨어 업데이트 버전이 있는지 확인하는 단말기의 개수가 증가하게 된다. 따라서 업데이트 관리 서버의 부하도 증가하게 된다.
따라서 본 발명은 업데이트 파일을 여러 개의 서버에 분산시키고, 단말기는 분산된 서버를 통해 데이터를 업데이트하는 방법을 제안한다.
상기와 같은 문제점을 해결하기 위해 본 발명의 통신 시스템에서 데이터 업데이트 방법은 업데이트 관리 서버는 소프트웨어를 업데이트하기 위한 업데이트 파일 및 상기 업데이트 파일을 설명하기 위한 버전 정보 및 주기 설정 정보를 포함하는 버전 파일을 분산 업데이트 서버로 분산하는 과정과, 단말기는 업데이트 여부를 판단하기 위한 업데이트 판단 주기에 상기 분산 업데이트 서버로부터 상기 버전 파일을 수신하는 과정과, 상기 단말기는 상기 버전 파일에 포함된 상기 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 결정하고, 해당 소프트웨어를 업데이트하는 과정을 포함하는 것을 특징한다.
또한 상기와 같은 문제점을 해결하기 위해 본 발명의 단말기에서 데이터 업데이트 방법은 업데이트 여부를 판단하기 위해 설정된 업데이트 판단 주기에 버전 파일을 수신하는 과정과, 상기 수신된 버전 파일의 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 설정하는 과정과, 상기 버전 파일의 버전 정보를 이용하여 해당 소프트웨어를 업데이트하는 과정을 포함하는 것을 특징으로 한다.
그리고 상기와 같은 문제점을 해결하기 위해 본 발명의 데이터 업데이트 단말기는 업데이트 여부를 판단하기 위해 설정된 업데이트 판단 주기에 버전 파일을 수신하는 통신부와, 상기 통신부를 통해 수신된 상기 버전 파일의 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 설정하고, 상기 버전 파일의 버전 정보를 이용하여 해당 소프트웨어를 업데이트하는 제어부와, 상기 업데이트된 소프트웨어를 저장하는 저장부를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 단말기에서 업데이트가 필요하지 않은 경우에도 업데이트 관리 서버에 발생될 수 있는 부하가 줄어든다. 또한 단말기는 수신된 버전 파일을 이용하여 업데이트 여부를 확인하기 위해 버전 업데이트 서버에 접속하는 주기를 조절할 수 있다.
도 1은 본 발명의 실시예에 따른 업데이트 수행 통신 시스템의 구성을 도시한 도면.
도 2는 본 발명의 실시예에 따른 통신 시스템 간 업데이트를 수행하기 위한 신호 흐름을 도시한 도면.
도 3은 본 발명의 실시예에 따른 관리자 단말기의 업데이트 파일을 전송하는 방법을 도시한 도면.
도 4는 본 발명의 실시예에 따른 버전 파일의 주기 설정 정보를 도시한 도면.
도 5는 본 발명의 실시예에 따른 단말기의 구성을 도시한 도면.
도 6은 본 발명의 실시예에 따른 단말기의 데이터 업데이트 방법을 도시한 도면.
'관리자 단말기'는 통신 사업자 또는 단말기 제조사에 의해 공급되는 소프트웨어인 펌웨어를 단말기에 제공한다. 그리고 관리자 단말기는 소프트웨어를 업데이트하여 단말기에 제공할 수 있다. 그러기 위해 관리자 단말기는 통신 사업자 또는 단말기 제조사에의 의해 소프트웨어가 업데이트되면, 이에 해당하는 업데이트 파일을 업데이트 관리 서버로 전달한다. 또한 관리자 단말기는 업데이트된 소프트웨어를 설명하기 위한 버전 파일을 구성한다.
'업데이트 파일'은 단말기에 설치된 소프트웨어를 업데이트하기 위한 파일이다. 좀 더 상세히 설명하면, 업데이트 파일은 원본 소프트웨어에서 업데이트로 인해 추가 또는 변경된 데이터를 포함하고 있으며, 이를 델타 값이라고 칭한다. 따라서 소프트웨어 업데이트는 델타 값을 소프트웨어에 반영하는 것을 의미한다. 그리고 '버전 파일'은 최근 업데이트된 소프트웨어의 버전에 대한 버전 정보 및 단말기에서 업데이트 여부를 확인하는 주기를 산출하기 위한 주기 설정 정보를 포함한다. 여기서 버전 정보는 소프트웨어 업데이트시 필요한 버전 값, 전체 소프트웨어의 대표 버전 값, 소프트웨어를 구성하는 각 부분의 버전 값, 해당 소프트웨어를 탑재할 단말기의 모델 정보 및 거래선 코드와 같은 메타 정보로 표현된다.
'업데이트 관리 서버'는 관리자 단말기로부터 전송된 업데이트 파일 및 버전 파일의 원본을 저장한다. 그리고 업데이트 관리 서버는 단말기와 업데이트 통신을 수행하여 소프트웨어 업데이트를 관리한다. 또한 업데이트 관리 서버는 관리자 단말기로부터 전송된 업데이트 파일 및 버전 파일을 분산 업데이트 서버에 분산시킬 수 있다. 이에 다수 개의 단말기가 주기적으로 업데이트를 체크할 때 업데이트 관리 서버에서 걸리던 부하가 분산될 수 있다.
'분산 업데이트 서버'는 업데이트 관리 서버로부터 분산된 버전 파일 및 업데이트 파일을 저장한다. 또한 분산 업데이트 서버는 단말기로부터 업데이트 파일이 요청되면, 요청된 업데이트 파일을 해당 단말기로 전달할 수 있다.
'단말기'는 외부로부터 송수신되는 데이터를 처리할 수 있는 정보 처리 장치를 의미한다. 그리고 단말기는 펌웨어와 같은 특정 소프트웨어 업데이트를 수행할 수 있는 모든 정보 처리 장치를 포함한다. 여기서 단말기는 라우터, 억세스 포인트(AP;Access Point), 휴대 단말기 등이 포함될 수 있으며, 휴대 단말기로 가정하여 설명한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예에 따른 업데이트 수행 통신 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 통신 시스템은 관리자 단말기(110), 업데이트 관리 서버(120), 분산 업데이트 서버(130), 단말기(140)로 구성된다. 관리자 단말기(110)는 업데이트된 소프트웨어를 단말기(140)에 제공할 수 있다. 그러기 위해 관리자 단말기(110)는 150단계에서 업데이트 관리 서버(120)에 업데이트된 소프트웨어에 대한 업데이트 파일 및 버전 파일을 전송한다. 그러면 업데이트 관리 서버(120)는 160단계에서 업데이트 파일 및 버전 파일을 분산 업데이트 서버(130)에 분산시켜 저장한다.
단말기(140)는 170단계에서 주기적으로 분산 업데이트 서버(130)에 저장된 버전 파일을 통해 업데이트 여부를 확인한다. 만약 소프트웨어를 업데이트해야 한다면, 단말기(140)는 180단계에서 업데이트 관리 서버(120)와 업데이트를 위한 연결을 수행한다. 그리고 업데이트 관리 서버(120)로부터 어떠한 버전의 업데이트 파일로 업데이트를 수행해야하는지에 대한 정보가 수신되면, 단말기(140)는 해당 업데이트 파일을 요청하는 메시지를 분산 업데이트 서버(130)로 전송한다. 그러면 분산 업데이트 서버(130)는 190단계에서 해당 업데이트 파일을 단말기(140)에 전송한다. 이에 단말기(140)는 수신된 업데이트 파일을 이용하여 소프트웨어를 업데이트할 수 있다.
본 발명에 따르면, 관리자 단말기(110)는 변경된 소프트웨어에 대한 업데이트 파일 및 그에 해당하는 버전 파일을 업데이트 관리 서버(120)로 전달한다. 그리고 업데이트 관리 서버(120)는 업데이트 파일 및 버전 파일을 분산 업데이트 서버(130)로 분산시킨다. 그러면 단말기(140)는 업데이트 여부를 판단하기 위한 업데이트 판단 주기에 분산 업데이트 서버(130)로부터 버전 파일을 수신한다. 그리고 단말기(140)는 수신된 버전 파일을 이용하여 다음 업데이트 여부를 판단하기 위한 업데이트 판단 주기를 설정한다.
다음으로 단말기(140)는 버전 파일의 버전 정보와 현재 저장된 소프트웨어의 버전 정보가 동일한지 판단한다. 만약 버전 정보가 동일하면, 단말기(140)는 업데이트를 수행하지 않고, 다음 업데이트 판단 주기까지 대기한다. 그러나 버전 정보가 동일하지 않으면, 단말기(140)는 분산 업데이트 서버(130)로부터 해당 업데이트 파일을 다운로드하여 업데이트를 수행한다. 따라서 단말기별로 업데이트 여부를 판단하기 위해 분산 업데이트 서버에 접속하는 업데이트 판단 주기가 달라진다. 그리고 업데이트 여부를 판단하기 위해 다수 개의 단말기들이 업데이트 관리 서버(120)에 접속하는 것이 방지될 수 있다.
도 2는 본 발명의 실시예에 따른 통신 시스템 간 업데이트를 수행하기 위한 신호 흐름을 도시한 도면이다.
도 2를 참조하면, 업데이트 관리 서버(120), 분산 업데이트 서버(130) 및 단말기(140) 간의 데이터 업데이트를 위한 신호 흐름에 대하여 설명한다. 업데이트 관리 서버(120)는 DM(Device Management) 서버(123) 및 DL(Download) 서버(125)로 구성될 수 있다. 여기서 DM 서버(123)는 단말기(140)를 관리하는 기능을 수행할 수 있다. 대표적으로 DM 서버(123)는 단말기(140)의 소프트웨어 업데이트 요청을 받고, 단말기(140)의 소프트웨어 업데이트 결과를 전송받아 단말기(140)의 버전 정보를 관리하는 기능을 수행한다. DL 서버(125)는 업데이트 파일과 버전 파일을 저장하고 있어, 필요에 따라 업데이트 파일과 버전 파일을 단말기(140)에 전달하는 기능을 수행한다.
단말기(140)는 210단계에서 설정된 업데이트 판단 주기가 되면, 215단계에서 분산 업데이트 서버(130)로 버전 파일을 요청하는 메시지를 전달한다. 그러면 분산 업데이트 서버(130)는 220단계에서 요청된 버전 파일을 단말기(140)로 전달한다. 이때 단말기(140)는 분산 업데이트 서버(130)로부터 버전 파일이 전송되지 않은 경우, 225단계에서와 같이 업데이트 관리 서버(120)에 버전 파일을 요청한다. 그러면 업데이트 관리 서버(120)는 230단계에서 요청된 버전 파일을 단말기(140)로 전송한다. 225단계 내지 230단계는 분산 업데이트 서버(130)로부터 버전 파일이 성공적으로 수신되는 경우, 수행되지 않을 수 있다.
단말기(140)는 235단계에서 수신된 버전 파일을 확인한다. 그리고 단말기(140)는 240단계에서 확인된 버전 파일을 이용하여 다음 업데이트 판단 주기를 결정한다. 좀 더 상세히 설명하면, 단말기(140)는 버전 파일에 포함된 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 선택한다.
다음으로 단말기(140)는 245단계에서 버전 파일에 포함된 버전 정보를 확인하여 소프트웨어 업데이트 여부를 확인한다. 다시 말해 단말기(140)는 현재 소프트웨어에 해당하는 버전과 버전 파일을 통해 수신된 버전이 동일한지 판단한다.
만약 저장된 버전과 수신된 버전이 달라 소프트웨어 업데이트를 수행해야한다면, 단말기(140)는 250단계에서 업데이트 관리 서버(120)로 소프트웨어 업데이트를 요청하는 메시지를 전달한다. 그러면 업데이트 관리 서버(120)는 해당 단말기(140)에서 업데이트에 필요한 업데이트 파일을 확인한다. 그리고 업데이트 관리 서버(120)는 255단계에서 다운로드할 업데이트 파일에 대한 정보를 단말기(140)에 전송한다. 다시 말해 업데이트 관리 서버(120)는 단말기(140)에서 업데이트 시 필요한 델타 값이 무엇인지에 대한 정보를 전달한다.
단말기(140)는 260단계에서 업데이트 관리 서버(120)로부터 수신된 정보를 기반으로 분산 업데이트 서버(130)로 업데이트 파일을 요청한다. 그러면 분산 업데이트 서버(130)는 265단계에서 해당 업데이트 파일을 단말기(140)에 전달한다. 이후 단말기(140)는 270단계에서 수신된 업데이트 파일을 이용하여 소프트웨어를 업데이트한다. 그리고 단말기(140)는 275단계에서 업데이트 결과에 대한 메시지를 업데이트 관리 서버(120)로 전달한다. 이때, 업데이트 결과는 업데이트의 성공 여부 및 현재 업데이트된 소프트웨어의 버전에 대한 내용을 포함한다.
도 3은 본 발명의 실시예에 따른 관리자 단말기의 업데이트 파일을 전송하는 방법을 도시한 도면이다.
도 3을 참조하면, 관리자 단말기(110)는 310단계에서 단말기 제조사 또는 통신 사업자에 의해 소프트웨어가 변경되면, 변경된 소프트웨어에 해당하는 최근 업데이트 파일을 저장한다. 그리고 관리자 단말기(110)는 이에 해당하는 업데이트 정보를 변경한다. 다음으로 관리자 단말기(110)는 320단계에서 변경된 업데이트 정보와 함께 주기 설정 정보가 포함된 버전 파일을 재구성한다. 이때 관리자 단말기(110)는 현재 업데이트된 파일의 버전에 해당하는 버전 정보 및 단말기(140)에서 업데이트 판단 주기 산출을 위한 주기 설정 정보를 버전 파일로 업데이트한다. 다음으로 관리자 단말기(110)는 330단계에서 업데이트 관리 서버(120)로 버전 파일과 업데이트 파일을 전달한다. 그러면 업데이트 관리 서버(120)는 버전 파일 및 업데이트 파일을 분산 업데이트 서버(130)에 분산시킨다.
도 4는 본 발명의 실시예에 따른 버전 파일의 주기 설정 정보를 도시한 도면이다.
도 4를 참조하면, 버전 파일은 xml(extensible markup language) 형태로 구성될 수 있다. 그리고 버전 파일은 버전 정보(Versioninfo)(410) 및 주기 설정 정보(polling)(450)로 구성될 수 있다. 이때 버전 정보(410)는 URL(Uniform Resource Locator)(420), 펌웨어(firmware)(430) 및 최근 업데이트 버전(Last version)(440)과 관련된 정보들을 포함한다. 그리고 주기 설정 정보(450)는 주기(Period)(453), 시간(time)(455), 시간 범위(range)(457)에 대한 정보를 포함한다.
버전 정보(410) 중 URL(430)은 버전 파일을 저장하고 있는 업데이트 관리 서버(120) 또는 분산 업데이트 서버(130)의 주소에 해당하는 정보이다. 즉 URL(420)은 버전 파일을 저장하고 있는 서버의 주소가 변경되었을 때를 대비하여 전달되는 정보이다.
단말기(140)는 업데이트 파일이 위치한 서버에 해당하는 URL(420)을 저장한다. 그리고 업데이트 여부를 판단할 때, 단말기(140)는 저장된 URL에 해당하는 서버로 접속한다. 따라서 URL(420)이 변경된 경우, 관리자 단말기(110)는 변경된 URL(420)에 대한 정보가 업데이트된 버전 파일을 업데이트 관리 서버(120)로 전달한다. 그러면 업데이트 관리 서버(120)는 URL(420)이 변경된 버전 파일을 각 분산 업데이트 서버(130)로 분산시킨다. 그리고 단말기(140)는 업데이트 판단 주기에 분산 업데이트 서버(130)로부터 버전 파일이 수신되면, 버전 정보(410)의 URL(420)을 확인한다. 다음으로 단말기(140)는 확인된 URL(420)과 저장된 URL을 비교한다. 만약 URL(420)이 변경되었으면, 단말기(140)는 변경된 URL(420)에 해당하는 분산 업데이트 서버(130)에 접속하여 버전 파일을 다시 수신할 수 있다.
버전 정보(410) 중 펌웨어(430)은 업데이트될 소프트웨어가 무엇인지를 알리는 정보이다.
버전 정보(410) 중 최근 업데이트 버전(440)은 업데이트 파일의 최종 버전 정보이다. 단말기(140)는 저장된 소프트웨어의 버전과 다운로드한 버전 파일의 최근 업데이트 버전(440)을 비교하여 업데이트 여부를 판단할 수 있다.
주기 설정 정보(450) 중 주기(453)는 날짜 단위로 구성되며, 단말기(140)에서 다음 업데이트 여부를 판단하기 위해 분산 업데이트 서버(130)에 접속하는 날짜를 선택하는데 사용한다. 예를 들어 주기(453)로 7이 설정되었다고 가정한다. 다운로드된 버전 파일의 주기(453)가 7로 설정되어 있으므로, 단말기(140)는 현재 날짜로부터 7일 안의 날짜 중에서 랜덤하게 하루를 선택한다. 그리고 단말기(140)는 선택된 날짜에 분산 업데이트 서버(130)에 접속하여 버전 파일을 수신하고, 수신된 버전 파일을 이용하여 업데이트 여부를 판단한다.
주기 설정 정보(450) 중 시간(455)은 24시간을 기준으로, 다음 업데이트 여부를 판단하기 위해 분산 업데이트 서버(130)에 접속할 시간(455)을 산출하는데 사용된다. 이때 시간(455)은 단말기(140)가 위치한 지역의 시간을 기준으로 한다. 예를 들어 시간(455)이 15로 설정되어 있고, 단말기(140)가 한국에 위치한다고 가정한다. 다운로드된 버전 파일의 시간(455)이 15로 설정되어있으므로, 단말기(140)는 한국 시간 오후 3시에 분산 업데이트 서버(130)에 접속하여 버전 파일을 수신하고, 수신된 버전 파일을 이용하여 업데이트 여부를 판단한다.
주기 설정 정보(450) 중 시간 범위(457)는 주기 설정 정보(450) 중 시간(455)을 기준으로 설정되는 범위로, 지정된 시간(455)에 단말기(140)들이 동시에 접속하는 것을 방지하기 위해 설정된다. 예를 들이 시간 범위(457)가 3시간으로 설정되어 있다고 가정한다. 다운로드된 버전 파일의 시간 범위(457)가 3시간으로 설정되어 있으므로, 단말기(140)는 주기 설정 정보(450) 중 시간(455)을 기준으로 3시간 범위 내에서 임의의 시점을 선택하여 업데이트 여부를 판단할 수 있다.
관리자 단말기(110)는 버전 정보(410) 및 주기 설정 정보(450)가 포함된 버전 파일을 구성하여 업데이트 관리 서버(120)로 전달한다. 그리고 업데이트 관리 서버(120)는 해당 버전 파일을 각 분산 업데이트 서버(130)로 분산시켜 전달한다. 그러면 단말기(140)는 업데이트 판단 주기에 분산 업데이트 서버(130)와 연결하여 버전 파일을 수신한다. 다음으로 단말기(140)는 버전 파일에 포함된 주기 설정 정보(450)를 이용하여 다음 업데이트 여부를 판단하기 위한 업데이트 판단 주기를 산출한다. 좀 더 상세히 설명하면, 단말기(140)는 수신된 버전 파일을 분석한다. 그리고 단말기(140)는 버전 파일의 주기(453)와 저장된 주기를 비교한다. 만약 주기(453)가 변경되었으면, 단말기(140)는 다음 업데이트 여부를 판단하는 날짜를 현재 날짜를 기준으로 변경된 주기(453) 내에 임의의 날짜를 선택한다. 반면에 주기가 변경되지 않았으면, 단말기(140)는 다음 업데이트 여부를 판단하는 날짜를 현재 날짜를 기준으로 저장된 주기만큼 지난 날짜로 선택한다. 이에 따라 단말기(140)들이 업데이트 여부를 판단하기 위해 분산 업데이트 서버(130)에 접속하는 날짜가 분산될 수 있다.
다음 업데이트 여부를 판단할 날짜가 선택되면, 단말기(140)는 분산 업데이트 서버(130)로부터 버전 파일을 수신할 시간(455)을 선택한다. 이때 단말기(140)는 버전 파일의 시간(455) 및 시간 범위(457)를 확인하여, 버전 파일의 시간(455)을 기준으로 설정된 시간 범위(457) 내에서 임의의 시간을 선택한다. 이에 따라 단말기(140)들이 업데이트 여부를 판단하기 위해 분산 업데이트 서버(130)에 접속하는 시간이 분산될 수 있다.
단말기(140)는 이와 같은 과정들을 통해 선택된 날짜 및 시간을 다음 업데이트 판단 주기로 설정한다. 그리고 설정된 업데이트 판단 주기가 도래하면, 단말기(140)는 분산 업데이트 서버(130)로부터 버전 파일을 수신하여 업데이트 판단 주기를 다시 설정하고, 업데이트를 수행할 수 있다. 즉 단말기(140)에서 업데이트를 판단하는 시점이 계속 변경될 수 있다.
도 5는 본 발명의 실시예에 따른 단말기의 구성을 도시한 도면이다.
도 5를 참조하면, 단말기(140)는 통신부(510), 제어부(520), 저장부(530)로 구성된다.
통신부(510)는 제어부(520)의 제어하에 업데이트 관리 서버와 업데이트를 위한 통신을 수행하거나, 분산 업데이트 서버와 접속할 수 있다. 그리고 통신부(510)는 제어부(520)의 제어하에 분산 업데이트 서버로부터 버전 파일 또는 업데이트 파일을 수신할 수 있다.
제어부(520)는 단말기(140)를 구성하는 구성들의 전반적인 동작 및 상태를 제어한다. 본 발명에 따르면, 소프트웨어 업데이트 여부를 판단하기 위한 업데이트 판단 주기가 도래하면, 제어부(520)는 통신부(510)를 제어하여 분산 업데이트 서버에 버전 파일을 요청한다. 그리고 버전 파일이 수신되면, 제어부(520)는 버전 파일을 확인하여 다음 업데이트 판단 주기를 설정하고, 소프트웨어 업데이트를 수행할 수 있다.
업데이트 판단 주기를 설정하기 위해 제어부(520)는 업데이트 판단 주기 확인부(525)를 포함한다. 업데이트 판단 주기 확인부(525)는 버전 파일에 포함된 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 선택할 수 있다.
우선 업데이트 판단 주기 확인부(525)는 주기 설정 정보에서 주기에 대한 내용을 확인한다. 그리고 업데이트 판단 주기 확인부(525)는 확인된 주기와 미리 저장되었던 주기가 동일한지 판단한다. 만약 주기가 변경되었으면, 업데이트 판단 주기 확인부(525)는 현재 날짜를 기준으로 변경된 주기 안의 날짜 중에서 업데이트 여부를 확인할 날짜를 랜덤하게 선택한다.
업데이트 판단 주기 확인부(525)는 선택된 날짜에서 분산 업데이트 서버에 접속할 시간을 기준으로 시간 범위를 랜덤하게 선택한다. 그리고 업데이트 판단 주기 확인부(525)는 선택된 날짜, 시간 및 시간 범위를 통해 다음 업데이트 판단 주기를 확인하고, 확인된 업데이트 판단 주기를 저장한다.
업데이트 판단 주기 확인부(525)를 통해 다음 업데이트 판단 주기가 설정되면, 제어부(520)는 소프트웨어 업데이트 여부를 판단한다. 그리고 판단 결과에 따라 제어부(520)는 해당 업데이트 파일을 수신하고, 수신된 업데이트 파일을 이용하여 해당 소프트웨어를 업데이트한다.
저장부(530)는 제어부(520)의 제어 하에 단말기(140)를 구성하는 구성들의 동작에 필요한 소프트웨어 및 발생되는 데이터를 저장한다. 여기서 저장부(530)는 버전 파일이 위치한 URL 및 업데이트를 위해 분산 업데이트 서버에 접속하는 주기에 대한 주기 설정 정보를 저장한다. 여기서 주기 설정 정보는 단말기(140)가 분산 업데이트 서버에 접속하는 주기, 날짜, 시간을 포함한다. 그리고 저장부(530)는 제어부(520)의 제어하에 업데이트된 소프트웨어를 저장한다.
이와 같은 구성을 구비한 단말기(140)는 새로운 버전의 소프트웨어가 있는지 확인하기 위해 설정된 주기에 분산 업데이트 서버로부터 버전 파일을 수신한다. 그리고 단말기(140)는 수신된 버전 파일에 포함된 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 설정한다. 다음으로 단말기(140)는 버전 파일의 버전 정보를 확인하여 새로운 버전의 소프트웨어가 있는지 판단한다. 만약 새로운 버전의 소프트웨어가 없으면, 단말기(140)는 업데이트 판단 주기까지 대기한다. 그러나 새로운 버전의 소프트웨어가 존재하는 경우, 단말기(140)는 업데이트 관리 서버와 소프트웨어 업데이트를 위한 통신을 수행한다. 업데이트 관리 서버로부터 업데이트할 파일이 어떠한 버전인지에 대한 정보가 수신되면, 단말기(140)는 분산 업데이트 서버로부터 해당 버전의 업데이트 파일을 다운로드한다. 그리고 단말기(140)는 다운로드한 업데이트 파일을 해당 소프트웨어에 반영하여 업데이트를 수행한다.
도 6은 본 발명의 실시예에 따른 단말기의 데이터 업데이트 방법을 도시한 도면이다.
도 6을 참조하면, 단말기(140)는 610단계에서 펌웨어 업데이트 모드를 수행한다. 펌웨어 업데이트 모드는 사용자에 의해 주기적으로 단말기 업그레이드를 수행하는 모드가 선택되거나, 대기 상태를 수행하는 모드를 의미한다. 다음으로 단말기(140)는 615단계에서 현재 시간이 업데이트 판단 주기에 해당하는지 판단한다.
만약 업데이트 판단 주기에 해당하면, 단말기(140)는 620단계에서 분산 업데이트 서버에 버전 파일을 요청한다. 그리고 단말기(140)는 630단계에서 버전 파일이 수신되는지 판단한다. 만약 버전 파일이 수신되지 않으면, 단말기(140)는 635단계에서 업데이트 관리 서버로 버전 파일을 요청한다. 그리고 단말기(140)는 업데이트 관리 서버로부터 버전 파일을 수신한다.
버전 파일이 수신되면, 단말기(140)는 640단계에서 수신된 버전 파일의 버전 정보 및 버전 정보를 확인한다. 그리고 단말기(140)는 645단계에서 버전 정보 중 URL이 변경되었는지 판단한다. 즉 단말기(140)는 저장된 URL과 확인된 주기 설정 정보의 URL이 동일한지 판단한다. 만약 URL이 변경되었으면, 단말기(140)는 620단계로 돌아가 변경된 URL에 해당하는 분산 업데이트 서버로 버전 파일을 요청한다.
반면에 URL이 변경되지 않았으면, 단말기(140)는 650단계에서 주기 설정 정보 중에서 주기에 대한 내용을 확인한다. 그리고 단말기(140)는 655단계에서 확인된 주기가 변경되었는지 판단한다. 이때 단말기(140)는 확인된 주기와 미리 저장되었던 주기가 동일한지 판단한다. 만약 주기가 변경되었으면, 단말기(140)는 660단계에서 현재 날짜를 기준으로 변경된 주기의 날짜 중에서 업데이트 여부를 확인할 날짜를 랜덤하게 선택한다.
업데이트 여부를 확인할 날짜가 선택되었거나, 655단계에서 주기가 변경되지 않았으면, 단말기(140)는 665단계에서 업데이트 여부를 확인할 날짜에서 단말기(140) 아이디를 기준으로 설정된 시간을 기준으로 한 시간 범위 내에서 분산 업데이트 서버에 접속할 시간을 랜덤하게 선택한다. 그리고 단말기(140)는 670단계에서 선택된 날짜, 시간 및 시간 범위에 따른 다음 업데이트 판단 주기를 확인하고, 확인된 업데이트 판단 주기를 저장한다.
다음으로 단말기(140)는 675단계에서 버전 파일에 포함된 버전 및 현재 소프트웨어의 버전을 비교하여 업데이트가 수행되어야하는지 판단한다. 만약 업데이트가 수행되어야한다면, 단말기(140)는 680단계에서 해당 업데이트 파일을 수신하고, 수신된 업데이트 파일을 이용하여 해당 소프트웨어를 업데이트한다. 그리고 단말기(140)는 업데이트된 소프트웨어를 저장한다. 이때 단말기(140)는 업데이트 관리 서버로 업데이트를 위한 통신을 수행한다. 그리고 업데이트 관리 서버로부터 어떤 버전의 업데이트 파일을 다운로드해야하는지에 대한 메시지가 수신되면, 단말기(140)는 해당 버전의 업데이트 파일을 분산 업데이트 서버에 요청한다. 그리고 분산 업데이트 서버로부터 업데이트 파일이 다운로드되면, 단말기(140)는 다운로드된 업데이트 파일을 이용하여 소프트웨어를 업데이트할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (12)

  1. 통신 시스템의 데이터 업데이트 방법에 있어서,
    업데이트 관리 서버는 소프트웨어를 업데이트하기 위한 업데이트 파일 및 상기 업데이트 파일을 설명하기 위한 버전 정보 및 주기 설정 정보를 포함하는 버전 파일을 분산 업데이트 서버로 분산하는 과정과,
    단말기는 업데이트 여부를 판단하기 위한 업데이트 판단 주기에 상기 분산 업데이트 서버로부터 상기 버전 파일을 수신하는 과정과,
    상기 단말기는 상기 버전 파일에 포함된 상기 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 결정하고, 해당 소프트웨어를 업데이트하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  2. 제1항에 있어서, 상기 주기 설정 정보는
    주기, 시간, 시간 범위 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  3. 제1항에 있어서, 상기 버전 파일을 수신하는 과정은
    상기 수신된 버전 파일의 URL(Uniform Resource Locator)을 확인하는 과정과,
    상기 URL과 저장된 URL이 동일하지 않으면, 상기 업데이트 관리 서버로 상기 버전 파일을 요청하는 과정과,
    상기 업데이트 관리 서버로부터 상기 버전 파일을 수신하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  4. 제1항에 있어서, 상기 소프트웨어를 업데이트하는 과정은
    상기 버전 정보와 저장된 버전 정보를 비교하는 과정과,
    상기 버전 정보가 상기 저장된 버전 정보와 동일하지 않으면, 해당 소프트웨어의 업데이트를 수행하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  5. 단말기의 데이터 업데이트 방법에 있어서,
    업데이트 여부를 판단하기 위해 설정된 업데이트 판단 주기에 버전 파일을 수신하는 과정과,
    상기 수신된 버전 파일의 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 설정하는 과정과,
    상기 버전 파일의 버전 정보를 이용하여 해당 소프트웨어를 업데이트하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  6. 제5항에 있어서, 상기 주기 설정 정보는
    주기, 시간, 시간 범위 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  7. 제5항에 있어서, 상기 버전 파일을 수신하는 과정은
    상기 수신된 버전 파일의 URL(Uniform Resource Locator)을 확인하는 과정과,
    상기 URL과 저장된 URL이 동일하지 않으면, 업데이트 관리 서버로 상기 버전 파일을 요청하는 과정과,
    상기 업데이트 관리 서버로부터 상기 버전 파일을 수신하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  8. 제5항에 있어서, 상기 소프트웨어를 업데이트하는 과정은
    상기 버전 정보와 저장된 버전 정보를 비교하는 과정과,
    상기 버전 정보가 상기 저장된 버전 정보와 동일하지 않으면, 해당 소프트웨어의 업데이트를 수행하는 과정을 포함하는 것을 특징으로 하는 데이터 업데이트 방법.
  9. 업데이트 여부를 판단하기 위해 설정된 업데이트 판단 주기에 버전 파일을 수신하는 통신부와,
    상기 통신부를 통해 수신된 상기 버전 파일의 주기 설정 정보를 이용하여 다음 업데이트 판단 주기를 설정하고, 상기 버전 파일의 버전 정보를 이용하여 해당 소프트웨어를 업데이트하는 제어부와,
    상기 업데이트된 소프트웨어를 저장하는 저장부를 포함하는 것을 특징으로 하는 데이터 업데이트 단말기.
  10. 제9항에 있어서, 상기 주기 설정 정보는
    주기, 시간, 시간 범위 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 업데이트 단말기.
  11. 제9항에 있어서, 상기 제어부는
    상기 수신된 버전 파일의 URL(Uniform Resource Locator)을 확인하고, 상기 URL과 저장된 URL이 동일하지 않으면, 상기 통신부를 제어하여 업데이트 관리 서버로 상기 버전 파일을 요청하여, 상기 업데이트 관리 서버로부터 상기 버전 파일을 수신하는 것을 특징으로 하는 데이터 업데이트 단말기.
  12. 제9항에 있어서, 상기 제어부는
    상기 버전 정보와 저장된 버전 정보를 비교하고, 상기 버전 정보가 상기 저장된 버전 정보와 동일하지 않으면, 해당 소프트웨어의 업데이트를 수행하는 것을 특징으로 하는 데이터 업데이트 단말기.
KR1020110035296A 2011-04-15 2011-04-15 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법 KR20120117504A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110035296A KR20120117504A (ko) 2011-04-15 2011-04-15 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110035296A KR20120117504A (ko) 2011-04-15 2011-04-15 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법

Publications (1)

Publication Number Publication Date
KR20120117504A true KR20120117504A (ko) 2012-10-24

Family

ID=47285450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110035296A KR20120117504A (ko) 2011-04-15 2011-04-15 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법

Country Status (1)

Country Link
KR (1) KR20120117504A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014073835A1 (ko) * 2012-11-06 2014-05-15 주식회사 씨제이헬로비전 어플리케이션 업데이트 서비스 방법 및 시스템
WO2015100112A1 (en) * 2013-12-23 2015-07-02 Google Inc. Providing a software update to computing devices on the same network
KR20180080916A (ko) * 2017-01-05 2018-07-13 주식회사 쏠리드 분산 안테나 시스템의 데이터 관리 장치 및 데이터 관리 방법
KR102068121B1 (ko) * 2019-03-11 2020-01-20 (주)케이디티콘트롤 원격지 제어 디바이스의 펌웨어 업데이트시 시뮬레이션을 통해 펌웨어의 기능검증을 수행하는 펌웨어 관리 방법
WO2020085557A1 (ko) * 2018-10-23 2020-04-30 주식회사 시옷 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014073835A1 (ko) * 2012-11-06 2014-05-15 주식회사 씨제이헬로비전 어플리케이션 업데이트 서비스 방법 및 시스템
KR101446319B1 (ko) * 2012-11-06 2014-10-01 주식회사 씨제이헬로비전 어플리케이션 업데이트 서비스 방법 및 시스템
WO2015100112A1 (en) * 2013-12-23 2015-07-02 Google Inc. Providing a software update to computing devices on the same network
US9830141B2 (en) 2013-12-23 2017-11-28 Google Llc Providing a software update to computing devices on the same network
KR20180080916A (ko) * 2017-01-05 2018-07-13 주식회사 쏠리드 분산 안테나 시스템의 데이터 관리 장치 및 데이터 관리 방법
WO2020085557A1 (ko) * 2018-10-23 2020-04-30 주식회사 시옷 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법
KR102068121B1 (ko) * 2019-03-11 2020-01-20 (주)케이디티콘트롤 원격지 제어 디바이스의 펌웨어 업데이트시 시뮬레이션을 통해 펌웨어의 기능검증을 수행하는 펌웨어 관리 방법

Similar Documents

Publication Publication Date Title
US9485134B2 (en) Managing configurations of system management agents in a distributed environment
CN106897086B (zh) 用于升级机器人操作***的方法、装置及***
CN107104814B (zh) 软件升级方法和***
US20040098421A1 (en) Scheduling updates of electronic files
US8001095B2 (en) Method of updating a version of an application program
EP2876865B1 (en) Communication apparatus, communication system, communication method and recording medium
US8594653B2 (en) System and methods for remotely upgrading software applications
US20040098361A1 (en) Managing electronic file updates on client devices
US20050289534A1 (en) Method for upgrading software version of mobile terminal using integrated difference files
CN109905256A (zh) 一种固件更新方法和装置
CN103019757A (zh) 一种在多台客户端间同步软件的方法、装置及***
CN102081536A (zh) 一种增量升级方法及服务器
WO2007062294A2 (en) Managing software configuration of a wireless device
US20170085633A1 (en) Method and apparatus for saving cloud service traffic using peer-to-peer connection
KR20120117504A (ko) 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법
US20220229654A1 (en) Enabling upgrading firmware of a target device
US10567545B2 (en) Method and apparatus for sharing data quota
KR20120101609A (ko) 서비스 분산을 제공하는 서버, 시스템 및 방법
KR20180050001A (ko) 사물인터넷 기기의 펌웨어 업그레이드 시스템 및 방법
CN114489711A (zh) 终端升级方法、装置及存储介质
US9158527B2 (en) Upgrade system and method having adaptive changeable upgrade process
CN114978902B (zh) 信息处理方法、装置、设备、存储介质及程序产品
CN113434233B (zh) 界面跳转方法、装置、存储介质及电子装置
US20090037493A1 (en) Method and device for updating an object with copyright attribute
US7296084B2 (en) Data management system and method

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid