KR101033966B1 - Usb 연결을 통한 소프트웨어 업그레이드 - Google Patents

Usb 연결을 통한 소프트웨어 업그레이드 Download PDF

Info

Publication number
KR101033966B1
KR101033966B1 KR1020030076188A KR20030076188A KR101033966B1 KR 101033966 B1 KR101033966 B1 KR 101033966B1 KR 1020030076188 A KR1020030076188 A KR 1020030076188A KR 20030076188 A KR20030076188 A KR 20030076188A KR 101033966 B1 KR101033966 B1 KR 101033966B1
Authority
KR
South Korea
Prior art keywords
usb
code
protocol stack
interface
ethernet
Prior art date
Application number
KR1020030076188A
Other languages
English (en)
Other versions
KR20040042820A (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 KR20040042820A publication Critical patent/KR20040042820A/ko
Application granted granted Critical
Publication of KR101033966B1 publication Critical patent/KR101033966B1/ko

Links

Images

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 정상 동작시 완전한 프로토콜 스택 코드(a complete protocol stack code)로 동작할 수 있는 인터페이스를 가지며, 디바이스를 부팅하기 위한 코드를 포함하는 플래시 메모리와 같은 불휘발성 메모리를 포함하는, 모뎀과 같은 전자 디바이스에 관한 것이다. 이 디바이스는 상기 디바이스의 소프트웨어가 상기 인터페이스를 통해 상기 디바이스의 부팅 동작 동안에 업그레이드될 수 있으며, 상기 부팅 코드(boot code)가 상기 인터페이스를 위한 경량(lightweight) 프로토콜 스택 코드를 포함하며, 상기 경량 프로토콜 스택이 완전한 프로토콜 스택 레이어의 서브셋을 포함하는 것을 특징으로 한다.

Description

USB 연결을 통한 소프트웨어 업그레이드{SOFTWARE UPGRADE OVER A USB CONNECTION}
도 1은 본 발명에 따른 모뎀 시스템의 메인 하드웨어 구성요소의 블록도.
도 2는 본 발명의 방법에 따라 모뎀 시스템을 부팅하기 위한 프로세스의 흐름도.
도 3은 본 발명의 실시예에 따라 시스템에 사용되는 프로토콜 스택의 블록도.
도 4는 본 발명의 방법에 따른 부팅 동작 동안에 모뎀 디바이스와 컴퓨터 사이의 통신 프로세스를 예시한 도면.
도 5는 본 발명에 따른 모뎀 디바이스의 플래시 메모리에 있는 다양한 소프트웨어 구성요소를 도시하는 도면.
도 6은 본 발명에 따른 방법을 사용하여 USB를 통해 소프트웨어 업그레이드를 구현하는 컴퓨터 및 모뎀을 포함하는 시스템을 예시한 블록도.
도 7은 본 발명에 따른 모뎀으로서, 이더넷 인터페이스를 통해 제 1 PC와 연결되며, USB 인터페이스를 통해 제 2 PC에 연결되는 모뎀을 예시한 블록도.
<도면 주요 부분에 대한 부호의 설명>
1: ADSL 모뎀 디바이스 3: 전화선 인터페이스
4: 메인 제어기 5: SDRAM
6: EPROM 7: 이더넷 인터페이스
8: 내부 전원 9: 표준 전원 플러그
본 발명은 정상 동작시 완전한 프로토콜 스택 코드를 통해 동작할 수 있는 인터페이스를 가지며, 디바이스를 부팅하기 위한 코드를 포함하는 플래시 메모리와 같은 불휘발성 메모리를 포함하는, 모뎀과 같은 전자 디바이스에 관한 것이다.
현재, 소프트웨어 업그레이드, 전자 디바이스를 위한 버그 픽스(bug fixes) 등을 사용자에게 분배하는 몇 가지 메커니즘이 있다. 기술자가 디바이스가 업그레이드를 필요로 하는 장소로 이동하여, 업그레이드가 필요한 메모리부를 교체하는 것이 우선적으로 실행할 수 있는 것이다.
풀 작업 모드 동안에 좀더 효과적인 소프트웨어 업그레이드가 또한 이미 알려져 있고, 예컨대 범용 직렬 버스(USB)를 통해 이뤄질 수 있다. 알려진 하나의 방법에 따라, 소프트웨어 업그레이드가 풀 작업 소프트웨어 상에서 수행되며, 여기서 새 소프트웨어가 먼저 SDRAM에 다운로드되고, 후속하여 플래시 메모리에 다운로드된다. 그러나, 이것은 만약 플래시 메모리로 다운로드하는 동안 어떤 실패가 있게되면 디바이스가 작동할 수 없게 되는 위험을 수반한다.
또한, 이더넷 인터페이스를 통해 부팅 동작 동안 파일을 다운로드하는 것이 이미 알려져 있다. 이 해결책에 따라, 플래시 메모리는 플래시 메모리의 최상부에 전형적으로는 내주하며 플래시 프로그래밍 툴에 의해 여기서 프로그램되는 부팅 코드를 포함한다. 이 부팅 코드는 디바이스 기판에 전원이 공급될 때 시작되며, 이더넷 인터페이스를 통해 파일을 다운로드하는데 사용된다. 이를 위해, 부팅 코드는 이더넷 포트를 통해 BOOTP 요청을 전송하기 위한 Bootstrap 프로토콜(BOOTP)과, 이더넷 포트를 통해 파일을 다운로드하기 위한 간이 파일 전송 프로토콜(TFTP: Trivial File Transfer Protocol)을 포함한다. 이러한 디바이스에는 USB가 제공될 수 있으며, 여기서 USB 프로토콜 스택 코드는 전형적으로 동작 소프트웨어(operational software)에서 이용 가능하지만, 이 USB 코드의 크기가 너무 커서 예컨대 4Mb의 전형적인 크기를 갖는 플래시 메모리에 놓일 수 없기 때문에 부팅 코드에서 이용 가능하지 않다. 그러므로, 부팅 동작 동안에 USB를 통해 소프트웨어를 업그레이드하는 것이 불가능하다.
본 발명의 목적은 부팅 동작 동안에 더 넓은 업그레이드 옵션을 제공하는 디바이스, 시스템 및 방법을 제공하는 것이다.
본 발명은 정상 동작시 전체 프로토콜 스택 코드를 통해 동작할 수 있는 인터페이스를 가지며, 디바이스를 부팅하기 위한 코드를 포함하는 플래시 메모리와 같은 불휘발성 메모리를 포함하는 모뎀과 같은 전자 디바이스를 제공하며, 여기서 상기 디바이스의 소프트웨어는 상기 인터페이스를 통해 상기 디바이스의 부팅 동작 동안에 업그레이드될 수 있으며, 상기 부팅 코드는 상기 인터페이스를 위한 경량의 프로토콜 스택 코드를 포함하고, 상기 경량 프로토콜 스택은 완전한 프로토콜 스택 레이어의 서브셋을 포함한다.
디바이스가 정상적으로 동작할 때, 완전한 프로토콜 스택 코드는 이 인터페이스의 모든 동작을 제어하고, 이 인터페이스와 관련된 모든 프로토콜을 관리하기 위한 동작 소프트웨어에 전형적으로 이용 가능하다. 전형적인 인터페이스로 예컨대, USB, USB2 또는 방화벽(Firewall)이 있다. 더 넓은 업그레이드 옵션을 제공하기 위해, 본 발명에 따른 디바이스는, 이 디바이스의 소프트웨어가 또한 이러한 유형의 인터페이스를 통해 부팅 동작 동안에 업그레이드될 수 있는 방식으로 구성된다.
완전한 프로토콜 스택 코드는 보통 많은 양의 메모리를 차지하며, 플래시 메모리에 있는 부팅 코드에 적합하지 않을 것이다. 디바이스 가격 측면에서, 플래시 메모리의 크기를 제한하는 것이 바람직하다. 그러므로, 본 발명의 추가적인 목적은 불휘발성 메모리에 있는 관련 부팅 코드의 크기를 작게 유지하는 것이다. 이 목적은 부팅 동작 동안에 인터페이스를 관리하기 위한 경량의 프로토콜 스택 코드만을 포함하는 부팅 코드를 사용함으로써 달성된다.
본 발명의 추가적인 실시예에 따라, 부팅 코드는 상기 인터페이스를 검출하기 위한 제어 코드와, 상기 인터페이스를 통해 송신 및 수신하기 위한 프로토콜 관리 코드를 포함한다. 이러한 부팅 코드는 이 인터페이스를 통해 데이터를 전송하게 하며, 이러한 데이터는 이 디바이스의 소프트웨어를 업그레이드하기 위해 디바이스의 메모리에 놓일 수 있다.
본 발명의 바람직한 실시예에서, 인터페이스는 USB 인터페이스이다. 상대적으로 큰 프로토콜 스택인 완전한 USB 프로토콜 스택은 전형적으로 동작 소프트웨어에서 이용 가능한 반면, 부팅 코드는 경량의 프로토콜 스택만을 사용함으로써 작게 유지되는데, 즉 메모리 크기가 감소된다.
본 발명의 추가적인 목적은 정상 동작시에 완전한 프로토콜 스택 코드를 통해 동작할 수 있는 USB 인터페이스를 갖는 모뎀과 같은 전자 디바이스에 관한 것이며, 여기서 상기 디바이스의 소프트웨어는 상기 USB 인터페이스를 통해 상기 디바이스의 부팅 동작 동안에 업그레이드될 수 있다.
따라서, 본 발명의 또 다른 양상에서, 상기 부팅 코드는 상기 완전한 프로토콜 스택 코드의 USB 매핑부 상에 이더넷을 포함한다. 이 부분은 광역 네트워크(WAN: Wide Area Network)를 통해 통신하는데 필요한 AAL5/ATM/USB(ATM: Asynchronous Transfer Mode; AAL: ATM Adaption Layer) 매핑을 지원하지 않는다. 다시 말해, 특정한 레이어가 제거된다. 그러나, 이 부분은 BOOTP 요청을 적어도 USB 포트를 통해 전자 디바이스에 연결된 컴퓨터와 같은 적절한 디바이스에 성공적으로 송신케 할 수 있게 하는 필요한 인캡슐레이션(encapsulation)을 보장한다. 좀더 상세하게, BOOTP, 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol) 및 인터넷 프로토콜(IP)은 BOOTP/UDP/IP가 이더넷으로 인캡슐레이션되게 하는 부팅 동작 동안에 사용된다. 더나아가, USB를 통한 이 이더넷 프로토콜 스택은 완전한 스택에 비해 경량의 프로토콜 스택이며, 그러므로 부팅 코드를 더 작게 한다.
따라서, 본 발명의 추가적인 양상에서, 제 2 메모리는 광역 네트워크(WAN)를 통해 통신하기 위해 완전한 USB 프로토콜 스택 코드를 포함한다. 이 코드는 정상 동작 동안 광역 네트워크(WAN)를 통해 통신하는데 필요한 AAL5/ATM/USB 매핑을 지원한다.
바람직한 실시예에서, 모뎀은 이더넷 인터페이스를 더 포함하며, 여기서 부팅 코드는 부팅 동작 동안에 상기 이더넷 인터페이스를 통해 송신 및 수신하기 위한 코드를 포함한다. 이것은 USB 인터페이스나 이더넷 인터페이스 중 어느 하나를 통해 모뎀의 소프트웨어 업그레이드를 가능케 한다.
본 발명은 또한 상술한 실시예중 임의의 실시예에 따라 전자 디바이스에 파일을 다운로드하기 위한 것으로 상기 인터페이스를 위해 드라이버가 제공된 컴퓨터와 상기 디바이스를 포함하는 시스템에 관한 것이며, 여기서 상기 컴퓨터는 상기 인터페이스를 통해 상기 디바이스에 연결되며, 여기서 상기 원격 컴퓨터는 상기 디바이스와 통신하며 다운로드될 파일을 제공하기 위한 실행 가능한 프로그램 코드를 포함한다. USB 인터페이스의 경우, USB 드라이버는 컴퓨터 내에서 USB 하드웨어를 제어하며, 컴퓨터 상의 소프트웨어는 프로그램 인터페이스 세트를 통해 이 드라이버와 통신할 수 있다.
이 실행 가능한 프로그램 코드는 일반적으로 일련의 대화 상자를 사용하여 절차 내내 단계적으로 사용자를 안내하는 프로그램인 업그레이드 위저드 프로그램(upgrade wizard program)으로 PC 상에 나타난다.
만약 전자 디바이스가 USB와 이더넷 인터페이스를 포함한다면, 업그레이드 위저드 프로그램은 USB 또는 이더넷 포트 둘 모두를 통해서 업그레이드할 수 있을 것이다.
보통 컴퓨터인 USB 호스트와 USB 디바이스 사이의 기본적인 통신 프리미티브primitives)는 파이프 및 엔드포인트(endpoints)(EP)이다. 엔드포인트는 USB 호스트와 USB 디바이스 내의 어떤 기능 사이의 논리적인 송신 경로이다. 엔드포인트는 보통 데이터를 한 방향으로만 전송하기 위해 존재하며, 이들은 파이프와 같은 좀더 진보된 통신 경로에 사용된다.
본 발명에 따른 시스템의 특정한 실시예에 따라, 프레임이 USB 디바이스로 전송되고 및 USB 디바이스로부터 전송되게 하기 위해 USB 인터페이스의 엔드포인트(EP)(4 및 5) 각각에서 연결이 수립된다. 엔드포인트는 특정한 프로토콜을 사용하는 것과 관련되며, EP4 및 EP5의 선택은 부팅 동작 동안에 사용되는 경량의 프로토콜과 관련된다.
이러한 연결을 가능케 하기 위해, 부팅 코드는 제어에 사용되는 EP0, 벌크(bulk) 모드에서 소프트웨어 다운로드 인터페이스로 사용되는 EP4 및 벌크 모드에서 승인 인터페이스로 사용되는 EP5를 지원한다. 다른 엔드포인트는 부팅 동작 동안에 디스에이블되며, EP4 및 EP5 이외의 엔드포인트 상의 모든 트래픽은 폐기된다.
본 발명은 또한 USB 연결이 제공된 전자 디바이스의 메모리부로 파일을 다운로드하기 위한 방법을 제공하며, 이 방법은,
- 하나 이상의 컴퓨터에 상기 파일을 저장하는 단계로서, 적어도 하나의 컴퓨터에는 USB 인터페이스가 제공되는, 파일 저장 단계와;
- 적어도 상기 범용 직렬 버스(USB)를 통해 상기 디바이스를 하나 이상의 컴퓨터에 연결하는 단계와;
- 완전한 USB 프로토콜 스택에 비해 감소한 USB 프로토콜 스택을 사용하여 상기 USB 인터페이스를 통해 적어도 하나의 부팅 요청을 상기 디바이스로부터 상기 하나 이상의 컴퓨터로 전송하는 단계와;
- 상기 하나 이상의 컴퓨터로부터 상기 디바이스로 적어도 하나의 부팅 응답을 전송하는 단계와;
- 상기 디바이스로부터 상기 하나 이상의 컴퓨터 중 하나로 파일 전송 요청을 전송하는 단계와;
- 상기 하나의 컴퓨터로부터 상기 디바이스로 상기 저장된 파일을 전송하는 단계를 포함한다.
본 방법의 바람직한 양상에 따라, 상기 부팅 요청 및 부팅 응답은 BOOTP 프로토콜을 사용한다. 상기 파일 전송 요청 및 상기 저장된 파일의 전송은 간이 파일 전송 프로토콜(TFTP)을 사용하여 바람직하게는 수행된다. 일단 파일이 디바이스의 메모리부에 저장되면, 다운로드되는 파일의 유형에 따라서, 그 파일로부터 부팅을 하는 것이 유리할 수 있다.
본 방법의 특정한 실시예에서, 전자 디바이스는 또한 이더넷 연결을 통해 적어도 하나의 컴퓨터에 연결된다. 그 경우, 부팅 요청은 USB 및 이더넷 인터페이스 둘 모두에 전송된다. 제 1 가능성에 따라, 이 파일 전송은 부팅 응답을 먼저 수신하는 인터페이스를 통해서 수립된다. 또 다른 가능성에 따라, 디바이스는 USB 인터 페이스를 통해 연결된 컴퓨터 및 이더넷 인터페이스를 통해 연결된 컴퓨터로부터 수신된 부팅 응답 둘 모두를 조사할 것이다. 예컨대, 전송되는 파일의 중요도 및 버전에 따라, 디바이스는 컴퓨터 중 어느 하나에 우선권을 부여할 수 있다.
본 발명의 추가적인 특성 및 장점은 수반된 도면을 참조하여 예시된 본 발명의 바람직한 실시예에 대한 다음의 상세한 설명으로부터 분명해질 것이다.
도 1을 참조하면, 본 발명의 모뎀 디바이스(1)의 메인 하드웨어 구성요소의 개략도가 제공되어 있다. 이 하드웨어 구조는 전화선과 하나 이상의 컴퓨터 사이에 링크를 형성한다. 전화선 인터페이스(3)는 전형적으로 RJ-11 커넥터를 사용하여 DSL 종료(termination) 인터페이스이다.
ADSL 모뎀 디바이스(1)는 아날로그선 인터페이스를 종료시키고, 메인 제어기(4)로부터의 디지털 데이터를 아날로그 대역통과 신호로 변환하기 위한 주문형 집적회로(ASIC) 및 아날로그 프런트-엔드(front-end)를 포함하는 제 1 블록(2)을 더 포함하며, 그러한 ASIC는 ADSL ASIC으로 지칭될 것이다. 아날로그 프런트-엔드 모듈은 기존 전화 서비스(POTS) 신호를 필터링하고 ADSL 신호를 통과시키는 고역 통과 필터와; 업스트림 신호와 다운스트림 신호 사이를 분할하기 위해 2-선/4선 변환 또는 그 역을 수행하는 예컨대 수동 네트워크와 같은 하이브리드(hybrid)와; 업스트림 라인 드라이버와; 다운스트림 수신기 필터로 구성된다. ADSL ASIC은 아날로그/디지털(A/D) 및 D/A 변환을 제공한다.
메인 제어기(4)는 대체로 디지털 ADSL 모뎀 ASIC, 이더넷-ATM 어댑터 및 마 이크로프로세서를 포함한다.
디지털 ADSL 모뎀 ASIC은 DMT(Digital MultiTone) 변조 접근법을 사용하여 이더넷 또는 USB 인터페이스로부터 유래된 신호를 변조하고, 이들을 ADSL ASIC에 전달하거나 ADSL ASIC으로부터 이들 신호가 전달되게 하는 신호 변조기/복조기를 포함한다.
제어기는 동기식 다이내믹 랜덤 액세스 메모리(SDRAM)(5)와 플래시 전기 프로그램 가능 리드-온리 메모리(EPROM)(6)로 구성된 관련 메모리 풀(pool)을 가지며, 이러한 EPROM(6)은 블록 단위로 소거되거나 재프로그램될 수 있는 불휘발성 메모리이다. 플래시 EPROM의 크기는 전형적으로 2Mb이며, 8Mb까지 확장될 수 있다. 전형적으로 8Mb 크기를 갖는 SDRAM은 예컨대 32bits 폭을 갖는 버스를 통해 메인 제어기와 통신한다. 플래시 EPROM은 전형적으로 16bits 액세스를 가능케 한다.
이더넷 인터페이스(7)는 전용 인터페이스를 통해 제어기에 연결된다. 이더넷 인터페이스(7)는 전형적으로 RJ-45 커넥터를 갖는 10/100BaseT 인터페이스이다.
전용 USB 집적회로를 포함하는 USB 인터페이스(11)는 16 비트폭 데이터-버스 및 1 비트폭 어드레스 버스로 예컨대 구성되는 병렬 인터페이스를 통해서 메인 제어기(4)에 연결된다.
이 디바이스에는 내부 전원(8)에 연결된 표준 전원 플러그(9)가 더 제공된다. 전원은 그 출력단에서 예컨대 12V, 3.3V 및 1.8V인 복수의 전압을 제공한다. 이들 공급 전압은 하드웨어 구성요소에 필요한 전력을 제공한다.
더나아가, 이 디바이스는 보통 디바이스의 다양한 하드웨어 구성요소의 동작 을 표시하기 위해 LED(Light-Emitting Diodes: 발광 다이오드)와 같은 복수의 시각적 표시기(미도시)를 포함한다.
모뎀의 정상 동작 동안에, 디바이스는 다음과 같이 기능한다. ADSL 신호는 전화선으로부터 수신되어, AAL5로 인캡슐레이트된 특정 가상 채널 및 가상 경로 조합을 갖는 표준 ATM 셀로 변환된다. 이들 조합은, 인입 트래픽이 동작 및 보수(maintenance) 트래픽으로 구성되는지( 그러한 경우에, 이것은 내장 프로세서에 의해 라우팅되고 처리됨), 또는 그렇지 않고 USB나 이더넷 중 어느 하나로 변경되지 않고 전송될 브리지 이더넷 프레임으로 구성되는지, 또는 그렇지 않고 USB나 이더넷으로 전달될 라우팅 IP 패킷으로 구성되는지를 결정한다.
도 2는 모뎀 시스템을 부팅하기 위한 프로세스의 흐름도를 도시한다. 기판에 전원이 공급될 때, 제어기는 내부 ROM으로부터 코드를 실행하기 시작하며, 그러자마자, 플래시 메모리의 부팅 코드 시작 주소로 점프하며, 이 주소는 기판 지원 패키지(BSP)의 진입 포인트이다. 이제, 제어기는 BSP를 실행하기 시작한다.
부팅 코드와 함께 아직까지 실행되지 않은 BSP 부분은 SDRAM에 복사되며, 그런 다음 글로벌 변수(global variable) 및 초기 데이터가 복사된다. 프로그램 카운터는 SDRAM의 코드로 세팅되며, 제어기는 실행하기 시작한다. BSP가 그 초기화를 완료할 때, 프로그램은 부팅 코드의 진입 포인트로 점프한다.
이제, BOOTP 요청 메시지가 전송되고 BOOTP 응답 타이머가 가동되기 시작한다. 이 메시지의 내용 및 사용된 프로토콜 스택이 도 3 및 도 4를 참조하여 상세하게 기술될 것이다. 이 후에, 디바이스는 응답을 대기하고 있다.
종료 또는 무효 응답의 경우, 새로운 요청이 화살표(16)로 표시된 바와 같이 전송된다. 이러한 재전송이 발생할 수 있는 횟수는 예컨대 종료 또는 무효 응답의 경우 재시도 횟수를 명시하는 요청 파라미터에 의존한다. 유효 응답 메시지가 수신된 경우, IP 주소가 세팅되고, 이 응답 메시지의 내용이 검사 블록(17)에 도시된 바와 같이 검사된다.
응답 메시지가 파일이름을 포함할 때, 프로세스의 다음 단계는 블록(18)에서 도시된 간이 파일 전송 프로토콜(TFTP)을 사용하는 파일 다운로드이다. 이것은 이하에서 좀더 상세하게 기술될 바와 같이 데이터 패킷이 호스트 컴퓨터로부터 SDRAM으로 송신됨을 의미한다.
매 다운로드시, 전송된 파일의 파일 헤더가 검사된다. 파일은 예컨대 다음의 포맷을 갖는다:
4 0 1 2 3

