KR20080098437A - 다수의 장치를 업그레이드하는 방법 및 시스템 - Google Patents

다수의 장치를 업그레이드하는 방법 및 시스템 Download PDF

Info

Publication number
KR20080098437A
KR20080098437A KR1020087023500A KR20087023500A KR20080098437A KR 20080098437 A KR20080098437 A KR 20080098437A KR 1020087023500 A KR1020087023500 A KR 1020087023500A KR 20087023500 A KR20087023500 A KR 20087023500A KR 20080098437 A KR20080098437 A KR 20080098437A
Authority
KR
South Korea
Prior art keywords
firmware
generated
company
update file
electronic devices
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.)
Granted
Application number
KR1020087023500A
Other languages
English (en)
Other versions
KR101471206B1 (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 KR20080098437A publication Critical patent/KR20080098437A/ko
Application granted granted Critical
Publication of KR101471206B1 publication Critical patent/KR101471206B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

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)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 데이터 네트워크에 접속된 많은 다수의 전자 장치 내의 펌웨어를 갱신하는 방법에 관한 것이다. 먼저, 상기 다수의 전자 장치의 제 1 전자 장치에서의 펌웨어가 구성된다. 그리고 나서, 펌웨어 갱신 파일이, 상기 제 1 전자 장치에서, 펌웨어 갱신 파일 생성기를 이용함으로써 상기 구성된 펌웨어에 기초로 하여 생성된다. 그 다음, 펌웨어 갱신 파일은 데이터 네트워크를 통해 제 1 전자 장치에서 많은 전자 장치로 전송된다. 최종으로, 펌웨어는 각각의 전자 장치에서 상기 펌웨어 갱신 파일을 실행함으로써 많은 전자 장치에서 갱신된다.
Figure P1020087023500
전자 장치, 펌웨어 갱신 파일, 사용자 인터페이스 장치, 파일 생성기

Description

