KR20140077435A - 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치 - Google Patents

모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치 Download PDF

Info

Publication number
KR20140077435A
KR20140077435A KR1020120146250A KR20120146250A KR20140077435A KR 20140077435 A KR20140077435 A KR 20140077435A KR 1020120146250 A KR1020120146250 A KR 1020120146250A KR 20120146250 A KR20120146250 A KR 20120146250A KR 20140077435 A KR20140077435 A KR 20140077435A
Authority
KR
South Korea
Prior art keywords
delta
mobile terminal
server
software
version
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
KR1020120146250A
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 KR1020120146250A priority Critical patent/KR20140077435A/ko
Priority to US14/069,545 priority patent/US9430225B2/en
Publication of KR20140077435A publication Critical patent/KR20140077435A/ko
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

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

Abstract

모바일 단말의 소프트웨어를 업데이트하는 방법 및 장치가 개시된다. 델타 생성 서버는 모바일 단말의 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하여 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 모바일 단말로 송신하고, 모바일 단말은 업데이트 가능 버전 정보를 델타 생성 서버로부터 수신하여 디스플레이한다. 업데이트 가능한 모든 버전 중에서 하나의 버전이 선택되면 선택된 버전으로 업데이트 대상 소프트웨어를 업데이트하기 위한 델타 파일이 델타 생성 서버에 의해 생성되어 모바일 단말로 다운로드된다.

Description