파일 포맷 식별자
목적지 시작 주소
데이터 필드의 순환 중복 검사합(checksum)
기판 유형 태그 영역 크기
태그 코드 값...(n 바이트)
... ...
파일 데이터(실제 데이터)
...
표 1의 매 행은 4바이트를 나타낸다. 파일 헤더의 처음 4 바이트는 예컨대 BLI1(Boot Loader Image Version one)을 포함하는 파일 포맷 식별자를 나타낸다.
파일 목적지가 SDRAM 또는 플래시 메모리의 목적지 시작 주소를 포함하는 후 속하는 4 바이트에서 볼 수 있다.
태그(Tag) 코드는 옵션이며, 모든 유형의 정보를 포함할 수 있고 예컨대 파일로부터 부팅하는데 사용되는 주소, 파일 데이터의 총 크기 등을 명시할 수 있다.
여전히 도 2를 참조하면, 목적지에 따라서, 데이터는 참조번호(22)로 지시된 바와 같이 SDRAM에 남던가 플래시 메모리에 플래시(flash)되던가 할 것이다. 후자의 경우, 플래시 검증 패턴을 포함하는 목적지 영역은 소거되고, 데이터가 기록되며, 이때 기록된 데이터는 예컨대 전송된 파일의 파일 헤더(도 1 참조)에 존재하는 순환 중복 검사(CRC: Cyclic Redundancy Check)를 다시 검사하고 비교함으로써 검사된다. 만약 모뎀에 의해 생성된 검사 데이터가 전송된 검사 데이터와 동일하다면, 플래시 검증 패턴이 기록된다. 만약 이들이 동일하지 않다면, 라인(24)으로 지시된 바와 같이 재부팅이 수행된다.
질문 블록(25)에서 결정된 프로세스의 다음 단계는 BOOTP 응답 메시지의 플래그에 따라 다르다. 옵션은 블록(26)으로 표시된 특정한 파일 진입 포인트에서 부팅하거나, 또는 만약 기판 지원 패키지(BSP)가 질문(27)에서 존재한다면, 이 패키지로부터 제 2 부팅을 수행하거나, 또는 만약 이 패키지가 존재하지 않는다면, 시작에서부터 재부팅하는 것이다.
전술한 설명은 단지 프로세스의 메인 단계를 제공하며, 대개의 동작은 특정한 유형의 모뎀에 따라서 많은 회수로 반복될 수 있는 루프를 갖는 종료 방법을 사용하는 것이 분명할 것이다. 몇몇 추가 테스트가 또한 수행될 수 있다.
도 3은 부팅 코드에 의해 사용된 프로토콜 스택을 도시한다: Init, 간이 파 일 전송 프로토콜(TFTP), 부팅 프로토콜(BOOTP), 사용자 데이터 프로토콜(UDP), 인터넷 제어 메시지 프로토콜(ICMP), IP(Internet Protocol), 주소 결정 프로토콜(ARP), 이더넷, ETH USB(이더넷을 USB에 직접 매핑하기 위한 프로토콜). 개개의 프로토콜의 임무는 이후에 설명될 것이다.
이제 도 4를 참조하면, 파일이 부팅 동작 동안에 다운로드되고, 어떠한 에러도 발생하지 않을 때, 모뎀 디바이스(M)와 컴퓨터(PC) 사이의 통신을 예시한 도면이 도시되어 있다. 먼저, 화살표(28)로 지시된 바와 같이, BOOTP 요청이 모뎀 디바이스로부터 PC로 전송된다. 이 메시지는 MAC(Medium Access Control) 주소, 벤더-특정 정보(vendor-specific information) 등과 같은 정보를 포함하며, 이더넷과 USB 인터페이스 둘 모두에 전송된다.
도 3을 참조하면, 어떻게 이러한 BOOTP 요청이 포맷되는지가 이제 설명될 것이다. INIT 모듈(30)이 초기화될 때, 이것은 먼저 BOOTP 요청의 제 1 필드를 구성하고, 이것을 BOOTP 모듈(31)로 전달하며, 이 모듈(31)은 MAC 주소와 같은 정보를 포함하는 완전한 BOOTP 요청을 작성할 것이다. 그러면, UDP(33), IP(39) 및 인터페이스에 따라서는 이더넷(36) 또는 USB-이더넷(35) 모듈은, BOOTP 프레임이 프로토콜 스택을 통해 아래로 진행함에 따라 이것에 헤더를 추가할 것이다. 이것이 물리 레이어에 도달할 때, 이것은 활성 인터페이스에 따라서 USB 및/또는 이더넷 네트워크를 통해서 방송된다.
MAC 레이어(34)는 이더넷이나 USB 인터페이스에 대한 액세스를 제어하며, 주소 결정 프로토콜(ARP)(38)은 IP 주소를 프레임을 송신하는데 사용되는 물리적인 주소로 변환하는데 사용된다. 인터넷 제어 메시지 프로토콜(ICMP)은 ICMP 메시지를 전송함으로써 혼잡 문제(congestion problems)와 같은 이상 기능(functioning anomalies)을 확인하게 한다. 이러한 메시지가 수신될 때, 문제는 IP에 의해 다뤄진다.
BOOTP 요청이 전송될 때, 모뎀 디바이스(M)는 BOOTP 응답을 대기하기 시작할 것이다. 유효 BOOTP 응답은 모뎀에 할당된 IP 주소 및, 본 실시예에 따른 PC에 포함된 TFTP 서버의 IP 주소, 다운로드될 전체 경로를 갖는 파일 이름 등과 같은 필요한 정보를 포함해야 한다. BOOTP 응답이 USB 인터페이스로부터 먼저 수신될 때, 추가 통신이 USB 인터페이스에 걸쳐서 발생하며, 여기서 동일한 통신이 이더넷 인터페이스에 대해서도 적용된다. 이 실시예에서, 먼저 응답하는 PC가 우선권을 얻는다. 도입부에서 설명된 바와 같이, 가장 최신 업그레이드 파일이 저장된 PC에 우선권을 제공하는 것과 같은 기타 구현이 가능하다.
화살표(29 및 40)는, 일단 모뎀 디바이스가 유효 BOOTP 응답을 수신하면, TFTP 전송이 모뎀 디바이스에 의해 개시됨을 예시하며, 이 모뎀 디바이스는 TFTP 요청을 BOOTP 응답에 명시된 IP 주소에 있는 TFTP 서버에 전송한다. 이 요청은 또한 8192 바이트의 TFTP 블록 크기에 대한 옵션 절충(option negotiation)을 포함할 수 있다.
이제, 모뎀은 제 1 데이터 패킷이 도달하는 것을 대기한다. 데이터 패킷이 도달할 때, 파일 헤더는 파일이 플래시되어야 하는지(그러한 경우라면 이 파일은 SDRAM에 먼저 버퍼링되어야 함), 또는 그렇지 않고 SDRAM의 정확한 주소에 즉시 위 치되어야 하는지를 지시하는 시작 주소를 결정하기 위해 분석된다.
제 1 패킷의 데이터가 SDRAM에 성공적으로 위치되어진 후, 승인 패킷(ACK)이 화살표(42)로 도시된 바와 같이 컴퓨터로 전송된다. 이들 단계는 마지막 패킷이 수신될 때까지 반복된다.
도 5는 전형적으로 2Mb 크기를 갖는 플래시 메모리에 내주하는 다양한 소프트웨어 구성요소를 개략적으로 도시한다. 부팅 코드(50)는 전형적으로 플래시 메모리의 상위 128kb를 채우며, USB 코드의 이더넷 프로토콜 관리부(ETH USB)를 포함한다. 이 영역은 LED 및 타이머와 같은 여러 하드웨어 구성요소에 액세스하기 위해 기판 지원 패키지(BSP)를 더 사용한다.
플래시 메모리는 52에서 동작 소프트웨어, 정상 동작용 파일 시스템 및 이 파일 시스템에 의해 사용되는 공간을 더 포함한다.
이제 도 6을 참조하면, 모뎀 디바이스(M)의 소프트웨어 업그레이드 동안에 사용되며, USB(63)나 이더넷(62) 인터페이스를 통해 상기 모뎀에 연결된 PC 상에서 위저드(61)를 가동시키는 프로토콜을 예시한 블록도가 도시되어 있다. USB 인터페이스(63)가 활성상태일 때, 및 위저드(61)가 시작될 때, USB 드라이버에 대한 연결이 수립된다.
모뎀(M)이 USB 인터페이스를 통해 위저드에 연결될 때, 위저드는 모뎀(M)에 의해 전송된 BOOTP 요청에 귀를 기울일 것이다. EP5를 통해 모뎀의 USB 인터페이스로부터 도달하는 BOOTP 요청이 UDP/IP/ETH/USB 프레임으로 인캡슐레이트될 것이다. USB 드라이버(64)는 프레임을 UDP/IP/ETH 프레임에 디캡슐레이트하며, 그러자마자, 이들 프레임은 추가로 디캡슐레이트되어 위저드(61)에 전송될 것이다.
그러면, 위저드(61)는 BOOTP 응답을 USB 드라이버(64)에 전송할 것이며, BOOTP 응답은 UDP/IP/ETH에서 인캡슐레이트될 것이다. 그러면, USB 드라이버는 수신된 패킷을 EP4를 통해 USB 디바이스에 전달한다.
같은 방식으로, 모뎀(M)은 이때 위저드(61)에 의해 수신될 TFTP 요청을 전송하며, 위저드(61)는 다시 TFTP를 사용하여 요청된 파일을 전송함으로써 응답할 것이다.
모뎀(M)이 이더넷 인터페이스를 통해 위저드에 연결될 때, 유사한 프로세스가 발생한다.
도 7을 참조하면, 모뎀(M)이 이더넷 인터페이스를 통해 제 1 PC1에 연결되고, USB 인터페이스(68)를 통해 제 2 PC2에 연결된다. 이 경우, 위저드(61)는 TFTP 전송을 위해 개시된 인터페이스에 소프트웨어를 단지 업로드할 것이며, 이더넷 및 USB 인터페이스 둘 모두에는 업로드하지 않을 것이다.
여기에 기술된 및 도시된 예시적인 실시예는 특히 PC-기반 작동 시스템에 관한 것이다. 그러나, 본 발명이 PC-기반 작동 시스템으로 제한되지 않으며, 본 발명은 또한 유닉스 및 매킨토시 시스템 또는 USB 인터페이스가 제공된 임의의 다른 시스템에 사용될 수 있음이 이해될 것이다.
비록 특정한 실시예가 여기에 예시되고 기술되었지만, 본 발명은 변경 및 변형을 포함함하며, 본 발명의 범위가 첨부된 청구항에 기초하여 결정될 것이라는 점이 이해될 것이다.
상술한 바와 같이, 본 발명은 정상 동작시 완전한 프로토콜 스택 코드를 통해 동작할 수 있는 인터페이스를 가지며, 디바이스를 부팅하기 위한 코드를 포함하는 플래시 메모리와 같은 불휘발성 메모리를 포함하는, 모뎀과 같은 전자 디바이스에서 부팅하는 동안에 더 넓은 업그레이드 옵션을 제공하는 효과가 있다.