다수의 장치를 업그레이드하는 방법 및 시스템{METHOD AND SYSTEM FOR UPGRADING A PLURALITY OF DEVICES}
본 발명은 일반적으로 다수의 전자 장치에서 펌웨어(firmware)를 갱신하는 방법, 전자 장치, 사용자 인터페이스 장치, 전자 장치 및 사용자 인터페이스 장치를 포함하는 시스템 및, 컴퓨터 프로그램 제품에 관한 것이다.
오늘날, 많은 전자 제품은 커스터마이즈(customize)할 수 있으며, 즉 전자 제품은 특정 커스터머(customer)의 필요에 따라 구성할 수 있다. 그러나, 커스터마이징 전자 제품은, 특히 관련된 기술에 정통하지 않은 사용자에 대해 어려울 수 있다.
그러나, 다수의 전자 제품이 네트워크를 통해 서로 접속되면, 새로운 문제가 발생한다. 예컨대, 일부 전자 제품의 소프트웨어가 갱신되면, 이와 같은 갱신을 위한 적절한 프로세스가 이용 가능해야 한다. 이와 같은 프로세스는 전자 제품을 수동으로 갱신하는 단계를 포함할 수 있다.
많은 전자 제품이 갱신되면, 상당량의 시간이 전자 제품을 수동으로 갱신하는데 필요로 될 것이며, 이는 물론 결점이다. 다른 결점은 에러의 위험이 있거나, 환언하면, 사용자가 실수를 행한다는 것이다.
더욱이, 많은 경우에, 제품의 제조자가 아닌 회사가 커스터마이제이션(customization)을 요구하거나 바란다. 이와 같은 회사는, 예컨대, 해당 전자 제품에 대한 서비스를 제공하는 회사, 이와 같은 전자 제품을 사용하는 회사 등일 수 있다. 이하, 이들 회사는 커스터마이징 회사로서 지칭될 것이다.
오늘날, 전자 제품의 커스터마이제이션의 대부분은 전자 제품의 펌웨어를 변경함으로써 달성될 수 있다. 그러나, 이와 같은 커스터마이즈된 펌웨어를 획득하기 위해, 커스터마이징 회사는 제조자에게 커스터마이즈된 펌웨어를 준비시켜 프로그램하게 할 필요가 있거나, 제조자에게 커스터마이즈된 펌웨어를 준비하여 프로그램하기 위한 정보 및 수단을 제공하게 할 필요가 있다. 커스터마이즈된 펌웨어 또는 어떤 펌웨어를 준비하여 프로그램하기 위해서는, 일반적으로 커스터마이즈할 전자 제품의 소프트웨어 및 하드웨어 시스템의 양방에 대한 양호한 지식과 많은 작업을 필요로 한다.
그래서, 많은 전자 제품을 갱신하기를 쉽게 하는 솔루션에 대한 필요성이 존재한다. 또 다른 필요성은 갱신과 관련하여 실수의 위험을 줄이는 것이다.
상술한 바를 고려하여, 본 발명의 목적은 상술한 문제를 해결하거나 적어도 줄이기 위한 것이다. 특히, 목적은 데이터 네트워크에 접속된 많은 전자 장치를 커스터마이즈하기 위해 효율적이고, 안정적이며 이용하기 쉬운 방법을 제공하는 것이다.
펌웨어의 용어는 공공연하게 소프트웨어 명령 및 파라미터 값으로서 해석될 수 있다.
본 발명의 제 1 양태에 따르면, 상기 목적은, 데이터 네트워크에 접속된 많은 다수의 전자 장치 내의 펌웨어를 갱신하는 방법에 의해 제공되며, 상기 방법은, 커스터마이징 회사에 생성된 펌웨어 내로의 커스터마이징 회사에 생성된 커스터마이제이션 데이터에 따라 상기 다수의 전자 장치의 제 1 전자 장치 내에 펌웨어를 구성하는 단계, 상기 제 1 전자 장치 내의 펌웨어 갱신 파일 생성기를 이용함으로써 상기 제 1 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하는 단계, 데이터 네트워크를 통해 상기 제 1 전자 장치에서 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 단계 및, 상기 많은 상기 다수의 전자 장치의 각각 내의 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치 내의 펌웨어를 갱신하는 단계를 포함한다.
본 발명의 하나의 이점은 전자 장치의 커스터마이제이션이 용이하게 된다는 것이다.
다른 이점은, 기존 전자 장치에 대한 커스터마이즈된 펌웨어의 준비(preparation) 및 프로그래밍이 용이하게 되어, 특히 제품에 대한 상세한 지식을 갖지 않은 사람 또는 기구(organization)에 의해 쉽게 실행될 수 있다.
게다가, 커스터마이징 회사는 전자 제품의 소프트웨어 및 하드웨어에 대한 상세한 지식을 가질 필요가 없다. 이것은 또한 커스터마이징 회사가 그들 자신에 의해 커스터마이제이션을 쉽게 실행할 수 있음을 의미한다.
선택적으로, 상기 다수의 전자 장치의 상기 제 1 전자 장치에 상기 펌웨어를 구성하는 단계는 상기 데이터 네트워크를 통해 사용자 인터페이스 장치로부터 상기 제 1 전자 장치로 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 전송함으로써 달성된다.
선택적으로, 이 방법은 사용자 인터페이스 장치에서 상기 제 1 전자 장치로 상기 펌웨어 갱신 파일 생성기를 전송하는 단계를 더 포함할 수 있다.
이것의 이점은, 상기 펌웨어 갱신 파일 생성기가 전자 장치로 전송되지 않으면, 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성할 수 없다는 것이다. 이것은 시스템 보안성을 증대시킨다는 것을 의미한다.
선택적으로, 상기 제 1 전자 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 단계는, 상기 제 1 전자 장치로부터 사용자 인터페이스 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계 및, 상기 사용자 인터페이스 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계를 포함한다.
이것의 이점은, 커스터마이징 회사에 생성된 펌웨어 갱신 파일이 다수의 전자 장치로 전송되기 전에 사용자 인터페이스 장치로 먼저 전송된다는 것이다. 이런 식으로, 사용자 인터페이스 장치의 오퍼레이터는 다수의 전자 장치로의 전송을 확인할 수 있으며, 이는 시스템 보안성을 증가시킨다는 것을 의미한다.
선택적으로, 이 방법은, 상기 다수의 전자 장치의 상기 제 1 전자 장치 내에 상기 펌웨어를 구성하는 상기 단계와 동시에 상기 제 1 전자 장치로부터 상기 사용자 인터페이스 장치로 피드백 신호를 전송하는 단계를 더 포함할 수 있다.
더욱이, 커스터마이징 회사에 생성된 펌웨어 갱신 파일의 생성 동안에 제 1 전자 장치로부터 사용자 인터페이스 장치로 피드백이 또한 전송될 수 있다.
선택적으로, 상기 많은 상기 다수의 전자 장치의 각각은 변경 불가능 파티션(partition) 및 변경 가능 파티션을 가진 메모리를 포함할 수 있으며, 상기 방법은 상기 많은 상기 다수의 전자 장치의 각각에 대한 장치 특정 정보를 포함하는 상기 변경 가능 파티션 내에 데이터 섹션(sections)을 마크(mark)하는 단계를 더 포함할 수 있으며, 상기 많은 상기 다수의 전자 장치의 각각 내에서 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치를 갱신하는 상기 단계는 상기 변경 가능 파티션 내의 상기 마크된 데이터 섹션을 상기 변경 불가능 파티션으로부터의 장치 특정 정보로 대체하는 단계를 더 포함할 수 있다.
선택적으로, 이 방법은, 사용자에 생성된 커스터마이제이션 데이터에 따라 상기 많은 다수의 전자 장치 중 하나에 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 단계를 더 포함할 수 있으며, 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 상기 단계는 상기 커스터마이징 회사에 생성된 펌웨어를 커스터마이징 회사에 생성된 디폴트 펌웨어로서 상기 많은 다수의 전자 장치 중 상기 하나 내의 메모리 내에 저장하는 단계 및, 상기 많은 다수의 전자 장치 중 상기 하나 내의 상기 커스터마이징 회사에 생성된 펌웨어를 상기 사용자 커스터마이제이션 데이터에 따라 사용자에 생성된 펌웨어로 대체하는 단계를 더 포함한다.
선택적으로, 이 방법은, 커스터마이징 회사에 생성된 디폴트 펌웨어 요구를 상기 많은 다수의 전자 장치 중 상기 하나로 전송하는 단계 및, 상기 많은 상기 다수의 전자 장치 중 상기 하나 내의 상기 사용자에 생성된 펌웨어를 상기 저장된 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체하는 단계를 더 포함할 수 있다.
이것의 이점은 전자 장치를 커스터마이징 회사에 생성된 펌웨어, 즉 커스터마이징 회사 디폴트 세팅으로 리셋할 수 있다는 것이다.
선택적으로, 이 방법은, 상기 사용자 인터페이스 장치로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 전송하는 단계, 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 다운로드하는 단계 및, 상기 많은 상기 다수의 전자 장치 내의 상기 생산하는 회사 디폴트 펌웨어 갱신 파일을 이용함으로써 상기 갱신된 펌웨어를 대체하는 단계를 더 포함할 수 있다.
본 발명의 제 2 양태에 따르면, 상기 목적은 전자 장치에 의해 제공되는데, 상기 전자 장치는, 데이터 네트워크를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성된 네트워크 인터페이스, 데이터를 저장하도록 구성된 메모리, 상기 메모리와 관련한 프로세서를 포함하는데, 상기 프로세서는 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 이용함으로써 상기 메모리 내의 펌웨어를 커스터마이징 회사에 생성된 펌웨어 내로 구성하는데 적합한 펌웨어 구성자, 상기 데이터 네트워크를 통해 펌웨어 갱신 파일 생성기를 수신하도록 구성된 펌웨어 갱신 파일 생성기 수신기로서, 상기 펌웨어 갱신 파일 생성기는 상기 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하도록 구성되는 펌웨어 갱신 파일 생성기 수신기 및, 상기 데이터 네트워크를 통해 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하도록 구성된 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기로서, 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일은 상기 많은 상기 다수의 전자 장치에서 실행할 시에 상기 많은 상기 다수의 전자 장치 내의 상기 펌웨어를 갱신하도록 구성되는 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기를 제공하도록 구성된다.
제 1 양태의 이점은 또한 제 2 양태에 적용 가능하다.
선택적으로, 펌웨어 갱신 파일 생성기 수신기는 상기 데이터 네트워크를 통해 사용자 인터페이스 장치로부터 상기 펌웨어 갱신 파일 생성기를 수신할 수 있도록 구성될 수 있다.
선택적으로, 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기는 상기 데이터 네트워크를 통해 상기 펌웨어 갱신 파일을 많은 상기 다수의 전자 장치로 전송할 수 있도록 구성된다.
선택적으로, 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기는 상기 데이터 네트워크를 통해 상기 펌웨어 갱신 파일을 사용자 인터페이스 장치로 전송할 수 있도록 구성된다.
선택적으로, 전자 장치는 상기 전자 장치에서 상기 사용자 인터페이스 장치로 피드백 신호를 전송하도록 구성된 피드백 신호 전송기를 더 포함하며, 상기 피드백 신호는 상기 갱신된 펌웨어를 나타내는 정보를 포함한다.
선택적으로, 메모리는, 로더(loader) 소프트웨어 및 장치 특정 정보를 포함하는 변경 불가능 파티션 및, 장치 특정 정보를 포함하는 마크된 데이터 섹션을 포함하는 변경 가능 파티션으로 분류될 수 있으며, 상기 마크된 데이터 섹션은, 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행할 시에 상기 장치 특정 정보로 대체된다.
선택적으로, 변경 가능 파티션은, 커스터마이징 회사에 생성된 디폴트 펌웨어를 포함하는 판독 전용 파티션 및, 상기 전자 장치 내에 이용되는 데이터 및 애플리케이션을 포함하는 판독 가능 및 기록 가능 파티션으로 분류될 수 있으며, 상기 판독 가능 및 기록 가능 파티션은, 커스터마이징 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체된다.
선택적으로, 펌웨어 갱신 핸들러는, 상기 커스터마이징 회사에 생성된 펌웨어를 상기 갱신된 펌웨어로 대체하기 전에 상기 커스터마이징 회사에 생성된 펌웨어를 커스터마이징 회사에 생성된 디폴트 펌웨어로서 저장하도록 더 구성된다.
선택적으로, 전자 장치는, 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어를 수신하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 수신기 및, 생산하는 회사에 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 갱신된 펌웨어를 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어로 대체하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 핸들러를 더 포함할 수 있다.
선택적으로, 전자 장치는 네트워크 카메라일 수 있다.
본 발명의 제 3 양태에 따르면, 상기 목적은 사용자 인터페이스 장치에 의해 제공되는데, 상기 사용자 인터페이스 장치는, 관련된 데이터 네트워크를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성된 네트워크 인터페이스, 사용자 입력 장치, 데이터를 저장하도록 구성된 메모리, 상기 메모리와 관련한 프로세서를 포함하는데, 상기 프로세서는, 상기 사용자 입력 장치를 통해 수신된 데이터에 기초로 하여 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 생성하도록 구성되는 커스터마이제이션 데이터 생성기 및, 상기 생성된 커스터마이제이션 데이터를 상기 데이터 네트워크를 통해 제 1 전자 장치로 전송하도록 구성된 커스터마이징 회사에 생성된 커스터마이제이션 데이터 전송 핸들러를 제공하도록 구성된다.
제 1 양태의 이점은 또한 제 3 양태에도 적용 가능하다.
선택적으로, 상기 프로세서는, 상기 메모리와 관련하여, 상기 제 1 전자 장치로부터 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 수신하도록 구성된 펌웨어 갱신 파일 수신기 및, 상기 수신된 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 많은 다수의 전자 장치로 전송하도록 구성된 펌웨어 갱신 파일 분배기를 제공하도록 더 구성될 수 있다.
선택적으로, 사용자 입력 장치는, 상기 사용자 인터페이스 장치로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크를 통해 외부 서버로 전송하도록 더 구성될 수 있으며, 상기 펌웨어 갱신 파일 수신기는 상기 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 수신하도록 더 구성되고, 상기 펌웨어 갱신 파일 분배기는 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 많은 다수의 전자 장치로 전송하도록 더 구성될 수 있다.
선택적으로, 사용자 인터페이스 장치는 상기 데이터 네트워크를 통해 상기 제 1 전자 장치로부터 피드백 신호를 수신하도록 구성된 피드백 신호 수신기 및, 상기 피드백 신호를 나타내도록 구성된 사용자 출력 장치를 더 포함할 수 있다.
본 발명의 제 4 양태에 따르면, 상기 목적은, 데이터 네트워크, 상기 데이터 네트워크에 결합되는 상술한 바와 같은 사용자 인터페이스 장치, 상기 데이터 네트워크에 결합되는 상술한 바와 같은 하나 이상의 전자 장치, 다수의 전자 장치를 포함하는 시스템에 의해 제공되며, 상기 다수의 전자 장치의 각각은 상기 데이터 네트워크를 통해 펌웨어 갱신 파일을 수신하여, 상기 수신된 펌웨어 갱신 파일을 실행함으로써 펌웨어를 갱신하도록 구성된다.
본 발명의 제 1 양태의 이점은 또한 본 발명의 제 4 양태에 적용 가능하다.
선택적으로, 상기 전자 장치의 각각은 상술한 바와 같이 구성될 수 있다.
갱신된 펌웨어 파일은 상기 다수의 전자 장치 중 상기 하나 이상의 전자 장치로부터 상기 다수의 전자 장치 중 유사한 전자 장치로 전송될 수 있다.
선택적으로, 이 시스템은, 생산하는 회사 디폴트 펌웨어 갱신 파일을 보유하도록 구성되고, 상기 사용자 인터페이스 장치로부터의 요구 시에, 상기 생산하는 회사 디폴트 펌웨어 갱신 파일을 상기 사용자 인터페이스 장치로 전송하도록 구성되는 외부 서버를 더 포함할 수 있다.
본 발명의 제 5 양태에 따르면, 상기 목적은 상술한 바와 같은 방법을 실행하도록 배치되는 소프트웨어 명령을 포함하는 컴퓨터 프로그램에 의해 제공된다.
본 발명의 다른 목적, 특징 및 이점은, 다음의 상세한 설명, 부착된 종속 청구범위 뿐만 아니라 도면으로부터 자명할 것이다.
일반적으로, 청구범위에 이용되는 모든 용어는, 여기서 달리 명백히 정의되지 않으면, 기술적 분야에서 통상의 의미에 따라 해석될 수 있다. "하나/상기 [소자, 장치, 구성 요소, 수단, 단계 등]"에 대한 모든 참조는, 달리 명백히 진술되지 않으면, 상기 소자, 장치, 구성 요소, 수단, 단계 등의 하나 이상의 사례로 지칭하는 것으로 공공연하게 해석될 수 있다. 여기에 개시된 어떤 방법의 단계는, 달리 진술되지 않으면, 개시된 순서대로 정확히 실행될 필요가 없다.
본 발명의 상기 목적뿐만 아니라 부가적 목적, 특징 및 이점은 첨부한 도면과 관련하여 본 발명의 바람직한 실시예에 대한 다음의 예시적인 비제한적 상세한 설명을 통해 더욱더 이해될 것이며, 여기서 동일한 참조 번호는 유사한 소자에 이용될 것이다.
도 1은 많은 전자 장치, 사용자 인터페이스 장치, 외부 서버 및, 사용자 인터페이스 장치를 전자 장치에 접속하는 데이터 네트워크를 포함하는 시스템의 도시도이다.
도 2는 다수의 전자 장치 내의 펌웨어를 갱신하는 일반적 방법이다.
도 3은 전자 장치의 도시도이다.
도 4는 도 3에 도시된 전자 장치에 포함되는 비휘발성 메모리의 도시도이다.
도 5는 본 발명에 따른 방법의 실시예의 흐름도이다.
도 6A 및 6B는 본 발명에 따른 방법의 다른 실시예의 흐름도이다.
도 7은 전자 장치의 다른 실시예의 도시도이다.
도 8은 사용자 인터페이스 장치의 실시예의 도시도이다.
도 1은 일반적으로 사용자 인터페이스 장치(102) 및, 데이터 네트워크(106)를 통해 서로에 접속된 다수의 전자 장치(104A-104F)를 포함하는 시스템(100)을 도시한 것이다. 게다가, 데이터 네트워크(106)는 IP 기반 데이터 네트워크일 수 있다.
사용자 입력 장치(102)는 클라이언트 컴퓨터 또는 다른 장치일 수 있으며, 이 장치는 사용자 인터페이스, 즉 버튼과 같은 사용자 입력 장치 및, 선택적으로 디스플레이와 같은 사용자 출력 장치를 포함한다. 전자 장치(104)는 프로세서 및 메모리를 포함하는 장치일 수 있으며, 여기서, 이 장치의 제어 또는 제어의 부분은 이 장치 자체 내에 저장되어 처리되는 소프트웨어 명령에 의해 가능하게 된다. 이와 같은 소프트웨어 명령은 펌웨어로서 지칭될 수 있다.
선택적으로, 외부 서버(108)는 데이터 네트워크(106)에 결합될 수 있다. 외부 서버는 사용자 인터페이스 장치(102) 또는 전자 장치(104A-104F)에 의해 다운로드될 수 있는 데이터를 포함할 수 있다.
도 2에서, 전자 장치의 펌웨어를 갱신하는 방법의 일반적 실시예가 도시된 다.
첫째로, 단계(200)에서, 상기 다수의 전자 장치(104A-104F) 중 제 1 전자 장치(104A)가 커스터마이즈된다. 이와 같은 커스터마이제이션은 커스터머 특정 기능, 커스터머 특정 파라미터, 커스터머 특정 기준 데이터 등을 포함할 수 있다. 이하, 이런 타입의 커스터머 특정 데이터는 커스터마이제이션 데이터로 지칭될 수 있다.
둘째로, 단계(202)에서, 제 1 전자 장치가 커스터마이즈되었으면, 펌웨어 갱신 파일 생성기는 펌웨어 갱신 파일을 생성하기 위해 상기 단일 전자 장치(104A)에 다운로드되어 실행된다.
셋째로, 단계(204)에서, 생성된 펌웨어 갱신 파일은 시스템(100)의 모든 또는 많은 다른 전자 장치(104B-104F)로 전송된다.
선택적으로, 펌웨어 갱신 파일을 전송하는 장치는 제 1 전자 장치와 유사하고, 데이터 네트워크에 접속되는 장치일 수 있다.
넷째로, 단계(206)에서, 다른 전자 장치(104B-104F)의 각각은 수신된 생성된 커스터마이즈된 펌웨어 갱신 파일에 따라 커스터마이즈된다.
환언하면, 전자 장치(104A-104F) 중 하나만, 이 예에서는 단일 전자 장치(104A)가 첫째로 커스터마이즈된다. 이것은 사용자가 이 단일 전자 장치(104A) 상에서 많은 조합을 시도하여, 적절한 커스터마이제이션이 달성되면, 이 적절한 커스터마이제이션을 다른 다른 전자 장치(104B-104F)로 전송한다는 것을 의미한다.
선택적으로, 펌웨어 생성기는 디폴트로서 단일 전자 장치(104A) 내에 포함될 수 있으며, 즉, 펌웨어 생성기는 다운로드될 필요가 없다.
도 3에서, 전자 장치(104)의 실시예가 도식적으로 설명된다. 이 실시예에서, 전자 장치(104)는 프로세서(300), 플래시 메모리와 같은 비휘발성 메모리(302), RAM과 같은 휘발성 메모리(304) 및, 전자 장치(104)를 데이터 네트워크(106)에 접속하도록 구성된 네트워크 인터페이스(306)를 포함한다.
커스터마이제이션 데이터, 즉 소프트웨어 명령, 파라미터, 기준 데이터 등은 비휘발성 메모리(302) 내에 저장될 수 있다. 그래서, 상술한 단계(200)에 따라 전자 장치를 커스터마이징하면, 비휘발성 메모리 내에 저장된 커스터마이제이션 데이터는 변경된다.
단계(202)에 따라 펌웨어 생성기를 단일 전자 장치(104A)로 다운로드하여 실행하면, 펌웨어 생성기는 다운로드되어 휘발성 메모리(304) 내에 실행될 수 있다.
도 4에서, 비휘발성 메모리(302)의 하나의 실시예가 도시된다. 이 실시예에서, 비휘발성 메모리는, 제 1 파티션(400), 제 2 파티션(402) 및 제 3 파티션(404)으로 지칭되는 적어도 3개의 파티션으로 분류된다.
일반적으로, 제 1 파티션(400)은 변경 불가능 파티션일 수 있으며, 이는, 전자 장치(104)를 커스터마이징할 시에 펌웨어 갱신 파일도 사용자도 제 1 파티션(400) 내에 저장된 데이터를 변경할 수 없다는 것을 의미한다.
한 실시예에서, 이와 같은 제 1 변경 불가능 파티션(400)은 기본적 플래시 로더 소프트웨어(406) 및 장치 고유 데이터 및 파라미터(408)를 포함할 수 있다. 이 파티션은 팩토리(factory)를 떠난 후에는 재기록되지 않는다. 기본적 플래시 로더(406)는 Resident Flash Loader(RFL)일 수 있으며, 이는 예컨대 http 또는 다른 프로토콜을 이용하는 네트워크를 통해 플래시 메모리 내에 데이터를 적재할 수 있으며, 이때, 다른 파티션에서 약간의 에러가 나타난다. 이와 같은 에러는 예컨대, 제 2 및/또는 3 파티션에 대한 검사 합(checksum)이 시스템의 개시 동안에 정합하지 않을 시에 나타날 수 있다. 장치 고유 데이터 및 파라미터는 예컨대, 디바이스 ID, 시리얼 넘버, 디크립션(decryption) 및/또는 인크립션(encryption) 등에 대한 키 등의 하나 또는 조합일 수 있다.
일반적으로, 제 2 파티션(402)은 펌웨어 갱신 파일에 의해 변경될 수 있지만, 전자 장치(104)를 커스터마이징할 시에 사용자에 의해서는 변경될 수 없는 데이터를 포함할 수 있다.
한 실시예에서, 플래시 메모리의 제 2 파티션은 판독 전용 파티션인 CRAMFS (Compressed ROM File System)이다. 이 제 2 파티션은 파티션 테이블(410), 커널(kernel)을 적어도 풀도록 배치된 압축 해제기(decompressor)(412), 압축된 운영 체제 커널(414) 및, 전자 장치의 "팩토리 디폴트"로의 리셋을 가능하게 하는 리셋 데이터(416)를 포함할 수 있다. 운영 체제 커널은, 예컨대, Linux 커널, Unix 커널 등일 수 있다. 리셋 데이터(416)는, 파일의 세트, 파일의 세트의 카피인 데이터 및/또는 프로그램, 시스템이 팩토리, 즉 "팩토리 디폴트"로부터 발송될 시에 제 3 파티션에 있는 데이터 및/또는 프로그램을 포함할 수 있다. 전자 장치가 팩토리 디폴트로 리셋되면, 상기 리셋 데이터(416)는 제 3 파티션(404)으로 카피된다.
일반적으로, 제 3 파티션(404)은 펌웨어 갱신 파일 및 커스터마이제이션 데이터에 의해 변경될 수 있는 파티션이다.
한 실시예에서, 제 3 파티션은 JFFS (Journaling Flash File System)를 가진 판독 가능 및 기록 가능 파티션, 예컨대 JFFS1 또는 JFFS2일 수 있다. 그러나, 제 3 파티션에는 어떤 타입의 판독 가능 및 기록 가능 파일 시스템이 제공될 수 있다. 이 파티션은 전자 장치에 이용되는 데이터, 애플리케이션 및 다른 프로그램을 포함한다.
요약하면, 펌웨어 갱신 파일은 제 2 및 3 파티션을 설정하기 위한 데이터 및, 이들 파티션 내에 포함될 수 있는 모든 데이터를 포함할 수 있다.
본 발명에 따른 방법에서, 전자 장치에 대한 새로운 펌웨어는 다음의 프로세스에 의해 달성된다. 도 5를 참조한다.
펌웨어 생성기를 전자 장치 내로 다운로드한다(500). 다운로드되면, 펌웨어 생성기는 장치에서 실행된다(502). 펌웨어 생성기는 RAM으로 다운로드될 수 있고, RAM으로부터 실행될 수 있다.
실행 중에, 펌웨어 생성기는 제 3 파티션의 내용을 처리하고, 제 3 파티션의 데이터의 일부 특정 값을 대체 인디케이터(replacement indicators)로 대체한다(504). 대체 인디케이터로 대체된 값은, 각 개별 장치에 고유하여, 펌웨어 업그레이드 절차 중에 펌웨어가 적재되는 장치의 값으로 대체될 필요가 있는 값이다. 이와 같은 값의 일부 예들은 장치의 MAC 어드레스, 시리얼 넘버, 호스트 이름, 일부 장치 식별자일 수 있다(508).
제 3 파티션의 내용이 처리되었으면, 제 2 파티션은 유사한 방식으로 처리되며, 즉 특정 값이 대체 인디케이터로 교환된다. 게다가, 제 2 파티션 내에 포함된 팩토리 디폴트 데이터는 제 3 파티션의 카피로 대체된다.
그 후, 제 2 및 3 파티션의 처리된 내용은 단일 파일로 조합되어(510), 새로운 펌웨어로서 분배하는(514) 클라이언트로 송신된다(512). 새로운 펌웨어가 송신되는 클라이언트는 펌웨어의 생성을 초기화하는데 이용되는 컴퓨터, 또는 이와 같은 커스터마이즈된 새로운 펌웨어를 수신하여 관리하도록 배열되는 미리 정해진 어드레스일 수 있다.
상기 방법을 이용하는 펌웨어를 생성함으로써, 단일 장치를 간단히 준비함으로써, 즉 커스텀 소프트웨어, 파라미터 및 데이터를 전자 장치의 비휘발성 메모리 내에 다운로드함으로써 전자 장치를 커스터마이즈하는 것이 쉽다. 상술한 실시예와 같은 실시예에서, 이와 같은 커스텀 소프트웨어, 파라미터 및 데이터는 상기 장치의 커스터마이제이션 중에 제 3 파티션으로 다운로드된다. 그 후, 단일 장치가 커스터마이즈되었을 시에, 펌웨어 생성기는 상기 단일 장치 내에 다운로드되고 실행되어, 갱신하는데 이용될 수 있는 커스터마이즈된 새로운 펌웨어를 생성시켜, 커스터마이즈된 새로운 펌웨어를 다른 유사한 장치에 간단히 설치함으로써 다른 유사한 장치를 커스터마이즈한다.
어떤 전자 장치에서, 비휘발성 메모리의 메모리 공간은 제한되어, 펌웨어 생성기는 비휘발성 메모리 내에 존재하지 않을 수 있다. 전자 장치 내의 펌웨어 생성기 파일을 실행하기 위해, 전자 장치는 컴퓨터 네트워크, 예컨대 LAN, WAN, 인터넷 또는 어떤 다른 네트워크를 통해 컴퓨터로부터 액세스되어, 상기 컴퓨터로부터 액세스 가능한 펌웨어 생성기 파일은 전자 장치로 다운로드될 수 있다. 펌웨어 생성 기 파일에는, 전자 장치가 이 파일을 펌웨어 생성기 파일로 인정할 수 있게 하는 아이덴티티가 제공된다. 펌웨어 생성기 파일이 전자 장치에 다운로드되었을 시에, 전자 장치는 이 파일을 펌웨어 생성기 파일로서 인정하여, 그것을 휘발성 메모리 내에 실행시킨다. 실행되면, 펌웨어 생성기 파일은 상술한 방법을 실행한다.
상술한 바와 같이, 펌웨어 생성기의 실행이 제 3 파티션 및 제 2 파티션을 처리하고, 그것이 제 2 파티션의 일부 데이터 및 제 2 파티션의 일부 데이터를 카피 동안에 제공된 데이터와 다른 데이터로 대체한다.
어떤 시스템에서, 처리는 이들 파티션을 휘발성 메모리에 카피하여, 이 카피에서, 대체될 데이터를 대체 인디케이터로 대체하는 것을 포함할 수 있다. 이와 같은 시스템에서, 이들 파티션으로부터 카피되고 조정된 데이터는, 전자 장치의 휘발성 메모리 내에서, 새로운 펌웨어 파일에 조합될 수 있다.
그러나, 일부 시스템에서는, 휘발성 메모리 내에서 이 처리를 완전히 실행하기에 충분한 휘발성 메모리가 존재하지 않는다. 이와 같은 경우에, 펌웨어 생성기는 파티션의 데이터가 추가적 조정을 위한 휘발성 메모리에 카피되지 않는 방법을 이용할 수 있다. 이와 같은 방법 중 하나는 다음의 단계:
즉, 대체 식별자로 대체될 수 있는 제 3 파티션의 데이터를 식별하는 단계를 포함한다. 이 데이터가 식별되면, 이 데이터는 휘발성 메모리 및 경로 및 폴더로 일시 카피되며, 예컨대, 식별된 데이터가 검색되는 파일 시스템에서 경로 "a/b/c/x/" 내의 폴더 "x"가 식별된다. 그 후, 펌웨어 생성기는 이 경로 내의 폴더 상에 파일 시스템을 장착한다. Linux 또는 Unix 운영 체제가 실행하면, 이런 새로 운 파일 시스템은 비휘발성의 "x" 폴더를 대리하여, 결과적으로 폴더 "x"에 기록된 데이터가 다른 메모리, 예컨대 휘발성 메모리 내에 기억된다. 폴더 "x"에 이전에 액세스된 제 3 파티션의 어드레스에 있는 데이터는 여전히 제 3 파티션 내에 존재하지만, 그 경로를 통해 액세스할 수 없다. 그리고 나서, 폴더로부터 이전에 카피된 데이터는 새로운 파일 시스템을 가진 폴더로 카피되어, 대체될 데이터가 대체 식별자 또는 식별자들로 대체된다. 대체를 위해 식별된 데이터를 포함하는 모든 폴더는 이런 식으로 관리된다. 제 3 파티션의 처리가 완료되면, 제 2 파티션이 유사한 방식으로 처리된다. 제 2 파티션에서, 팩토리 디폴트 데이터 및, 이런 데이터를 포함하는 파일 시스템 내의 폴더에 대한 경로가 식별되고, 새로운 파일 시스템은 이런 폴더 상에 장착되며, 제 3 파티션의 데이터는 이런 새로운 파일 시스템 내에 저장된다. 그리고 나서, 펌웨어 파일은 펌웨이 파일로서 업로드하도록 경로를 정함으로써 업로드될 수 있다. 이 프로세스는 이때 비휘발성 메모리 내에 있는 폴더를 업로드할 것이며, 이 폴더는 이들 폴더의 원래의 위치이다. 그러나, 새로운 파일 시스템이 장착된 폴더를 업로드하면, 원래의 폴더의 어드레스 대신에 새롭게 장착된 폴더의 어드레스로부터 데이터가 검색된다.
이런 방법은 소량의 일시 메모리 공간을 점유하는 이점에 대한 부가적인 이점을 생성한다. 이와 같은 부가적인 한 이점은, 전자 장치가 프로세스 동안에 다른 이유로 동작 또는 기능 불량을 정지시킬 경우에, 장치의 원래의 파일 시스템은 전자 장치의 재개시 시에 이용된다는 것이다. 따라서, 원래의 파일 시스템의 어드레스에서 데이터에 대한 변경이 행해지지 않았기 때문에, 대체는 효율적이지 않으며, 장치는 데이터의 기능 불량 또는 변경이 일어나지 않은 것처럼 실행할 수 있다.
펌웨어 생성기는 프로그램 또는 스크립트(script)일 수 있다. 한 실시예에서, 펌웨어 생성기는 CGI 스크립트이다. 펌웨어 생성기는, 전자 장치상에 있는 HTML 페이지 (Hyper Text Markup Language)에 액세스하는 관리자에 의해 전자 장치로 다운로드될 수 있다. HTML 페이지는 관리자가 관리자에 의해 액세스 가능한 어떤 사이트로부터 파일을 선택하여 다운로드를 초기화하도록 한다. HTML 페이지는 그들 자신을 관리자로서 인증할 수 있는 관리자에 의해서만 액세스 가능하도록 배열될 수 있다.
따라서, 다수의 전자 장치를 갱신하는 방법이 개시되며, 이 방법은 단일 전자 장치를 갱신하는 단계, 단일 전자 장치에 의해 실행되는 프로세스를 이용하여 갱신 파일을 생성하는 단계, 단일 전자 장치로부터 상기 단일 전자 장치의 외부의 저장 매체로 갱신 파일을 송신하는 단계, 상기 갱신 파일을 상기 단일 전자 장치와 유사한 다수의 전자 장치로 송신하는 단계를 포함한다.
부가적으로, 갱신 파일 또는 새로운 펌웨어 파일을 생성하는 방법이 개시되며, 이 방법은 단일 전자 장치에서의 펌웨어 생성기를 실행하는 단계, 전자 장치의 비휘발성 메모리로부터의 데이터를 판독함으로써 새로운 펌웨어 파일을 생성시키는 단계, 장치 고유 데이터를 대체 인디케이터로 대체하는 단계, 팩토리 디폴트로의 전자 장치의 리셋팅을 가능하게 하기 위해 저장된 데이터를 전자 장치의 현재 구성을 메이크 업(make up)하는 데이터로 대체하는 단계 및, 생성된 데이터를 펌웨어 파일로 배열하는 단계를 포함한다.
본 발명의 한 실시예에 따르면, Axis Network Camera 또는 Video Server의 펌웨어는 부가되고, 제거되며, 수정된 파일 및 파라미터의 디폴트 값에 의해 커스터마이즈될 수 있다. 이 문서는 원래의 Axis 펌웨어의 수정된 버전을 생성하는 방법을 기술하고 있다. 커스텀 펌웨어는 동일한 모델의 수개의 카메라 또는 비디오 서버를 업그레이드하는데 이용될 수 있고, 팩토리 디폴트로 설정되면, 장치는 모두, 새로운 펌웨어를 생성하는데 이용된 카메라 또는 비디오 서버와 동일한 구성, 스크립트, 커스텀 웹 페이지, 커스텀 애플리케이션 등을 포함할 것이다.
본 발명에 따른 방법의 특정 실시예는 아래에 기술된다.
서론
펌웨어 버전 4.20 이상을 이용하는 장치가 HTTP를 통해 업로드된 스크립트 및 애플리케이션을 실행하기 위해 지원한다. 이런 기능은 kickstart이라 하며, HTML 페이지 및 CGI 스크립트로 이루어진다. HTML 페이지로부터, 사용자는 업로드할 UNIX 타 파일(tar file)을 선택한다. CGI 스크립트는 이 파일을 수신하여, 아카이브(archive)로부터 장치 내의 임시 디렉토리로 파일을 추출하여, 존재할 경우에 추출된 kickstart 파일을 실행한다. kickstart의 실행이 완료되면, 업로드된 파일 및, 그것으로부터 추출된 모든 파일은 제거될 것이다.
kickstart HTML 페이지를 이용하여 커스텀 펌웨어 kickstart 파일을 업로드함으로써, 펌웨어 이미지 파일의 구성이 초기화된다. 이 펌웨어는 kickstart가 실행하는 네트워크 카메라 또는 비디오 서버의 라이브 파일 시스템으로부터 생성된다. 생성된 펌웨어의 팩토리 디폴트 세팅은, 새로운 펌웨어의 구성을 초기화할 시 에 장치의 현재 세팅과 동일할 것이다. kickstart 파일을 업로드하는 웹 브라우저는 진행 정보(progress information)를 수신하지만, 장치는 새로운 펌웨어를 형성한다. 새로운 펌웨어가 준비되면, 그것은 옥텟 스트림(octet-stream)으로서 웹 브라우저로 송신될 것이고, 사용자는 이 펌웨어를 이진 파일로서 저장하도록 프롬프트(prompt)될 것이다.
새로운 펌웨어를 생성하는 장치는 오퍼레이션에 의해 영향을 받지 않을 것이다. 그러나, 복귀된 펌웨어는 정규 펌웨어 업그레이드 절차를 이용하여 그 장치 및 동일한 모델의 모든 장치를 업그레이드하는데 이용될 수 있다.
이론
생성된 펌웨어는 거의 그것을 생성하는 제품에서 현재 실행하는 펌웨어의 정확한 레플리카(replica)이다. 그러나, 어떤 것은 제품이 예컨대 MAC 어드레스를 포함하는 것에 대한 정확한 카피가 아니다.
다음의 특성은 새로운 펌웨어를 생성할 시에 자동으로 변경될 것이다:
/usr/share/axis-release/variables의 변수 RELEASE (파라미터 Properties.Firmware.Version)는 새로운 펌웨어가 원래의 펌웨어와 동일하지 않음을 나타내도록 수정될 것이다.
문자열 "-custom#"은 RELEASE의 값에 부가되며, 여기서, #은 새로운 펌웨어가 생성될때마다 증대되는 시퀀스 수이다. 따라서, 초기에 생성된 펌웨어의 업그레이드를 위해 생성된 펌웨어가 초기에 생성된 펌웨어에 의해 행해지는 것이 중요하다. 그렇지 않으면, 양방의 펌웨어는 동일한 버전 수를 가질 것이다.
/usr/etc/defaultfiles/jimageid의 변수 JIMAGEID 및 /etc/release의 변수 JFFSID는 수정된다.
Axis 비디오 제품은 2개의 파일 시스템을 갖는다. 하나는 사용자에 의해 수정될 수 없는 파일을 포함하는 판독 전용 파일 시스템이고, 다른 하나는 사용자에 의해 부가되고, 제거되며 또는 수정될 수 있는 파일 (예컨대, 파라미터 값을 포함하는 파일)을 포함하는 기록 가능 파일 시스템이다. 제품을 업그레이드할 시에, 새로운 펌웨어의 판독 전용 파일 시스템의 JIMAGEID의 값은 구(old) 펌웨어의 기록 가능 파일 시스템의 JFFSID의 값과 비교된다. 기록 가능 파일 시스템은 이들 값이 상이할 경우에만 업그레이드될 것이다. 양방의 변수는 의도대로 생성된 펌웨어 작업으로 업그레이드를 행하기 위해 새로운 펌웨어를 생성할 시에 수정되어야 한다.
RELEASE의 새로운 값은 양방의 JIMAGEID 및 JFFSID의 값으로서 이용된다. 그래서, 초기의 커스텀 펌웨어 버전의 업그레이드를 위해 생성된 펌웨어가 이전의 커스텀 펌웨어 버전에 의해 행해지는 것이 중요하다. 그렇지 않으면, 양방의 펌웨어 버전은 JIMAGEID 및 JFFSID의 동일한 값을 가져, 하나에서 다른 하나로의 업그레이드는 의도대로 작업하지 않을 것이다.
팩토리 디폴트 이미지 (/usr/etc/defaultfiles/jimage)는 새로운 펌웨어의 기록 가능 파일 시스템을 정합시키도록 재생될 것이다.
파일 /etc/conf.d/hostname의 변수 HOSTNAME (파라미터 Network.Hostname)는 디폴트 값으로 재설정될 것이다.
파일 /etc/conf.d/mac의 변수 MAC는 디폴트 값으로 재설정될 것이다.
파일 /etc/conf.d/upnp의 변수 UPNP_FRIENDLYNAME (파라미터 Network.UPnP.Friendlyname)는 디폴트 값으로 재설정될 것이다.
파일 /etc/conf.d/rendezvous의 변수 RENDEZVOUS_FRIENDLYNAME (파라미터 Network.Bonjour.Friendlyname)는 디폴트 값으로 재설정될 것이다.
파일 /etc/sysconfig/rtp.conf의 AudioAddress 및 VideoAddress의 모든 오커런스(occurrence) (파라미터 Network.RTP.R#.AudioAddress 및 Network.RTP.R#.VideoAddress)는 디폴트 값으로 재설정될 것이다.
펌웨어의 생성
다음의 단계에 후속하여 새로운 펌웨어 버전을 생성한다.
- 제품을 구성하는 단계
- 새로운 펌웨어의 팩토리 디폴트 상태인 바람직한 상태에 모든 것이 있을 때까지, 파라미터 세팅을 변경하고, 파일을 기록 가능 파일 시스템 등으로 업로드하는 단계
- Kickstart을 인에이블(enable)하는 단계
kickstart 기능은 디폴트에 의해 디스에이블되고, 전원 가동 후 및 kickstart 파일의 각 업로드 후에 인에이블되어야 한다.
kickstart CGI를 인에이블하기 위해, /var/lib/kickstart라 하는 파일은 제품의 파일 시스템 내에 생성되어야 하고, 문자 1만을 포함해야 한다. 빌트인 에디터(built-in editor), editcgi를 이용하여 이 파일을 생성한다:
- 예컨대, 웹 브라우저에서 위치 http://myserver/admin-bin/editcgi.cgi?file=/var/lib/resolv.conf를 이용하여 editcgi의 기존 파일을 개방.
- Save as 입력 필드를 /var/lib/kickstart로 변경
- 파일 내용 입력 영역을 1로 변경
주석
입력 영역은 단지 1의 문자만을 포함하고, 화이트스페이스(whitespace) 문자를 포함하지 않아야 한다. 1 전후에 스페이스 또는 뉴라인(newline)이 존재하지 않음을 확인하기 위해 키보드 상의 화살표 키를 이용한다.
- Save file 버튼을 누른다.
- 웹 브라우저의 응답이 1 바이트의 데이터만을 저장했음을 나타내는 것을 확인한다.
kickstart 파일이 업로드되거나 제품이 재부팅되면, 파일은 제거될 것이다. 이 파일은 생성된 펌웨어에 제공되지 않을 것이다.
- kickstart 파일을 업로드한다.
새로운 펌웨어 버전의 구성을 초기화하기 전에, 제품이 바람직한 디폴트 상태에 있음을 확인한다.
- 컴플라이언트 웹 브라우저에 http://myserver/admin/kickstart.html을 개방한다.
- HTML 페이지 내의 Browse 버튼을 이용하여 커스텀 펌웨어 kickstart 파일 을 위치시킨다.
- 스타트 버튼을 누른다. 진행 정보는 새로운 펌웨어가 생성될 시에 웹 브라우저 내에 제공되어야 한다. 이 프로세스는 수 분이 걸려 인내를 가져, 웹 브라우저가 응답을 대기하게 한다. 펌웨어가 생성되었으면, 그것은 애플리케이션/옥텟 스트림 어태치먼트(attachment)로서 웹 브라우저로 직접 송신될 것이다.
- 당신의 컴퓨터상에 생성된 펌웨어를 저장한다.
주석
생성된 커스텀 펌웨어 버전의 새로운 버전을 생성하면, 새로운 버전은 이전에 생성된 커스텀 펌웨어 버전으로부터 생성되어야 한다. 그렇지 않으면, 정규 업그레이드 절차는 판독 전용 파일 시스템을 업그레이드하여, 제품이 팩토리 디폴트로 재설정될 때까지 구 기록 가능 파일 시스템이 손상되지 않게 할 것이다.
생성된 펌웨어의 이용
- 정규 펌웨어 업그레이드 절차를 이용하여 펌웨어를 생성한 제품과 동일한 모델의 어떤 제품을 업그레이드함으로써 생성된 펌웨어를 이용한다. 더욱 많은 정보를 위한 제품 매뉴얼을 참고한다.
정규 펌웨어 업그레이드가 파라미터의 값 및 어떤 파일의 내용을 보존할 것임에 주목한다. 업그레이드된 제품을 새로운 커스텀 펌웨어의 디폴트 상태로 설정하기 위해서는, 제품을 팩토리 디폴트로 재설정한다.
버튼 Restore 또는 HTTP API http://myserver/axis- cgi/admin/factorydefault.cgi를 이용함으로써, 제품은 그의 IP 어드레스를 유지할 것이다.
비디오 제품은 언제라도, http://www.axis.com/에서 이용 가능한 최후 펌웨어로 제품을 업그레이드하여, 그것을 팩토리 디폴트로 설정함으로써 Axis의 원래의 팩토리 디폴트로 복원될 수 있다.
그래서, 커스텀 펌웨어는 장치 자체를 이용하여 커스텀 팩토리 디폴트 설정으로 새로운 장치 펌웨어를 생성하는 방식이다.
어떤 도구를 포함하는 파일은 HTTP를 통해 업로드되어, 장치의 CGI-스크립트에 의해 수신된다. CGI-스크립트는 파일로부터 도구를 추출하여, 새로운 펌웨어를 생성하는 스크립트를 실행하기 시작하며, 여기서, 장치의 현재 설정은 팩토리 디폴트 설정으로서 이용된다.
이것의 이득은 커스텀 펌웨어가, 기존의 펌웨어 해제와 유사하게, 스크래치로부터 그것을 형성하지 않고, 즉 장치 자체와 다른 어떤 하드웨어를 이용하지 않고 장치에 대한 새로운 펌웨어를 생성할 수 있게 한다는 것이다.
도 6에서, 본 발명에 따르면, 데이터 네트워크에 접속된 많은 다수의 전자 장치에서 펌웨어를 갱신하는 방법의 실시예가 도시된다. 이 방법은,
커스터마이제이션 회사에 생성된 펌웨어 내로의 커스터마이징 회사에 생성된 커스터마이제이션 데이터에 따라 상기 다수의 전자 장치의 제 1 전자 장치에 펌웨어를 구성하는 단계(600),
상기 제 1 전자 장치 내의 펌웨어 갱신 파일 생성기를 이용함으로써 상기 제 1 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하는 단계(602),
데이터 네트워크를 통해 상기 제 1 전자 장치에서 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 단계(604) 및,
상기 많은 상기 다수의 전자 장치의 각각 내의 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치 내의 펌웨어를 갱신하는 단계(606)를 포함한다.
선택적으로, 상기 다수의 전자 장치의 상기 제 1 전자 장치에 상기 펌웨어를 구성하는 단계는,
상기 데이터 네트워크를 통해 사용자 인터페이스 장치로부터 상기 제 1 전자 장치로 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 전송함으로써(608) 달성될 수 있다.
선택적으로, 이 방법은,
사용자 인터페이스 장치에서 상기 제 1 전자 장치로 상기 펌웨어 갱신 파일 생성기를 전송하는 단계(610)를 더 포함할 수 있다.
선택적으로, 상기 제 1 전자 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 펌웨어 갱신 파일을 전송하는 단계는,
상기 제 1 전자 장치로부터 상기 사용자 인터페이스 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계(612) 및,
상기 사용자 인터페이스 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계(614)를 포함할 수 있다.
선택적으로, 이 방법은, 상기 다수의 전자 장치의 상기 제 1 전자 장치 내에 상기 펌웨어를 구성하는 상기 단계와 동시에 상기 제 1 전자 장치로부터 상기 사용자 인터페이스 장치로 피드백 신호를 전송하는 단계(616)를 더 포함할 수 있다.
선택적으로, 상기 많은 상기 다수의 전자 장치의 각각은 변경 불가능 파티션 및 변경 가능 파티션을 가진 메모리를 포함할 수 있으며, 상기 방법은 상기 많은 상기 다수의 전자 장치의 각각에 대한 장치 특정 정보를 포함하는 상기 변경 가능 파티션 내에 데이터 섹션을 마크하는 단계(618)를 더 포함할 수 있으며, 상기 많은 상기 다수의 전자 장치의 각각 내에서 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치를 갱신하는 상기 단계는 상기 변경 가능 파티션 내의 상기 마크된 데이터 섹션을 상기 변경 불가능 파티션으로부터의 장치 특정 정보로 대체하는 단계(620)를 더 포함할 수 있다.
선택적으로, 이 방법은,
사용자에 생성된 커스터마이제이션 데이터에 따라 상기 많은 다수의 전자 장치 중 하나에 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 단계(622)를 더 포함할 수 있으며, 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 상기 단계는,
상기 커스터마이징 회사에 생성된 펌웨어를 커스터마이징 회사에 생성된 디 폴트 펌웨어로서 상기 많은 다수의 전자 장치 중 상기 하나 내의 메모리 내에 저장하는 단계(623) 및,
상기 많은 다수의 전자 장치 중 상기 하나 내의 상기 커스터마이징 회사에 생성된 펌웨어를 상기 사용자 커스터마이제이션 데이터에 따라 사용자에 생성된 펌웨어로 대체하는 단계(624)를 더 포함한다.
선택적으로, 이 방법은,
커스터마이징 회사에 생성된 디폴트 펌웨어 요구를 상기 많은 다수의 전자 장치 중 상기 하나로 전송하는 단계(626) 및,
상기 많은 상기 다수의 전자 장치 중 상기 하나 내의 상기 사용자에 생성된 펌웨어를 상기 저장된 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체하는 단계(628)를 더 포함할 수 있다.
선택적으로, 이 방법은, 상기 사용자 인터페이스 장치로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 전송하는 단계(630), 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 다운로드하는 단계(632) 및, 상기 많은 상기 다수의 전자 장치 내의 상기 생산하는 회사 디폴트 펌웨어 갱신 파일을 이용함으로써 상기 갱신된 펌웨어를 대체하는 단계(634)를 더 포함할 수 있다.
도 7에서, 본 발명에 따른 전자 장치(700)가 도시된다. 이 전자 장치(700)는, 데이터 네트워크(704)를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성 된 네트워크 인터페이스(702),
데이터를 저장하도록 구성된 메모리(706),
상기 메모리(706)와 관련한 프로세서(708)를 포함하는데, 상기 프로세서(708)는,
커스터마이징 회사에 생성된 커스터마이제이션 데이터를 이용함으로써 상기 메모리 내의 펌웨어를 커스터마이징 회사에 생성된 펌웨어 내로 구성하는데 적합한 펌웨어 구성자(710),
상기 데이터 네트워크를 통해 펌웨어 갱신 파일 생성기를 수신하도록 구성된 펌웨어 갱신 파일 생성기 수신기(712)로서, 상기 펌웨어 갱신 파일 생성기는 상기 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하도록 구성되는 펌웨어 갱신 파일 생성기 수신기(712) 및,
상기 데이터 네트워크를 통해 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하도록 구성된 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기(714)로서, 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일은 상기 많은 상기 다수의 전자 장치에서 실행할 시에 상기 많은 상기 다수의 전자 장치 내의 상기 펌웨어를 갱신하도록 구성되는 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기(714)를 제공하도록 구성된다.
선택적으로, 펌웨어 갱신 파일 생성기 수신기(712)는 상기 데이터 네트워크(704)를 통해 사용자 인터페이스 장치로부터 상기 펌웨어 갱신 파일 생성기의 수신을 가능하게 하도록 구성될 수 있다.
선택적으로, 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기(714)는 상기 데이터 네트워크(704)를 통해 상기 펌웨어 갱신 파일을 많은 상기 다수의 전자 장치로 전송할 수 있도록 구성될 수 있다.
선택적으로, 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기(714)는 상기 데이터 네트워크(704)를 통해 상기 펌웨어 갱신 파일을 사용자 인터페이스 장치로 전송할 수 있도록 구성될 수 있다.
선택적으로, 전자 장치는 상기 전자 장치에서 상기 사용자 인터페이스 장치로 피드백 신호를 전송하도록 구성된 피드백 신호 전송기(724)를 더 포함할 수 있으며, 상기 피드백 신호는 상기 갱신된 펌웨어를 나타내는 정보를 포함한다.
선택적으로, 메모리(706)는, 로더 소프트웨어 및 장치 특정 정보를 포함하는 변경 불가능 파티션(716) 및, 장치 특정 정보를 포함하는 마크된 데이터 섹션을 포함하는 변경 가능 파티션(718)으로 분류될 수 있으며, 상기 마크된 데이터 섹션은, 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행할 시에 상기 장치 특정 정보로 대체된다.
선택적으로, 변경 가능 파티션(718)은, 커스터마이징 회사에 생성된 디폴트 펌웨어를 포함하는 판독 전용 파티션(720) 및, 상기 전자 장치(700) 내에 이용되는 데이터 및 애플리케이션을 포함하는 판독 가능 및 기록 가능 파티션(722)으로 분류될 수 있으며, 상기 판독 가능 및 기록 가능 파티션은, 커스터마이징 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체된다.
선택적으로, 펌웨어 구성자(710)는 상기 커스터마이징 회사에 생성된 펌웨어를 상기 갱신된 펌웨어로 대체하기 전에 상기 커스터마이징 회사에 생성된 펌웨어를 재설정 데이터로서 저장하도록 구성될 수 있다.
선택적으로, 전자 장치는, 상기 데이터 네트워크를 통해 커스터마이징 회사에 생성된 펌웨어 디폴트 요구를 수신하도록 구성된 요구 수신기(726) 및, 커스터마이징 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 판독 가능 및 기록 가능 파티션을 상기 저장된 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체하도록 구성된 펌웨어 재설정 핸들러(728)를 더 포함할 수 있다.
선택적으로, 전자 장치는, 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어를 수신하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 수신기(730) 및, 생산하는 회사에 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 갱신된 펌웨어를 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어로 대체하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 핸들러(732)를 더 포함할 수 있다.
선택적으로, 전자 장치는 네트워크 카메라일 수 있다.
도 8에서, 사용자 인터페이스 장치(800)는, 관련된 데이터 네트워크(804)를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성된 네트워크 인터페이스(802), 사용자 입력 장치(806), 데이터를 저장하도록 구성된 메모리(808), 상기 메모리와 관련한 프로세서(810)를 포함하는데, 상기 프로세서(810)는, 상기 사용자 입력 장치를 통해 수신된 데이터에 기초로 하여 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 생성하도록 구성되는 커스터마이제이션 데이터 생성기(812) 및, 상 기 생성된 커스터마이제이션 데이터를 상기 데이터 네트워크(804)를 통해 제 1 전자 장치로 전송하도록 구성된 커스터마이징 회사에 생성된 커스터마이제이션 데이터 전송 핸들러(814)를 제공하도록 구성된다.
선택적으로, 상기 프로세서(810)는, 상기 메모리(808)와 관련하여, 상기 제 1 전자 장치로부터 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 수신하도록 구성된 펌웨어 갱신 파일 수신기(816) 및, 상기 수신된 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 상기 데이터 네트워크(804)를 통해 많은 다수의 전자 장치로 전송하도록 구성된 펌웨어 갱신 파일 분배기(818)를 제공하도록 더 구성될 수 있다.
선택적으로, 사용자 입력 장치(806)는, 상기 사용자 인터페이스 장치(800)로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크(804)를 통해 외부 서버로 전송하도록 더 구성될 수 있으며, 상기 펌웨어 갱신 파일 수신기(816)는 상기 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 수신하도록 더 구성되고, 상기 펌웨어 갱신 파일 분배기(818)는 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크(804)를 통해 많은 다수의 전자 장치로 전송하도록 더 구성될 수 있다.
선택적으로, 사용자 인터페이스 장치는 상기 데이터 네트워크를 통해 상기 제 1 전자 장치로부터 피드백 신호를 수신하도록 구성된 피드백 신호 수신기(820) 및, 상기 피드백 신호를 나타내도록 구성된 사용자 출력 장치(822)를 더 포함할 수 있다.
본 발명에 따른 시스템은 도 1에 도시된다. 시스템(100)은, 데이터 네트워크(106), 상기 데이터 네트워크(106)에 결합되는 상술한 사용자 인터페이스 장치(102), 상기 데이터 네트워크에 결합되는 상술한 하나 이상의 전자 장치(104A) 및, 다수의 전자 장치(104B-104F)를 포함하며, 상기 다수의 전자 장치(104B-104F)의 각각은 상기 데이터 네트워크를 통해 펌웨어 갱신 파일을 수신하여,
상기 수신된 펌웨어 갱신 파일을 실행함으로써 펌웨어를 갱신하도록 구성된다.
선택적으로, 상기 전자 장치의 각각은 상술한 바와 같이 구성될 수 있다.
선택적으로, 갱신된 펌웨어 파일은 상기 다수의 전자 장치 중 상기 하나 이상의 전자 장치로부터 상기 다수의 전자 장치 중 유사한 전자 장치로 전송될 수 있다.
선택적으로, 이 시스템(100)은, 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 보유하도록 구성되고, 상기 사용자 인터페이스 장치(102)로부터의 요구 시에, 상기 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 사용자 인터페이스 장치(102)로 전송하도록 구성되는 외부 서버(108)를 더 포함할 수 있다.
본 발명은 주로 몇몇 실시예에 관련하여 상술되었다. 그러나, 당업자는 쉽게 이해할 수 있듯이, 상술한 것과 다른 실시예가, 첨부한 특허청구범위로 규정된 바와 같이 본 발명의 범주 내에서 등등하게 가능하다.

Claims (28)

  1. 데이터 네트워크에 접속된 많은 다수의 전자 장치에서의 펌웨어 갱신 방법에 있어서,
    커스터마이징 회사에 생성된 펌웨어 내로의 커스터마이징 회사에 생성된 커스터마이제이션 데이터에 따라 상기 다수의 전자 장치의 제 1 전자 장치 내에 펌웨어를 구성하는 단계,
    상기 제 1 전자 장치 내의 펌웨어 갱신 파일 생성기를 이용함으로써 상기 제 1 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하는 단계,
    데이터 네트워크를 통해 상기 제 1 전자 장치에서 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 단계 및,
    상기 많은 상기 다수의 전자 장치의 각각 내의 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치 내의 펌웨어를 갱신하는 단계를 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  2. 제 1 항에 있어서,
    상기 다수의 전자 장치의 상기 제 1 전자 장치에 상기 펌웨어를 구성하는 상기 단계는 상기 데이터 네트워크를 통해 사용자 인터페이스 장치로부터 상기 제 1 전자 장치로 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 전송함으로써 달성되는 것을 특징으로 하는 펌웨어 갱신 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    사용자 인터페이스 장치에서 상기 제 1 전자 장치로 상기 펌웨어 갱신 파일 생성기를 전송하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제 1 전자 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 상기 단계는,
    상기 제 1 전자 장치로부터 사용자 인터페이스 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계 및,
    상기 사용자 인터페이스 장치로부터 상기 많은 상기 다수의 전자 장치로 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하는 보조 단계를 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 다수의 전자 장치의 상기 제 1 전자 장치 내에 상기 펌웨어를 구성하는 상기 단계와 동시에 상기 제 1 전자 장치로부터 상기 사용자 인터페이스 장치로 피드백 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 많은 상기 다수의 전자 장치의 각각은 변경 불가능 파티션 및 변경 가능 파티션을 가진 메모리를 포함하며, 상기 방법은,
    상기 많은 상기 다수의 전자 장치의 각각에 대한 장치 특정 정보를 포함하는 상기 변경 가능 파티션 내에 데이터 섹션을 마크하는 단계를 더 포함하며,
    상기 많은 상기 다수의 전자 장치의 각각 내에서 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행함으로써 상기 많은 상기 다수의 전자 장치를 갱신하는 상기 단계는,
    상기 변경 가능 파티션 내의 상기 마크된 데이터 섹션을 상기 변경 불가능 파티션으로부터의 장치 특정 정보로 대체하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    사용자에 생성된 커스터마이제이션 데이터에 따라 상기 많은 다수의 전자 장치 중 하나에 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 단계를 더 포함하는데, 상기 커스터마이징 회사에 생성된 펌웨어를 구성하는 상기 단계는,
    상기 커스터마이징 회사에 생성된 펌웨어를, 커스터마이징 회사에 생성된 디폴트 펌웨어로서 상기 많은 다수의 전자 장치 중 상기 하나 내의 메모리 내에 저장하는 단계 및,
    상기 많은 다수의 전자 장치 중 상기 하나 내의 상기 커스터마이징 회사에 생성된 펌웨어를 상기 사용자 커스터마이제이션 데이터에 따라 사용자에 생성된 펌웨어로 대체하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  8. 제 7 항에 있어서,
    커스터마이징 회사에 생성된 디폴트 펌웨어 요구를 상기 많은 다수의 전자 장치 중 상기 하나로 전송하는 단계 및,
    상기 많은 상기 다수의 전자 장치 중 상기 하나 내의 상기 사용자에 생성된 펌웨어를 상기 저장된 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 사용자 인터페이스 장치로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 전송하는 단계,
    외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 상기 많은 다수의 전자 장치로 다운로드하는 단계 및,
    상기 많은 상기 다수의 전자 장치 내의 상기 생산하는 회사 디폴트 펌웨어 갱신 파일을 이용함으로써 상기 갱신된 펌웨어를 대체하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  10. 전자 장치에 있어서,
    데이터 네트워크를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성된 네트워크 인터페이스,
    데이터를 저장하도록 구성된 메모리,
    상기 메모리와 관련한 프로세서를 포함하는데, 상기 프로세서는,
    커스터마이징 회사에 생성된 커스터마이제이션 데이터를 이용함으로써 상기 메모리 내의 펌웨어를 커스터마이징 회사에 생성된 펌웨어 내로 구성하도록 구성된 펌웨어 구성자,
    상기 데이터 네트워크를 통해 펌웨어 갱신 파일 생성기를 수신하도록 구성된 펌웨어 갱신 파일 생성기 수신기로서, 상기 펌웨어 갱신 파일 생성기는 상기 전자 장치 내의 상기 구성된 펌웨어에 기초로 하여 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 생성하도록 구성되는 펌웨어 갱신 파일 생성기 수신기 및,
    상기 데이터 네트워크를 통해 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 전송하도록 구성된 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기로서, 상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일은 상기 많은 상기 다수의 전자 장치에서 실행할 시에 상기 많은 상기 다수의 전자 장치 내의 상기 펌웨어를 갱신하도록 구성되는 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기를 제공하도록 구성되는 것을 특징으로 하는 전자 장치.
  11. 제 10 항에 있어서,
    상기 펌웨어 갱신 파일 생성기 수신기는 상기 데이터 네트워크를 통해 사용자 인터페이스 장치로부터 상기 펌웨어 갱신 파일 생성기를 수신할 수 있도록 구성되는 것을 특징으로 하는 전자 장치.
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기는 상기 데이터 네트워크를 통해 상기 펌웨어 갱신 파일을 많은 상기 다수의 전자 장치로 전송할 수 있도록 구성되는 것을 특징으로 하는 전자 장치.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 커스터마이징 회사에 생성된 펌웨어 갱신 파일 전송기는 상기 데이터 네트워크를 통해 상기 펌웨어 갱신 파일을 사용자 인터페이스 장치로 전송할 수 있도록 구성되는 것을 특징으로 하는 전자 장치.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 전자 장치에서 상기 사용자 인터페이스 장치로 피드백 신호를 전송하도록 구성된 피드백 신호 전송기를 더 포함하는데, 상기 피드백 신호는 상기 갱신된 펌웨어를 나타내는 정보를 포함하는 것을 특징으로 하는 전자 장치.
  15. 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 메모리는,
    로더 소프트웨어 및 장치 특정 정보를 포함하는 변경 불가능 파티션 및,
    장치 특정 정보를 포함하는 마크된 데이터 섹션을 포함하는 변경 가능 파티션으로서, 상기 마크된 데이터 섹션은 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 실행할 시에 상기 장치 특정 정보로 대체되는 변경 가능 파티션으로 분류되는 것을 특징으로 하는 전자 장치.
  16. 제 15 항에 있어서,
    상기 변경 가능 파티션은,
    커스터마이징 회사에 생성된 디폴트 펌웨어를 포함하는 판독 전용 파티션 및,
    상기 전자 장치 내에 이용되는 데이터 및 애플리케이션을 포함하는 판독 가능 및 기록 가능 파티션으로 분류되는데,
    상기 판독 가능 및 기록 가능 파티션은 커스터마이징 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 커스터마이징 회사에 생성된 디폴트 펌웨어로 대체되는 것을 특징으로 하는 전자 장치.
  17. 제 10 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 펌웨어 구성자는 상기 커스터마이징 회사에 생성된 펌웨어를 상기 갱신된 펌웨어로 대체하기 전에 상기 커스터마이징 회사에 생성된 펌웨어를 커스터마이 징 회사에 생성된 디폴트 펌웨어로서 저장하도록 더 구성되는 것을 특징으로 하는 전자 장치.
  18. 제 10 항 내지 제 17 항 중 어느 한 항에 있어서,
    외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어를 수신하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 수신기 및,
    생산하는 회사에 생성된 디폴트 펌웨어 요구를 수신할 시에 상기 갱신된 펌웨어를 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어로 대체하도록 구성된 생산하는 회사에 생성된 디폴트 펌웨어 핸들러를 더 포함하는 것을 특징으로 하는 전자 장치.
  19. 제 10 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 전자 장치는 네트워크 카메라인 것을 특징으로 하는 전자 장치.
  20. 사용자 인터페이스 장치에 있어서,
    관련된 데이터 네트워크를 통해 데이터의 수신 및 전송을 가능하게 하도록 구성된 네트워크 인터페이스,
    사용자 입력 장치,
    데이터를 저장하도록 구성된 메모리,
    상기 메모리와 관련한 프로세서를 포함하는데, 상기 프로세서는,
    상기 사용자 입력 장치를 통해 수신된 데이터에 기초로 하여 커스터마이징 회사에 생성된 커스터마이제이션 데이터를 생성하도록 구성되는 커스터마이제이션 데이터 생성기 및,
    상기 생성된 커스터마이제이션 데이터를 상기 데이터 네트워크를 통해 제 1 전자 장치로 전송하도록 구성된 커스터마이징 회사에 생성된 커스터마이제이션 데이터 전송 핸들러를 제공하도록 구성되는 것을 특징으로 하는 사용자 인터페이스 장치.
  21. 제 20 항에 있어서,
    상기 프로세서는, 상기 메모리와 관련하여,
    상기 제 1 전자 장치로부터 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 수신하도록 구성된 펌웨어 갱신 파일 수신기 및,
    상기 수신된 커스터마이징 회사에 생성된 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 많은 다수의 전자 장치로 전송하도록 구성된 펌웨어 갱신 파일 분배기를 제공하도록 더 구성되는 것을 특징으로 하는 사용자 인터페이스 장치.
  22. 제 20 항 또는 제 21 항에 있어서,
    상기 사용자 입력 장치는 상기 사용자 인터페이스 장치로부터 생산하는 회사에 생성된 디폴트 펌웨어 요구를 상기 데이터 네트워크를 통해 외부 서버로 전송하도록 더 구성되고,
    상기 펌웨어 갱신 파일 수신기는 상기 외부 서버로부터 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 수신하도록 더 구성되며,
    상기 펌웨어 갱신 파일 분배기는 상기 수신된 생산하는 회사에 생성된 디폴트 펌웨어 갱신 파일을 상기 데이터 네트워크를 통해 많은 다수의 전자 장치로 전송하도록 더 구성되는 것을 특징으로 하는 사용자 인터페이스 장치.
  23. 제 20 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 데이터 네트워크를 통해 상기 제 1 전자 장치로부터 피드백 신호를 수신하도록 구성된 피드백 신호 수신기 및,
    상기 피드백 신호를 나타내도록 구성된 사용자 출력 장치를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 장치.
  24. 데이터 네트워크,
    상기 데이터 네트워크에 결합되는 제 20 항 내지 제 24 항 중 어느 한 항에 따른 사용자 인터페이스 장치,
    상기 데이터 네트워크에 결합되는 제 10 항 내지 제 19 항 중 어느 한 항에 따른 하나 이상의 전자 장치,
    다수의 전자 장치로서, 상기 다수의 전자 장치의 각각은 상기 데이터 네트워크를 통해 펌웨어 갱신 파일을 수신하여, 상기 수신된 펌웨어 갱신 파일을 실행함으로써 펌웨어를 갱신하도록 구성되는 다수의 전자 장치를 포함하는 것을 특징으로 하는 시스템.
  25. 제 24 항에 있어서,
    상기 전자 장치의 각각은 제 10 항 내지 제 19 항 중 어느 한 항에 따라 구성되는 것을 특징으로 하는 시스템.
  26. 제 24 항 또는 제 25 항에 있어서,
    상기 갱신된 펌웨어 파일은 상기 다수의 전자 장치 중 상기 하나 이상의 전자 장치로부터 상기 다수의 전자 장치 중 유사한 전자 장치로 전송되는 것을 특징으로 하는 시스템.
  27. 제 24 항 내지 제 26 항 중 어느 한 항에 있어서,
    생산하는 회사 디폴트 펌웨어 갱신 파일을 보유하도록 구성되고, 상기 사용자 인터페이스 장치로부터의 요구 시에, 상기 생산하는 회사 디폴트 펌웨어 갱신 파일을 상기 사용자 인터페이스 장치로 전송하도록 구성되는 외부 서버를 더 포함하는 것을 특징으로 하는 시스템.
  28. 제 1 항 내지 제 9 항 중 어느 한 항에 따른 방법을 실행하도록 배열되는 소프트웨어 명령을 포함하는 컴퓨터 프로그램.
KR1020087023500A 2006-03-01 2008-09-26 다수의 장치를 업그레이드하는 방법 및 시스템 Active KR101471206B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77862106P 2006-03-01 2006-03-01
US60/778,621 2006-03-01
PCT/SE2007/000180 WO2007100288A1 (en) 2006-03-01 2007-02-27 Method and system for upgrading a plurality of devices

Publications (2)

Publication Number Publication Date
KR20080098437A true KR20080098437A (ko) 2008-11-07
KR101471206B1 KR101471206B1 (ko) 2014-12-12

Family

ID=38169857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087023500A Active KR101471206B1 (ko) 2006-03-01 2008-09-26 다수의 장치를 업그레이드하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US8032881B2 (ko)
EP (1) EP1830256B1 (ko)
JP (1) JP5100664B2 (ko)
KR (1) KR101471206B1 (ko)
CN (2) CN105138354B (ko)
WO (1) WO2007100288A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880223B1 (en) * 2023-07-14 2024-01-23 Auradine, Inc. Separate firmware to fixed and removable storages

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US9395968B1 (en) 2006-06-30 2016-07-19 American Megatrends, Inc. Uniquely identifying and validating computer system firmware
US7590835B1 (en) 2006-06-30 2009-09-15 American Megatrends, Inc. Dynamically updating a computer system firmware image
US7797696B1 (en) * 2006-06-30 2010-09-14 American Megatrends, Inc. Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
JP5029098B2 (ja) * 2007-03-30 2012-09-19 富士通株式会社 ネットワークシステム、端末カスタマイズ方法およびカスタマイズサービス方法
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US12184443B2 (en) 2007-06-12 2024-12-31 Icontrol Networks, Inc. Controlling data routing among networks
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US12283172B2 (en) 2007-06-12 2025-04-22 Icontrol Networks, Inc. Communication protocols in integrated systems
US10223903B2 (en) 2010-09-28 2019-03-05 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US12541237B2 (en) 2007-08-10 2026-02-03 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
JP4535143B2 (ja) * 2008-02-20 2010-09-01 セイコーエプソン株式会社 情報管理システム及びそれを利用した情報管理方法
US8402455B2 (en) * 2008-03-17 2013-03-19 Landis+Gyr Innovations, Inc. Methods and systems for distributing firmware through an over-the-air network
US8255896B2 (en) 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
US8869140B2 (en) * 2008-05-09 2014-10-21 Sap Se Deploying software modules in computer system
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
CN101778022A (zh) * 2009-01-12 2010-07-14 华为终端有限公司 通用即插即用设备软件管理的方法和装置
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
CN101593119B (zh) * 2009-05-26 2013-07-03 中兴通讯股份有限公司 一种独占闪存组合设备空中固件升级方法及装置
JP2011095950A (ja) * 2009-10-29 2011-05-12 Seiko Epson Corp ネットワークデバイス、ネットワークデバイスシステムおよびネットワークデバイスのソフトウェア更新方法
TW201118731A (en) * 2009-11-18 2011-06-01 Inventec Corp Method for upadating firmware of embedded system
JP5564956B2 (ja) * 2010-01-15 2014-08-06 富士通株式会社 情報処理装置及び情報処理装置のファームウェア更新方法
US8495497B2 (en) * 2010-01-28 2013-07-23 International Business Machines Corporation Graphical guides to aid user selection of groups of instruction packages
CN102156638A (zh) * 2010-02-11 2011-08-17 崴联科技股份有限公司 客制化软件源码的更新方法
US20110246977A1 (en) * 2010-03-31 2011-10-06 Leviton Manufacturing Co., Inc. Control system code installation and upgrade
EP2569712B1 (en) 2010-05-10 2021-10-13 Icontrol Networks, Inc. Control system user interface
CN101901160B (zh) * 2010-08-11 2015-06-03 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN101924607B (zh) * 2010-08-27 2013-01-23 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) * 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
CN102316439B (zh) * 2011-09-09 2017-11-24 中兴通讯股份有限公司 一种实现用户侧设备的固件升级方法和系统
JP5786612B2 (ja) 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
JP5786613B2 (ja) * 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
CN102521031B (zh) 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
CN104317623B (zh) * 2011-12-13 2016-09-28 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
US9141370B1 (en) * 2012-07-30 2015-09-22 Google Inc. Updating control devices in a data center
JP6094152B2 (ja) * 2012-11-08 2017-03-15 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN103826080B (zh) * 2012-11-16 2018-02-16 杭州海康威视数字技术股份有限公司 对硬盘录像机进行批量升级的方法及系统
US9439567B2 (en) 2013-02-06 2016-09-13 Abraham Carter Updating firmware to customize the performance of a wearable sensor device for a particular use
US8918778B2 (en) * 2013-04-17 2014-12-23 American Megatrends, Inc. Method of fail safe flashing management device and application of the same
JP6065115B2 (ja) * 2013-07-02 2017-01-25 富士通株式会社 マシン提供方法,マシン提供システム,およびマシン提供プログラム
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
CN103853587A (zh) * 2014-03-18 2014-06-11 浪潮集团有限公司 一种基于cramfs和jffs2的烧写flash的方法
KR101950445B1 (ko) * 2015-01-19 2019-02-20 엘에스산전 주식회사 태양광 발전 시스템
US10453158B2 (en) 2015-10-19 2019-10-22 Merit Medical Systems, Inc. Systems and methods for producing medical devices
KR20170088618A (ko) * 2016-01-25 2017-08-02 한화테크윈 주식회사 장비 관리 장치 및 방법
CN106250175A (zh) * 2016-07-21 2016-12-21 广东欧珀移动通信有限公司 一种应用的升级方法及终端设备
US10120678B2 (en) * 2016-11-15 2018-11-06 Dell Products, L.P. Firmware update control mechanism using organizational groups
US10528708B2 (en) * 2016-12-16 2020-01-07 International Business Machines Corporation Prevention of unauthorized resource updates
CN107992310B (zh) * 2017-11-15 2021-07-13 惠州市蓝微电子有限公司 一种实现bq电量管理芯片快速测试的方法和设备
CN108549555A (zh) * 2018-04-10 2018-09-18 Tcl通力电子(惠州)有限公司 客制化软件的处理方法、嵌入式系统设备及存储介质
JPWO2020003379A1 (ja) * 2018-06-26 2020-07-27 日立ジョンソンコントロールズ空調株式会社 保守システム、保守用基板およびデータ書込方法
CN110895477B (zh) * 2018-09-13 2023-06-02 杭州海康威视数字技术股份有限公司 一种设备启动方法、装置及设备
CN109656597A (zh) * 2018-12-19 2019-04-19 广东美的暖通设备有限公司 固件升级方法、装置及计算机可读存储介质
WO2020159497A1 (en) 2019-01-30 2020-08-06 Hewlett-Packard Development Company, L.P. Secure code image distribution
CN112000345B (zh) * 2019-05-27 2024-09-06 中兴通讯股份有限公司 一种rsu升级的方法、装置、rsu和rsu中继
CN111045524B (zh) * 2019-11-22 2022-01-18 联想(北京)有限公司 一种控制方法及装置
CN115562695B (zh) * 2022-01-10 2023-10-27 荣耀终端有限公司 操作系统升级方法、电子设备、存储介质及芯片系统
CN116301940B (zh) * 2023-03-10 2025-09-30 天翼云科技有限公司 一种支持灵活分区布局的系统安装方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201755A (ja) * 1988-02-08 1989-08-14 Nec Corp マルチデバイスアダプタ
JPH04226437A (ja) * 1990-08-13 1992-08-17 Olympus Optical Co Ltd カメラ
US5828911A (en) * 1993-05-24 1998-10-27 Olympus Optical Co., Ltd. One chip microcomputer built-in system
JP3721253B2 (ja) * 1997-11-28 2005-11-30 株式会社日立製作所 クライアント計算機における環境設定方法
US6360362B1 (en) * 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
KR100506785B1 (ko) * 2000-11-17 2005-08-08 비트폰 코포레이션 정보의 업데이트 및 배포 시스템 및 방법
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20030018759A1 (en) * 2001-07-17 2003-01-23 International Business Machines Corporation Method and system for performing computer system cloning
GB0120594D0 (en) * 2001-08-24 2001-10-17 Koninkl Philips Electronics Nv Upgrading software held in read-only storage
US7111055B2 (en) * 2001-08-30 2006-09-19 Sun Microsystems, Inc. Method and apparatus to facilitate automated software installation on remote computers over a network
US20040040023A1 (en) * 2002-08-22 2004-02-26 Ellis David G. Remote identification loader
JP2004118586A (ja) * 2002-09-26 2004-04-15 Murata Mach Ltd 管理装置およびそのプログラム
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
AU2003284292A1 (en) * 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
JP2004164625A (ja) * 2002-10-21 2004-06-10 Matsushita Electric Ind Co Ltd 通信端末および通信システム
JP2004227143A (ja) * 2003-01-21 2004-08-12 Pioneer Electronic Corp 情報処理装置および情報処理方法
US7219343B2 (en) * 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
TWI220195B (en) * 2003-07-10 2004-08-11 Benq Corp Device to be updated using a disk label to update firmware and method using a disk label to update firmware
US20050010913A1 (en) * 2003-07-11 2005-01-13 Chih-Wei Chen Computer code upgrading method and system
US20050044548A1 (en) * 2003-08-20 2005-02-24 John Page Efficient replication of embedded operating system with a write filter and overlay partition
EP1665026A2 (en) * 2003-09-11 2006-06-07 Koninklijke Philips Electronics N.V. Retrieving data from an information carrier
KR20090035044A (ko) * 2003-09-26 2009-04-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 네트워크에서의 생성자와 콘텐츠 서버 간의 업데이트 패키지 전송을 위한 업데이트 패키지 카탈로그
US7562360B2 (en) * 2003-12-01 2009-07-14 Texas Instruments Incorporated Method and system for firmware downloads
US7809836B2 (en) * 2004-04-07 2010-10-05 Intel Corporation System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
TWI238355B (en) * 2004-05-06 2005-08-21 Lite On It Corp Firmware updating method
CN1588312A (zh) * 2004-08-31 2005-03-02 北京智凯办公自动化设备有限公司 打印机程序及参数设置的远程更新方法及系统
US7600006B2 (en) * 2004-08-31 2009-10-06 Inter-Tel, Inc Peer-to-peer distribution of firmware
US20070067419A1 (en) * 2005-09-19 2007-03-22 Bennett James D Dedicated client devices supporting web based service, specifications and interaction

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880223B1 (en) * 2023-07-14 2024-01-23 Auradine, Inc. Separate firmware to fixed and removable storages
US12026505B1 (en) 2023-07-14 2024-07-02 Auradine, Inc. Separate firmware to fixed and removable storages
US12217048B1 (en) 2023-07-14 2025-02-04 Auradine, Inc. Separate firmware to fixed and removable storages