모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치{SOFTWARE UPDATE SERVICE METHOD AND APPARATUS FOR MOBILE TERMINAL}
본 발명은 모바일 단말의 소프트웨어를 업데이트하는 방법 및 장치에 관한 것으로, 특히 모바일 단말의 소프트웨어를 FOTA(Firmware Over-The-Air)를 통해 업데이트하는 서비스 방법 및 장치에 관한 것이다.
모바일 단말의 기능이 점차 복잡해지고 다양해지면서 펌웨어(firmware)의 오류 수정, 새로운 기능의 추가, 사용자 인터페이스의 개선 등의 이유로 모바일 단말의 소프트웨어에 관한 업그레이드 요구가 발생된다.
모바일 단말의 펌웨어를 업데이트하기 위해 FOTA(Firmware Over-The-Air)가 사용되고 있다. FOTA에 대한 프로토콜의 표준은 OMA-DM(Open Mobile Alliance Device Management)에서 표준화한 FUMO(Firmware Update Management Object)가 있다. FOTA는 델타(delta) 파일을 모바일 통신을 통하거나 Wi-Fi와 같은 무선 통신을 통해 모바일 단말에 다운로드하여 모바일 단말의 펌웨어를 업데이트하는 방식을 사용한다. 델타 파일은 기존의 소프트웨어와 새로운 소프트웨어를 비교하여 두 소프트웨어 간의 차이인 델타를 추출하여 생성한 파일이다. 모바일 단말은 기존에 설치된 현재 버전의 소프트웨어를 델타 파일을 사용하여 업그레이드된 새로운 버전으로 업데이트한다.
도 1은 통상적인 모바일 단말의 소프트웨어 업데이트 서비스 시스템 구성도로서, FOTA를 사용하여 모바일 단말의 소프트웨어를 업데이트하는 서비스를 제공하는 시스템을 보인 것이다. 도 1을 참조하면, 모바일 단말(100)에 관한 통신 사업자 또는 제조사의 운용자가 모바일 단말(100)의 소프트웨어를 업데이트하기 위한 델타 파일을 FOTA 서버(102)에 업로드한 후 FOTA 명령을 실행시키면, FOTA 서버(102)는 푸시(push) 서버(104)로 푸시 전송 명령을 송신한다. 푸시 서버(104)는 푸시 전송 명령에 따라 모바일 단말(100)로 푸시 통지(push notification)를 한다. 즉, 푸시 서버(104)는 모바일 단말(100)로 모바일 단말(100)의 소프트웨어 업데이트가 있음을 푸시에 의해 알린다.
이후 모바일 단말(100)의 사용자에 의해 모바일 단말(100)의 소프트웨어 업데이트가 요청되면, 모바일 단말(100)은 현재 버전의 소프트웨어를 업그레이드하기 위한 델타 파일을 FOTA 서버(102)로부터 다운로드한다. FOTA 서버(102)로부터 모바일 단말(100)로 델타 파일의 다운로드는 OMA-DM 프로토콜에 따라 이루어진다. 이후 모바일 단말(100)은 다운로드한 델타 파일을 사용하여 현재 버전의 소프트웨어를 업그레이드된 새로운 버전의 소프트웨어로 업데이트한다. 업데이트는 모바일 단말이 재부팅한 후 델타 파일을 사용하여 새로운 버전의 소프트웨어를 인스톨한 다음에 다시 재부팅함으로써 이루어진다.
모바일 단말의 소프트웨어는 계속적으로 새로운 버전으로 업그레이드되는 경우가 대부분이다. 이러한 경우 하나의 소프트웨어에 관해 단계적인 여러 버전들이 존재한다. 이러한 경우 각 버전별로 델타 파일이 FOTA 서버에 업로드되어 있게 된다. 각 버전의 델타 파일은 해당 버전보다 한 단계 낮은 단계의 이전 버전을 해당 버전으로 업그레이드하기 위한 델타 파일이다.
그러므로 모바일 단말은 통신 사업자 또는 제조사가 제공하는 버전별 델타 파일 중에 현재 버전보다 한 단계 높은 버전의 델타 파일만을 제공받아 현재 버전의 소프트웨어를 업그레이드하여 왔다.
한편 모바일 단말의 사용자가 제때 업데이트를 하지 않은 경우에는 현재 버전 이후에 여러 버전들이 있을 수 있다. 이러한 경우 현재 버전 이후의 버전들 각각에 관해 순차적으로 업데이트를 해야만 한다. 업그레이드 단계의 순서가 버전 A → 버전 B → 버전 C → 버전 D인 버전들 A, B, C, D가 있고, 모바일 단말의 소프트웨어 버전이 버전 A인 경우의 예를 들면 다음과 같다. 우선 버전 A를 버전 B로 업그레이드하기 위한 델타 파일을 다운로드하여 업데이트한 후, 버전 B를 버전 C로 업그레이드하기 위한 델타 파일을 다운로드하여 업데이트한 다음에, 버전 C를 버전 D로 업그레이드하기 위한 델타 파일을 다운로드하여 업데이트해야 한다. 또한 각각의 업데이트를 할 때마다 인스톨 및 재부팅 과정을 거쳐야 한다.
따라서 현재 버전 이후에 업데이트해야 하는 여러 버전들이 있는 경우에는 업데이트를 여러 번 수행해야 하는 번거로움이 발생하며 모든 업데이트를 완료하기 위해 많은 시간이 소요된다.
또한 업데이트 완료후, 업그레이드된 소프트웨어를 이전 버전으로 다운그레이드할 필요가 있는 경우들도 발생할 수 있다. 이러한 경우들의 예를 들면, 모바일 단말의 사용자가 업그레이드된 소프트웨어가 이전 버전의 소프트웨어보다 만족스럽지 못하다고 생각하는 경우나 다른 소프트웨어 사용에 곤란함이 발생하는 경우 등이 있을 수 있다.
하지만 모바일 단말이 버전별 델타 파일만을 제공받아 현재 버전의 소프트웨어를 업그레이드함에 따라, 사용자는 현재 버전의 소프트웨어를 한 단계 높은 버전으로 업그레이드를 하거나 또는 하지 않는 두 가지 중 하나만을 선택할 수밖에 없다. 그러므로 업그레이드를 완료한 다음에는 이전 버전으로 다운그레이드할 수는 없었다.
또한 하나의 FOTA 서버가 모바일 단말의 소프트웨어 업데이트에 관련된 모든 모바일 단말들의 정보를 모두 관리하고 백업하므로 안정성이 미흡하며 모든 사용자가 하나의 FOTA 서버에 접속함에 따라 많은 부하가 발생한다.
따라서 본 발명은 모바일 단말의 소프트웨어에 관해 현재 버전 이후에 업데이트해야 하는 여러 버전들이 있는 경우에도 최종으로 업데이트할 버전으로 간편하고 신속하게 업데이트할 수 있는 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치를 제공한다.
또한 본 발명은 모바일 단말의 소프트웨어에 관해 업그레이드뿐만 아니라 다운그레이드도 할 수 있는 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치를 제공한다.
또한 본 발명은 모바일 단말의 소프트웨어에 관한 모든 버전들 중에 어느 하나의 버전으로 자유롭게 선택적으로 업그레이드 또는 다운그레이드하여 업데이트할 수 있는 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치를 제공한다.
또한 본 발명은 FOTA 서버의 안정성을 향상시키며 부하를 감소시킬 수 있는 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치를 제공한다.
본 발명의 일 측면에 따라, 모바일 단말의 소프트웨어 업데이트 서비스 방법은, FOTA 서버와 연결되는 델타 생성 서버로 상기 모바일 단말의 업데이트 대상 소프트웨어에 관한 업데이트를 요청하는 단계와, 상기 델타 생성 서버로부터 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 수신하는 단계와, 상기 업데이트 가능 버전 정보를 디스플레이하는 단계와, 상기 업데이트 가능한 모든 버전 중에서 하나의 버전이 선택되면, 상기 델타 생성 서버로 선택된 버전을 통지하는 단계와, 상기 델타 생성 서버로부터 상기 업데이트 대상 소프트웨어를 상기 선택된 버전으로 업데이트하기 위한 델타 파일을 다운로드하는 단계를 포함한다.
본 발명의 다른 측면에 따라, FOTA 서버와 연결되는 델타 생성 서버에서 모바일 단말의 소프트웨어 업데이트 서비스 방법은, 상기 모바일 단말로부터 상기 모바일 단말의 업데이트 대상 소프트웨어에 관한 업데이트를 요청받으면, 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하는 단계와, 상기 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 송신하는 단계와, 상기 모바일 단말로부터 상기 업데이트 가능한 모든 버전 중에서 선택된 버전을 통지받으면, 상기 업데이트 대상 소프트웨어를 상기 선택된 버전으로 업데이트하기 위한 델타 파일을 생성하는 단계와, 상기 모바일 단말로 생성된 델타 파일을 다운로드하는 단계를 포함한다.
본 발명의 또 다른 측면에 따라, 모바일 단말의 소프트웨어 업데이트 서비스 장치는, FOTA 서버에 연결되는 델타 생성 서버와 상기 모바일 단말 간의 통신을 수행하는 통신부와, 상기 모바일 단말과 사용자 간의 사용자 인터페이스를 제공하는 사용자 인터페이스부와, 상기 통신부 및 상기 사용자 인터페이스부와 연결되며, 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 상기 델타 생성 서버로부터 수신하여 디스플레이하며, 상기 업데이트 가능한 모든 버전 중에서 하나의 버전이 선택되면 선택된 버전으로 상기 업데이트 대상 소프트웨어를 업데이트하기 위한 델타 파일을 상기 델타 생성 서버로부터 다운로드하는 제어부를 포함한다.
본 발명의 또 다른 측면에 따라, FOTA 서버에 연결되는 델타 생성 서버에서 모바일 단말의 소프트웨어 업데이트 서비스 장치는, 상기 FOTA 서버 및 상기 모바일 단말과 상기 델타 생성 서버 간의 통신을 수행하는 통신부와, 상기 통신부와 연결되며, 상기 모바일 단말의 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하여 상기 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 상기 모바일 단말로 송신하고, 상기 업데이트 가능한 모든 버전 중에서 상기 모바일 단말로부터 통지되는 선택된 버전으로 상기 업데이트 대상 소프트웨어를 업데이트하기 위한 델타 파일을 생성하여 상기 모바일 단말로 다운로드하는 제어부를 포함한다.
본 발명에 따르면 델타 생성 서버는 모바일 단말의 소프트웨어의 모든 버전 중에 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하여 모바일 단말의 사용자에게 알린다. 이에 따라 모바일 단말의 사용자는 업데이트 가능한 모든 버전을 확인하고 현재 버전에 대해 업그레이드 또는 다운그레이드하기를 원하는 버전을 선택할 수 있다.
또한 델타 생성 서버는 업데이트 가능한 모든 버전 중에 모바일 단말의 사용자에 의해 선택된 버전으로 현재 버전을 업데이트하기 위한 델타 파일을 생성하여 모바일 단말에 제공한다. 이에 따라 모바일 단말의 소프트웨어에 관해 현재 버전 이후에 업데이트해야 하는 여러 버전들이 있는 경우에도 한 번의 업데이트 과정에 의해 간편하고 신속하게 최종 버전으로 업데이트할 수 있다. 또한 모바일 단말의 소프트웨어에 관한 모든 버전들 중에 어느 하나의 버전으로 자유롭게 선택적으로 업그레이드 또는 다운그레이드하여 업데이트할 수 있다.
또한 모바일 단말의 소프트웨어 업데이트를 위한 델타 파일을 FOTA 서버 대신에 델타 생성 서버가 모바일 단말에 제공함으로써 FOTA 서버의 부하를 감소시킬 수 있다. 특히 모바일 단말의 사용자의 개인용 클라우드 서버(personal cloud server)가 델타 생성 서버로 사용되면, 업데이트에 관련된 모든 모바일 단말들 각각의 정보를 FOTA 서버 대신에 모바일 단말들 각각에 관한 개인용 클라우드 서버가 관리하고 백업한다. 이에 따라 FOTA 서버의 안정성을 향상시킬 수 있다.
도 1은 통상적인 모바일 단말의 소프트웨어 업데이트 서비스 시스템 구성도,
도 2는 본 발명의 실시 예에 따른 모바일 단말의 소프트웨어 업데이트 서비스 시스템 구성도,
도 3은 본 발명의 실시 예에 따른 모바일 단말의 블록도,
도 4는 본 발명의 실시 예에 따른 모바일 단말의 처리 흐름도,
도 5는 본 발명의 실시 예에 따른 델타 생성 서버의 블록도,
도 6은 본 발명의 실시 예에 따른 델타 생성 서버의 처리 흐름도.
이하 본 발명의 실시 예들을 첨부 도면을 참조하여 상세히 설명한다. 첨부된 도면에 대한 참조 부호를 사용한 이하의 설명은 특허청구범위와 그에 균등한 것들에 의해 정의된 것과 같은 본 발명의 실시 예의 포괄적인 이해를 돕기 위한 것이다. 또한 도면들 중에 동일한 구성요소들에는 가능한 한 동일한 참조 부호를 부여하였다.
또한 본 발명의 실시 예들의 이해를 돕기 위해 여러 가지 특정 상세들이 포함되지만, 이는 단지 예시에 관한 것으로 간주되어야 한다. 따라서 당업자라면 본 발명의 범위 및 정신을 벗어나지 않으면서 이하에 설명된 실시 예들의 여러 가지 변경 및 수정을 할 수 있음을 인식할 것이다. 또한 공지 기능이나 구성에 관한 설명은 명확성과 간결성을 위해 생략될 수 있다.
이하의 설명 및 특허청구범위에서 사용된 용어들 및 단어들은 서지적인 의미에 한정되지 않으며, 단지 본 발명의 명확하고 일관된 이해가 가능하도록 발명자에 의해 사용된 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하에서 설명되는 본 발명의 실시 예들은 유사한 기술적 배경을 가지는 다른 장치들에도 적용될 수 있다. 또한 본 발명의 실시 예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 범위를 벗어나지 않는 범위에서 여러 가지 변형도 가능할 수 있다.
도 2는 본 발명의 실시 예에 따른 모바일 단말의 소프트웨어 업데이트 서비스 시스템 구성도이다. 도 2를 참조하면, 모바일 단말(200)과 FOTA 서버(204) 사이에 델타 생성 서버(202)가 연결된다.
FOTA 서버(204)에는 통신 사업자 또는 제조사의 운용자에 의해 모바일 단말(200)의 소프트웨어에 관한 모든 버전들 각각의 델타 생성용 바이너리가 모두 업로드되어 저장된다. 즉, 종래의 FOTA 서버에는 델타 파일들이 저장되었던 것과 달리, FOTA 서버(204)에는 델타 파일 생성에 사용되는 델타 생성용 바이너리들이 저장된다. 델타 파일 생성 대상이 되는 두 가지 버전의 소프트웨어들의 바이너리를 직접 비교하는 것으로는 두 가지 버전의 소프트웨어들 간의 델타를 추출할 수 없다. 이에 따라 통상적으로 두 가지 버전의 소프트웨어의 바이너리 대신에 각각의 바이너리에 각각 대응하는 델타 생성용 바이너리들을 비교하여 델타를 추출한다.
모바일 단말(200)에 관한 통신 사업자 또는 제조사의 운용자가 모바일 단말(200)의 소프트웨어를 업데이트하기 위한 델타 생성용 바이너리를 FOTA 서버(204)에 업로드한 후 FOTA 명령을 실행시키면, FOTA 서버(204)는 푸시 서버(206)로 푸시 전송 명령을 송신한다. 푸시 서버(206)는 푸시 전송 명령에 따라 모바일 단말(200)로 푸시 통지를 함으로써, 모바일 단말(200)의 소프트웨어에 관한 업데이트가 있음을 푸시에 의해 알린다.
모바일 단말(200)의 사용자는 모바일 단말(200)을 델타 생성 서버(202)에 접속하여 모바일 단말(200)의 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하고, 현재 버전을 업그레이드 또는 다운그레이드하여 업데이트할 버전을 선택한다. 델타 생성 서버(202)는 현재 버전의 델타 생성용 바이너리와 사용자에 의해 선택된 버전의 델타 생성용 바이너리로부터 델타 파일을 생성하여 모바일 단말(200)에 다운로드한다. 이때 생성된 델타 파일은 현재 버전과 사용자에 의해 선택된 버전에 따라, 현재 버전을 업그레이드 또는 다운그레이드하여 업데이트하기 위한 델타 파일이 된다. 현재 버전의 델타 생성용 바이너리와 사용자에 의해 선택된 버전의 델타 생성용 바이너리는 델타 생성 서버(202)가 FOTA 서버(204)로부터 다운로드받는다. FOTA 서버(204)와 델타 생성 서버(202) 간의 델타 생성용 바이너리 다운로드와, 델타 생성 서버(202)와 모바일 단말(200) 간의 델타 파일 다운로드는 OMA-DM 프로토콜에 따라 이루어진다.
델타 생성 서버(202)는 모바일 단말(200) 사용자의 개인용 클라우드 서버에 구현될 수 있다. 모바일 단말(200) 사용자의 집과 같은 개인 공간 내에 위치되는 모바일 단말(200) 사용자의 데스크탑 컴퓨터, 랩탑 컴퓨터와 같은 개인용 컴퓨터가 개인용 클라우드 서버로 사용될 수 있다.
통상적으로 클라우드 서비스는 영화, 사진, 음악 등 미디어 파일, 문서, 주소록과 같은 사용자의 콘텐츠를 인터넷 상의 서버에 저장해 두고, 언제 어디서나 모바일 단말, 컴퓨터와 같은 디바이스를 인터넷을 통해 서버에 접속하여 콘텐츠를 이용할 수 있는 서비스를 말한다. 이러한 클라우드 서비스와 유사하게 본 발명에 따라 델타 생성 서버(202)가 구현되는 개인용 클라우드 서버는 모바일 단말(200) 사용자의 개인 공간 내에서 모바일 단말(200) 사용자를 위한 소규모 클라우드 서비스를 제공한다. 개인용 클라우드 서버에 의해 구현된 델타 생성 서버(202)는 모바일 단말(200)의 소프트웨어 업데이트 서비스를 제공한다.
본 발명의 다른 실시 예에 따라 델타 생성 서버(202)는 공용 클라우드 서버에 구현될 수도 있다. 공용 클라우드 서버는 개인용 클라우드 서버와 달리 다수의 사용자들에게 클라우드 서비스를 제공하는 통상적인 클라우드 서버를 의미한다. 이러한 경우 공용 클라우드 서버가 델타 생성 서버(202)로서 FOTA 서버(204)와 모바일 단말(200) 간에 연결되며, 모바일 단말(200)은 무선 인터넷을 통해 공용 클라우드 서버에 연결될 수 있다. 다만, 공용 클라우드 서버가 모바일 단말의 정보를 관리하면 모바일 단말의 정보에 관한 보안이 취약해질 수 있다.
모바일 단말(200)의 사용자는 델타 생성 서버(202)를 통해 모바일 단말(200)의 소프트웨어 업데이트 서비스를 이용하기 위해 모바일 단말(200)을 델타 생성 서버(202)에 접속하여 모바일 단말(200)의 정보를 델타 생성 서버(202)에 등록한다. 모바일 단말(200)의 정보는 예를 들어 모바일 단말(200)의 IMEI(International Mobile Station Equipment Identity)처럼 모바일 단말(200) 고유 정보에 기초하여 델타 생성 서버(202)에 등록된다. 그러므로 델타 생성 서버(202)에 등록되는 모바일 단말(200)의 정보는 IMEI와 같은 고유 정보가 포함되며, 모바일 단말(200)의 모델 명, 모바일 단말(200) 사용자의 전화번호, 모바일 단말(200)의 소프트웨어 버전 정보, 모바일 단말(200)이 가입된 모바일 통신 사업자의 커스터머 코드(customer code) 등이 더 포함될 수 있다.
도 3은 본 발명의 실시 예에 따른 모바일 단말(200)의 블록도이다. 도 3을 참조하면, 모바일 단말(200)은 제어부(300), 통신부(302), 메모리(304), 사용자 인터페이스부(306)를 포함한다.
통신부(302)는 제어부(200)의 제어에 의해 모바일 통신 네트워크를 통한 모바일 통신 또는 근거리 통신에 의해 델타 생성 서버(202)와 모바일 단말(200) 간의 통신을 제공한다. 근거리 통신은 Wi-Fi(Wireless Fidelity)와 같은 무선 LAN(Local Area Network), 블루투스 통신 등이 될 수 있다. 메모리(304)는 제어부(300)의 동작을 위한 프로그램을 저장하며, 제어부(300)의 동작에 따른 각종 데이터를 저장한다. 메모리(304)에는 외장형 메모리가 더 포함될 수 있고, HDD(Hard Disk Drive)와 같은 스토리지 장치도 더 포함될 수 있다.
사용자 인터페이스부(306)는 모바일 단말(200)과 사용자 간의 사용자 인터페이스를 제공한다. 사용자 인터페이스부(306)는 도시하지 않은 마이크, 스피커, 키패드, 버튼, 디스플레이와 같은 입력 및 출력 디바이스들을 포함한다. 사용자 인터페이스부(306)는 입력 디바이스들을 통한 사용자의 입력을 제어부(300)에 제공하고, 제어부(300)의 동작에 따른 오디오, 비디오와 같은 출력을 출력 디바이스들을 통해 사용자에게 제공한다. 사용자 인터페이스부(306)는 키패드 및 디스플레이 대신에 터치 스크린 디스플레이를 포함할 수 있다. 터치 스크린 디스플레이는 제어부(300)의 동작에 따른 각종 화면들을 터치 스크린 상에 디스플레이하며, 터치 스크린의 접촉에 의한 사용자 입력을 제어부(300)에 제공한다.
제어부(300)는 모바일 단말(200)의 통상적인 기능을 수행한다. 또한 제어부(300)는 모바일 단말(200)의 업데이트 대상 소프트웨어에 관해 사용자 인터페이스부(306)를 통한 사용자의 업데이트 요청에 따라 도 4에 따른 처리에 의해 소프트웨어 업데이트 서비스를 모바일 단말(200)의 사용자에게 제공한다.
도 4는 본 발명의 실시 예에 따른 모바일 단말(200)의 처리 흐름도이다. 도 4를 참조하면, 모바일 단말(200)의 업데이트 대상 소프트웨어에 관해 사용자 인터페이스부(306)를 통한 사용자의 업데이트 요청이 있으면, 제어부(300)는 (400)단계를 수행한다. (400)단계에서 제어부(300)는 통신부(302)를 통해 델타 생성 서버(202)에 접속하여 델타 생성 서버(202)로 모바일 단말(200)의 업데이트 대상 소프트웨어에 관한 업데이트를 요청한다. 이때 제어부(300)는 델타 생성 서버(202)에 등록된 모바일 단말(200)의 정보를 델타 생성 서버(202)로 송신한다.
도 5는 본 발명의 실시 예에 따른 델타 생성 서버(202)의 블록도이다. 도 5를 참조하면, 델타 생성 서버(202)는 제어부(500), 통신부(502), 메모리(504)를 포함한다.
통신부(502)는 제어부(500)의 제어에 의해 FOTA 서버(204) 및 모바일 단말(200)과 델타 생성 서버(202)간의 통신을 제공한다. 메모리(504)는 제어부(500)의 동작을 위한 프로그램을 저장하며, 제어부(500)의 동작에 따른 각종 데이터를 저장한다. 메모리(504)에는 외장형 메모리가 더 포함될 수 있고, HDD와 같은 스토리지 장치도 포함될 수 있다.
제어부(500)는 모바일 단말(200)로부터 모바일 단말(200)의 업데이트 대상 소프트웨어에 관한 업데이트를 요청받으면 도 6에 따라 본 발명의 실시 예에 따른 소프트웨어 업데이트 서비스를 모바일 단말(200)의 사용자에게 제공한다.
도 6은 본 발명의 실시 예에 따른 델타 생성 서버(202)의 처리 흐름도이다. 도 6을 참조하면, (600)단계에서 제어부(500)는 통신부(502)를 통해 접속되는 모바일 단말(200)로부터 모바일 단말(200)의 업데이트 대상 소프트웨어에 관한 업데이트를 요청받으면 (602)단계를 수행한다. (602)단계에서 제어부(500)는 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인한다. 업데이트 가능한 모든 버전은 현재 버전보다 낮은 단계들의 모든 버전과 현재 버전보다 높은 단계들의 모든 버전을 포함한다.
제어부(500)는 통신부(502)를 통해 FOTA 서버(204)로부터 업데이트 대상 소프트웨어에 관해 업데이트 가능한 모든 버전을 확인한다. 본 발명의 다른 실시 예에 따라 제어부(500)는 업데이트 대상 소프트웨어에 관한 모든 버전들에 관한 버전 정보를 델타 생성 서버(202)와 FOTA 서버(204) 간에 푸시 또는 풀(pull) 또는 폴링(polling)과 같은 방식에 의해 FOTA 서버(204)로부터 수신하여 메모리(504)에 저장 및 업데이트할 수 있다. 이러한 경우 제어부(500)는 메모리(504)에 저장되어 있는 버전 정보에 의해 업데이트 대상 소프트웨어에 관해 업데이트 가능한 모든 버전을 확인한다.
(604)단계에서 제어부(500)는 상기한 바와 같이 확인한 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 통신부(502)를 통해 모바일 단말(200)로 송신한다. 이후 제어부(500)는 모바일 단말(200)로부터 업데이트 가능한 버전들 중에 사용자에 의해 선택된 버전 통지를 (606)단계에서 대기한다.
다시 도 4를 참조하면, 모바일 단말(200)의 제어부(300)는 상기한 바와 같이 델타 생성 서버(202)로부터 송신되는 업데이트 가능 버전 정보를 (402)단계에서 통신부(302)를 통해 수신한다. 다음에 제어부(300)는 수신된 업데이트 가능 버전 정보를 (404)단계에서 사용자 인터페이스부(306)를 통해 디스플레이하고, (406)단계에서 업데이트 가능한 버전들 중에 하나의 버전에 대한 사용자의 선택을 대기한다. 예를 들어 모바일 단말(200)의 소프트웨어에 관한 업그레이드 단계의 순서가 버전 A → 버전 B → 버전 C → 버전 D인 버전들 A, B, C, D가 있고, 현재 버전이 버전 C라면, 업그레이드 가능한 버전 D와 다운그레이드 가능한 버전들 A, B를 나타내는 버전 정보를 디스플레이한다. 이에 따라 사용자는 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하고 업그레이드 또는 다운그레이드할 버전을 선택할 수 있다.
업데이트 가능한 버전들 중에 사용자 인터페이스부(306)를 통해 사용자에 의해 하나의 버전이 선택되면, 제어부(300)는 (406)단계에서 이에 응답하여 (408)단계를 수행한다. (408)단계에서 제어부(300)는 사용자에 의해 선택된 버전을 통신부(302)를 통해 델타 생성 서버(202)로 통지한다.
다시 도 6을 참조하면, 델타 생성 서버(202)의 제어부(500)는 (606)단계에서 모바일 단말(200)로부터 사용자에 의해 선택된 버전 통지를 받으면, (608)단계를 수행한다. (608)단계에서 제어부(500)는 현재 버전의 델타 생성 바이너리와 사용자에 의해 선택된 버전의 델타 생성 바이너리를 FOTA 서버(204)로부터 다운로드한다. 본 발명의 다른 실시 예에 따라 제어부(500)는 업데이트 대상 소프트웨어에 관한 모든 버전들의 델타 생성 바이너리들을 델타 생성 서버(202)와 FOTA 서버(204) 간에 푸시 또는 풀 또는 폴링과 같은 방식에 의해 미리 FOTA 서버(204)로부터 다운로드하여 메모리(504)에 저장해 놓을 수 있다. 이러한 경우 메모리(504)에 현재 버전의 델타 생성 바이너리와 사용자에 의해 선택된 버전의 델타 생성 바이너리가 저장되어 있게 되므로, (608)단계는 생략될 수 있다.
제어부(500)는 (610)단계에서 현재 버전의 델타 생성 바이너리와 사용자에 의해 선택된 버전의 델타 생성 바이너리로부터 델타 파일을 생성한다. 이때 생성되는 델타 파일은 현재 버전과 사용자에 의해 선택된 버전에 따라, 현재 버전을 사용자에 의해 선택된 버전으로 업그레이드 또는 다운그레이드하여 업데이트하기 위한 델타 파일이 된다. 델타 파일 생성이 완료되면 제어부(500)는 (612)단계에서 델타 파일 생성을 통신부(502)를 통해 모바일 단말(200)로 통지한다. 이후 제어부(500)는 통신부(502)를 통해 모바일 단말(200)로부터 델타 파일 다운로드를 요청받으면, (614)단계에서 이에 응답하여 (616)단계에서 델타 파일을 통신부(502)를 통해 모바일 단말(200)로 다운로드한 후 종료한다.
한편 델타 파일 생성 통지는 델타 생성 서버(202)가 모바일 단말(200)에 대한 접속을 통해 모바일 단말(200)로 직접 할 수도 있고, 푸시 서버(206)에 푸시 전송 명령을 송신함으로써 모바일 단말(200)로 푸시 통지되도록 할 수도 있다. 만일 델타 파일 생성에 소요되는 시간이 길다면, 예를 들어 수십분 정도된다면, 델타 파일을 생성하는 동안에 델타 생성 서버(202)와 모바일 단말(200) 간에 불필요하게 접속을 유지할 필요가 없다. 그러므로 이러한 경우에는 푸시 통지에 의해 델타 파일 생성을 하는 것이 바람직하다. 델타 파일 생성에 소요되는 시간은 현재 버전의 델타 생성 바이너리와 사용자에 의해 선택된 버전의 델타 생성 바이너리의 크기, 델타 생성 서버(202)의 성능에 따라 달라질 수 있다. 그러므로 본 발명의 실제 구현에 있어서 델타 파일 생성 통지 방식은 상기한 점들을 고려하여 선택될 수 있을 것이다.
다시 도 4를 참조하면, 모바일 단말(200)의 제어부(300)는 (410)단계에서 통신부(302)를 통해 델타 생성 서버(202)로부터 델타 파일 생성을 통지받으면, (412)단계에서 델타 파일 생성 통지를 사용자 인터페이스부(306)를 통해 디스플레이함으로써 사용자에게 알린다. 사용자가 사용자 인터페이스부(306)를 통해 델타 파일 다운로드를 요청하면, 제어부(300)는 (414)단계에서 이에 응답하여 (416)단계에서 통신부(302)를 통해 델타 생성 서버(202)로 델타 파일 다운로드를 요청하여 (418)단계에서 통신부(302)를 통해 델타 생성 서버(202)로부터 델타 파일을 다운로드한다.
이처럼 모바일 단말(200)에 다운로드된 델타 파일은 업데이트 가능한 버전들 중에 사용자가 선택한 버전으로 현재 버전을 한 번에 업데이트하는데 사용된다. 즉, 종래의 델타 파일을 사용하면 항상 현재 버전을 한 단계 높은 버전으로 업그레이드만 할 수 있었으나, 본 발명에 따른 델타 파일을 사용하면 현재 버전을 업데이트 가능한 버전들 중에 사용자가 원하는 버전으로 한 번의 인스톨 및 재부팅에 의해 업그레이드 또는 다운그레이드할 수 있다. 따라서 모바일 단말(200)의 소프트웨어에 관해 현재 버전 이후에 업데이트해야 하는 여러 버전들이 있는 경우에도 최종으로 업데이트할 버전으로 간편하고 신속하게 업데이트할 수 있게 된다.
또한 현재 버전과 사용자가 선택한 버전 간의 델타 파일을 델타 생성 서버(202)에 의해 생성함으로서, 모바일 단말(200)의 소프트웨어에 관해 업그레이드뿐만 아니라 다운그레이드도 할 수 있다. 이에 따라 사용자는 모바일 단말(200)의 소프트웨어에 관한 모든 버전들 중에 원하는 어느 하나의 버전으로 자유롭게 선택적으로 업그레이드 또는 다운그레이드하여 업데이트할 수 있다.
또한 모바일 단말(200)의 정보는 FOTA 서버(204) 대신에 모바일 단말(200)이 등록된 델타 생성 서버(202)에 의해 관리되며, 모바일 단말(200)은 FOTA 서버(204)에 직접 접속될 필요없이 델타 생성 서버(202)에만 접속하면 업데이트가 가능하다. 이에 따라 FOTA 서버(204)의 안정성이 향상되며 부하가 감소된다.
한편 (418)단계에서 델타 파일 다운로드를 완료하면, 제어부(300)는 (420)단계에서 인스톨 문의를 사용자 인터페이스부(306)를 통해 디스플레이하고, (422)단계에서 인스톨 선택 여부를 대기한다. 인스톨 문의는 다운로드한 델타 파일을 사용하여 현재 버전을 사용자가 선택한 버전으로 업데이트하기 위해 인스톨할 것인지 여부를 문의하는 문구가 될 수 있다. 만일 사용자가 인스톨을 선택하면, 제어부(300)는 (424)단계에서 다운로드한 델타 파일을 사용하여 현재 버전을 사용자가 선택한 버전으로 업데이트하여 인스톨한 후 종료한다. 만일 사용자가 인스톨을 선택하지 않으면, 제어부(300)는 인스톨을 하지 않고 종료한다.
한편 본 발명의 실시 예들에 따른 모바일 단말은 소프트웨어 업데이트 서비스를 위한 프로그램(예컨대 애플리케이션)을 원격에 위치한 프로그램 제공 장치(예컨대 서버)로부터 다운로드받아 인스톨하여 실행함으로써, 소프트웨어 업데이트 서비스에 사용할 수 있다. 즉, 소프트웨어 업데이트 서비스를 위한 프로그램이 모바일 단말에 인스톨되면 모바일 단말에서 실행되어 소프트웨어 업데이트 서비스를 제공할 수 있다. 프로그램 제공 장치는 모바일 단말로부터 상기 프로그램의 전송 요청에 대한 응답으로 또는 자동으로 상기 프로그램을 모바일 단말로 전송한다. 이때 프로그램 제공 장치는 모바일 단말에 대하여 서비스 가입 여부 판단, 사용자 인증 및 결재 정보 확인 등을 추가로 수행할 수 있다. 프로그램 제공 장치는 모바일 단말과 유선 또는 무선 통신을 하기 위한 통신부와, 상기 프로그램을 저장한 저장매체와, 상기 프로그램을 통신부에 의해 모바일 단말로 전송하는 제어부를 구비할 수 있다. 저장매체는 프로그램 제공 장치의 내부 또는 외부에 위치할 수 있다.
또한 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM(Read Only Memory), RAM(Random Access Memory) 등과 같은 휘발성 또는 비휘발성 저장 장치, 또는 CD(Compact Disc), DVD(Digital Versatile Disc), 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계로 읽을 수 있는 저장 매체에 저장될 수 있다. 따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.

