KR20060058770A - 네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한방법 - Google Patents

네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한방법 Download PDF

Info

Publication number
KR20060058770A
KR20060058770A KR1020057024701A KR20057024701A KR20060058770A KR 20060058770 A KR20060058770 A KR 20060058770A KR 1020057024701 A KR1020057024701 A KR 1020057024701A KR 20057024701 A KR20057024701 A KR 20057024701A KR 20060058770 A KR20060058770 A KR 20060058770A
Authority
KR
South Korea
Prior art keywords
software
network
equipment
monitoring
firmware
Prior art date
Application number
KR1020057024701A
Other languages
English (en)
Other versions
KR101082940B1 (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 KR20060058770A publication Critical patent/KR20060058770A/ko
Application granted granted Critical
Publication of KR101082940B1 publication Critical patent/KR101082940B1/ko

Links

Images

Classifications

    • 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/1417Boot up procedures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 근거리 네트워크에 연결하기 위한 네트워크 장비와, 이러한 장비의 시작을 모니터링하기 위한 방법에 관한 것이다.
이러한 장비는 소프트웨어(5, 6, 7) 저장용 영구 메모리(4)를 포함하며, 유리하게는 또한:
- 상기 네트워크에 연결하기 위한 통신 수단(8, 9)과,
- 소프트웨어 장애(failure)를 검출하기 위해 상기 장비의 시작을 모니터링하기 위한 수단(10)과,
- 네트워크 상에서 장애를 검출함에 응답하여 소프트웨어 장애 신호를 생성하기 위한 수단(10)을 포함하며, 여기서, 상기 통지는 상기 적어도 하나의 소프트웨어 서버에 의해 수신하기 위해 네트워크 상에서 배포된다.

Description

네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한 방법{NETWORK EQUIPMENT AND A METHOD FOR MONITORING THE START UP OF A SUCH AN EQUIPMENT}
본 발명은 네트워크 장비 및 이러한 장비의 소프트웨어 시작(software start up)을 모니터링하기 위한 방법에 관한 것이다.
DSL 모뎀, 브릿지 또는 라우터나 이들의 조합과 같은 독립형 네트워크 장비가 예컨대, 근거리 네트워크를 인터넷과 같은 액세스 네트워크와 인터페이스하는데 사용된다.
보통, 독립형 장비는 판독전용 메모리(ROM) 및/또는 전기적으로 소거 가능한 프로그램 가능 판독전용 메모리(EEPROM)와 같은 영구 메모리를 포함한다. 이러한 메모리는, 장비 구성 파라미터, 부팅 소프트웨어 및 펌웨어와 같이 장비의 시작을 개시하고, 장비를 실행하는데 필요한 데이터 및 소프트웨어를 특히 포함한다.
이들 장비의 시작을 보장하기 위해, 일부 독립형 장비는 앞서 언급한 아이템, 즉 장비 구성 파라미터, 부팅 소프트웨어 및 펌웨어 중 일부의 두 개의 복사본을 포함하고 있다. 그러나, 일부 모뎀은 이들 데이터의 하나의 복사본을 포함하기에 충분할 정도로만 큰 영구 메모리를 가지고 있을 수 있다.
이 경우, 만약 이들 데이터가 손상된다면, 영구 메모리가 새로운 유효 펌웨 어나, 구성이나, 부팅 프로그램을 복구할 때까지, 장비는 적절하게 기능하는 것을 멈춘다.
이러한 상황은 예컨대 모뎀이 적절한 서버로부터 업그레이드된 소프트웨어를 다운로드할 경우에 발생할 수 있다. 영구 메모리가 소프트웨어의 단 하나의 복사본만을 보유할 수 있으므로, 구형 소프트웨어는 업데이트된 소프트웨어가 완전히 레코딩되기 이전에 소거된다. 만약 연결이 끊기거나, 다운로드 도중 장비의 전원이 차단된다면, 소프트웨어는 손상된다.
또한, 장비가 전원 공급 단계 동안에 일시정지하게 되거나, 소프트웨어나 하드웨어의 디폴트로 인해 자동으로 재부팅하는 경우가 발생할 수 도 있다.
그러한 경우, 장비는 일반적으로 적절히 기능하는 것을 멈추고, 문제의 상태를 LED 지시자를 사용하여 최종 사용자에게 통지한다.
모뎀이 업데이트된 동작 코드를 전화선을 거쳐서 호스트 개인용 컴퓨터에 다운로드하게 하고, 호스트 개인용 컴퓨터로부터 직렬 포트를 거쳐서 모뎀의 메모리를 재프로그래밍하는 방법을 예컨대 미국특허(제 US6,526,092호)로부터 알 수 있다. 이러한 방법은 사용자 제어 아래에 있다.
본 발명은, 적어도 하나의 소프트웨어 서버를 포함하는 근거리 네트워크에 연결하기 위한 네트워크 장비로서, 소프트웨어 저장용 영구 메모리를 포함하는 네트워크 장비를 제안하고 있으며, 이러한 장비는,
- 상기 네트워크에 연결하기 위한 통신 수단과,
- 소프트웨어 장애(failure)를 검출하기 위해 장비의 시작을 모니터링하기 위한 수단과,
- 상기 모니터링 수단에 의해 장애를 검출함에 응답하여 소프트웨어 장애 신호를 생성하고, 장애에 대한 통지를 네트워크 상에 자동으로 전송하기 위한 수단을 포함하며, 여기서, 상기 통지는 상기 적어도 하나의 소프트웨어 서버에 의해 수신하기 위해 네트워크 상에서 배포되는 것을 특징으로 한다.
따라서, 사용자는, 서버가 사용자의 개입이 필요함을 결정하지 않는다면, 장애 정정 프로세스에 개입할 필요가 없다. 바람직하게는, 서버는 장애유형을 분석하고, 정정 동작을 자동으로 수행하기 위한 애플리케이션을 포함한다.
특히, 본 발명의 바람직한 실시예에 따라, 장애가 소프트웨어 시작 장애일 때, 장애 신호를 생성하기 위한 수단은 소프트웨어 서버로부터 메모리 수단 내에 대체 소프트웨어를 자동 다운로드할 것을 요청하도록 적응된다.
그에 따라, 이러한 장비의 영구 메모리는 단지 하나의 소프트웨어 복사본만을 보유하기만하면 되며, 소프트웨어 또는 데이터의 두 복사본을 보유한 장비와 동일한 로버스트니스(robustness) 수준을 갖는다.
유리하게도, 소프트웨어 다운로드는 어떠한 지연도 없이 수행된다.
본 발명은 또한 소프트웨어 저장용 영구 메모리와 적어도 하나의 소프트웨어 서버를 포함한 네트워크에 연결하기 위한 통신 수단을 포함하는 네트워크 장비의 소프트웨어 시작을 모니터링하기 위한 방법을 제안하며, 이러한 방법은 다음의 단계, 즉:
- 소프트웨어 시작 장애를 검출하기 위해 장비의 소프트웨어 시작을 모니터링하는 단계와,
- 소프트웨어 시작 장애를 검출함에 응답하여, 소프트웨어 시작 장애 신호를 생성하는 단계와,
- 상기 적어도 하나의 소프트웨어 서버에 의해 수신하기 위해, 상기 소프트웨어 시작 장애 신호를 네트워크 상에서 자동으로 방송하는 단계를 포함한다.
본 발명의 교훈은 본 발명의 다음의 상세한 설명(비제한적임)을 고려하면 쉽게 이해될 수 있다.
도 1은 본 실시예에 따른 네트워크 장비를 포함하는 시스템의 블록도.
도 2는 도 1의 시스템에서 사용하기에 적절하고, 본 실시예의 원리에 따르는 처리 방법의 개략적인 흐름도.
도 3은 도 2에 예시된 방법을 좀더 상세하게 예시한 개략적인 흐름도.
도 1은 본 발명에 따른 독립형 장비(1)를 병합하고 있는 시스템의 블록도를 도시한다.
이 네트워크 장비(1)는 데이터 전송 통신을 처리할 수 있는 임의의 디바이스이다. 이러한 장비는 예컨대 DSL 유형 모뎀이나 또 다른 독립형 네트워크 장비일 수 있다. 이러한 장비는 근거리 네트워크(2)에 연결되며, 네트워크(2)는 또한 장애 처리 애플리케이션(미도시)을 구비한 디바이스 및/또는 서버(3)에 연결된다.
네트워크 장비(1)는 전기적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)와 같은 영구적인 온 보드(on board) 메모리 수단(4)이 제공된다. 이 영구 메모리는 다수의 아이템을 보유하고 있다. 본 실시예에 따라, 이 메모리는 특히, 장비의 시작 및 작동하는데 필요한, 예컨대 장비 구성 파라미터(5), 부팅 소프트웨어(6), 펌웨어(7)와 같은 데이터 및 소프트웨어 프로그램을 저장한다.
장비 구성 파라미터(5)는 특히 모뎀의 일련번호 및 네트워크 주소를 포함하는 파라미터 세트이다.
펌웨어(7)는 애플리케이션 레벨 소프트웨어에 의해 소거될 수 없는, 즉 특정한 보호수단을 구비한 메모리에 기록된 임의의 소프트웨어이다. 본 실시예에서, 펌웨어는 예컨대 모뎀의 운영체계를 포함한다. 비록, 다음의 설명에서, 펌웨어는 다운로드에 의해 전세계적으로 대체될 수 있지만, 펌웨어는 별도의(distinct) 아이템을 포함할 수 있으며, 본 발명은 대용량 다운로드로 제한되기보다는 개별 아이템의 테스트 및 다운로드로도 확장된다.
사실, 독립형 장비(1)는 다른 프로그램을 실행시키는 마이크로프로세서와 비-영구 메모리와 같은 데이터 처리 유닛을 또한 포함하며, 이러한 유닛은 명료성을 이유로 도시되어 있지는 않다. 실행하기 이전에, 영구 메모리에 저장된 소프트웨어가 비-영구 메모리(예컨대, RAM)에 복사된다.
독립형 장비는 또한 온 보드 메모리 수단(4) 및 네트워크(2)에 연결된 네트워크 통신 수단(9) 사이에서 또한 데이터 전송 모듈(8)을 포함한다.
이 전송 모듈(8)은 서버(3)와 장비(1) 사이에서 근거리 네트워크(2)를 통해 정보를 교환하기 위해 예컨대 표준 부트스트랩 프로토콜(BOOTP) 및 파일 전송 프로토콜(TFTP)을 사용할 수 있다. 장비는 본 실시예에 따라 DSL 모뎀이므로, 장비는 또한 그 DSL 기능을 실행하기 위해 대응하는 PSTN 인터페이스 및 관련 회로를 포함한다. 이들 아이템 자체는 잘 알려져 있으며, 도 1에 도시되어 있지 않다.
모듈(8 및 10)은 하드웨어적으로 구현될 수 있거나, 비-영구 메모리로부터 마이크로프로세서에 의해 실행되는 소프트웨어 모듈일 수 도 있다.
본 발명에 따라, 독립형 장비(1)는 장비의 소프트웨어의 시작을 제어할 수 있는 모니터링 수단(10)을 또한 포함한다.
이들 모니터링 수단(10)은 특히, 펌웨어(7)의 유효성, 존재 및 정확한 시작과, 구성 데이터(5)의 유효성을 체크한다. 영구 메모리 내에 있는 부팅 소프트웨어 복사본에 대한 체크가 또한 가능하지만, 더 상세하게는 논의하지 않을 것이다.
특히, 시작 프로세스 동안에 어떤 문제가 있는 경우에, 이들 모니터링 수단(10)은 펌웨어 시작 장애 신호를 생성하며, 이러한 신호는 전송 모듈(8)과 통신 수단(9)에 의해 데이터 전송 네트워크(2)를 거쳐 소프트웨어 서버(3)에 송신된다.
소프트웨어 서버(3)에게 통지된 이러한 장애 신호는 서버에 의해 대체 펌웨어 다운로드의 BOOTP 요청에 관련된다. 이러한 장애 신호를 전송하는데 사용된 BOOTP 프로토콜의 프레임부분은 다운로드될 소프트웨어의 종류나 적절한 장애 신호를 명시한다. 이러한 프레임 부분은 예컨대 BOOTP 프로토콜의 "벤더 특정 옵션 필드(vendor specific optional field)"일 수 있다.
데이터 전송 네트워크(2) 내에서의 애플리케이션, 예시적으로는 소프트웨어 서버(3)는 데이터베이스를 보관하며, 이러한 데이터베이스에는 프로그램 코드 및 대체 소프트웨어 및/또는 구성 데이터가 저장되어있다고 가정한다.
이러한 BOOTP 요청에 응답하여, 이 서버(3)는 전송 모듈(8) 및 통신 수단(9)의 TFTP 프로토콜을 사용하여 대체 소프트웨어를 네트워크 장비에 네트워크(2)를 거쳐서 송신한다.
실제로, BOOTP 메시지는 장비의 많은 장애 상태를 포함하며, 후술될 프로세스를 따른다. 근거리 네트워크 상의 또 다른 디바이스는 이들 상태를 번역하고, 전형적으로는 대체 소프트웨어 다운로드를 포함하는 정확한 동작을 결정하지만, 또한 장애 정보를 사용자에게 통지하는 동작도 포함할 수 있다.
유리하게, 모니터링 수단(8)은 버튼(11)에 또한 관련될 수 있고, 버튼(11)은 네트워크 상에서 펌웨어 및/또는 부팅 소프트웨어 다운로드 요청을 트리거하기 위해 사용자에 의해 수동으로 동작될 수 있다.
바람직하게, 보이거나 소리가 나는 알람(12)이 시작 장애를 사용자에게 통지하기 위해 모니터링 수단(10)에 연결된다.
도 2는 본 실시예에 따른 독립형 장비(1)의 시작 프로세스의 간략화한 버전을 예시한 흐름도를 도시한다. 도시된 단계는 예컨대 메모리(4) 내의 펌웨어와 같은 소프트웨어의 유효성 및 존재를 테스트하는 것에 관련된다.
독립형 장비(1)의 전원 공급{단계(20)} 시에, 모니터링 수단(10)은 장비(1)의 시작에 필요한 펌웨어에 관한 펌웨어 테스트 단계(21)를 개시한다. 만약 이 테스트 단계 도중에 어떠한 문제도 검출되지 않는다면, 모니터링 수단(10)은, 단계 (22)에서, 펌웨어가 온 보드 메모리 수단(4)에 저장되는지를 체크한다.
만약 펌웨어가 손실되어 있다면, 모니터링 수단(10)은 소프트웨어 시작 장애 신호(F)를 생성하고, 장비(1)를 재부팅한다.
단계(23)에서, 만약 테스트 단계(21)가 성공적으로 실행되지 않는다면, 모니터링 수단(10)은 전송 모듈(8)의 BOOTP 프로토콜 및 통신 수단(9)을 사용하여 전송 네트워크(2)를 거쳐서 소프트웨어 서버(3)로부터 대체 펌웨어의 다운로드를 요청한다.
단계(24)에서, 소프트웨어 서버(3)는 전송 모듈(8)과 통신 수단(9)의 TFTP 프로토콜을 사용하여 전송 네트워크(2)를 거쳐서 대체 펌웨어를 다운로드한다.
단계(25)에서, 모니터링 수단(10)은 다운로드의 정확도를 제어한다. 예컨대, 다운로드가 중단되었을 때, 모니터링 수단(10)은 (장애 유형의 식별을 포함하는) 특정 펌웨어 장애 신호(F)를 생성하고, 장비(1)를 재부팅하여, 새로운 다운로드가 개시될 수 있게 한다.
만약 테스트가 정확히 실행된다면, 모니터링 수단(10)은 단계(26) 동안에 펌웨어를 로드하고, 시작 장애 플래그 및 타이머를 시작 시간 제한을 결정하기 위해 세팅한다. 이러한 플래그는, 그 시작을 적절히 실행한 경우에 펌웨어에 의해 리셋된다. 만약 시작 시간 한계에 도달했어도, 소프트웨어 시작이 완료되지 않으면, 플래그는 또한 세팅되고, 모니터링 수단(10)은 (상기 제 1 장애 유형과는 다른 장애 유형의 식별을 또한 포함하는) 소프트웨어 시작 장애 신호(F)를 생성하고, 장비(1)를 재부팅한다. 그렇지 않다면, 단계(27)에서, 소프트웨어 시작이 적절히 수행될 때, 소프트웨어 시작 플래그를 리셋하고, 어떠한 장애 신호도 생성되지 않는다.
유리하게, 본 실시예에 따라, 네트워크 장비(1)는, 펌웨어 시작 장애 시나 펌웨어가 없는 경우에, 대체 소프트웨어의 자동 요청 및 자동 다운로드를 제공한다. 따라서, 예컨대, 시작 장애는 자동으로 수리되며, 사용자는 장애의 존재를 결코 통지하지 않는다.
상세하게, 도 3의 블록도는 본 실시예에 따른 독립형 장비의 시작 방법의 상세한 사항을 도시한다.
이 방법은 단계(30)에서 시작하며, 이때, 전원 공급 상태가 네트워크 장비에 대해서 개시된다. 도 3의 방법은 잘 알려진 BOOTP 및 TFTP 프로토콜을 사용하여, 모니터링 수단(10)에 의해 수행된다.
단계(31)에서, 초기 테스트가 수행된다. 전형적으로, 모니터링 수단(10)은 영구 메모리(4)의 이용 가능성 및 비 영구 메모리의 적절한 동작을 체크한다.
단계(32)에서, 유리하게 및 본 발명에 따라, 장비 구성 장애가 있는지의 여부나, 최종 사용자가 작동 버튼(11)을 눌러 소프트웨어 다운로드를 요청했는지에 대한 여부가 결정된다.
이들 상황 중 하나가 발생하면, 모니터링 수단(10)은 단계(33)로 건너뛰어, 온 보드 메모리 수단(4)에 저장된 구성 데이터의 유효성을 제어한다.
장비 구성(5)은 흔히 서명이나 체크섬에 의해 보안이 유지된다. 이러한 서명이나 체크섬은 장비(1)의 온 보드 메모리 수단(4)에 등록된다. 장비 구성의 유효성을 제어하는 종래의 손쉬운 방법은, 그 체크섬을 재계산하고, 이것을 등록된 체크 섬과 비교하는 것이다. 불일치한다면, 장비 구성(5)은 더 이상 유효하지 않다. 그 경우, 모니터링 수단(10)은 대응하는 장애 플래그(34)를 셋업한다.
유리하게, 이러한 플래그(34)는 맞닥뜨린 장애의 유형에 대한 정보를 전달하도록 인코딩된다. 상기 경우에, 장애 플래그(34)는 장비 구성 장애의 존재를 지시하는 정보 상태를 포함한다.
구성 데이터의 유형에 따라, 구성 데이터 장애는 다운로드를 거쳐서 정정될 수 도 있고, 그렇지 않을 수 도 있다. 정정될 수 없는 경우, 장비가 발급한 BOOTP 메시지는 다른 네트워크 디바이스에 의해, 이 장비가 더 이상 사용될 수 없으며 사용불가(dead)인 것으로 간주될 것임을 지시하도록 해석된다.
만약 구성이 단계(33)에서 유효하다면, 이것은 최종 사용자가 버튼(11)을 눌러 펌웨어의 다운로드를 트리거했음을 의미한다. 따라서, 모니터링 수단(10)은 또한 소프트웨어 시작 장애 플래그(35)를 세팅한다. 이러한 장애 플래그(35)는 사용자가 펌웨어 다운로드를 요청했음을 명시한다.
만약 어떠한 다운로드도 요청되지 않았고, 장비의 구성에 문제가 없을 때, 모니터링 수단(10)은, 단계(32) 이후, 단계(36) 동안에 온 보드 메모리 수단(4)에 등록된 펌웨어 문제(7)의 유효성을 체크한다.
이렇게 체크하는 간단한 방식은, 그 검증 패턴(FVP: Flash Verification Pattern)의 존재 및 유효성을 제어하는 것이다. 이러한 검증 패턴은 소프트웨어나 데이터의 완전성을 체크하는 종래의 수단이다. 펌웨어가 영구 메모리(4)에 성공적으로 레코딩될 때, 검증 패턴이 계산되고, 또한 메모리(4)에 기록된다. 장비가 펌 웨어를 저장하는 동안에 전원 장애나 또 다른 문제를 겪게 됨이 틀림없다면, 본 펌웨어에 대응하는 검증 패턴은 저장되지도 않고, 틀린 것도 아니다.
그러므로, 단계(36)에서, 모니터링 수단(10)은 펌웨어 검증 패턴의 도움으로 펌웨어의 유효성을 체크한다. 만약 이 패턴이 유효하지 않다면, 장애 플래그(37)가 세팅된다. 다른 테스트 단계에 대해서는, 이 특정한 장애 플래그는 그 장애의 속성을 지시한다.
단계(38)에서, 모니터링 수단(10)은 장애 플래그(34, 35, 37)의 세팅을 체크한다. 만약 적어도 하나의 플래그가 세팅된다면, 모니터링 수단(10)은 전송 모듈(8)의 BOOTP 프로토콜과 통신 수단(9)을 사용하여 장애 신호를 서버(3)에 전송 네트워크(2)를 거처서 자동으로 전송할 것이다. 이러한 메시지는 장애 플래그 상태를 포함한다.
소프트웨어 서버(3)의 애플리케이션과 같이, 네트워크 디바이스와 함께 묶어판매되는(bundled with) 애플리케이션은 이들 신호를 청취하고, 장애 상태 정보를 해석한다. 이러한 정보를 해석한 이후, 이들 애플리케이션은, 바람직하게 어떠한 최종 사용자의 개입도 없이, 네트워크 장비(1)로의 펌웨어 다운로드를 시작하는 것 및/또는 문제를 사용자에게 통지하는 것 중 적어도 하나를 포함하는 동작을 결정한다. 예컨대, 치명적인 구성 장애가 발생할 경우에, 이러한 장애는 결코 정정될 수 없을 것이므로, 사용자에게 통지된다. 또한, 다운로드가 특정한 횟수의 재시도 이후에 정확히 실행되지 않는 경우에도 사용자에게 통지될 수 있다. 시도용 카운터가 이러한 용도로 구현될 수 있으며, 이러한 카운터는 예컨대 펌웨어 다운로드와 같은 것을 요청하는 각 BOOTP 메시지이후에 적절하게 증분한다.
상세하게, 전송 모듈(8)은 모니터링 수단(10)에 의해 네트워크 상에 전송된 적절한 BOOTP 프로토콜 메시지의 "벤더 옵션 특정 필드"에 문제 상태를 지시한다. 이 필드는 애플리케이션에 특정한 제약이나 추가 클라이언트 정보를 통신하기 위해 사용되도록 표준화되어 있다.
다시 말해, 이 메시지는 바람직하게는 네트워크 상에서 배포되고, 상세하게는 미리 결정된 서버에 배포되지 않는다. 네트워크 상의 디바이스 중 임의의 한 디바이스는, 만약 이 디바이스가 메시지를 청취하고 분석하여, 이에 응답할 적절한 애플리케이션을 구비하고 있다면, 서버 역할을 할 수 있다.
다운로드 한 이후, 대체 소프트웨어가 영구적인 온 보드 메모리 수단(4)에 저장된다. 이 단계는 참조번호(39)이다.
단계(40)에서, 모니터링 수단(10)은 대체 소프트웨어가 어떠한 중단없이 다운로드되고 정확히 레코딩되었는지를 점검한다.
다운로드된 소프트웨어가 펌웨어일 때, 단계(41)에서, 데이터 처리 유닛은 대체 펌웨어를 체크하고, 그 FVP를 계산하여, 메모리(4)에 레코딩한다.
대체 소프트웨어가 손상되거나, 부정확하게 다운로드되거나, 레코딩된다면, 모니터링 수단(10)은 대응하는 장애 플래그(42)를 세팅한다. 그러면, 독립형 장비(1)가 재부팅된다. 물론, 플래그는, 재부팅 프로세스에 의해 영향을 받지 않도록 저장된다. 단계(31)에서, 디바이스는 플래그(42)가 세팅되는지의 여부를 테스트하고, 대응하는 BOOTP 메시지를 전송하여 펌웨어 다운로드를 요청한다.
단계(43)에서, 만약 어떠한 장애 플래그도 단계(38)에서 검출되지 않았다면, 모니터링 수단(10)은 온 보드 메모리 수단(4)에서 펌웨어의 존재를 점검한다. 이러한 존재를 체크하는데 이용 가능한 다양한 방법이 있다. 예컨대, 펌웨어의 존재는 펌웨어 코드의 고정 위치에서 명시된 식별 코드의 검출을 통해 체크될 수 있다. 다른 방법이 또한 본 발명에 따라 사용될 수 있다.
만약 어떠한 소프트웨어도 등록되지 않는다면, 모니터링 수단(10)은 장애 플래그(44)를 세팅하고, 모뎀은 단계(30)에서 재부팅되어 상기 세팅된 플래그를 기초로 해서 이러한 장애를 처리한다.
만약 단계(41)나 단계(43)가 어떠한 문제 없이도 수행된다면, 단계(46)에서 펌웨어를 로드 및 시작하기 이전에, 모니터링 수단(10)은 단계(45)에서 시작 플래그를 세팅하고, 시작 타이머를 트리거한다.
성공적인 시작 이후, 시작 플래그가 펌웨어에 의해 리셋되어, 성공적으로 시작하였음을 확인한다. 만약 시작이 시작 시간이 경과하기 이전에 실행되지 않는다면, 모니터링 수단(10)은 문제 플래그(48)를 세팅하고, 단계(30)에서 장비를 재부팅하여 대응하는 장애를 처리한다.
요약하면, 도 3의 방법은 5가지의 문제 상태를 한정한다:
- 소프트웨어적( 펌웨어) 시작 에러: 펌웨어가 시작 동안에 일시정지하거나, 정확히 시작하지 않고 재부팅함;
- 무효 구성;
- 실패한 소프트웨어(펌웨어) 다운로드(예컨대, 다운로드 프로세스의 중단);
- 소프트웨어의 부재;
- 다운로드된 소프트웨어의 영구 메모리로의 기록 실패(검증 패턴 부정확함).
다른 상태가 소프트웨어의 다운로드를 트리거할 수 있다:
- 디바이스의 기계적인 버튼을 사용자가 눌러서 펌웨어 다운로드를 요청했음;
- 펌웨어가 네트워크에 걸쳐서 요청을 수신하여 펌웨어 업데이트를 실행함.
플래그는 부팅 프로세스의 시작시에, 또는 부팅을 수행하는 동안에 모니터링 수단에 의해 체크된다. 다운로드가 명시적으로 요청될 수 있거나, 다운로드에 대한 결정이 디바이스의 메시지를 청취하는 애플리케이션에 넘겨져야 한다.
본 발명은 여기서 개시한 바람직한 실시예로 제한되지 않는다. 특히, 임의의 종류의 소프트웨어나 데이터가 다운로드될 수 있다. 이러한 프로세스는 또한 TFTP 및 BOOTP 프로토콜과는 다른 프로토콜을 통해 실행될 수 있다.
상술한 바와 같이, 본 발명은 네트워크 장비 및 이러한 장비의 소프트웨어 시작(software start up)을 모니터링하기 위한 방법에 이용된다.