Also Published As

Publication number Publication date
EP1830256A1 (en) 2007-09-05
WO2007100288A1 (en) 2007-09-07
KR101471206B1 (ko) 2014-12-12
JP2009530694A (ja) 2009-08-27
CN101384997A (zh) 2009-03-11
US20070250830A1 (en) 2007-10-25
CN105138354A (zh) 2015-12-09
US8032881B2 (en) 2011-10-04
JP5100664B2 (ja) 2012-12-19
CN105138354B (zh) 2019-12-13
EP1830256B1 (en) 2014-08-13

Similar Documents

Publication Publication Date Title
KR101471206B1 (ko) 다수의 장치를 업그레이드하는 방법 및 시스템
US5752042A (en) Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US8612516B2 (en) Deployment of a driver or an application on a client device having a write-filter
US8606892B2 (en) Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file
CN104094225B (zh) 创建或安装用于具有多个硬件平台中的一个的目标装置的磁盘映像
CN104094226B (zh) 使用部署配置文件自动更新客户端设备上的应用或者驱动
US7107331B2 (en) System and method for configuring digital image devices
US20020165945A1 (en) Method and system for registry flying in a network
JP2004038296A (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
JP2007264901A (ja) ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法及びソフトウェア管理プログラム
GB2348987A (en) Upgrading firmware from a web site using an applet
US12327100B2 (en) Information processing apparatus, settings applying method, and medium
JP2006252135A (ja) プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体
CN119512586A (zh) 操作系统更新方法、装置及相关设备
Schultschik About the Integration of Mac OS X Devices into a Centrally Managed UNIX Environment.
JP2010176567A (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
Kirkbride File Transfer
Preston Pulling It All Together: Continuous Provisioning with Chef and Azure
Ramey Oracle Directory Services Installation and Configuration
Malcher et al. Installing the Oracle Binaries
Kuhn et al. Chapter 11: Managing Server Software
Alani Cisco Router Management
Alani Upgrades and Backups
JP2019091403A (ja) 管理装置、管理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20080926

Patent event code: PA01051R01D

Comment text: International Patent Application

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

Patent event code: PA02012R01D

Patent event date: 20120208

Comment text: Request for Examination of Application

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

Comment text: Notification of reason for refusal

Patent event date: 20130614

Patent event code: PE09021S01D

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

Comment text: Notification of reason for refusal

Patent event date: 20140331

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: 20141022

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20141203

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20141203

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20171129

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20201201

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20211122

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20231128

Start annual number: 10

End annual number: 10