KR100582437B1 - 네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법 - Google Patents

네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR100582437B1
KR100582437B1 KR1020037006719A KR20037006719A KR100582437B1 KR 100582437 B1 KR100582437 B1 KR 100582437B1 KR 1020037006719 A KR1020037006719 A KR 1020037006719A KR 20037006719 A KR20037006719 A KR 20037006719A KR 100582437 B1 KR100582437 B1 KR 100582437B1
Authority
KR
South Korea
Prior art keywords
software
downloaded
determining whether
hardware
correct
Prior art date
Application number
KR1020037006719A
Other languages
English (en)
Other versions
KR20040067837A (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 KR20040067837A publication Critical patent/KR20040067837A/ko
Application granted granted Critical
Publication of KR100582437B1 publication Critical patent/KR100582437B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/08Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

본 발명은 장치에 의해 다운로드될 소프트웨어(122)가 그 장치에 대한 정확한 소프트웨어(122)인 지의 여부를 결정하기 위한 방법 및 장치에 관한 것이다. 소프트웨어(122)는 소프트웨어가 관련된 장치 타입(112), 소프트웨어 타입(116), 및 장치 클래스(120)를 식별하는 필드를 더 구비한 헤더 부분을 구비한다. 다운로딩 장치는 다운로드 처리를 처리하기 전에 장치(112, 120)와 소프트웨어 타입(116) 둘 다를 체크한다. 장치 타입(112)과 소프트웨어 타입(116)이 정확하면, 장치는 소프트웨어의 하드웨어 클래스를 체크한다. 이런 마지막 비교 처리가 매칭을 식별하면, 소프트웨어는 장치에 다운로딩된다(120). 다운로드 처리 다음에, 에러 검출(124)(및 선택적으로 에러 정정)이 헤더에서 체크섬을 이용하여 소프트웨어에 대해 수행된다.
다운로드, 소프트웨어, 하드웨어, 헤더, 에러.

Description

네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법{Method and apparatus for determining the correct operating software version for a network device}
본 발명은 일반적으로 케이블 모뎀들에 관한 것이고, 특히 케이블 모뎀이 정확한 운용 소프트웨어 버전(correct operating software version)을 다운로드하는 것을 보장하기 위한 장치 및 방법에 관한 것이다.
전화 모뎀을 통한 인터넷 액세스는 최근 56Kbps까지의 빠른 속도로 이용할 수 있다. 전화-기반 모뎀(telephone-based modem)은 음성-대역 기반 전화 네트워크(voice-band based telephony network)를 통해 전송하기 위해 데이터 신호들을 변조 및 복조한다. 반대로, 케이블 모뎀은 케이블 텔레비전 시스템을 통해 인터넷 액세스를 제공하고, 케이블 텔레비전 시스템은 더 높은 대역폭을 가지고 그러므로 전화 시스템보다 높은 데이터 레이트들로 동작할 수 있다. 케이블 모뎀은 이용자의 컴퓨터와 케이블 시스템 헤드엔드(cable system headend) 사이에 연결성 (connectivity)을 제공하고, 그 지점에서 케이블 오퍼레이터가, 예를 들어 T1 전송 라인을 통해 인터넷으로의 액세스를 제공한다. 케이블 네트워크에 있어서, 네트워크 헤드엔드에서 컴퓨터 이용자까지 전송되는 데이터는 다운스트림 데이터(downstream data)로 불리고, 이용자로부터 네트워크 헤드엔드까지 전송되는 데이터는 업스트림 데이터(upstream data)로 불린다.
도 1은 케이블 모뎀(20)을 구비하는 케이블 시스템(10)의 블록도이고, 그것의 특정 특징들(features)은 종래 기술에 잘 알려져 있다. 케이블 시스템(10)은 도 1에 도시되지 않은 헤드엔드(headend)를 구비하고, 그것으로부터 케이블 텔레비전 프로그램 신호들이 발생하고(originate) 또한 인터넷 또는 다른 외부 네트워크로의 접속을 제공한다. 가입자들의 구내들(premises)에서, 스플리터(splitter)(14)는 입력 신호를 분할한다. 제 1 출력 단자는 셋 톱 박스(16)의 제어 하에서 텔레비전(18)에 디스플레이하기 위해 텔레비전 프로그램 신호를 제공한다.
스플리터(14)로부터의 제 2 출력 단자는 케이블 모뎀(20)에 연결성을 제공한다. 헤드엔드로부터의 다운스트림 신호들은 RF(radio frequency:무선 주파수) 튜너(22)에 제공되고, RF 튜너(22)는 모뎀의 기동 단계(start-up phase) 동안 케이블 모뎀(20)에 할당된 주파수로 튜닝된다. 통상적으로, 다운스트림 신호는 QAM(quadrature amplitude modulation)을 이용하므로 QAM 복조기(24)에서 복조된다. 복조된 신호는 미디어 액세스 제어기(26)로 입력된다. 미디어 액세스 제어기(26)로부터의 신호는 케이블 모뎀(20)의 전체 동작을 제어하고 또한 데이터 제어 기능들을 제공하는 데이터 및 제어 로직 유닛(data and control logic unit)(28)에 입력된다.
컴퓨터(30)(또는 다른 통신 장치)는 인터넷, 월드 와이드 웹(World Wide Web) 또는 다른 외부 네트워크로부터 다운스트림 방향으로 보내지는 데이터를 수신하고, 업스트림 방향으로 데이터를 전송하기 위해 데이터 및 제어 로직 유닛(28)에 접속된다. 출력 데이터(outgoing data)는 컴퓨터(30)로부터 데이터 및 제어 로직 유닛(28)을 통해 미디어 액세스 제어기(26)를 통해 전달되고, 최종적으로 QPSK(quadrature phase-shift keyed) 또는 QAM 변조기에 의해 변조된다. QPSK 또는 QAM의 선택이 케이블(20)에 제공된 구성 정보에서 설명된다. 그 다음, 업스트림 데이터는 케이블 시스템의 헤드엔드로의 전송을 위해 그리고 결국 인터넷, 월드 와이드 웹 또는 다른 외부 네트워크로의 전송을 위해 스플리터(14)를 통과한다.
일 실시예에 있어서, 다운스트림 신호는 6Mhz 케이블 채널을 통해 데이터의 30 내지 40Mbps까지 전달할 수 있는 64/256 QAM 신호를 채용한다. 업스트림 데이터는 320Kbps에서 10Mbps까지 이용 가능한 데이터 레이트들로 QPSK 또는 16 QAM 시그널링을 이용한다. 양 업스트림 및 다운스트림 데이터 레이트들은 이용자의 데이터 레이트 요구들과 매칭하도록 유연하게 구성될 수 있다. 예를 들어, 비즈니스 이용자에 의해 활용되는 케이블 모뎀(20)은 더 높은 데이터 레이트들로 수신 및 전송하도록 프로그램될 수 있다. 한편, 주택가의 이용자(residential user)는 외부 네트워크로 액세스를 제공하도록 업스트림 방향으로 더 넓은 대역폭 액세스로 구성된, 반면에 업스트림 데이터 전송들에 대해 더 낮은 속도로 제한된 케이블 모뎀(20)을 가질 수 있다.
도 2에 도시된 케이블 시스템 헤드엔드(45)에서, 케이블 네트워크(51)를 통해 전송된 가입자들(50)로부터의 업스트림 데이터는 도시된 바와 같이, 많은 가입자들(50)로부터 인터넷, 월드 와이드 웹 또는 다른 외부 네트워크까지 루팅함에 따라 데이터 스위칭을 수행하기 위해 케이블 모뎀 종단 시스템(52)에 의해 처리 및 복조된다. 유사하게, 케이블 모뎀 종단 시스템(52)은 외부 네트워크로부터 데이터를 수신하고 헤드엔드 전송기(54)를 통해 적절한 가입자(50)에게 수신된 다운스트림 데이터의 필요한 데이터 스위칭을 제공한다. 헤드엔드 전송기(54)는 또한 모든 가입자들(50)에게 브로드캐스트하기 위해 프로그램 신호들(위성 다운링크, 지상의 마이크로웨이브 또는 육로 라인들을 통해)을 수신한다. 이용자 데이터는 6 Mhz 채널(유럽에서, 대역폭 표준은 8Mhz임)을 통해 반송되고, 6 Mhz 채널은 모든 가입자들(50)에게 프로그램 신호들을 브로드캐스트하기 위해 케이블 텔레비전 채널에 할당되는 스펙트럼 크기이다. 가입자의 위치에서, 프로그램 신호는 셋 톱 박스(10)에 의해 수신되고, 반면 다운스트림 데이터는 케이블 모뎀(20)에 의해 개별적으로 수신된다. 도 1을 참고하라. RF 케이블 모뎀 튜너(22)는 케이블 모뎀(20)으로부터 프로그램 신호를 튠 아웃(tune out)하고 셋 톱 박스(16)는 데이터 신호를 거부한다(reject). 주어진 케이블 모뎀 시스템에서 업스트림 및 다운스트림 데이터 채널들의 수는 서비스 영역, 이용자들의 수, 각각의 이용자에게 할당된 데이터 레이트, 및 이용 가능한 스펙트럼에 기초하여 처리된다(engineered).
요소(element) 관리 시스템(미도시)은 복수의 케이블 모뎀 종단 시스템들(52)을 구성 및 관리하기 위한 케이블 시스템(10)의 이미 또다른 성분이다. 요소 관리 시스템은 케이블 헤드엔드(45)에 위치된다. 요소 관리 시스템의 동작은 규정, 일상의 시스템의 운영(administration), 모니터링, 활성 알람들 (activating alarms)을 제공하고, 케이블 모뎀 종단 시스템(52)의 다양한 성분들의 테스팅을 포함한다. 일반적으로, 단일 요소 관리 시스템은 케이블 시스템 네트워크 동작들 중앙에 위치되고 광범위한 지리학적 영역에서 많은 케이블 종단 시스템들(52)을 지원할 수 있다.
케이블 모뎀(20)이 파워드-업(powered-up)될 때, 케이블 네트워크(51)를 통해 케이블 모뎀 종단 시스템(52)으로의 접속이 만들어진다. 케이블 종단 시스템(52)에 의해 수신되는, 외부 네트워크로부터 IP-포맷된 데이터(IP-formatted data)가 케이블 네트워크(51)를 통해 가입자(50)의 케이블 모뎀(20)으로 다운스트림으로 포워드(forward)될 수 있도록 인터넷 프로토콜(IP)을 이용하여 이 접속이 만들어진다. 파워-업(power-up) 후, 케이블 모뎀(20)은 동적 호스트 구성 프로토콜을 이용하여 동적 호스트 구성 프로토콜 서버(DHCP)에 콘택트한다(contact). 많은 이러한 DHCP 서버들은 네트워크 상에서 이용 가능하고 케이블 모뎀(20)은 단순히 모든 DHCP 서버들로 브로드캐스트한다. 임의의 DHCP 서버는 브로드캐스트 요청에 응답할 수 있다. DHCP 서버로부터, 케이블 모뎀(20)은 IP 어드레스, 다른 IP 관련 동작 파라미터들 및 모뎀 구성 파일의 어드레스를 얻는다. 구성 파일 어드레스는 케이블 모뎀(20)이 구성 파일을 다운로드하는 단순(trivial) 파일 전송 프로토콜(TFTP) 서버를 지시한다. 이 파일은 액세스 제어 정보, 다운스트림 및 업스트림 채널 할당들 및 보안 구성 정보와 같은 다양한 모뎀 구성 세팅들을 포함한다. 또한, 구성 파일의 정보는 케이블 모뎀(20)이 그것의 운용 소프트웨어(케이블 모뎀 벤더, 모델 번호, 또는 다른 지정자(designator)에 기초됨)와 운용 소프트웨어가 다운로드될 수 있는 위치를 식별하게 한다.
불리하게, 현재 케이블 모뎀 표준(DOCSIS(Data Over Cable Service Interface Specification)으로 불림)은, 다운로드되기 전 또는 후, 케이블 모뎀 운용 소프트웨어를 유효화하기 위한 적당한 처리를 정의하지 않는다. 대신, DOCSIS 프로토콜은 다운로드 처리가 안전하도록 케이블 모뎀이 암호화 방식으로 행해진 후 다운로드가 실행되어야 하는 것만을 나타낸다. 암호화 피처(feature)는 구성 파일에서 식별된 필드를 이용하여, 케이블 시스템 오퍼레이터에 의한 요구(desired)에 따라, 턴온 또는 턴 오프될 수 있다. 암호화 피처가 온 또는 오프인지 간에, 이용할 수 없거나 손상된(corrupted) 운용 소프트웨어는 운용 소프트웨어가 다운로드되는 TFTP 서버 상에 존재할 수 있다, 케이블 모뎀은 소프트웨어가 다운로드되고 케이블 모뎀이 부트 업(boot up)할 때까지 그 소프트웨어가 이용할 수 없다는 것을 깨달을 수 없을 것이다. 단지 그 다음 케이블 모뎀은 운용 소프트웨어가 이용할 수 없다는 것을 인식할 것이다, 운용 소프트웨어가 이용할 수 없으면, 케이블 모뎀은 메모리에 이전에 저장된 운용 소프트웨어 버전을 이용하도록 유지한다. 케이블 모뎀에 운용 소프트웨어를 저장하기 위한 특정한 메모리 장치들은 제한된 수의 라이프타임 판독/기록 사이클들을 가진다. 운용 소프트웨어의 이용할 수 없는 버전의 다운로딩은 이들 라이프타임 판독/기록 사이클들 중 하나를 낭비한다. 최종적으로, 암호화 기술들의 이용은 해커가 TFTP 서버 위에 존재하는 운용 소프트웨어 이진 파일을 바꾸는 것을 방지하지 못하고, 잡음 소스들 또는 장비 고장(malfunction)들로부터 파일 손상(file corruption)에 대응하여 그것을 보호하지 못한다. 대신, 암호화 처리는 단지 이용할 수 없는 운용 소프트웨어가 위치될 수 있는 다른 사이트로서 TFTP 서버를 스프핑(spoofing)으로부터 보호한다.
양호한 실시예들의 설명의 관점에서 고려될 때, 본 발명은 더 쉽게 이해될 수 있고 또한 더 용이하게 그것의 이점들 및 이용들이 명백하다.
도 1은 케이블 텔레비전 이용자의 사이트의 종래 기술의 성분들을 도시한 블록도.
도 2는 종래 기술의 케이블 시스템의 블록도.
도 3은 본 발명에 관련된 파일 헤더를 도시한 도면.
도 4는 도 3의 파일 헤더를 포함한 필드들을 도시한 도면.
도 5는 본 발명에 따른 처리를 도시한 순서도.
본 발명에 따라 다운로드된 케이블 모뎀 운용 소프트웨어의 유효성을 결정하기 위한 특정한 방법 및 장치를 상세히 설명하기 전에, 본 발명은 주로 장치들 및 단계들의 조합으로 존재한다는 것을 알아야 한다. 따라서, 하드웨어 성분들 및 방법 단계들이 도면들에서 종래의 요소들에 의해 표현되고, 이는 여기에 설명의 이점을 가진 종래 기술에 숙련된 자들에게 용이하게 명백해질 구조적인 세부 항목들(details)로 개시가 불명료하지 않도록 본 발명에 관련된 이들 특정한 세부 항목들만을 보인 것이다.
DOCSIS 표준은 운용 소프트웨어 파일 포맷을 정의하지 않는다. 그러므로, 파일 포맷을 설정하고 파일 다운로드 처리 동안 가장 이른 가능한 시간에서 운용 소프트웨어 파일의 적용성(applicability) 및 유효성을 결정하도록 파일에서 정보를 활용하기 위한 장치 및 방법에 대한 요구가 있다. 본 발명의 가르침들(teachings)에 따라서, 운용 소프트웨어 파일 헤더는 운용 소프트웨어 식별 정보, 타겟 하드웨어 식별 정보 및 체크섬을 구비한다. 운용 소프트웨어 파일을 다운로드하기 전의 헤더 정보의 평가(evaluation)와 다운로드가 완료된 후 체크섬의 평가는 운용 소프트웨어 파일의 유효성과 적용성의 이른 결정을 허용한다. 이런 방식으로, 케이블 모뎀은, 파일이 손상되면, 변경되었거나(tampered), 케이블 모뎀에 대한 정확한 운용 소프트웨어가 아닌, 전체 운용 소프트웨어의 다운로딩을 요구하는 종래 기술의 긴 다운로드 처리를 피할 수 있다.
본 발명의 가르침들에 따라서, 특정한 평가들이 운용 소프트웨어 파일의 헤더 또는 제 1 블록(일 실시예에서 74 바이트)에 대해 수행된다, 파일이 케이블 모뎀에 대해 유효하지 않다고 평가들이 결정하면, 모뎀은 TFTP 다운로드된 세션을 중지할 것이고 케이블 모뎀 종단 시스템(52)에 에러 상태를 시그널링할 것이다(signal). 종래의 기술에 있어서, 케이블 모뎀은 운용 소프트웨어가 유효하지 않거나 손상된 것을 인식할 수 있기 전에 전체 운용 소프트웨어 파일을 다운로드해야 한다. 또한, 본 발명에 따라서, 헤더는 다운로드가 완료되면 전체 운용 소프트웨어 파일을 유효화하기 위해 체크섬(checksum)을 구비한다. 체크섬 분석이 파일이 손상되지 않았음을 나타내면, 케이블 모뎀(20)은 다운로드된 운용 소프트웨어 파일을 이용하여 재부팅(reboot)하여 시작한다. 체크섬 유효 처리가 파일에서 정정할 수 없는 에러들을 나타내는 경우에, 케이블 모뎀(20)은 케이블 모뎀 종단 시스템(52)으로 에러 상태를 알린다. 에러 상태가 체크섬 또는 헤더의 분석에 의해 검출될 때는, 케이블 모뎀(20)은 운용 소프트웨어의 최종 버전, 즉 그것의 최종 동작 세션 동안 이용된 동일한 운용 소프트웨어를 단순히 이용한다.
도 3은 운용 소프트웨어 파일(68)의 필드들을 도시한다. 파일(68)은 여기 아래에 더 설명될 헤더 필드(70)로 시작한다. 압축 해제 코드 필드(72)는 다운로드가 완료되면 운용 소프트웨어 코드를 압축 해제하기 위한 파라미터를 설명한다. 본 발명의 일 실시예에 있어서, 헤더 필드(70)와 압축 해제 코드(72) 둘 다는 압축된 포맷으로 되어 있지 않다. 운용 소프트웨어 코드 길이는 체크섬 필드(76)에 설명된다. 마지막으로, 운용 소프트웨어 코드는 필드(78)에 있다. 일 실시예에 있어서, 길이 필드(74), 체크섬 필드(76), 및 코드 필드(78)는 전송 전에 압축된다.
도 4는 헤더 필드(70)의 다양한 성분들을 도시한다, 본 발명의 가르침들에 따라 헤더 필드(70)를 이용하여, 운용 소프트웨어 파일은 헤더(70) 내의 특정한 필드들의 수신 및 분석 시 유효화될 수 있다. 길이 필드(82)는 도 3에 도시된 바와 같이 파일의 모든 성분들을 포함한, 운용 소프트웨어 파일(68)의 길이를 설명한다. 체크섬 필드(84)는 운용 소프트웨어 파일(68)에 대한 체크섬 값을 제공한다. 타겟 식별 필드(86)는 운용 소프트웨어를 적용하는 장치 타입(device type)을 식별한다. 예시적인 장치 타입들은 케이블 모뎀 및 셋 톱 박스를 구비한다. 타겟 식별 필드(86)는 소프트웨어가 케이블 모뎀 이외의 장치를 위한 것임을 나타내면, 다운로드가 즉시 중지되고, 위에 논의된 바와 같이 에러가 발생된다.
소프트웨어 식별 필드(88)는 다운로드 파일 내에 구비된 운용 소프트웨어의 속성을 식별한다, 예를 들어, 코드는 운용 소프트웨어, 부트-업(boot-up) 소프트웨어, 또는 소프트웨어 개정 테이블(software revision table)일 수 있다. 또한, 소프트웨어 식별자가 정확하지 않으면, 다운로드는 즉시 중지된다. 빌드 릴리즈 필드(build release field)(90)는 운용 소프트웨어 파일에 대한 버전 번호를 식별한다. 일 실시예에 있어서, 버전 번호는 파일 이름에 통합되고, 파일 이름은 빌드 릴리즈 필드(90)에 포함된다. 케이블 모뎀(20)은 메모리에 저장된 파일 이름(운용 소프트웨어의 최종 이용된 버전을 의미)에 수신된 파일 이름을 비교한다. 파일 이름들이 매칭하면, 케이블 모뎀(20)은 운용 소프트웨어를 다운로드할 필요가 없다.
벤더 식별 필드(vendor identification field)(92)는 운용 소프트웨어가 실행될 벤더(vendor) 및 케이블 모뎀 모델 번호(또는 다른 식별 번호)를 식별한다. 케이블 모뎀에 제조될 때, 벤더는 케이블 모뎀 메모리에서 벤더 식별 번호를 저장하고, 그러므로 나중에 변하거나 손상될 수 없다. 벤더 식별 필드(92)에서 설명된 벤더 식별 번호가 케이블 모뎀에 저장된 번호와 매칭하지 않으면, 소프트웨어 다운로드를 중지한다. 헤더(70)에 스페어(spare) 바이트들은 참조 문자 94에 의해 나타낸다. 스페어 필드(94)에 점유된 바이트들의 수가 헤더의 길이와 다른 헤더 필드들의 길이에 의존하여 변할 수 있다는 것이 종래의 기술에 숙련된 자들에 의해 이해된다.
일 실시예에 있어서, 운용 소프트웨어(68)는 TFTP 서버로부터 다운로드되고 그러므로 TFTP 프로토콜들을 따른다. 종래의 기술에 숙련된 자들에 의해 알려진 바와 같이, TFTP 프로토콜에 일치하는, 다운로드된 코드는 512 비트 패킷들이다. 통상적인 필드 길이들을 가정하면, 필드(70, 72, 74 및 76)는 일반적으로 512 바이트보다 적게 포함할 것이다. 그러므로, 본 발명에 따른 분석은 512 바이트가 다운로드된 후 발생한다. 이 분석은 운용 소프트웨어 파일(68)을 포함한 다양한 다른 필드들을 통해, 헤더 필드(70)와 그것의 구성 필드들로부터 순차적으로 진행한다. 또다른 실시예에 있어서, 소프트웨어가 TFTP 서버로부터 다운로드되지 않을 때, 케이블 모뎀은 그 필드에 대한 다운로드가 끝났을 때 각각의 필드를 독립적으로 체크할 수 있다. 또다른 실시예에 있어서, 헤더 필드(70)는 다운로드되고 그 다음 그것에 연관된 다양한 필드들이 필드(72, 74, 76 및 78)의 다운로드를 계속하기 전에 평가된다. 임의의 경우에 있어서, 필드 중 하나의 분석이 소프트웨어 버전 미스매칭(mismatching) 또는 또다른 문제를 나타낼 때, 다운로드를 중지하고 위에 논의된 바와 같이 에러가 발생된다.
마지막으로, 하드웨어 클래스 필드(96)는 필드(78)에 운용 소프트웨어 코드가 실행될 케이블 모뎀 클래스들(즉, 모델들 또는 모델들의 그룹들)을 식별한다. 하드웨어 클래스 필드(96)에 256 비트가 있기 때문에, 256 개의 다른 하드웨어 모뎀 클래스들이 지원될 수 있다. 케이블 모뎀 메모리에 저장된 하드웨어 식별자(통상적으로 길이가 8 비트)가 하드웨어 클래스 필드(96)의 256 비트맵으로의 인덱스로서 이용된다. 인덱스된 비트가 세팅되면, 그 하드웨어는 필드(78)의 운용 소프트웨어에 의해 지원된다. 비트맵을 활용하는 이점은, 임의의 주어진 운용 소프트웨어 코드가 하나의 하드웨어 클래스보다 많이 지원할 수 있다는 사실로부터 기인한다. 모든 지원된 하드웨어 클래스들이 비트맵에 통합된다.
필드(82 내지 96) 모두가 체크되고 식별된 문제가 없는 초기 처리에서의 포인트에 이제 도달하면, 도 3의 운용 소프트웨어 코드 필드(78)가 다운로드된다. 운용 소프트웨어 코드의 유효성은 필드(76)의 체크섬 값을 이용하여 결정된다. 그 다음, 필드(84)의 체크섬 값이 도 3에 설명한 모든 필드들을 포함한, 전체 다운로드된 파일을 분석하도록 활용된다. 이들 두 개의 체크섬 평가들에 의해 검출에 문제가 없으면, 케이블 모뎀(30)은 다운로드된 운용 소프트웨어를 이용하여 재부팅된다. 또다른 일 실시예에 있어서, 체크섬들(76 및 84)의 하나 또는 둘 다는 또한 하나 또는 그 이상의 검출된 에러들을 정정하는데 이용될 수 있다.
도 5는 도 3 및 도 4에서 설명한 다양한 파라미터들 각각을 평가하는 처리를 도시한다. 도 5의 흐름도는 케이블 모뎀이 파워 업 될 때 단계(110)로 시작한다. 도 5에 도시된 분석 처리는 도 5에 보여지는 순서로 발생되어야할 필요는 없다는 것을 유의하라. 단계(112)에서, 타겟 식별 필드(86)는 장치, 특히 특정한 케이블 모뎀(20)에 저장된 장치 타입과 비교된다. 다른 장치 타입들용 소프트웨어는 케이블 시스템(10)에서 이용 가능하다는 것을 상기하라. 단계(112)의 결과가 아니오(negative)이면, 소프트웨어 다운로드 처리는 단계(114)에서 중지된다.
타겟 식별 비교 처리가 결정 단계(112)로부터 긍정적(affirmative)로 응답되면, 처리는 필드(78)의 소프트웨어의 타입을 결정하도록 소프트웨어 필드(88)가 평가되는 결정 단계(116)로 이동한다(도 3 참조). 소프트웨어가 적절하지 않은 지 또는 정확한 소프트웨어 타입이 아닌 지를 나타내면, 처리는 결정 단계(116)에서 다운로드가 중지되는 단계(114)로 이동한다. 결정 단계(116)로부터의 긍정적 응답은 결정 단계(118)로 처리를 이동시킨다. 이 단계에서, 소프트웨어 버전 정보(도 4의 필드(90))가 평가된다. 버전이 케이블 모뎀(20)에 의해 이전에 이용된 소프트웨어 버전과 같으면, 소프트웨어를 다운로드할 필요가 없다. 이런 환경들 하에서, 처리는 결정 단계(118)에서 중지 단계(114)로 이동한다.
결정 단계(118)가 이것이 새로운 소프트웨어 버전이라는 것을 나타내면, 처리는 하드웨어 클래스 필드(96)가 평가되는 결정 단계(120)로 이동한다. 결정 단계(120)의 목적은 모뎀 하드웨어 클래스가 소프트웨어에 의해 지원되는 것을 보장하는 것이다. 클래스가 지원되지 않으면, 처리는 결정 단계(120)에서 중지 단계(114)로 이동한다. 모뎀 하드웨어 클래스가 지원되면, 소프트웨어는 단계(122)에서 다운로드된다. 다음, 에러 식별 및 정정이 소프트웨어로 다운로드된 체크섬 값을 이용하여 수행된다. 에러 식별 및 정정의 이런 처리는 체크섬 필드들(76 및 94)에서 체크섬 값을 이용하여, 헤더(70)에 관련된 필드들 모두 또는 다운로드된 소프트웨어만을 포함한다. 에러 식별 및 정정 처리는 단계(124)로 도시된다. 에러들이 발견되지 않았거나 모든 에러들을 정정할 수 있으면, 결정 단계(126)로부터의 결과는 긍정적이고 케이블 모뎀은 다운로드된 소프트웨어를 이용하여 재부팅된다 (단계(128)를 참조). 결정 단계(126)의 결과가 다운로드된 소프트웨어가 정정할 수 없는 에러들을 포함하는 것을 나타내면, 단계(130)에 도시된 바와 같이, 모뎀은 단계(122)에서 다운로드된 버전 대신, 소프트웨어의 이전 버전을 활용한다.
본 발명이 양호한 실시예를 참조하여 설명되지만, 다양한 변화들이 만들어질 수 있고 동일한 요소들은 본 발명의 범위를 벗어나지 않고 그것의 요소들에 대용될 수 있음이 종래 기술에 숙련된 자들에 의해 이해될 것이다. 또한, 수정들이 그것의 본질적인 범위를 벗어나지 않고 특정한 상황에 본 발명의 가르침들을 적용하도록 만들어질 수 있다. 그러므로, 본 발명은 이 발명을 수행하기 위해 숙고된 최상의 방식으로 개시된 특정 실시예로 제한되지 않지만, 본 발명은 첨부된 청구범위들의 범위 내에서 모든 실시예들을 포함하는 것으로 의도된다.

Claims (20)

  1. 장치로 다운로드될 소프트웨어가 그 장치에 대해 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법으로서, 상기 장치는 하드웨어 식별자를 구비하고, 상기 하드웨어 식별자는 또한 장치 타입과 장치 클래스를 더 포함하고, 상기 소프트웨어에 선행하는 헤더는 타겟 식별 필드와 하드웨어 클래스 필드를 구비하고, 상기 방법은,
    (a) 상기 장치 타입이 상기 타겟 식별 필드와 일치하는 지의 여부를 결정하는 단계와;
    (b) 상기 장치 타입이 상기 하드웨어 클래스 필드와 일치하는 지의 여부를 결정하는 단계와;
    (c) 단계들 (a) 및 (b)의 결과들이 긍정적(affirmative)이면 상기 소프트웨어를 다운로딩하는 단계를 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  2. 제 1항에 있어서,
    상기 하드웨어 식별자는 장치 제조시 상기 장치 내에 영구적으로 저장되는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  3. 제 1항에 있어서,
    상기 장치 타입은 케이블 모뎀으로 상기 장치를 식별하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  4. 제 1항에 있어서,
    상기 헤더만이 상기 장치에 다운로딩되고, 그 후 단계들 (a) 및 (b)의 결과들이 긍정적이면 상기 소프트웨어가 다운로딩되는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  5. 제 1항에 있어서,
    상기 하드웨어 클래스 필드는 다중 비트 비트맵(multiple-bit bitmap)이고, 상기 장치 클래스는 이진값이고, 상기 다중 비트 비트맵은 상기 하드웨어 클래스 필드가 상기 장치 클래스와 매칭하는 지를 결정하기 위해 상기 이진값과 비교되는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  6. 제 5항에 있어서,
    상기 하드웨어 클래스 필드 비트맵은 256 비트를 포함하고 상기 장치 클래스는 8 비트를 가진 이진값을 포함하고, 상기 단계(b)는 인덱스 비트가 세팅되는 지의 여부를 결정하기 위해 상기 256 비트로의 인덱스로서 8-비트 하드웨어를 이용하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  7. 제 1항에 있어서,
    상기 헤더는 상기 소프트웨어 버전을 식별하는 빌드 릴리즈 필드(build release field)를 더 포함하고, 상기 방법은 상기 빌드 릴리즈 필드에서 설명된 상기 소프트웨어 버전이 상기 장치에 의해 최종 이용되는 소프트웨어 버전과 다른 지의 여부를 결정하는 단계(b1)와, 단계(b1)의 결과가 긍정적이면 상기 다운로드 단계(c)를 실행하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  8. 제 1항에 있어서,
    상기 소프트웨어는 장치 운용 소프트웨어인, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  9. 제 1항에 있어서,
    상기 헤더는 상기 소프트웨어 유효성을 결정하기 위한 체크섬(checksum)을 더 포함하고, 상기 방법은,
    (d) 상기 체크섬을 이용하여 상기 소프트웨어에 대한 에러 식별을 수행하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  10. 제 9항에 있어서,
    (e) 상기 체크섬을 이용하여 상기 소프트웨어의 에러를 정정하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  11. 제 1항에 있어서,
    상기 단계(a)는 상기 타겟 식별 필드가 다운로딩된 직후 실행되는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  12. 제 1항에 있어서,
    상기 단계(b)는 상기 하드웨어 클래스 필드가 다운로딩된 직후 실행되는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  13. 제 1항에 있어서,
    상기 헤더는 체크섬을 포함하고,
    (d) 단계(c)의 다운로드 후, 상기 체크섬을 이용하여 상기 헤더 및 상기 소프트웨어에 대해 에러 분석을 수행하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  14. 제 13항에 있어서,
    상기 에러 분석은 에러 식별을 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  15. 상기 제 13항에 있어서,
    상기 에러 분석은 에러 식별과 정정을 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  16. 제 1항에 있어서,
    상기 헤더는 상기 소프트웨어 기능을 나타내는 소프트웨어 타입 식별자를 포함하고, 상기 방법은,
    (d) 상기 장치에서, 상기 표시된 소프트웨어 타입이 상기 장치에 적용 가능한 지의 여부를 결정하는 단계와;
    (e) 단계(d)에 응답하여 상기 소프트웨어를 다운로딩하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  17. 제 1항에 있어서,
    상기 헤더는 소프트웨어 버전값을 포함하고, 상기 방법은,
    (d) 상기 장치에서, 상기 소프트웨어 버전이 상기 장치에 의해 요구되는 지의 여부를 결정하는 단계와;
    (e) 단계(d)에 응답하여 상기 소프트웨어를 다운로딩하는 단계를 더 포함하는, 장치로 다운로드될 소프트웨어가 그 장치에 대한 정확하고 유효한 소프트웨어 인지의 여부를 결정하기 위한 방법.
  18. 장치를 위한 소프트웨어가 다운로드되는 지의 여부를 결정하고 또한 상기 소프트웨어가 그 장치에 대한 정확한 소프트웨어인지의 여부를 결정하고 또한 상기 소프트웨어가 유효한 지의 여부를 결정하기 위한 방법으로서, 상기 장치는 장치 타입, 벤더(vendor) 식별, 및 하드웨어 클래스를 포함한 하드웨어 식별자를 구비하고, 상기 소프트웨어에 선행하는 코드 부분은 제 1 체크섬, 제 2 체크섬, 타켓 식별 필드 , 소프트웨어 식별 필드, 소프트웨어 릴리즈 필드, 벤더 식별 필드 및 하드웨어 클래스 필드를 포함하고, 상기 방법은,
    (a) 상기 타겟 식별 필드가 상기 장치 타입과 일치하는 지의 여부를 결정하는 단계와;
    (b) 상기 소프트웨어 식별 필드가 상기 장치에 적합한 소프트웨어 타입을 나타내는 지의 여부를 결정하는 단계와;
    (c) 상기 소프트웨어 버전이 상기 장치에 대해 적합한 지의 여부를 결정하는 단계와;
    (d) 상기 벤더 식별 필드가 상기 장치의 상기 벤더 식별과 일치하는 지의 여부를 결정하는 단계와;
    (e) 상기 하드웨어 클래스 필드가 상기 장치의 상기 하드웨어 클래스와 일치하는 지의 여부를 결정하는 단계와;
    (f) 상기 단계들(a) 내지 (e)에 응답하여 상기 소프트웨어를 다운로드하는 단계와;
    (g) 상기 제 1 체크섬을 이용하여 상기 다운로드된 소프트웨어에 대해 에러 식별을 수행하는 단계와;
    (h) 상기 제 2 체크섬을 이용하여 상기 다운로드된 소프트웨어와 상기 선행 코드 부분에 대한 에러 식별을 수행하는 단계를 포함하는, 결정방법.
  19. 제조 물품에 있어서,
    장치로 다운로드될 소프트웨어가 그 장치에 대한 정확한 소프트웨어인 지의 여부를 결정하기 위해 내부에 포함된 컴퓨터-판독가능 프로그램 코드를 가진 컴퓨터-판독가능 매체로서, 상기 장치는 장치 타입과 장치 클래스를 포함하는 하드웨어 식별자를 포함하고, 소프트웨어에 선행하는 헤더는 타겟 식별 필드와 하드웨어 클래스 필드를 포함하고, 상기 제조 물품은,
    (a) 상기 하드웨어 클래스 필드가 상기 하드웨어 식별자의 상기 장치 클래스 부분과 매칭하는 지의 여부를 컴퓨터가 결정하게 하도록 구성된 컴퓨터-판독가능 프로그램 코드와;
    (b) 컴퓨터가 상기 소프트웨어를 다운로드하도록 구성된 컴퓨터-판독가능 프로그램을 포함하는, 제조 물품.
  20. 장치에 다운로드될 소프트웨어가 그 장치에 대한 정확한 소프트웨어인 지의 여부를 결정하는 장치로서, 그 장치는 장치 타입과 장치 클래스를 포함하는 하드웨어 식별자를 구비하고 상기 소프트웨어에 선행하는 헤더가 타겟 식별 필드와 하드웨어 클래스 필드를 포함하고, 상기 장치는,
    (a) 상기 타겟 식별 필드가 상기 하드웨어 식별자의 상기 장치 타입 부분과 매칭하는 지의 여부를 결정하기 위한 제 1 비교기와;
    (b) 상기 하드웨어 클래스 필드가 상기 하드웨어 식별자의 상기 장치 클래스 부분과 매칭하는 지의 여부를 결정하기 위한 제 2 비교기와;
    (c) 상기 타겟 식별 필드가 상기 하드웨어 식별자의 상기 장치 타입 부분과 매칭하고 상기 하드웨어 클래스 필드가 상기 하드웨어의 상기 장치 클래스 부분에 매칭할 때 상기 제 1 및 제 2 비교기들에 응답하여 상기 소프트웨어를 다운로딩하기 위한 제어기를 포함하는, 장치에 다운로드될 소프트웨어가 그 장치에 대해 정정한 소프트웨어인 지의 여부를 결정하는 장치.
KR1020037006719A 2000-11-17 2001-10-26 네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법 KR100582437B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71536600A 2000-11-17 2000-11-17
US09/715,366 2000-11-17
PCT/US2001/050124 WO2002041525A1 (en) 2000-11-17 2001-10-26 Method and apparatus for determining the correct operating software version for a network device

Publications (2)

Publication Number Publication Date
KR20040067837A KR20040067837A (ko) 2004-07-30
KR100582437B1 true KR100582437B1 (ko) 2006-05-23

Family

ID=24873736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037006719A KR100582437B1 (ko) 2000-11-17 2001-10-26 네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법

Country Status (5)

Country Link
EP (1) EP1350343A4 (ko)
KR (1) KR100582437B1 (ko)
AU (1) AU2002232790A1 (ko)
CA (1) CA2429043A1 (ko)
WO (1) WO2002041525A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1681033A (zh) * 2004-04-06 2005-10-12 皇家飞利浦电子股份有限公司 光盘播放系统的纠错机制
US20080313310A1 (en) * 2007-06-15 2008-12-18 Sony Ericsson Mobile Communications Ab Method for Distributing Programs over a Communication Network
US10110594B2 (en) * 2013-09-04 2018-10-23 Hewlett-Packard Development Company, L.P. Header section download of package

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5745568A (en) * 1995-09-15 1998-04-28 Dell Usa, L.P. Method of securing CD-ROM data for retrieval by one machine
JP3671543B2 (ja) * 1996-09-10 2005-07-13 ソニー株式会社 データ伝送方法、データ送信装置、データ受信装置のパラメータ設定方法、データ受信装置及びデータ伝送システム
JP3896625B2 (ja) * 1997-03-07 2007-03-22 ソニー株式会社 データ送信装置、データ受信装置、データ送信方法およびデータ受信方法
US6263497B1 (en) * 1997-07-31 2001-07-17 Matsushita Electric Industrial Co., Ltd. Remote maintenance method and remote maintenance apparatus
GB0017479D0 (en) * 2000-07-18 2000-08-30 Bit Arts Ltd Transaction verification

Also Published As

Publication number Publication date
WO2002041525A1 (en) 2002-05-23
EP1350343A4 (en) 2007-06-20
KR20040067837A (ko) 2004-07-30
EP1350343A1 (en) 2003-10-08
CA2429043A1 (en) 2002-05-23
AU2002232790A1 (en) 2002-05-27

Similar Documents

Publication Publication Date Title
KR100959968B1 (ko) 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증
CA2568743C (en) Customer premise equipment device-specific access-limiting for a cable modem and a customer premise equipment device
US6598057B1 (en) Method and apparatus for generating configuration files using policy descriptions
US20040073902A1 (en) Firmware upgrade method for network device through digital subscriber line
TW472489B (en) Method and system for identifying and downloading appropriate software or firmware specific to a particular model of set-top box in a cable television system
KR20020039119A (ko) 케이블 모뎀의 컨피그레이션 파일 다운로드 장치 및 방법
US7542757B2 (en) Method, system, and computer program product for over-the-air download to satellite radio
US20020144284A1 (en) Reliability enhancement for cable modem service
US20050038880A1 (en) System and method for provisioning a provisionable network device with a dynamically generated boot file using a server
CN101635783A (zh) 一种电视软件的升级方法
US11153267B2 (en) Using dynamic host control protocol (DHCP) and a special file format to convey quality of service (QOS) and service information to customer equipment
KR100582437B1 (ko) 네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법
WO2002048897A1 (en) Method and apparatus for selecting a download software image for a cable modem
CA2619558A1 (en) Method and apparatus for configuring a device from a network
US20020108120A1 (en) System and method for tuning to an in-band channel and for identification via return-path
Cisco Catalyst Stack Release Note Software Version 1.1.4
Cisco Catalyst Stack Release Note Software Version 1.1.4
CN102045698B (zh) 一种获取终端信息的方法及装置
KR100763183B1 (ko) Ip셋탑박스의 애플리케이션 관리시스템 및 방법
KR20080076337A (ko) 소프트웨어 업그레이드 방법, 장치 및 시스템
KR20030031734A (ko) 케이블모뎀의 케이블모뎀 소프트웨어 및 부트롬업그레이드 방법
Kim et al. Automatic Remote Firmware Upgrade Algorithm through Internet for DOCSIS Cable Modems
Treece et al. DOCSIS Firmware Management Challenges

Legal Events

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

Payment date: 20090409

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee