KR20100016548A - 네트워크 단말기에서의 강력한 펌웨어 업그레이드 - Google Patents

네트워크 단말기에서의 강력한 펌웨어 업그레이드 Download PDF

Info

Publication number
KR20100016548A
KR20100016548A KR20097023755A KR20097023755A KR20100016548A KR 20100016548 A KR20100016548 A KR 20100016548A KR 20097023755 A KR20097023755 A KR 20097023755A KR 20097023755 A KR20097023755 A KR 20097023755A KR 20100016548 A KR20100016548 A KR 20100016548A
Authority
KR
South Korea
Prior art keywords
firmware
rescue
network
server
terminal
Prior art date
Application number
KR20097023755A
Other languages
English (en)
Other versions
KR101510808B1 (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 톰슨 라이센싱
Publication of KR20100016548A publication Critical patent/KR20100016548A/ko
Application granted granted Critical
Publication of KR101510808B1 publication Critical patent/KR101510808B1/ko

Links

Images

Classifications

    • 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
    • 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/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

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

Abstract

본 발명은 네트워크 단말기와, 펌웨어를 업그레이드하기 위한 광대역 단말기에서의 방법에 관한 것으로, 단말기는 네트워크로의 인터페이스와 펌웨어의 한 가지 버전만을 저장하도록 적응된 비휘발성 메모리를 포함하고, 펌웨어는 제 1 펌웨어와 제 2 펌웨어를 포함하며, 이 방법은 단말기에서,
- 비휘발성 메모리로부터 상기 제 1 펌웨어를 삭제하는 단계,
- 네트워크에 위치한 서버로부터 비휘발성 메모리에, 네트워크 단말기가 서버로부터 펌웨어를 다운로드하는 것을 허용하도록 적응되는 구조 펌웨어를 다운로드하는 단계,
- 제 2 펌웨어와 구조 펌웨어로 단말기를 재부팅하는 단계,
- 서버로부터 비휘발성 메모리에 제 1 펌웨어와 제 2 펌웨어의 새로운 버전을 다운로드하는 단계,
- 비휘발성 메모리로부터 구조 펌웨어를 삭제하는 단계, 및
- 제 1 펌웨어와 제 2 펌웨어의 새로운 버전으로 단말기를 재부팅하는 단계를
포함한다.

Description

네트워크 단말기에서의 강력한 펌웨어 업그레이드{ROBUST FIRMWARE UPGRADE IN A NETWORK TERMINAL}
본 발명은 일반적으로 원격 펌웨어 업그레이드 방법에 관한 것으로, 특히 강력하고 투명한 방법에 관한 것이다.
이 섹션은 아래에 설명 및/또는 주장되는 본 발명의 다양한 양상에 관련될 수 있는, 관련 분야의 다양한 양상들을 읽는 사람에게 소개하려는 의도이다. 이 논의는 본 발명의 다양한 양상들을 더 잘 이해하는 것을 돕기 위해 배경 정보를 읽는 사람에게 제공하는데 도움이 될 수 있을 것이라고 믿는다. 따라서, 이들 서술문이 이러한 관점에서 읽어져야 하고, 종래 기술을 용인하는 것이 아님이 이해되어야 한다.
고객 댁내 장치(CPE: Customer Premises Equipment)와, 특히 디지털 가입자 라인(DSL: Digital Subscriber Line) 게이트웨이는, 광역 통신망(WAN: Wide Area network)으로의 인터페이스를 포함한다. CPE는 WAN 상에 위치한 중앙 관리 플랫폼으로부터 관리 가능하다.
2006년 11월자 CPE WAN 관리 프로토콜인 DSL 포럼(Forum) 기술 보고서(Technical Report) TR-069 수정안 1(TR-069)은 DSL 게이트웨이들에서 사용시의 관리 프로토콜의 상세한 설명을 한정한다. 원격 SW 업그레이드는 원격 중앙 관리 플랫폼을 통해 유발되고 실행될 수 있다. 펌웨어 업그레이드를 위한 공지된 방법은 2중(dual) 플래시 메모리 아키텍처를 사용한다. 게이트웨이에 내장된 펌웨어는 중단없이 플래시 메모리에 저장된다. 플래시 메모리의 용량이 충분히 크다면, 즉 펌웨어 이미지를 저장하기 위해 요구된 크기의 2배보다 많다면, 2중 뱅크(bank) 플래시 아키텍처가 사용될 수 있다. 2중 뱅크 플래시 내에서, 메모리는 2개의 독립된 메모리 영역들로 분할된다. 원격 업그레이드 동안 1개의 뱅크가 활동하고 모든 서비스를 지원하는데 반해, 새로운 펌웨어가 두 번째 뱅크에 다운로드된다. 다운로드가 완료되면, 게이트웨이는 오래된 펌웨어를 지닌 하나의 뱅크로부터 새로운 펌웨어를 지닌 다른 뱅크로 전환한다. 이 방법은 강력하고, 오래된 펌웨어는 이용 가능한 채로 남는다. 이는 새로운 펌웨어가 잘못될 때 복구를 허용한다. 서비스 중단 또한 최소화되고, 이 경우 새로운 펌웨어로 재부팅하는 것은 상당히 빠르다. 이러한 아키텍처의 주된 결점은 2개의 플래시 메모리의 비용이다.
일부 방법들은 단일 플래시 메모리로 펌웨어 업그레이드를 구현한다. 이들 방법의 주된 결점은 상당한 서비스 중지와, 강력함이 충분히 보장되지 않는다는 사실이다. 새로운 펌웨어를 플래시 메모리에 기입하는 중요한 기간 동안, 플래시 메모리에 저장된 오래된 펌웨어가 삭제되고, 최종 사용자(end user)의 개입 없이 가능한 대체 시스템(fall back)이 더 이상 존재하지 않는다.
그러한 원격 소프트웨어 업그레이드는 가능한 많이 최종 사용자에게 명료한 것이 바람직하다. 원격 업그레이드는 강력하게 되는데, 즉 일이 잘못되는 경우, 그리고 원격 업그레이드가 성공적이지 못할 경우, 최종 사용자 개입이 가능한 적게 요구되는 대체 시스템 시나리오가 있게 된다. 서비스 중단은 최소화되는데, 즉 이상적으로는 최종 사용자가 완전한 원격 업그레이드 동안 게이트웨이에 의해 제공된 모든 서비스를 이용할 수 있게 된다.
본 발명은 강력하고 투명한 원격 펌웨어 업그레이드를 위한 시스템 및 방법에 관한 것이다.
이를 위해, 본 발명은 네트워크 단말기에서 펌웨어를 업그레이드하는 방법에 관한 것으로,
상기 네트워크 단말기는 네트워크로의 인터페이스와 상기 펌웨어의 한 가지 버전만을 저장하도록 적응된 비휘발성 메모리를 포함하고, 상기 펌웨어는 제 1 펌웨어와 제 2 펌웨어를 포함하며, 상기 방법은 상기 네트워크 단말기에서
- 상기 비휘발성 메모리로부터 상기 제 1 펌웨어를 삭제하는 단계,
- 상기 네트워크에 위치한 서버로부터 상기 비휘발성 메모리에, 상기 네트워크 단말기가 상기 서버로부터 상기 펌웨어를 다운로드하는 것을 허용하도록 적응되는 구조(rescue) 펌웨어를 다운로드하는 단계,
- 상기 제 2 펌웨어와 상기 구조 펌웨어로 단말기를 재부팅하는 단계,
상기 서버로부터 상기 비휘발성 메모리에 상기 제 1 펌웨어와 상기 제 2 펌웨어의 새로운 버전을 다운로드하는 단계,
- 상기 비휘발성 메모리로부터 상기 구조 펌웨어를 삭제하는 단계, 및
- 제 1 펌웨어와 제 2 펌웨어의 상기 새로운 버전으로 상기 단말기를 재부팅하는 단계를
포함한다.
일 실시예에 따르면, 구조 펌웨어는 서버로부터의 펌웨어의 새로운 버전을 다운로드하는 수단을 포함한다.
일 실시예에 따르면, 구조 펌웨어는 인터넷으로의 액세스를 허용하는 네트워킹 스택(stack) 소프트웨어를 포함한다.
일 실시예에 따르면, 구조 펌웨어는 DSL 포럼 기술 보고서인 TR-069를 따르는 관리 프로토콜을 포함한다.
일 실시예에 따르면, 제 1 펌웨어는 펌웨어 업그레이드 동안 필수적인 서비스들을 포함하고, 제 2 펌웨어는 펌웨어 업그레이드 동안 요구되지 않는 서비스들을 포함한다.
본 발명의 또 다른 목적은 네트워크로의 인터페이스와, 펌웨어의 한 가지 버전만을 저장하도록 적응된 비휘발성 메모리를 포함하는 네트워크 단말기이다. 이를 위해, 네트워크 단말기는 네트워크에 위치한 서버로부터 펌웨어를 다운로드하고, 펌웨어 업그레이드가 실패하면 서버로부터 펌웨어를 복구하기 위한 수단을 포함한다.
개시된 실시예에 상응한 몇몇 양상들이 아래에서 설명된다. 이들 양상은 단지 본 발명이 취할 수 있는 일정한 형태들의 간단한 요약을 읽는 사람에게 제공하기 위해 제시되고, 이들 양상이 본 발명의 범위를 제한하려고 의도된 것이 아님을 이해해야 한다. 더욱이, 본 발명은 아래에 설명되지 않을 수 있는 다양한 양상을 포함할 수 있다.
본 발명은 후속하는 실시예와 실행 예들에 의해, 비제한적인 방식으로, 첨부된 도면을 참조하여 더 잘 이해되고 설명된다.
도 1은 실시예에 따른 시스템의 블록도.
도 2는 실시예에 따른 단말기의 블록도.
도 3은 제 1 실시예에 따른 펌웨어 업그레이드의 흐름도.
도 4는 제 2 실시예에 따른 펌웨어 업그레이드의 흐름도.
도 5는 펌웨어 업그레이드의 또 다른 흐름도.
도 2에서, 제시된 블록들은 순수히 기능적인 개체로서, 이들은 물리적으로 독립된 개체에 반드시 대응할 필요는 없다. 즉, 이들 블록들은 소프트웨어나 하드웨어의 형태로 개발될 수 있거나 하나 이상의 집적 회로로 구현될 수 있다.
예시적인 실시예는 DSL 네트워크의 프레임워크 내에 있지만, 본 발명은 이러 한 특별한 실시예에 제한되지 않고, 네트워크에 연결된 디바이스가 네트워크에 위치한 또 다른 디바이스로부터의 펌웨어 업그레이드를 수행하는 다른 프레임워크들 내에 적용될 수 있다. 특히, 본 발명은 임의의 광대역 디바이스와 임의의 셀룰러 디바이스에 적용 가능하다.
도 1은 실시예의 시스템을 설명한다. 이 시스템은 새로운 펌웨어가 이용 가능하게 되는 서버를 포함한다. 이 시스템은 인터넷을 통해 서버에 연결하는 CPE를 포함한다. 물론, CPE는 임의의 광대역 네트워크를 통해 서버에 연결될 수 있다.
도 2는 실시예에 따른 CPE의 주된 요소들을 도시한다. 도 2는 처리 모듈(10)과, 인터넷에 위치한 서버와 통신하는 것을 허용하는 통신 모듈을 포함한다. 도 2는 또한 관련 분야에 공지된 플래시 메모리(12)와, RAM(13)으로 표시된 랜덤 액세스 메모리를 포함한다. 모든 모듈은 내부 버스(14)를 통해 상호 연결된다. 플래시 메모리는 비휘발성 메모리이다. 이 플래시 메모리는 전원이 공급되지 않을 때에도 저장된 정보를 보유한다. 플래시 메모리 크기는 그 플래시 메모리가 펌웨어의 한 가지 버전만을 저장할 수 있도록 최적화된다. CPE는 또한 이후 설명된 바와 같이, 서버로부터 펌웨어를 다운로드하기 위한 다운로딩 모듈(downloading module)(15)을 포함한다. 이 다운로딩 모듈은 또한 업그레이드가 실패하는 경우 펌웨어의 필수적인 한 부분의 버전으로 액세스하는 것을 허용한다. CPE는 메모리에 그 펌웨어의 버전을 저장하거나, 원격 서버에서 이용 가능한 펌웨어 버전으로의 포인터(pointer)를 저장한다. 이후 다운로딩 프로세스가 더 상세히 설명된다.
펌웨어는 같은 크기일 필요가 없는 2개 부분으로 분할된다. 첫 번째 부분은 코어 커널(Core Kernel)과 코어 파일(Core Fire) 시스템을 포함한다. 두 번째 부분은 확장된(Extended) 펌웨어를 포함한다.
첫 번째 부분은 원격 업그레이드 동안 필수적인 것으로 간주되는 서비스들을 지원한다. 두 번째 부분은 원격 업그레이드 동안, 일시 정지될 수 있는 서비스들을 지원한다. 일시 정지될 수 있는 서비스들의 선택은 게이트웨이의 구축 시스템에서 구성 가능하다.
코어 커널은 일단 부트-업(boot-up) 시간에 로딩되면 실행 시간(run-time)에 요구되지 않는 파일들을 포함한다. 이들 파일은 커널과 커널 모듈들이다. 이 모듈들은 modfs라고 표시된 독립된 파일 시스템에 저장된다. 시스템에서의 그 어느 것도 오픈 파일 설명자들(open file descriptors)과 같은 임의의 기준들을 실행 시간에 modfs에 저장된 파일들에 유지시키지 않는다. 그런 다음 실행중인 애플리케이션들을 중단시키지 않고 새로운 버전으로 코어 커널 부분을 덮어쓰는 것이 가능하다. 물론, 이는 시스템이 그 시각에 임의의 새로운 모듈들을 로딩하려고 시도하지 않는 것을 요구하고, 이는 그 자체로서 공지된 방식으로 회피될 수 있다. 특히, 코어 커널은 리눅스(Linux) 커널을 포함하는 링크된 실행 가능한 파일인 vmlinux와 그 파일에 저장된 모듈들에 관한 특정 정보를 저장하는 modfs를 포함한다.
코어 파일 시스템은 필수적인 서비스들, 즉 애플리케이션들, 라이브러리들(libraries), 및 구성 파일들과 같이 실행 시간에 사용되는 루트(root) 파일 시스템을 포함한다. 필수적인 서비스들은 제품 특징 목록의 상부에서 보통 발견되는 것들이다. 이들은 최종 사용자가 주로 사용하는 것들이다.
확장된 펌웨어는 최종 사용자에게 필수적이지 않은 추가적인 서비스들을 포함한다. 게이트웨이에서, 확장된 서비스들은 USB 저장 디바이스의 부착을 가능하게 하도록 의도되는 USB 지원 서비스들과, 디스크를 로컬 네트워크들에 걸쳐 볼 수 있게 하도록 의도되는 삼바(Samba) 서비스들을 포함하나 이들에 제한되지는 않는다.
구조 펌웨어는 원격 관리 서버에서 이용 가능한 새로운 펌웨어를 다운로딩하는 기능성만을 구현하는 라이트-웨이트(light-weight)의 펌웨어를 한정한다. 구조 펌웨어는 서비스 제공자의 서버와 접촉하고, 새로운 펌웨어를 다운로드하기 위한 수단을 포함하는데, 즉 구조 펌웨어는 인터넷으로의 액세스를 허용하는 네트워킹 스택 소프트웨어를 포함한다. 구조 펌웨어는 TR-069와 같이 서버에 의해 이해될 수 있는 프로토콜을 지원한다.
플래시 메모리 크기는 확장된 펌웨어가 플래시 메모리로부터 삭제될 때, 구조 펌웨어가 플래시 메모리에 들어맞도록 적응된다.
도 3에 도시된 것처럼, 확장된 펌웨어는 단계(S1)에서 플래시 메모리와 RAM으로부터 삭제되고, 그 후 단계(S2)에서 구조 펌웨어가 다운로드된다. 단계(S3)에서 구조 펌웨어는 플래시 메모리에 로딩되고, CPE가 구조 펌웨어로 재부팅된다. 그 다음, 단계(S4)에서 코어와 확장된 펌웨어가 다운로드된다. 단계(S5)에서, 코어는 플래시 메모리에 로딩되고, 구조 펌웨어가 플래시 메모리로부터 삭제되며, 확장된 펌웨어가 플래시 메모리에 로딩되고, CPE가 재부팅된다.
도 3에 표시된 방법에 따라, 플래시 메모리 상의 구조 펌웨어가 잘못되면 본래의 코어가 여전히 존재한다. 그리고 새로운 코어 펌웨어가 잘못되면 구조 펌웨어 가 이용 가능하다. 이와 같이, 시스템은 항상 임의의 최종 사용자 개입 없이 항상 복구될 수 있다.
이러한 제 1 실시예에 따르면, 포함된 단계(S3와 S5) 사이의 최종 사용자에는 어떠한 서비스도 이용 가능하지 않다. 제 2 실시예는 이러한 이슈를 다루고, 서비스들이 이용 가능하지 않을 때에는 그 기간을 감소시킨다. 제 2 실시예에서, 코어 펌웨어는 2개 부분, 즉 코어 커널과 코어 파일 시스템으로 분할된다. 이들은 다운로드되고 순차적으로 플래시 메모리에 기입된다. 코어 커널은 커널과 모듈 파일을 포함한다. 일단 커널과 모듈 파일이 부트(boot) 시간에 RAM에 로딩되면, 실행 시간에 플래시 메모리에서는 커널과 모듈 파일이 요구되지 않는다. 코어 커널은 실행중인 애플리케이션들을 중단하지 않고 플래시 메모리에 덮어쓰기될 수 있다. 코어 파일 시스템은 실행 시간에 사용되는 루트 파일 시스템을 포함한다.
도 4에 표시된 것처럼, 펌웨어 업그레이드는 다음과 같이 수행된다. 확장된 펌웨어는 단계(S'1)에서, 플래시 메모리와 RAM으로부터 삭제된다. 단계(S'2)에서,구조 펌웨어가 다운로드되고, 단계(S'3)에서 플래시 메모리에 로딩된다. 코어 커널은 플래시 메모리로부터 삭제된다. 단계(S'4)에서, 새로운 코어 커널이 다운로드되고 단계(S'5)에서 갑자기 나타난다(flashed). 단계(S'6)에서 새로운 코어 파일 시스템이 다운로드되고, 그것의 무결성이 검증된다.
단계(S'7)에서, CPE가 새로운 코어 커널로 재부팅되고 코어 파일 시스템이 다음과 같이 수행된다.
- RAM에 피벗(pivot)-애플리케이션이 구축되는데, 즉 tmpfs로 표기된 작은 루트 파일 시스템이 만들어진다;
- 모든 서비스들이 닫히고, RAM으로부터 피벗-애플리케이션이 시작된다. 이는 플래시 메모리에서의 루트 파일 시스템과는 독립적이다;
- 피벗-애플리케이션이 플래시 메모리로부터 코어 파일 시스템을 삭제하고, 그것을 새로운 코어 파일 시스템으로 대체한다;
- 그런 다음 CPE가 재부팅되고, 새로운 코어 커널과 새로운 코어 파일 시스템으로부터 시작한다.
그런 다음 단계(S'8)에서 확장된 펌웨어가 다운로드되고, 단계(S'9)에서 플래시 메모리에 기입된다. 단계(S'7) 동안에는 어떠한 서비스도 최종 사용자에게 이용 가능하지 않다. 이 시간은 제 1 실시예의 서비스 중지 시간보다 훨씬 더 짧다.
또한 펌웨어 업그레이드가 도 5에 나타나 있다.
설명부, 청구항 및 도면에서 개시된 참조들은 독립적으로 또는 임의의 적절한 결합으로 제공될 수 있다. 특징들은 적절하게 하드웨어, 소프트웨어, 또는 이들의 결합으로 구현될 수 있다.
본 명세서에서 "일 실시예" 또는 "실시예"라는 것은, 실시예와 관련하여 설명된 특별한 특성, 구조 또는 특징이 본 발명의 적어도 일 구현예에서 포함될 수 있다는 것을 의미한다. 본 명세서의 다양한 곳에서의 "일 실시예에서"라는 어구의 등장은 반드시 모두 동일한 실시예를 가리키는 것은 아니고, 반드시 다른 실시예들과 서로 배타적인 독립적이거나 대안적인 실시예를 가리키는 것은 아니다.
청구항들에 등장하는 참조 번호들은 단지 예시를 위한 것이고, 청구항들의 범위에 어떠한 제한적인 영향을 미치지 않는다.
전술한 바와 같이, 본 발명은 강력하고 투명한 원격 펌웨어 업그레이드 방법이 필요한 분야에 이용 가능하다.

Claims (6)

  1. 네트워크 단말기(1)에서 펌웨어를 업그레이드하는 방법으로서,
    상기 네트워크 단말기(1)는 네트워크(3)로의 인터페이스(11)와 상기 펌웨어의 한 가지 버전만을 저장하도록 적응된 비휘발성 메모리(12)를 포함하고, 상기 펌웨어는 제 1 펌웨어와 제 2 펌웨어를 포함하며, 상기 방법은 상기 네트워크 단말기(1)에서
    - 상기 비휘발성 메모리로부터 상기 제 1 펌웨어를 삭제하는 단계(S1),
    - 상기 네트워크에 위치한 서버로부터 상기 비휘발성 메모리에, 상기 네트워크 단말기가 상기 서버로부터 상기 펌웨어를 다운로드하는 것을 허용하도록 적응되는 구조(rescue) 펌웨어를 다운로드하는 단계(S2)를 통해,
    - 상기 제 2 펌웨어와 상기 구조 펌웨어로 단말기를 재부팅하는 단계(S3),
    - 상기 서버로부터 상기 비휘발성 메모리에 상기 제 1 펌웨어와 상기 제 2 펌웨어의 새로운 버전을 다운로드하는 단계(S4),
    - 상기 비휘발성 메모리로부터 상기 구조 펌웨어를 삭제하는 단계(S5), 및
    - 제 1 펌웨어와 제 2 펌웨어의 상기 새로운 버전으로 상기 단말기를 재부팅하는 단계(S5)를
    포함하는, 네트워크 단말기에서 펌웨어를 업그레이드하는 방법.
  2. 제 1항에 있어서,
    상기 구조 펌웨어는 상기 서버로부터의 펌웨어의 새로운 버전을 다운로드하는 수단을 포함하는 것을 특징으로 하는, 네트워크 단말기에서 펌웨어를 업그레이드하는 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 구조 펌웨어는 인터넷으로의 액세스를 허용하는 네트워킹 스택(stack) 소프트웨어를 포함하는 것을 특징으로 하는, 네트워크 단말기에서 펌웨어를 업그레이드하는 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 구조 펌웨어는 DSL 포럼(Forum) 기술 보고서(Technical Report)인 TR-069를 따르는 관리 프로토콜을 포함하는 것을 특징으로 하는, 네트워크 단말기에서 펌웨어를 업그레이드하는 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서,
    상기 제 1 펌웨어는 펌웨어 업그레이드 동안 필수적인 서비스들을 포함하고, 제 2 펌웨어는 펌웨어 업그레이드 동안 요구되지 않는 서비스들을 포함하는 것을 특징으로 하는, 네트워크 단말기에서 펌웨어를 업그레이드하는 방법.
  6. 네트워크로의 인터페이스(11)와, 펌웨어의 한 가지 버전만을 저장하도록 적 응된 비휘발성 메모리(12)를 포함하는 네트워크 단말기(1)에 있어서,
    상기 네트워크에 위치한 서버로부터 펌웨어를 다운로드하고 업그레이드하며, 상기 펌웨어 업그레이드가 실패하면 상기 서버로부터 상기 펌웨어를 복구하기 위한 수단(16)을 포함하는 것을 특징으로 하는, 네트워크 단말기.
KR1020097023755A 2007-05-21 2008-05-20 네트워크 단말기에서의 강력한 펌웨어 업그레이드 KR101510808B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07447033 2007-05-21
EP07447033.7 2007-05-21
PCT/EP2008/056190 WO2008142079A1 (en) 2007-05-21 2008-05-20 Robust firmware upgrade in a network terminal

Publications (2)

Publication Number Publication Date
KR20100016548A true KR20100016548A (ko) 2010-02-12
KR101510808B1 KR101510808B1 (ko) 2015-04-10

Family

ID=39651412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097023755A KR101510808B1 (ko) 2007-05-21 2008-05-20 네트워크 단말기에서의 강력한 펌웨어 업그레이드

Country Status (7)

Country Link
US (1) US8250567B2 (ko)
EP (1) EP2150891B1 (ko)
JP (1) JP5132765B2 (ko)
KR (1) KR101510808B1 (ko)
CN (1) CN101730882B (ko)
BR (1) BRPI0811166B1 (ko)
WO (1) WO2008142079A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160088212A (ko) 2015-01-15 2016-07-25 최해용 시소 구조를 갖는 가상현실용 대형 스크린 영상장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5102918B2 (ja) * 2008-09-02 2012-12-19 株式会社日立製作所 ストレージ装置及びファームウェア更新指示方法
CN101854442B (zh) * 2009-04-01 2013-06-05 鸿富锦精密工业(深圳)有限公司 网络设备及其固件更新方法
US8522232B1 (en) * 2009-07-06 2013-08-27 Arris Enterprises, Inc. Decoupling software loads for customer premise equipment
KR20110068098A (ko) * 2009-12-15 2011-06-22 삼성전자주식회사 가입자 댁내 장치의 소프트웨어 업그레이드 방법 및 장치
FR2957700B1 (fr) * 2010-03-22 2012-04-13 Bull Sas Procede, programme d'ordinateur et dispositif d'optimisation de chargement et de demarrage d'un systeme d'exploitation dans un systeme informatique via un reseau de communication
US8505003B2 (en) 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
CN102740279B (zh) * 2011-04-15 2014-12-17 中兴通讯股份有限公司 一种无线网络接入终端及其运行方法
CN102831000B (zh) * 2012-09-11 2015-11-25 华为技术有限公司 系统升级的方法及系统
CN103095826A (zh) * 2013-01-10 2013-05-08 上海斐讯数据通信技术有限公司 一种网关设备升级保护的方法
US10466269B2 (en) 2013-02-19 2019-11-05 Calamp Corp. Systems and methods for low latency 3-axis accelerometer calibration
EP3011445A4 (en) * 2013-06-18 2017-02-15 Thomson Licensing Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus
CN104469278B (zh) * 2013-09-25 2018-05-01 浙江大华技术股份有限公司 一种监控系统升级方法及装置
US9584498B1 (en) 2014-04-04 2017-02-28 Seagate Technology Llc Feature activation using near field communication
US9838250B1 (en) 2014-04-04 2017-12-05 Seagate Technology Llc Recipient-specific feature activation
US9633330B1 (en) 2014-04-04 2017-04-25 Seagate Technoglogy LLC Late stage SKU assignment
US9535676B1 (en) 2014-04-04 2017-01-03 Seagate Technology Llc Remote feature activation
JP6482211B2 (ja) * 2014-09-03 2019-03-13 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
EP3024175B1 (en) * 2014-11-19 2019-07-31 Tanaza S.p.A. Method and system for remote management of network devices
US9910664B2 (en) * 2015-05-04 2018-03-06 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (BMC) devices
US9644977B2 (en) 2015-05-22 2017-05-09 Calamp Corp. Systems and methods for determining vehicle operational status
US10031741B2 (en) 2015-09-30 2018-07-24 International Business Machines Corporation Upgrade of port firmware and driver software for a target device
US10013386B2 (en) 2015-09-30 2018-07-03 International Business Machines Corporation Preservation of port control block information related to logins and states of remote ports during a code load in an embedded port
US10031742B2 (en) 2015-09-30 2018-07-24 International Business Machines Corporation Upgrade of firmware in an interface hardware of a device in association with the upgrade of driver software for the device
CN105871582A (zh) * 2015-11-16 2016-08-17 乐视致新电子科技(天津)有限公司 路由器的升级方法及装置
US10055909B2 (en) 2016-07-08 2018-08-21 Calamp Corp. Systems and methods for crash determination
US10395438B2 (en) 2016-08-19 2019-08-27 Calamp Corp. Systems and methods for crash determination with noise filtering
US10219117B2 (en) 2016-10-12 2019-02-26 Calamp Corp. Systems and methods for radio access interfaces
US10473750B2 (en) 2016-12-08 2019-11-12 Calamp Corp. Systems and methods for tracking multiple collocated assets
US10599421B2 (en) 2017-07-14 2020-03-24 Calamp Corp. Systems and methods for failsafe firmware upgrades
US10313850B2 (en) 2017-07-24 2019-06-04 Honeywell International Inc. Systems and methods for upgrading firmware in multiple devices of a wireless fire detection system
US20190141156A1 (en) 2017-11-06 2019-05-09 Calamp Corp. Systems and Methods for Dynamic Telematics Messaging
WO2019108854A1 (en) * 2017-11-30 2019-06-06 Leica Biosystems Imaging, Inc. Managing plural scanning devices in a high-throughput laboratory environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
EP0934563A1 (en) * 1997-05-30 1999-08-11 Koninklijke Philips Electronics N.V. Failsafe method for upgrading set-top system software from a network server
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
JPH11282690A (ja) * 1998-03-31 1999-10-15 Canon Inc 制御プログラムの書込方法及び情報処理装置並びに情報処理システム
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
TW496056B (en) * 2000-09-22 2002-07-21 Sampo Technology Corp A kind of information apparatus that is able to update system program through internet
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6834384B2 (en) * 2001-03-14 2004-12-21 General Instrument Corporation Methods and apparatus for upgrading firmware in an embedded system
US7093244B2 (en) * 2001-04-18 2006-08-15 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards
US6988182B2 (en) * 2002-02-13 2006-01-17 Power Measurement Ltd. Method for upgrading firmware in an electronic device
US7127579B2 (en) * 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US7080245B2 (en) * 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
ATE433149T1 (de) * 2002-06-28 2009-06-15 Koninkl Philips Electronics Nv Softwareherunterladung auf einem empfänger
KR20050022024A (ko) * 2002-06-28 2005-03-07 코닌클리케 필립스 일렉트로닉스 엔.브이. 수신기에의 소프트웨어 다운로드
JP3976650B2 (ja) * 2002-09-04 2007-09-19 日本電気株式会社 ソフトウェアのライセンス管理方式および方法、並びに記録媒体
JP2004318350A (ja) * 2003-04-15 2004-11-11 Matsushita Electric Ind Co Ltd 制御プログラムの更新方法
EP1756711A1 (en) * 2004-05-31 2007-02-28 STMicroelectronics Pvl. Ltd. A method for remotely upgrading the firmware of a target device using wireless technology
US7669046B2 (en) * 2004-08-03 2010-02-23 Panasonic Corporation Data processing apparatus and firmware update method
JP2006065857A (ja) * 2004-08-24 2006-03-09 Lg Electronics Inc 移動通信端末機のプログラム強制ダウンロード方法及び装置
KR101119320B1 (ko) * 2005-04-29 2012-03-15 엘지전자 주식회사 이동저장 장치의 펌웨어 업데이트 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160088212A (ko) 2015-01-15 2016-07-25 최해용 시소 구조를 갖는 가상현실용 대형 스크린 영상장치
KR20160088211A (ko) 2015-01-15 2016-07-25 최해용 시소 구조를 갖는 가상현실용 대형 스크린 영상장치

Also Published As

Publication number Publication date
JP2010530091A (ja) 2010-09-02
KR101510808B1 (ko) 2015-04-10
BRPI0811166A2 (pt) 2014-12-23
BRPI0811166B1 (pt) 2019-04-24
EP2150891A1 (en) 2010-02-10
CN101730882A (zh) 2010-06-09
CN101730882B (zh) 2014-02-12
JP5132765B2 (ja) 2013-01-30
EP2150891B1 (en) 2019-03-06
US8250567B2 (en) 2012-08-21
US20100122246A1 (en) 2010-05-13
WO2008142079A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
KR101510808B1 (ko) 네트워크 단말기에서의 강력한 펌웨어 업그레이드
CN101377744B (zh) 一种终端设备软件升级恢复方法及装置
US8196130B2 (en) Tri-phase boot process in electronic devices
CN105511911B (zh) 系统固件升级包的生成方法及装置
CN102360298B (zh) 一种终端设备的软件升级方法
US20100325622A1 (en) Updating Firmware of an Electronic Device
US20050055595A1 (en) Software update method, apparatus and system
WO2019062703A1 (zh) 升级方法、嵌入式系统
US20230393840A1 (en) File update method and apparatus, device and storage medium
CN110543369A (zh) 一种安卓系统存储空间结构的构建方法、装置及其构建结构
CN101694623A (zh) 一种更新手持设备软件的方法
CN101188516A (zh) 一种网络设备软件系统高可靠性自适应远程更新的方法
WO2015127730A1 (zh) 版本文件的运行方法及装置
CN107943501A (zh) 嵌入式设备升级方法、装置、计算机设备和存储介质
KR100986487B1 (ko) 고장 허용 갱신 에이전트를 구비한 모바일 핸드세트
KR100729525B1 (ko) 펌웨어 업데이트 방법 및 시스템
KR100648817B1 (ko) 자동 펌웨어 업데이트 시스템 및 그 방법
WO2013107158A1 (zh) 终端设备中系统参数管理方法及系统
KR100698655B1 (ko) 이동통신 단말기의 파일 업데이트 시스템과, efs 영역헤더 손실로 인한 치명적인 에러를 방지하는 이동통신단말기의 부팅 관리 시스템과, 이동통신 단말기의 파일업데이트 방법 및 efs 영역 헤더 손실로 인한 치명적인에러를 방지하는 이동통신 단말기의 부팅 방법
KR101085681B1 (ko) 이동통신 단말기의 데이터 복구 시스템 및 방법
WO2023198056A1 (zh) 嵌入式设备固件更新方法以及嵌入式设备
KR100775431B1 (ko) 임베디드 시스템 및 임베디드 시스템의 펌웨어 업데이트방법
CN101854442B (zh) 网络设备及其固件更新方法
Cisco Managing Configuration Files
KR100429903B1 (ko) 홈 게이트웨이 시스템의 이미지 업데이트 방법

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
FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5