Claims (18)

  1. 적어도 하나의 소프트웨어 서버를 포함하는 근거리 네트워크에 연결하기 위한 네트워크 장비로서, 소프트웨어(5, 6, 7) 저장용 영구 메모리(4)를 포함하는, 네트워크 장비에 있어서,
    - 상기 네트워크에 연결하기 위한 통신 수단(8, 9)과,
    - 소프트웨어 장애(failure)를 검출하기 위해 상기 장비의 시작을 모니터링하기 위한 수단(10)과,
    - 상기 모니터링 수단에 의해 장애를 검출함에 응답하여 소프트웨어 장애 신호를 생성하고, 장애에 대한 통지를 네트워크 상에 자동으로 전송하기 위한 수단(10)을 포함하며,
    여기서, 상기 통지는 상기 적어도 하나의 소프트웨어 서버에 의해 수신하기 위해 네트워크 상에서 배포되는 것을
    특징으로 하는, 네트워크 장비.
  2. 제 1항에 있어서, 상기 장애 신호는,
    - 상기 장애의 속성과,
    - 다운로드될 대체 소프트웨어의 식별정보와,
    - 상기 영구 메모리에 현재 저장된 소프트웨어의 버전의 식별 정보 중 적어도 하나를 명시하는 정보를 포함하는 것을 특징으로 하는, 네트워크 장비.
  3. 제 1항 또는 제 2항에 있어서, 상기 소프트웨어는
    - 부팅 프로그램(6)과,
    - 구성 데이터(5)와,
    - 펌웨어(7) 중 적어도 하나를 포함하는 것을 특징으로 하는, 네트워크 장비.
  4. 제 3항에 있어서, 상기 소프트웨어가 펌웨어를 포함하며, 시작을 모니터링하기 위한 상기 수단(10)은:
    - 현재 펌웨어 검증 패턴의 유효성을 체크(36)하기 위한 수단(10)과,
    - 이러한 검증 패턴이 유효하지 않을 때, 특정한 소프트웨어 시작 장애 신호(37)를 생성(39)하기 위한 수단(10)을 포함하는 것을 특징으로 하는, 네트워크 장비.
  5. 제 1항에 있어서, 시작을 모니터링하기 위한 상기 수단(10)은:
    - 현재의 소프트웨어의 체크섬(checksum)을 계산(33)하기 위한 수단과,
    - 이렇게 계산된 체크섬을 이전에 저장된 체크섬과 비교(33)하기 위한 수단과,
    - 이렇게 계산된 체크섬이 상기 저장된 체크섬과 동일하지 않을 때, 상기 소프트웨어 시작 장애 신호(34)를 생성(39)하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  6. 제 3항에 있어서, 상기 메모리는 펌웨어를 포함하고, 시작을 모니터링하기 위한 상기 수단(10)은:
    - 상기 메모리 수단(4)에 펌웨어의 존재를 체크(43)하기 위한 수단과,
    - 어떠한 펌웨어도 상기 메모리(4)에 저장되지 않을 때, 독립형 장비를 재부팅(30)하기 위한 수단과,
    - 어떠한 펌웨어도 상기 메모리 수단(4)에 저장되지 않을 때, 소프트웨어 시작 장애 신호(44)를 생성(39)하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서, 시작을 모니터링하기 위한 상기 수단(10)은:
    - 상기 메모리(4)에서 대체 소프트웨어의 다운로드를 체크(40)하기 위한 수단과,
    - 상기 장비를 재부팅(30)하기 위한 수단과, 상기 다운로드 동안에 문제가 검출될 때, 소프트웨어 시작 장애 신호(42)를 생성하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  8. 제 3항, 제 4항 또는 제 7항 중 어느 한 항에 있어서, 상기 소프트웨어는 펌 웨어를 포함하고, 상기 장비는:
    - 대체 펌웨어(7)가 상기 메모리에 적절히 레코딩될 때, 다운로드된 상기 대체 펌웨어에 대응하는 대체 펌웨어 검증 패턴(17)을 상기 메모리(4)에 기록(41)하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  9. 제 1항 내지 제 8항 중 어느 한 항에 있어서, 시작을 모니터링하기 위한 상기 수단(10)은:
    - 소프트웨어의 로드 프로세스를 체크(46)하기 위한 수단과,
    - 상기 로드 프로세스 동안에 문제가 나타날 때, 독립형 장비를 재부팅(30)하기 위한 수단과, 소프트웨어 시작 장애 신호(48)를 생성하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서, 소프트웨어 시작을 모니터링하기 위한 상기 수단(10)은:
    - 시작 시간 한계를 결정하기 위한 타이머와,
    - 상기 소프트웨어 시작(45)을 개시하기 위한 수단으로서, 상기 소프트웨어는 상기 시작의 완료 이후 상기 모니터링 수단에 대한 시작 종료 지시로 적응되는, 수단과,
    - 만약 상기 소프트웨어 시작이 상기 시간 한계가 종료하기 이전에 완료되지 않는다면, 소프트웨어 시작 장애 신호(48)를 생성하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  11. 제 1항 내지 제 10항 중 어느 한 항에 있어서, 사용자가 대체 소프트웨어의 다운로드를 수동으로 요청할 수 있게 하기 위해 상기 모니터링 수단(10)에 연결된 사용자 동작 가능 수단(11)을 더 포함하는 것을 특징으로 하는, 네트워크 장비.
  12. 제 1항 내지 제 11항 중 어느 한 항에 있어서, 시작 장애를 사용자에게 통지하기 위해 상기 모니터링 수단(10)에 연결된 알람(12)을 더 포함하는 것을 특징으로 하는, 네트워크 장비.
  13. 제 1항 내지 제 12항 중 어느 한 항에 있어서, 소프트웨어 시작 장애 신호를 생성하기 위한 상기 수단(10)은:
    - 장애 플래그의 세팅을 체크(38)하기 위한 수단과,
    - 세팅된 장애 플래그의 검출에 응답하여 상기 소프트웨어 장애 신호를 생성(39)하고, 상기 신호를 네트워크 상에 송신하기 위한 수단을 포함하는 것을 특징으로 하는, 네트워크 장비.
  14. 제 2항과 연계한 제 1항 내지 제 13항 중 어느 한 항에 있어서, 상기 장애의 속성 지시는 일련의 상태 플래그를 포함하는, 네트워크 장비.
  15. 제 14항에 있어서, 상기 통지는 상기 영구 메모리에 현재 저장된 소프트웨어의 버전의 식별정보를 더 포함하는, 네트워크 장비.
  16. 소프트웨어(5, 6, 7) 저장용 영구 메모리(4)와 적어도 하나의 소프트웨어 서버(3)를 포함한 네트워크(2)에 연결하기 위한 통신 수단(8, 9)을 포함하는 네트워크 장비의 소프트웨어 시작을 모니터링하기 위한 방법으로서,
    - 소프트웨어 시작 장애를 검출하기 위해 상기 장비의 소프트웨어 시작을 모니터링하는 단계(32, 33, 36, 38, 40, 43, 46)와,
    - 소프트웨어 시작 장애를 검출함에 응답하여, 소프트웨어 시작 장애 신호(34, 35, 37, 42, 44, 48)를 생성하는 단계와,
    - 상기 적어도 하나의 소프트웨어 서버에 의해 수신하기 위해, 상기 소프트웨어 장애 신호를 네트워크(2) 상에서 자동으로 배포하는 단계(39)를,
    포함하는, 네트워크 장비의 소프트웨어 시작을 모니터링하기 위한 방법.
  17. 제 16항에 있어서, 상기 소프트웨어 장애 신호는 상기 메모리(4)에 대체 소프트웨어를 다운로드하기 위해 상기 적어도 하나의 소프트웨어 서버에 대한 요청(39)을 포함하는, 네트워크 장비의 소프트웨어 시작을 모니터링하기 위한 방법.
  18. 제 16항에 있어서, 상기 소프트웨어 장애 신호는 상기 적어도 하나의 서버에 의한 분석을 위해 상기 장애의 식별 정보를 포함하는, 네트워크 장비의 소프트웨어 시작을 모니터링하기 위한 방법.