Claims (20)

  1. 모바일 단말의 소프트웨어 업데이트 서비스 방법에 있어서,
    FOTA(Firmware Over-The-Air) 서버와 연결되는 델타 생성 서버로 상기 모바일 단말의 업데이트 대상 소프트웨어에 관한 업데이트를 요청하는 단계와,
    상기 델타 생성 서버로부터 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 수신하는 단계와,
    상기 업데이트 가능 버전 정보를 디스플레이하는 단계와,
    상기 업데이트 가능한 모든 버전 중에서 하나의 버전이 선택되면, 상기 델타 생성 서버로 선택된 버전을 통지하는 단계와,
    상기 델타 생성 서버로부터 상기 업데이트 대상 소프트웨어를 상기 선택된 버전으로 업데이트하기 위한 델타 파일을 다운로드하는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  2. 제1항에 있어서, 상기 업데이트는, 상기 업데이트 대상 소프트웨어에 관한 업그레이드와 다운그레이드 중에 하나임을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  3. 제2항에 있어서, 상기 다운로드하는 단계는,
    상기 델타 생성 서버로부터 델타 파일 생성을 통지받는 단계와,
    상기 델타 생성 서버로 상기 델타 파일의 다운로드를 요청하는 단계를 더 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  4. 제3항에 있어서, 상기 델타 생성 서버는, 상기 모바일 단말의 사용자의 개인용 클라우드 서버에 구현됨을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  5. FOTA(Firmware Over-The-Air) 서버와 연결되는 델타 생성 서버에서 모바일 단말의 소프트웨어 업데이트 서비스 방법에 있어서,
    상기 모바일 단말로부터 상기 모바일 단말의 업데이트 대상 소프트웨어에 관한 업데이트를 요청받으면, 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하는 단계와,
    상기 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 송신하는 단계와,
    상기 모바일 단말로부터 상기 업데이트 가능한 모든 버전 중에서 선택된 버전을 통지받으면, 상기 업데이트 대상 소프트웨어를 상기 선택된 버전으로 업데이트하기 위한 델타 파일을 생성하는 단계와,
    상기 모바일 단말로 생성된 델타 파일을 다운로드하는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  6. 제5항에 있어서, 상기 업데이트는, 상기 업데이트 대상 소프트웨어에 관한 업그레이드와 다운그레이드 중에 하나임을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  7. 제6항에 있어서, 상기 다운로드하는 단계는,
    상기 모바일 단말로 델타 파일 생성을 통지하는 단계와,
    상기 모바일 단말로부터 상기 델타 파일의 다운로드를 요청받는 단계를 더 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  8. 제6항에 있어서, 상기 델타 생성 서버는, 상기 모바일 단말의 사용자의 개인용 클라우드 서버에 구현됨을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  9. 제8항에 있어서, 상기 생성하는 단계는,
    상기 현재 버전의 델타 생성용 바이너리와 상기 선택된 버전의 델타 생성용 바이너리를 상기 FOTA 서버로부터 다운로드하는 단계와,
    다운로드한 델타 생성용 바이너리들로부터 상기 델타 파일을 생성하는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  10. 제8항에 있어서, 상기 생성하는 단계는, 상기 모든 버전에 관해 상기 FOTA 서버로부터 미리 다운로드하여 저장해 놓은 델타 생성용 바이너리들 중에 상기 현재 버전의 델타 생성용 바이너리와 상기 선택된 버전의 델타 생성용 바이너리로부터 상기 델타 파일을 생성하는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 방법.
  11. 모바일 단말의 소프트웨어 업데이트 서비스 장치에 있어서,
    FOTA(Firmware Over-The-Air) 서버에 연결되는 델타 생성 서버와 상기 모바일 단말 간의 통신을 수행하는 통신부와,
    상기 모바일 단말과 사용자 간의 사용자 인터페이스를 제공하는 사용자 인터페이스부와,
    상기 통신부 및 상기 사용자 인터페이스부와 연결되며, 상기 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 상기 델타 생성 서버로부터 수신하여 디스플레이하며, 상기 업데이트 가능한 모든 버전 중에서 하나의 버전이 선택되면 선택된 버전으로 상기 업데이트 대상 소프트웨어를 업데이트하기 위한 델타 파일을 상기 델타 생성 서버로부터 다운로드하는 제어부를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  12. 제11항에 있어서, 상기 업데이트는, 상기 업데이트 대상 소프트웨어에 관한 업그레이드와 다운그레이드 중에 하나임을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  13. 제12항에 있어서, 상기 제어부는, 상기 델타 생성 서버로부터 델타 파일 생성을 통지받으면, 상기 델타 생성 서버로 상기 델타 파일의 다운로드를 요청함을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  14. 제13항에 있어서, 상기 델타 생성 서버는, 상기 모바일 단말의 사용자의 개인용 클라우드 서버에 구현됨을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  15. FOTA(Firmware Over-The-Air) 서버에 연결되는 델타 생성 서버에서 모바일 단말의 소프트웨어 업데이트 서비스 장치에 있어서,
    상기 FOTA 서버 및 상기 모바일 단말과 상기 델타 생성 서버 간의 통신을 수행하는 통신부와,
    상기 통신부와 연결되며, 상기 모바일 단말의 업데이트 대상 소프트웨어의 현재 버전에 대해 업데이트 가능한 모든 버전을 확인하여 상기 업데이트 가능한 모든 버전을 나타내는 업데이트 가능 버전 정보를 상기 모바일 단말로 송신하고, 상기 업데이트 가능한 모든 버전 중에서 상기 모바일 단말로부터 통지되는 선택된 버전으로 상기 업데이트 대상 소프트웨어를 업데이트하기 위한 델타 파일을 생성하여 상기 모바일 단말로 다운로드하는 제어부를 포함함을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  16. 제15항에 있어서, 상기 업데이트는, 상기 업데이트 대상 소프트웨어에 관한 업그레이드와 다운그레이드 중에 하나임을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  17. 제16항에 있어서, 상기 제어부는, 상기 모바일 단말로 델타 파일 생성을 통지한 후, 상기 모바일 단말로부터 상기 델타 파일의 다운로드를 요청받음을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  18. 제16항에 있어서, 상기 델타 생성 서버는, 상기 모바일 단말의 사용자의 개인용 클라우드 서버에 구현됨을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  19. 제18항에 있어서, 상기 제어부는, 상기 현재 버전의 델타 생성용 바이너리와 상기 선택된 버전의 델타 생성용 바이너리를 상기 FOTA 서버로부터 다운로드하고, 다운로드한 델타 생성용 바이너리들로부터 상기 델타 파일을 생성함을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
  20. 제18항에 있어서, 상기 제어부는, 상기 모든 버전에 관해 상기 FOTA 서버로부터 미리 다운로드하여 저장해 놓은 델타 생성용 바이너리들 중에 상기 현재 버전의 델타 생성용 바이너리와 상기 선택된 버전의 델타 생성용 바이너리로부터 상기 델타 파일을 생성함을 특징으로 하는 소프트웨어 업데이트 서비스 장치.