Claims (10)

  1. 정상 동작시 USB 프로토콜 스택 코드로 작동할 수 있는 USB 인터페이스를 가지며, 디바이스를 부팅하기 위한 코드를 포함하는 플래시 메모리와 같은 불휘발성 메모리를 포함하는, 모뎀과 같은 전자 디바이스에 있어서,
    상기 디바이스의 소프트웨어는 상기 USB 인터페이스를 통해 상기 디바이스의 부팅 동작 동안에 업그레이드될 수 있고, 상기 부팅 코드는 상기 USB 인터페이스를 위해 USB를 통한 이더넷 프로토콜 스택(Ethernet protocol stack over a USB) 코드를 포함하고, USB를 통한 이더넷 프로토콜 스택은 USB 프로토콜 스택 레이어의 서브셋을 포함하며, 상기 USB를 통한 이더넷 프로토콜 스택 코드는 상기 USB 프로토콜 스택 코드에 비하여 감소된 메모리 공간을 차지하고, 상기 USB 프로토콜 스택 코드는 상기 USB 프로토콜 스택을 구현하기 위한 코드이며, 상기 USB를 통한 이더넷 프로토콜 스택 코드는 상기 USB를 통한 이더넷 프로토콜 스택을 구현하기 위한 코드인 것을 특징으로 하는,
    전자 디바이스.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서, 제 2 메모리를 가지며, 상기 제 2 메모리는, 상기 디바이스가 광역 네트워크(WAN)를 통해 통신하는 것을 가능하게 하기 위한 USB 프로토콜 스택 코드를 포함하는 것을 특징으로 하는, 전자 디바이스.
  6. 제 1항에 있어서, 이더넷 인터페이스와, 상기 이더넷 인터페이스를 통해 상기 부팅 동작 동안에 송신 및 수신하기 위한 코드를 더 포함하는, 전자 디바이스.
  7. 제 1항에 기재된 전자 디바이스에 파일을 다운로드하기 위한 시스템으로서, 상기 디바이스 그리고 USB 인터페이스를 위한 드라이버가 제공된 컴퓨터를 포함하는, 시스템에 있어서,
    상기 컴퓨터는 상기 USB 인터페이스를 통해 상기 디바이스에 연결되며, 상기 컴퓨터는, 상기 디바이스와 통신하기 위한 그리고 다운로드 되는 파일을 제공하기 위한 실행 가능한 프로그램 코드를 포함하는 것을 특징으로 하는,
    파일을 다운로드하기 위한 시스템.
  8. 제 7항에 있어서, 프레임이 USB 디바이스에 전송되고 USB 디바이스로부터 전송되게 하기 위해 USB 인터페이스의 엔드포인트(endpoints)(EP) 4 및 5 상에서 각각 연결이 수립되며,
    상기 엔드포인트(EP) 4는 벌크(bulk) 모드에서 소프트웨어 다운로드 인터페이스로 사용되고, 상기 엔드포인트(EP) 5는 벌크 모드에서 승인 인터페이스로 사용되는 것을 특징으로 하는, 파일을 다운로드하기 위한 시스템.
  9. USB 연결이 제공된 전자 디바이스의 메모리부에 하나 이상의 컴퓨터로부터의 파일을 다운로드하기 위한 방법에 있어서,
    - 상기 하나 이상의 컴퓨터가 상기 파일을 저장하는 단계로서, 적어도 하나의 컴퓨터에는 USB 인터페이스가 제공되는, 파일 저장 단계와;
    - 상기 하나 이상의 컴퓨터가 적어도 USB 인터페이스를 통해 상기 디바이스를 연결하는 단계와;
    - 상기 디바이스의 부팅 동작 동안, 상기 디바이스가 USB를 통한 이더넷 프로토콜 스택을 이용하여 상기 USB 인터페이스를 통해 상기 하나 이상의 컴퓨터로 적어도 하나의 부팅 요청을 전송하는 단계로서, 상기 USB를 통한 이더넷 프로토콜 스택은, 정상 동작시에 USB 인터페이스를 위해 이용되는 USB 프로토콜 스택 레이어의 서브셋을 포함하는, 부팅 요청을 전송하는 단계와;
    - 상기 하나 이상의 컴퓨터가 상기 디바이스로 적어도 하나의 부팅 응답을 전송하는 단계와;
    - 상기 디바이스가 상기 하나 이상의 컴퓨터 중 하나의 컴퓨터로 파일 전송 요청을 전송하는 단계와;
    - 상기 하나의 컴퓨터가 상기 디바이스로 상기 저장된 파일을 전송하는 단계
    를 포함하는, 파일 다운로드 방법.
  10. 제 9항에 있어서, USB 및 이더넷 연결이 제공된 전자 디바이스의 메모리부에 파일을 다운로드하기 위한 방법으로서, 상기 전자 디바이스는 이더넷 연결을 통해서 적어도 하나의 컴퓨터에 연결되는 것을 특징으로 하는, 파일 다운로드 방법.