KR1020057024701A 2003-06-30 2004-06-25 네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한 방법 KR101082940B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03447177A EP1494119A1 (en) 2003-06-30 2003-06-30 Network equipment and a method for monitoring the start up of a such an equipment
EP03447177.1 2003-06-30
PCT/EP2004/006976 WO2005003974A2 (en) 2003-06-30 2004-06-25 Network equipment and a method for monitoring the start up of a such an equipment

Publications (2)

Publication Number Publication Date
KR20060058770A true KR20060058770A (ko) 2006-05-30
KR101082940B1 KR101082940B1 (ko) 2011-11-11

Family

ID=33427304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057024701A KR101082940B1 (ko) 2003-06-30 2004-06-25 네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한 방법

Country Status (8)

Country Link
US (1) US7805637B2 (ko)
EP (2) EP1494119A1 (ko)
JP (1) JP4680896B2 (ko)
KR (1) KR101082940B1 (ko)
CN (1) CN100419698C (ko)
BR (1) BRPI0412151A (ko)
MX (1) MXPA05014131A (ko)
WO (1) WO2005003974A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720943B2 (en) * 2004-07-26 2010-05-18 Centillium Communications, Inc. Communication device for obtaining an application image or configuration from a service provider
JP4929726B2 (ja) * 2005-03-07 2012-05-09 富士ゼロックス株式会社 画像処理システム
FR2888353A1 (fr) * 2005-07-11 2007-01-12 Thomson Licensing Sas Soc Par Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede
US8166156B2 (en) * 2006-11-30 2012-04-24 Nokia Corporation Failure differentiation and recovery in distributed systems
CN101329631B (zh) * 2007-06-21 2011-03-16 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
US8421637B2 (en) 2007-07-13 2013-04-16 Cradlepoint, Inc. Multipurpose indicator lights
TW201033808A (en) * 2009-03-10 2010-09-16 Vivotek Inc System recovery method and embedded system with auto-recovery function
CN102314421B (zh) * 2010-06-29 2014-12-10 中兴通讯股份有限公司 一种文件系统被破坏后的自救方法和设备
CN103299275B (zh) 2010-11-29 2017-03-15 汤姆逊许可公司 用于区别冷启动和热启动的方法和设备
US9753797B1 (en) * 2011-08-26 2017-09-05 Amazon Technologies, Inc. Reliable intermediate multicast communications
CN103309768B (zh) * 2012-03-16 2015-03-11 腾讯科技(深圳)有限公司 系统文件修复方法和装置
CN103067034B (zh) * 2012-12-31 2015-01-21 广州杰赛科技股份有限公司 一种可监控led发布系统的3g模块
US9088574B2 (en) * 2013-07-18 2015-07-21 International Business Machines Corporation Subscriber identity module-based authentication of a wireless device and applications stored thereon
US9888087B2 (en) 2014-03-31 2018-02-06 Uber Technologies, Inc. Adjusting attributes for an on-demand service system based on real-time information
TWI541724B (zh) * 2014-07-22 2016-07-11 技嘉科技股份有限公司 寫入基本輸入輸出系統程式碼的電路與寫入方法
US9575837B2 (en) 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
CN105450466B (zh) * 2015-11-10 2018-11-02 浪潮(北京)电子信息产业有限公司 一种icmp请求报文保活控制方法及系统
US10341361B2 (en) * 2017-06-05 2019-07-02 Hewlett Packard Enterprise Development Lp Transmitting secure information
JP2019096243A (ja) * 2017-11-28 2019-06-20 ルネサスエレクトロニクス株式会社 半導体装置及びその故障検出方法
CN110297455B (zh) * 2018-03-23 2022-08-12 欧姆龙(上海)有限公司 可编程逻辑控制器及其自检和恢复方法
CN110532130A (zh) * 2018-05-23 2019-12-03 中兴通讯股份有限公司 软件故障恢复方法、设备及计算机可读存储介质
US10802821B2 (en) * 2018-07-24 2020-10-13 Vmware, Inc. Firmware management
CN109522171A (zh) * 2018-11-27 2019-03-26 西安数拓网络科技有限公司 一种故障诊断方法及系统
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
CN111309388B (zh) * 2020-02-03 2023-07-21 杭州迪普科技股份有限公司 设备的系统软件版本的自动回滚系统及其方法
WO2021163829A1 (en) * 2020-02-17 2021-08-26 Arris Enterprises Llc Systems and methods for narrowing the scope of a problem when a modem is bricked

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732268A (en) * 1996-02-26 1998-03-24 Award Software International Extended BIOS adapted to establish remote communication for diagnostics and repair
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
EP0825537A1 (en) * 1996-07-23 1998-02-25 Hewlett-Packard Company Error indication for a storage system with removable media
JPH10149317A (ja) * 1996-11-20 1998-06-02 Nec Corp 情報処理装置
JP2000515286A (ja) * 1997-05-30 2000-11-14 コーニンクレッカ、フィリップス、エレクトロニクス、エヌ、ヴィ セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6138249A (en) * 1997-12-11 2000-10-24 Emc Corporation Method and apparatus for monitoring computer systems during manufacturing, testing and in the field
JP2000020425A (ja) * 1998-07-01 2000-01-21 Toyo Commun Equip Co Ltd 通信網における端末装置の記憶内容の更新方法
US6421777B1 (en) * 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6622246B1 (en) 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US7523181B2 (en) * 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20020095619A1 (en) * 2001-01-17 2002-07-18 Marsh Edward Thomas Fault tolerant/redundant boot ROM reprogramming
US6826710B2 (en) * 2001-01-25 2004-11-30 Dell Products L.P. System and method for providing a fault-resilient boot
US6901536B2 (en) * 2001-05-24 2005-05-31 Microsoft Corporation Service quality monitoring system and method
KR100440950B1 (ko) 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US7080141B1 (en) * 2002-04-12 2006-07-18 Cisco Technology, Inc. Arrangement for automated fault detection and fault resolution of a network device
US7398382B2 (en) * 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency
US20060179476A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation Data security regulatory rule compliance