KR1020120146250A 2012-12-14 2012-12-14 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치 Abandoned KR20140077435A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120146250A KR20140077435A (ko) 2012-12-14 2012-12-14 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치
US14/069,545 US9430225B2 (en) 2012-12-14 2013-11-01 Software update service method and apparatus for mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120146250A KR20140077435A (ko) 2012-12-14 2012-12-14 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20140077435A true KR20140077435A (ko) 2014-06-24

Family

ID=50932558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120146250A Abandoned KR20140077435A (ko) 2012-12-14 2012-12-14 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치

Country Status (2)

Country Link
US (1) US9430225B2 (ko)
KR (1) KR20140077435A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059596A1 (ko) * 2017-09-19 2019-03-28 삼성전자주식회사 전자 장치의 소프트웨어의 업데이트를 관리하기 위한 장치 및 방법
CN118210525A (zh) * 2024-03-13 2024-06-18 广州度岭科技有限公司 用于云终端的系统更新方法、装置、设备及存储介质

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043778B2 (en) * 2011-12-01 2015-05-26 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
CN103853574B (zh) * 2012-12-06 2015-09-16 腾讯科技(深圳)有限公司 一种软件升级的方法及系统
WO2014197521A1 (en) 2013-06-03 2014-12-11 Seven Networks, Inc. Blocking/unblocking algorithms for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN104239081A (zh) * 2013-06-18 2014-12-24 富泰华工业(深圳)有限公司 软件升级系统及方法
US20150312102A1 (en) * 2014-02-18 2015-10-29 Seven Networks, Inc. Policy management for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10657262B1 (en) * 2014-09-28 2020-05-19 Red Balloon Security, Inc. Method and apparatus for securing embedded device firmware
JP6413691B2 (ja) * 2014-11-20 2018-10-31 株式会社リコー データ通信装置、データ通信方法、及びデータ通信プログラム
US9417870B2 (en) 2014-12-08 2016-08-16 International Business Machines Corporation Managing user access to alternative versions of a particular function of a software product from within a current version of the software product
US9872276B2 (en) * 2015-01-12 2018-01-16 Google Llc Scheduling of software package transmissions on a multimedia broadcast multicast service channel
US20160350099A1 (en) * 2015-05-29 2016-12-01 Hewlett Packard Enterprise Development Lp Application deployment to virtual machines
US9870213B2 (en) * 2015-08-06 2018-01-16 Sap Se Unified consumption experience for software installation
CN105426193A (zh) * 2015-11-25 2016-03-23 努比亚技术有限公司 一种实现软件服务的方法及装置
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
CN106293836A (zh) * 2016-08-10 2017-01-04 浙江温商贷互联网金融服务有限公司 一种手机软件快速更新迭代方法
CN106843984A (zh) * 2017-02-13 2017-06-13 东软集团股份有限公司 应用数据库的更新方法及装置
US10387139B2 (en) * 2017-07-25 2019-08-20 Aurora Labs Ltd. Opportunistic software updates during select operational modes
US11240710B2 (en) 2017-08-29 2022-02-01 Motorola Solutions, Inc. Device and method for controlling load on a server
CN108804121A (zh) * 2018-05-28 2018-11-13 泰康保险集团股份有限公司 分布式系统中的版本管理方法、装置、介质及电子设备
CN110780911A (zh) * 2018-07-30 2020-02-11 中兴通讯股份有限公司 一种信息处理方法、设备和计算机可读存储介质
CN109542488A (zh) * 2018-11-30 2019-03-29 深圳市元征科技股份有限公司 一种软件版本配置方法及相关装置、系统
KR102772056B1 (ko) * 2019-04-10 2025-02-25 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN110851262B (zh) * 2019-11-14 2022-07-12 深圳传音控股股份有限公司 多卡软件版本管理方法和移动终端
CN111459524A (zh) * 2020-04-02 2020-07-28 安谋科技(中国)有限公司 软件的升级方法、装置、系统
CN111506326A (zh) * 2020-04-07 2020-08-07 Oppo(重庆)智能科技有限公司 终端设备的升级方法、装置、设备及存储介质
US11887411B2 (en) 2021-01-27 2024-01-30 Amazon Technologies, Inc. Vehicle data extraction service
US12462618B1 (en) 2021-02-01 2025-11-04 Amazon Technologies, Inc. Vehicle analysis service for providing logic for local analysis and additional remote support
CN112860797A (zh) * 2021-02-10 2021-05-28 上海商汤智能科技有限公司 数据库同步方法及装置、存储介质、设备
CN113190247A (zh) * 2021-04-27 2021-07-30 蘑菇物联技术(深圳)有限公司 控制器的人机界面升级方法、装置和计算机可读存储介质
US12063713B2 (en) 2021-05-19 2024-08-13 Snap Inc. System of mobile device operating system and apps delivery service
CN113625641B (zh) * 2021-08-17 2023-02-28 华帝股份有限公司 基于厨电设备的控制端动态更新方法、系统、设备及介质
US12175816B2 (en) 2021-11-29 2024-12-24 Amazon Technologies, Inc. Fleet data collection using a unified model to collect data from heterogenous vehicles
US11902374B2 (en) 2021-11-29 2024-02-13 Amazon Technologies, Inc. Dynamic vehicle data extraction service
US12517722B2 (en) * 2022-01-20 2026-01-06 Red Hat, Inc. Per-host delta-difference generation in update management systems
CN114816485A (zh) * 2022-05-07 2022-07-29 苏州琞能能源科技有限公司 应用于换电系统中的版本更新方法、装置、电子设备及存储介质
US20240028325A1 (en) * 2022-07-20 2024-01-25 Mtd Products Inc Over the air (ota) software update for outdoor power equipment
US12079619B2 (en) 2022-07-27 2024-09-03 T-Mobile Usa, Inc. Firmware-over-the-air (FOTA) update for wireless devices in an internet of things (IoT) network
CN115878174A (zh) * 2023-01-04 2023-03-31 中国建设银行股份有限公司 应用程序的版本差异分析方法、装置、设备、介质及产品
JP2024121632A (ja) * 2023-02-27 2024-09-06 キヤノン株式会社 画像処理装置、デバイス管理システムと画像処理装置とを含むシステム、画像処理装置の制御方法、システムの制御方法およびプログラム
CN116360830B (zh) * 2023-05-31 2023-08-15 中汽智联技术有限公司 一种车载终端软件版本升级方法和系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058941B1 (en) * 2000-11-14 2006-06-06 Microsoft Corporation Minimum delta generator for program binaries
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20030115311A1 (en) * 2001-11-29 2003-06-19 Enigmatec Corporation Enterprise network infrastructure for mobile users
US7210010B2 (en) * 2002-09-30 2007-04-24 Insignia Solutions Plc Efficient system and method for updating a memory device
US7881745B1 (en) * 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US8555273B1 (en) * 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7673300B2 (en) * 2004-06-10 2010-03-02 Samsung Electronics Co., Ltd. Segmented linker using spatial locality of reference for over-the-air software updates
US7529779B2 (en) * 2004-06-10 2009-05-05 Samsung Electronics Co., Ltd. Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network
DE602004020214D1 (de) * 2004-08-05 2009-05-07 Sony Ericsson Mobile Comm Ab Softwareaktualisierung in einem tragbaren Funkkommunikationsgerät
US9332424B2 (en) * 2005-08-05 2016-05-03 Qualcomm Incorporated Centrally managed solution for all device management activities
KR100794800B1 (ko) 2005-12-12 2008-01-15 삼성전자주식회사 소프트웨어 업데이트 방법 및 그 장치
ATE491988T1 (de) * 2005-12-20 2011-01-15 Ericsson Telefon Ab L M Erstellung inkrementeller programmaktualisierungen
WO2007117514A1 (en) * 2006-03-31 2007-10-18 Hewlett-Packard Company Mobile device capable of multiple updates
KR101417759B1 (ko) * 2006-06-19 2014-07-14 삼성전자주식회사 시스템 정보 갱신 장치 및 방법
KR101426710B1 (ko) * 2006-07-14 2014-09-23 삼성전자주식회사 휴대단말기의 버전정보 갱신 장치 및 방법
ES2371995T3 (es) * 2007-12-13 2012-01-12 Telefonaktiebolaget Lm Ericsson (Publ) Actualización del firmware de un dispositivo electrónico.
KR20090090801A (ko) * 2008-02-22 2009-08-26 삼성전자주식회사 휴대 단말기의 펌웨어 업데이트 방법 및 장치
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템
EP2360871B1 (en) * 2010-02-15 2016-04-06 Accenture Global Services Limited Machine to machine architecture
KR20110104383A (ko) * 2010-03-16 2011-09-22 삼성전자주식회사 펌웨어 업데이트 서비스 장치 및 방법
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법
US8307095B2 (en) * 2010-06-21 2012-11-06 Research In Motion Limited Firmware upgrade system and method in a device management architecture
KR20120041384A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US8650439B2 (en) * 2010-12-07 2014-02-11 Samsung Electronics Co., Ltd. Apparatus and method for fault tolerant FOTA update
KR20120109800A (ko) * 2011-03-28 2012-10-09 삼성전자주식회사 Fota 기반의 데이터 갱신 방법 및 이를 지원하는 휴대 단말기
WO2013085316A1 (en) * 2011-12-06 2013-06-13 Samsung Electronics Co., Ltd. Method and apparatus for providing firmware over the air service to user equipments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059596A1 (ko) * 2017-09-19 2019-03-28 삼성전자주식회사 전자 장치의 소프트웨어의 업데이트를 관리하기 위한 장치 및 방법
US11074066B2 (en) 2017-09-19 2021-07-27 Samsung Electronics Co., Ltd. Apparatus and method for managing software updates of electronic devices
CN118210525A (zh) * 2024-03-13 2024-06-18 广州度岭科技有限公司 用于云终端的系统更新方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20140173588A1 (en) 2014-06-19
US9430225B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
KR20140077435A (ko) 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치
CN106664544B (zh) 用于嵌入式sim供应的方法和设备
US20140380295A1 (en) Method and system for updating application, and computer storage medium thereof
CN114467320B (zh) 用于为sim卡或esim激活而转移订户身份模块(sim)信息的系统、方法和计算机程序
CN102984209B (zh) 一种应用程序的分发方法及其终端
CN107209678B (zh) 用于移动设备的自适应克隆的系统和方法
CN103281430A (zh) 移动终端中设置接口的装置和方法
CN109660372B (zh) 一种sdn的业务配置的方法及装置
CN106911729A (zh) 一种适用于国产处理器的操作系统远程安装方法
CN102217337B (zh) 非结构化补充业务服务内容的更新方法、装置及移动终端
WO2020063780A1 (zh) 应用布局还原方法、装置、设备及存储介质
CN105518646A (zh) 移动设备配置系统和方法
CN103634393A (zh) Ivr及其实现方法
WO2016150387A1 (zh) 界面处理方法、装置及系统
KR20060044228A (ko) 스마트폰을 이용한 전자제품 펌웨어 업그레이드 시스템 및방법
EP3091435A1 (en) Resource management method and device for terminal system
CN108199877B (zh) 电子设备及其认证方法与固件升级方法
CN105786636A (zh) 一种系统修复方法及装置
EP2653967A1 (en) Methods, apparatus, and systems for electronic device recovery
US10805427B1 (en) Backup and restore of customer devices
EP2928158B1 (en) Distribution apparatus and distribution method
JP2014109790A (ja) 情報処理装置、方法、およびプログラム
US20130080753A1 (en) Method for Configuring an Electronic Device
KR101171210B1 (ko) 이동통신 단말의 파일을 관리하는 단말 관리 서버 및 방법
CN109032651B (zh) 应用更新方法、智能终端及计算机可读存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20121214

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20171213

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20121214

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190212

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190702

PC1904 Unpaid initial registration fee