KR1020030076188A 2002-11-13 2003-10-30 Usb 연결을 통한 소프트웨어 업그레이드 KR101033966B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02447218A EP1420560A1 (en) 2002-11-13 2002-11-13 Software upgrade over a USB connection
EP02447218.5 2002-11-13

Publications (2)

Publication Number Publication Date
KR20040042820A KR20040042820A (ko) 2004-05-20
KR101033966B1 true KR101033966B1 (ko) 2011-05-11

Family

ID=32116372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030076188A KR101033966B1 (ko) 2002-11-13 2003-10-30 Usb 연결을 통한 소프트웨어 업그레이드

Country Status (6)

Country Link
US (1) US7272706B2 (ko)
EP (1) EP1420560A1 (ko)
JP (2) JP2004178575A (ko)
KR (1) KR101033966B1 (ko)
CN (1) CN100581207C (ko)
MX (1) MXPA03010274A (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677117B2 (en) * 2003-12-31 2014-03-18 International Business Machines Corporation Remote management of boot application
US7720943B2 (en) * 2004-07-26 2010-05-18 Centillium Communications, Inc. Communication device for obtaining an application image or configuration from a service provider
FR2874440B1 (fr) * 2004-08-17 2008-04-25 Oberthur Card Syst Sa Procede et dispositif de traitement de donnees
US8260968B2 (en) * 2006-01-23 2012-09-04 Lantiq Deutschland Gmbh Method and system for booting a software package on a network processor
US20070255868A1 (en) * 2006-04-26 2007-11-01 Cisco Technology, Inc. (A California Corporation) Method and system for managing a network device using a slave USB interface
CN100456244C (zh) * 2006-08-23 2009-01-28 王悦 基于USB Host的引导、升级和维护的仪器及其方法
US7899090B2 (en) * 2006-12-22 2011-03-01 Dell Products L.P. Remote installation performance over management controllers in monolithic and modular systems
CN101627605A (zh) 2007-03-09 2010-01-13 奥蒂斯电梯公司 在计算机系统中用于执行数据传输的方法及相应的设备
CN201114114Y (zh) * 2007-07-20 2008-09-10 华为技术有限公司 调制解调器
CN101470676B (zh) * 2007-12-28 2012-05-30 希姆通信息技术(上海)有限公司 Usb调制解调器自动安装并运行管理软件的方法
US8140837B2 (en) * 2008-11-05 2012-03-20 International Business Machines Corporation Automatically making selective changes to firmware or configuration settings
US9870220B2 (en) * 2008-12-05 2018-01-16 Advanced Micro Devices, Inc. Memory flash apparatus and method for providing device upgrades over a standard interface
JP2010257367A (ja) * 2009-04-28 2010-11-11 Sanyo Electric Co Ltd プログラムの更新システム、プログラム更新機能付き電子機器
TWI387926B (zh) * 2009-07-10 2013-03-01 Wistron Neweb Corp 更新程式區段之方法
EP2302851B1 (en) * 2009-09-29 2012-04-18 Alcatel Lucent Power supply arrangement for line termination units
CN102291282B (zh) * 2010-06-17 2014-12-31 国基电子(上海)有限公司 电缆调制解调器及其支持多种分组电缆标准的方法
CN102201903A (zh) * 2011-06-07 2011-09-28 合肥华云通信技术有限公司 一种简单可靠的远程文件传输方法
CN103376903A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 键盘及具有该键盘的电子装置
US20150169837A1 (en) * 2013-12-18 2015-06-18 Lifescan Scotland Limited Externally powered test meter firmware upgrade
WO2021152654A1 (ja) * 2020-01-27 2021-08-05 三菱電機株式会社 空調サービスシステムおよび空調サービス方法
CN114385217A (zh) * 2021-11-30 2022-04-22 北京微纳星空科技有限公司 一种多路cpu应用程序的升级方法、装置、设备及存储介质
CN115242633B (zh) * 2022-06-23 2024-04-09 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
JP2001117778A (ja) * 1999-10-15 2001-04-27 Nec Shizuoka Ltd ファームウェア書き換え機能を備えたusb装置
EP1198108A2 (fr) * 2000-10-12 2002-04-17 Schneider Automation Méthode de configuration d'un module d'automatisme sur un réseau TCP/IP
US20050268928A1 (en) * 2004-06-04 2005-12-08 Teresa Lane Hair accessory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US6031867A (en) * 1993-07-02 2000-02-29 Multi-Tech Systems, Inc. Modem with firmware upgrade feature
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
ES2284448T3 (es) * 1997-05-14 2007-11-16 Citrix Systems, Inc. Sistema y procedimiento para transmitir datos desde una aplicacion de servidor a nodos cliente.
US6135651A (en) * 1997-05-29 2000-10-24 Cirrus Logic, Inc. Patching apparatus and method for upgrading modem software code
JP4258579B2 (ja) * 1998-12-21 2009-04-30 株式会社ニコン プログラム書き換え装置
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6457175B1 (en) * 1998-11-09 2002-09-24 Tut Systems, Inc. Method and apparatus for installing a software upgrade within a memory resource associated with a computer system
AU3397300A (en) * 1999-03-10 2000-09-28 Automation Control Products Llc Methods and systems for reduced configuration dependency in thin client applications
US6601212B1 (en) * 2000-03-29 2003-07-29 Hewlett-Packard Development Company, Lp. Method and apparatus for downloading firmware to a non-volatile memory
JP2001337936A (ja) * 2000-05-26 2001-12-07 Victor Co Of Japan Ltd クライアント装置
US6735692B1 (en) * 2000-07-11 2004-05-11 International Business Machines Corporation Redirected network boot to multiple remote file servers
JP2002132527A (ja) * 2000-10-26 2002-05-10 Fuji Heavy Ind Ltd 車載用電子制御装置
JP4793798B2 (ja) * 2000-11-10 2011-10-12 オンセミコンダクター・トレーディング・リミテッド マイクロコンピュータ
US20020083362A1 (en) * 2000-12-22 2002-06-27 Objectsoft Corp. System and method for providing unattended personality acquisition, self-recovery and remote maintenance to internet-based end-user devices
JP2002320115A (ja) * 2001-04-24 2002-10-31 Olympus Optical Co Ltd デジタルカメラ、及びデジタル撮像システム
US20040049617A1 (en) * 2002-09-05 2004-03-11 Integrated Circuit Solution Inc. Method of firmware update by USB interface
US7043664B1 (en) * 2002-10-31 2006-05-09 Microsoft Corporation Firmware recovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
JP2001117778A (ja) * 1999-10-15 2001-04-27 Nec Shizuoka Ltd ファームウェア書き換え機能を備えたusb装置
EP1198108A2 (fr) * 2000-10-12 2002-04-17 Schneider Automation Méthode de configuration d'un module d'automatisme sur un réseau TCP/IP
US20050268928A1 (en) * 2004-06-04 2005-12-08 Teresa Lane Hair accessory

Also Published As

Publication number Publication date
EP1420560A1 (en) 2004-05-19
CN100581207C (zh) 2010-01-13
CN1574871A (zh) 2005-02-02
JP2011146060A (ja) 2011-07-28
US20040103177A1 (en) 2004-05-27
KR20040042820A (ko) 2004-05-20
US7272706B2 (en) 2007-09-18
MXPA03010274A (es) 2004-12-06
JP2004178575A (ja) 2004-06-24

Similar Documents

Publication Publication Date Title
KR101033966B1 (ko) Usb 연결을 통한 소프트웨어 업그레이드
US7310664B1 (en) Unified, configurable, adaptive, network architecture
US6009274A (en) Method and apparatus for automatically updating software components on end systems over a network
CN112422394B (zh) NVMe over Fabric中转发报文的方法、设备和系统
EP1109353A2 (en) Network station management system and method
JP4298716B2 (ja) 通信制御システム
US8122234B1 (en) Flash memory backup system for network devices
US20200321965A1 (en) Method for programming a field programmable gate array and network configuration
EP1426860B1 (en) Software upgrade over a USB connection
Cisco Downloading Files
Cisco Downloading Files
Cisco Configuring the Switch
Cisco Cisco IOS Release 11.1 AA Release Note and Update to Configuration Guides and Command References
Cisco Cisco IOS Release 11.1 AA Release Note and Update to Configuration Guides and Command References
Cisco Cisco IOS Release 11.1 AA Release Note and Update to Configuration Guides and Command References
Cisco Working with System Software Images
Cisco Working with System Software Images
Cisco Working with System Software Images
Cisco Working With System Software Images
Cisco New Features for Cisco 1600 Series Routers
Cisco New Features for Cisco 1600 Series Routers
Cisco New Features for Cisco 1600 Series Routers
Cisco Working With System Images and Configuration Files
Cisco Downloading Files
Cisco Working with System Software Images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140421

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160404

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 9