Also Published As

Publication number Publication date
CN1809816A (zh) 2006-07-26
US7805637B2 (en) 2010-09-28
EP1639468A2 (en) 2006-03-29
EP1494119A1 (en) 2005-01-05
JP2009514042A (ja) 2009-04-02
JP4680896B2 (ja) 2011-05-11
EP1639468B1 (en) 2017-03-29
WO2005003974A2 (en) 2005-01-13
CN100419698C (zh) 2008-09-17
MXPA05014131A (es) 2006-04-07
KR101082940B1 (ko) 2011-11-11
BRPI0412151A (pt) 2006-08-22
WO2005003974A3 (en) 2005-12-22
US20060156140A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
KR101082940B1 (ko) 네트워크 장비 및 이러한 장비의 시작을 모니터링하기 위한 방법
EP1142309B1 (en) Method and apparatus for operating system downloads in a set-top box environment
TWI386847B (zh) 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
CN106325929B (zh) 一种固件升级方法、固件升级装置、冰箱和服务端
US8930931B2 (en) Information processing apparatus using updated firmware and system setting method
US7941658B2 (en) Computer system and method for updating program code
CN101329631B (zh) 一种嵌入式系统自动检测和恢复启动的方法及装置
EP1052571A2 (en) A method and apparatus for downloading software into an embedded-system
US7761733B2 (en) Image-processing system, image-processing method, and computer readable storage medium
CN102667716A (zh) 使用固件更新应用程序更新部件的固件的方法及装置
CN105045671A (zh) 一种智能终端的系统升级方法及装置
WO2000079390A1 (en) Updating microprocessor boot software
CN116932010B (zh) 系统固件升级方法、装置及服务器
CN113806811A (zh) 一种被篡改固件自动恢复方法、装置及存储介质
CN115061704A (zh) 一种固件升级方法和电子设备
CN114237722A (zh) 一种系统的启动方法、装置、设备及工程车辆
JP2002007171A (ja) Prom切替制御システム
CN113986268A (zh) 远程软件更新的初始化方法、远程软件更新方法和装置
KR20070101724A (ko) 네트워크 시스템에서 이중화 부팅 장치 및 방법
JP2004054421A (ja) メモリ、情報処理装置、記憶方法および情報処理方法
TWI607379B (zh) Remote maintenance terminal device method, terminal device to be repaired, recording medium and program product
KR20060065078A (ko) 시스템의 펌웨어 업-데이트 방법 및 장치
CN112988188A (zh) 一种应用于汽车方向盘转角传感器的软件升级方法
CN117675576A (zh) 一种服务器固件升级方法、装置、服务器及电子设备
CN116483409A (zh) 一种远程固件更新的方法、系统、电子设备及存储介质

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161017

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 8