KR100971602B1 - 전송 장치, 전송 방법, 및 소프트웨어 전송 장치 - Google Patents

전송 장치, 전송 방법, 및 소프트웨어 전송 장치 Download PDF

Info

Publication number
KR100971602B1
KR100971602B1 KR1020080085179A KR20080085179A KR100971602B1 KR 100971602 B1 KR100971602 B1 KR 100971602B1 KR 1020080085179 A KR1020080085179 A KR 1020080085179A KR 20080085179 A KR20080085179 A KR 20080085179A KR 100971602 B1 KR100971602 B1 KR 100971602B1
Authority
KR
South Korea
Prior art keywords
software
transmission
firmware
transmitted
condition
Prior art date
Application number
KR1020080085179A
Other languages
English (en)
Other versions
KR20090023284A (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 KR20090023284A publication Critical patent/KR20090023284A/ko
Application granted granted Critical
Publication of KR100971602B1 publication Critical patent/KR100971602B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

소프트웨어를 디바이스에 전송하도록 구성되는 제1 전송 수단, 제1 전송 수단에 의해 소프트웨어가 전송되는 디바이스로부터 수신되는 정보에 기초하여 소프트웨어의 전송이 성공적인 것을 확인하도록 구성되는 확인 수단, 및 확인 수단에 의해 소프트웨어의 전송이 성공적인 것으로 확인된 후에, 제1 전송 수단에 의해 소프트웨어가 전송된 디바이스와는 상이한 디바이스에 소프트웨어를 전송하도록 구성되는 제2 전송 수단을 포함하는 전송 장치.
Figure R1020080085179
펌웨어, 갱신, 복합기, 복사기, 소프트웨어, 디바이스 정보

Description

전송 장치, 전송 방법, 및 소프트웨어 전송 장치{TRANSMISSION APPARATUS, TRANSMISSION METHOD, AND SOFTWARE TRANSMISSION APPARATUS}
본 발명은, 전송 장치 및 전송 방법에 관한 것이며, 특히, 네트워크에 접속된 하나 이상의 디바이스들에 대하여 펌웨어로 표현되는 각종 소프트웨어를 전송하는데 유용할 수 있다.
복합기, 복사기, 및 프린터 등의 디바이스의 기능을 향상시키기 위하여, 디바이스의 관리(maintaining)를 담당하는 사람은 각종 데이터(소프트웨어), 특히, 펌웨어를 디바이스에 다운로드한다.
가장 기본적인 펌웨어 갱신 방법에 있어서, 우선, 디바이스의 관리를 담당하는 사람이 전용 펌웨어 다운로드 툴을 디바이스에 접속시킨다. 그 후, 새로운 펌웨어를 펌웨어 다운로드 툴로부터 디바이스에 전송함으로써 펌웨어가 갱신된다.
여기서, 복수의 펌웨어 갱신 대상 디바이스가 존재한다면, 디바이스의 관리를 담당하는 사람은 디바이스 모두에 대하여 펌웨어를 갱신하지 않고, 일부 디바이스에 대하여만 펌웨어를 갱신하는 갱신 방법이 있다.
이 방법은 성공적이지 않은 펌 웨어 갱신의 영향을 최대한 억제하기 위해 취 해지는 기술이다. 구체적으로, 이 방법에서, 펌웨어 갱신이 종료된 디바이스가 일정 기간동안 동작하도록 허용되고, 일단 펌웨어 갱신이 정확히 동작되는 것으로 확인되면, 나머지 디바이스들의 펌웨어가 갱신된다.
한편, 최근, 네트워크 환경이 보다 발전됨에 따라, 펌웨어로 표현되는 각종 데이터를 원격의 전송 장치로부터 디바이스에 전송하기 위한 기술이 구현되어 있다 (일본 특허공개공보 제2002-132511호 및 제2004-139572호 참조).
일본 특허공개공보 제2002-132511호에서는, 원격의 전송 장치가 디바이스에 의해 제공되는 서비스의 갱신 프로그램을 디바이스에 전송하는 프로그램 갱신 시스템을 제공한다. 이 프로그램 갱신 시스템에서는, 스토어(인트라넷) 내의 복수의 디바이스 중에서 서비스를 제공하지 않고 있는 대표 디바이스가 그 서비스에 대한 갱신 프로그램을 전송 장치로부터 대표 취득하여, 다른 디바이스들에 갱신 프로그램을 전달한다. 그 결과, 서비스의 갱신 프로그램이 원격의 위치로부터 전송되는 경우라도, 스토어 내에 설치된 복수의 디바이스들에서 동시적으로 서비스가 정지되는 것을 방지할 수 있다.
또한, 일본 특허공개공보 제2004-139572호에서는, 펌웨어 관리 장치가 중간 장치에 일시(date/time)를 송신하고 갱신하는 원격 관리 시스템을 제공한다. 이 원격 관리 시스템에서는, 갱신 일시에 도달하는 때에, 중간 장치가 펌웨어 관리 장치로부터 펌웨어를 취득하여, 펌웨어를 기억 유닛에 기입하고, 펌웨어를 화상 형성 장치에 송신하고, 펌웨어를 갱신한다. 그 결과, 시간 간격을 두고 펌웨어 갱신이 수행되기 때문에, 디바이스의 펌웨어 갱신으로 인한 가동율의 저하를 방지할 수 있 다.
그러나, 가장 기본적인 펌웨어 갱신 방법에서는, 디바이스의 관리를 담당하는 사람이 펌웨어 갱신 동작을 2회 이상 수행하여야 한다. 그러므로, 디바이스의 관리를 담당하는 사람에게는 큰 부담이 된다.
일본 특허공개공보 제2002-132511호에 기재된 프로그램 갱신 시스템에 있어서는, 갱신 프로그램의 전송이 자동적으로 수행될 수 있기 때문에, 디바이스의 관리를 담당하는 사람에 대한 부담이 경감된다. 그러나, 전송 장치로부터 갱신 프로그램을 수신하는 시점(starting point)에서의 대표 장치는, 갱신 프로그램의 적용 대상이 아니더라도, 전송 장치로부터 갱신 프로그램을 수신할 수가 있다. 따라서, 그 갱신 프로그램이 올바르게 동작중인지 여부는 시점에서의 디바이스들 전체에 대하여 갱신 프로그램을 적용함으로써 별도로 확인되어야 한다. 이하의 기재에 있어서, "디바이스의 관리를 담당하는 사람"이라는 표현은 "사용자"를 총칭한다.
또한, 일본 특허공개공보 제2004-139572호에 기재된 원격 관리 시스템에 있어서, 펌웨어의 전송은 펌웨어의 전송을 위한 시간을 지정함으로써 단계적으로 수행될 수 있다. 따라서, 제1 지정 시간에 일부 디바이스들에 대하여 펌웨어가 전송되고, 일단 디바이스들이 올바르게 동작중인 것으로 확인되면, 제2 지정 시간에서 나머지 디바이스들에 대하여 펌웨어가 전송될 수 있다. 그러나, 제1 지정 시간에 전송된 펌웨어가 올바르게 동작하고 있는 것으로 확인되지 않으면, 사용자는 제2 지정 시간동안 펌웨어의 전송을 중지할 것을 펌웨어 관리 장치에 지시하여야 한다.
본 발명은 복수의 디바이스에 펌웨어 등의 소프트웨어를 전송하는 경우 사용자에 대한 부담을 경감시키고, 그 소프트웨어의 전송을 신속하고 적절하게 수행하는 것을 목적으로 한다.
본 발명의 일 양태에 따르면, 전송 장치는, 소프트웨어를 선택된 디바이스에 전송하도록 구성되는 제1 전송 수단, 상기 제1 전송 수단에 의해 상기 소프트웨어가 상기 선택된 디바이스에 전송된 후에, 상기 선택된 디바이스로부터 수신된, 상기 제1 전송 수단에 의한 상기 소프트웨어의 전송이 성공적이었는지 여부를 나타내는 정보에 기초하여, 상기 소프트웨어의 전송이 성공적이었음을 확인하도록 구성되는 확인 수단, 및 상기 확인 수단에 의해 상기 소프트웨어의 전송이 성공적인 것으로 확인된 후에, 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와 상이하며 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와 연관된 디바이스에 상기 소프트웨어를 전송하도록 구성되는 제2 전송 수단을 포함한다.
본 발명에 따르면, 복수의 디바이스에 펌웨어 등의 소프트웨어를 전송하는 경우 사용자에 대한 부담을 경감시키고, 그 소프트웨어의 전송을 신속하고 적절하게 수행할 수 있다.
본 발명의 또 다른 특징 및 양태들은 첨부 도면을 참조한 이하의 실시예의 상세한 설명으로부터 더 명확하게 될 것이다.
이하, 본 발명의 다양한 실시예, 특징, 및 양태들을 도면을 참조하여 상세하게 설명한다.
<제1 실시예>
본 발명의 예시적인 실시예에 있어서, 복수의 디바이스들에 대하여 소프트웨어의 일례로서 펌웨어의 전송 중의 동작의 일례를 제공함으로써 펌웨어 전송 장치를 설명한다.
도 1은 소프트웨어 전송 시스템의 구성의 일례를 나타낸 도면이다.
도 1에서, 소프트웨어 전송 시스템은 LAN(local area network)(100)에 의해 네트워크에 접속되는 펌웨어 전송 장치(101), 프린터(102 내지 104), 및 복합기(105 내지 107)를 갖는다. 본 실시예에 있어서, 프린터(102 내지 104)와 복합기(105 내지 107)는 디바이스로서 제공된다.
도 2는 펌웨어 전송 장치(101)의 내부 구성의 일례를 나타낸 도면이다.
펌웨어 전송 장치(101)는, 예를 들어, PC(Personal Computer)에 의해 구현된다. 이하의 설명 전체에서 동작 주체인 일 실시예에 따른 펌웨어 전송 소프트웨어 프로그램은 하드 디스크(HD)(211)에 기억된다. 이하의 설명 전체에 있어서, 달리 기재하지 않는 한, 처리를 실행하는 하드웨어 주체는 CPU(Central Processing Unit)(201)이다. 반면, 소프트웨어 제어 개체는 HD(211)에 기억된 펌웨어 전송 소프트웨어이다.
RAM(203)은 CPU(201)의 메인 메모리 또는 잡 영역 등으로서 기능한다. 키보드 컨트롤러(KBC)(205)는 키보드(KB)(209), 포인팅 디바이스(도시 생략) 등으로부터의 지시 입력을 제어한다. 디스플레이 컨트롤러(DSPC)(206)는 디스플레이(DSP)(210)의 표시를 제어한다. 디스크 컨트롤러(DKC)(207)는 CD-ROM(도시 생 략), HD(211), 또는 플로피 디스크 컨트롤러(212)와 같은 기억 디바이스에 대한 액세스를 제어한다. HD(211), 플로피 디스크 컨트롤러(212) 등은 부트 프로그램, 운영 체제, 펌웨어 전송 어플리케이션, 그 데이터 등을 기억한다. 인터페이스 컨트롤러(208)는 LAN(100)을 통해 다른 네트워크 디바이스들과 정보를 송수신한다.
본 실시예에 있어서, 운영 체제(OS)는 Windows®인 것으로 가정하지만, Windows®에 한하지는 않는다.
또한, 본 실시예에 따른 펌웨어 전송 프로그램은 플로피 디스크 또는 CD-ROM 등의 기록 매체 상에 기억된 형태로 공급될 수도 있다. 이 경우, 도 2에 도시된 플로피 디스크 컨트롤러(212), CD-ROM 드라이브(도시 생략) 등에 의해 기록 매체로부터 프로그램이 판독되어 HD(211)에 인스톨된다.
도 3은 디바이스의 내부 구성의 일례를 나타낸 도면이다. 여기서, 일례로서 복합기(105)를 이용하여 디바이스를 설명한다. 이 때, 복합기(106 및 107)는 복합기(105)와 동일한 구성을 가지며, 프린터(102 내지 104)는 복합기(105)에서 프린터의 기능만을 갖는다. 따라서, 복합기(106 및 107)와 프린터(102 내지 104)의 세부 설명은 생략한다.
도 3에서, 복합기(105)는 스캐너, 프린터, 복사기, 및 팩스의 기능을 통합한 것이다. 복합기(105)는 다른 네트워크 디바이스들(통신 디바이스)에 공중 회선(312)을 통해 접속된다. 구체적으로, 복합기(105)는 리더부(301), 프린터부(302), 화상 입출력 제어부(303), 및 조작부(304)를 주로 포함한다.
리더부(301)는 스캔 기능을 구현하고, 화상 입출력 제어부(303)에 접속되어 있다. 리더부(301)는 조작부(304)로부터의 지시에 기초하여 원고의 화상 데이터를 판독하고, 판독된 화상 데이터를 화상 입출력 제어부(303)에 출력한다.
프린터부(302)는 프린터 기능을 구현하고, 화상 입출력 제어부(303)로부터 출력되는 화상 데이터를 기록지 상에 인쇄한다.
화상 입출력 제어부(303)는 LAN(100) 또는 공중 회선(312)에 접속되어, 화상 데이터를 입출력한다. 또한, 화상 입출력 제어부(303)는 잡 분석과 제어를 수행한다. 화상 입출력 제어부(303)는 또한 렌더링 기능을 실현한다. 화상 입출력 제어부(303)의 구성 요소들로는, 팩시밀리부(305), 파일부(306), 외부 인터페이스부(308), PDL 포맷터부(309), 화상 메모리부(310), 및 코어부(311)를 포함한다.
조작부(304)는 사용자로부터 입력 조작을 수신한다.
팩시밀리부(305)는 코어부(311)와 공중 회선(312)에 접속되어 있다. 팩시밀리부(305)는 공중 회선(312)으로부터 수신되는 압축된 화상 데이터를 압축해제하고, 압축해제된 화상 데이터를 코어부(311)에 송신한다. 또한, 팩시밀리부(305)는 코어부(311)로부터 송신된 화상 데이터를 압축하고, 압축된 화상 데이터를 공중 회선(312)을 통해 또 다른 네트워크 디바이스에 송신한다.
파일부(306)는 코어부(311)와 외부 기억 디바이스(307)에 접속되어 있다. 파일부(306)는 코어부(311)로부터 송신된 화상 데이터를, 이 화상 데이터를 검색하기 위한 키워드와 함께 하드 디스크 등으로 구성될 수 있는 외부 기억 디바이스(307)에 기억시킨다. 파일부(306)는 또한 외부 기억 디바이스(307)에 기억된 화 상 데이터를 코어부(311)로부터 송신된 키워드에 기초하여 판독하고, 판독된 화상 데이터를 코어부(311)에 송신한다.
외부 인터페이스부(308)는 다른 네트워크 디바이스들과 코어부(311) 사이의 인터페이스이다. 외부 인터페이스부(308)를 통해 다른 네트워크 디바이스들과 잡 제어 데이터 및 화상 데이터가 송수신된다. 잡(job) 제어 데이터의 예로서는, PDL 데이터와 함께 송신되는 잡 제어 지시를 포함한다. 예를 들어, 잡 제어 지시는 PDL 데이터를 래스터라이즈(rasterize)하고, 래스터라이즈된 데이터를 화상 데이터로서 인쇄한 후, 인쇄된 용지를 스태플링, 소팅, 및 배출하는 것일 수 있다.
포맷터부(309)는 코어부(311)에 접속되어 있다. 예를 들어, 포맷터부(309)는 또 다른 네트워크 디바이스로부터 송신된 PDL 데이터를 프린터부(302)에 의해 인쇄될 수 있는 화상 데이터로 래스터라이징한다. 화상 메모리부(310)는 외부 인터페이스부(308)를 통해 또 다른 네트워크 디바이스로부터 송신된 정보 및 리더부(301)로부터의 정보를 일시 기억한다.
코어부(311)는 전술한 리더부(301), 조작부(304), 팩시밀리부(305), 파일부(306), 외부 인터페이스부(308), 포맷터부(309), 및 화상 메모리부(310) 간에 이동하는 데이터를 제어한다.
복합기(105)는 코어부(311)가 외부 기억 디바이스(307)에 기억된 펌웨어를 판독하고 판독된 펌웨어를 실행하는 때에 동작한다.
복합기(105)의 펌웨어를 갱신하는 경우, 복합기(105)는 외부 인터페이스부(308)를 통해 펌웨어 전송 장치(101)로부터 펌웨어를 수신하고, 수신된 펌웨어를 코어부(311)에 전달한다. 코어부(311)는 파일부(306)를 통해 외부 기억 디바이스(307)에 수신된 펌웨어를 기억시킨다.
이어서, 코어부(311)가 외부 인터페이스부(308)를 통해 조작부(304)로부터 또는 일부 다른 네트워크 디바이스로부터 리부트(reboot) 커맨드를 수신하면, 코어부(311)는 갱신된 펌웨어를 판독하여 실행시킨다. 이에 의해 펌웨어 갱신이 완료된다. 또한, 갱신된 펌웨어가 외부 기억 디바이스(307)에 기억된 후에 복합기(105)에 대한 전원이 스위치 온/오프 되어도, 펌웨어 갱신은 종료된다.
또한, 외부 기억 디바이스(307)는 하드 디스크일 필요는 없으며, 펌웨어를 유지할 수 있다면, EEPROM(Electrically Erasable and Programmable Read-only Memory)일 수 있다.
도 4는 펌웨어 전송 장치(101)의 기능적 구성의 일례를 나타낸 블록도이다. 도 4에서는, 복수의 디바이스에 대하여 펌웨어를 전송하는 동작을 제어하는 경우의 펌웨어 전송 장치(101)의 기능적 구성의 일례를 나타낸다.
도 4에서, 디바이스 그룹 작성 조건 지정부(401)는 디바이스 그룹을 작성하기 위한 조건(디바이스 그룹 작성 조건)을 사용자가 지정하도록 한다.
참조 디바이스 선택 조건 지정부(402)는 제1 펌웨어 전송 기회에 펌웨어가 전송되어야 하는 디바이스를 선택하기 위한 조건(참조 디바이스 선택 조건)을 사용자가 지정하도록 한다. 이하의 설명에 있어서, 제1 펌웨어 전송 기회에 펌웨어가 전송되어야 하는 디바이스를 "참조 디바이스"라 한다.
유사 디바이스 전송 조건 지정부(403)는 제1 펌웨어 전송 기회에 후속하는 제2 펌웨어 전송 기회에 디바이스에 전송되는 펌웨어의 전송 조건(유사 디바이스 전송 조건)을 사용자가 지정하도록 한다. 이하의 설명에 있어서, 제2 펌웨어 전송 기회에 디바이스에 전송되는 펌웨어를 "유사 디바이스(analogous device)"라 한다.
또한, 디바이스 그룹 작성 조건의 목록인 디바이스 그룹 작성 조건 테이블(410b), 및 참조 디바이스 선택 조건의 목록인 참조 디바이스 선택 조건 테이블(410c)은 데이터베이스(410)에 미리 기억된다. 또한, 유사 디바이스 전송 조건의 목록인 유사 디바이스 전송 조건 테이블(410d)은 데이터베이스(410)에 미리 기억된다.
디바이스 그룹 작성 기능부(404)는 디바이스 그룹 작성 조건 지정부(401)에 의해 선택되는 조건에 기초하여 디바이스 그룹을 작성한다.
참조 디바이스 결정 기능부(405)는 참조 디바이스 선택 조건 지정부(402)에 의해 선택되는 조건에 기초하여 참조 디바이스를 사용자가 결정하도록 한다.
펌웨어 전송 기능부(406)는 펌웨어와 데이터베이스 입출력 기능부(409)를 통해 펌웨어가 전송되는 디바이스에 관한 정보를 취득하고, 통신 기능부(411)를 통해 펌웨어를 디바이스에 송신한다.
디바이스 정보 취득 기능부(407)는 통신 기능부(411)를 통해 디바이스들로부터 각각의 기능부(402 내지 405)와 유사 디바이스 전송 판별부(408)에 의해 사용되는 디바이스 정보를 취득한다.
유사 디바이스 전송 판별부(408)는 유사 디바이스 전송 조건 지정부(403)에 의해 지정되는 조건과 디바이스 정보 취득 기능부(407)에 의해 취득되는 디바이스 정보를 이용하여 펌웨어가 유사 다바이스에 전송되어야 하는지 여부를 판정한다.
데이터베이스 입출력 기능부(409)는 데이터베이스(410)에 대한 데이터의 입출력을 제어한다. 데이터베이스(410)는 각종 데이터를 기억한다.
데이터베이스(410)에 기억되는 데이터의 예로서는, 펌웨어(410a), 디바이스 그룹 작성 조건 테이블(410b), 참조 디바이스 선택 조건 테이블(410c), 유사 디바이스 전송 조건 테이블(410d), 및 디바이스 정보 테이블(410e)을 포함한다.
통신 기능부(411)는 LAN(100)을 통해 디바이스에 펌웨어를 전송하고, 디바이스 정보를 수신한다.
다음, 데이터베이스(410)에 기억된 데이터의 구성에 대하여 설명한다.
도 5는 디바이스 그룹 작성 조건 테이블(410b)의 등록 내용의 일례를 나타낸 도면이다.
본 실시예에 있어서, 데이터베이스(410)에 기억된 펌웨어에 관한 정보는 디바이스 그룹을 작성하기 위한 디바이스 그룹 작성 조건으로서 활용된다.
도 5에 도시된 디바이스 그룹 작성 조건 테이블(410b)에는, 전송 대상 펌웨어가 적용될 수 있는 디바이스 명칭(510) 및 펌웨어 버전 정보(520)를 포함하는 디바이스 그룹 작성 조건(501 내지 503)이 등록된다.
본 실시예에 있어서, 이러한 복수의 디바이스 그룹 작성 조건 테이블(410b)을 이용함으로써, 복수의 상호 유사한 디바이스들이 서로 연관될 수 있다. 또한, 디바이스 그룹 작성 조건 테이블(410b)의 구성요소들은 전송 대상 펌웨어가 적용될 수 있는 디바이스 명칭(510)과 펌웨어 버전 정보(520)에 한하지는 않는다. 예를 들어, 디바이스들로부터 취득되는 디바이스 정보(예컨대, (스캐너, 피니셔 등의 존재와 같은) 디바이스의 기능)가 조건으로서 사용될 수도 있다.
다음, 데이터베이스(410)에 기억된 참조 디바이스 선택 조건 테이블(410c)에 대하여 설명한다.
도 6은 참조 디바이스 선택 조건 테이블(410)c)의 일례를 나타낸 도면이다.
도 6에 도시된 예에 있어서, 참조 디바이스 선택 조건 테이블(410c)에는, 참조 디바이스 선택 조건의 명칭(610)과 사용되는 디바이스에 관한 정보(620)를 포함하는 참조 디바이스 선택 조건(601 내지 603)이 등록된다. 따라서, 참조 디바이스를 추출하기 위해 필요한 디바이스 정보는 참조 디바이스 선택 조건 테이블(410c)에 열거된다.
도 4에 도시된 디바이스 정보 취득 기능부(407)에 의해 취득되는 디바이스 정보는 사용되는 디바이스에 관한 정보(620)로서 사용되는 것으로 가정하였지만, 이는 반드시 이러한 경우일 필요는 없다. 예를 들어, 각 디바이스에 대하여 사용자가 입력하는 정보가 데이터베이스(410)에 유지되어 디바이스 정보로서 사용될 수 있다.
다음, 데이터베이스(410)에 기억된 유사 디바이스 전송 조건 테이블(410d)에 대하여 설명한다.
도 7은 유사 디바이스 전송 조건 테이블(410d)의 일례를 나타낸 도면이다.
유사 디바이스 전송 조건 테이블(410d)은 참조 디바이스에 전송된 펌웨어가 올바르게 동작중인지 여부를 확인하기 위해 사용된다.
도 7에 도시된 예에 있어서, 유사 디바이스 전송 조건 테이블(410d)에는, 유사 디바이스 전송 조건, 사용되는 디바이스에 관한 정보(720), 및 전송 조건(730)을 포함하는 유사 디바이스 전송 조건(701 내지 703)이 등록된다. 여기서, 전송 조건(730)은 유사 디바이스에 펌웨어를 전송하기 위한 조건이다.
도 4에 도시된 디바이스 정보 취득 기능부(407)에 의해 취득되는 디바이스 정보는 사용되는 디바이스에 관한 정보(720)로서 사용되는 것으로 가정하였지만, 이는 반드시 이러한 경우에 한하지 않는다. 예를 들어, 각 디바이스에 대하여 사용자가 입력하는 정보가 데이터베이스(410)에 유지되어, 디바이스 정보로서 사용될 수 있다.
다음, 데이터베이스(410)에 기억되는 디바이스 정보 테이블(410e)에 대하여 설명한다.
도 8은 디바이스 정보 테이블(410e)의 일례를 나타낸 도면이다.
도 4에 도시된 디바이스 정보 취득 기능부(407)에 의해 취득되는 정보에 기초하여 디바이스 정보 테이블(410e)이 작성된다. 도 8에 도시된 예에 있어서, 제품명(810), 펌웨어 버전(820), 설치 장소(830), IP 어드레스(840), 에러 로그(850), 디바이스 기능의 목록(860), 및 시스템 로그(870)를 포함하는 디바이스 정보(801 내지 803)가 디바이스 정보 테이블(410e)에 등록된다. 설치 장소(830)는 디바이스가 설치되는 장소를 나타내며, IP 어드레스(840)는 디바이스의 IP 어드레스를 나타낸다. 또한, 에러 로그(850)는 디바이스에 의해 발생되는 에러의 기록을 나타내며, 시스템 로그(870)는 시스템의 운용 상황의 기록을 나타낸다.
디바이스 정보 테이블(410e)의 구성 요소들은 도 8에 도시된 것에 한하지 않는다. 예를 들어, 전술한 것에 더하여, MAC 어드레스, 인쇄 속도, 총 인쇄 페이지 수, 등이 디바이스 정보에 추가될 수도 있다.
다음, 복수의 디바이스에 펌웨어를 전송하는 중에 펌웨어 전송 장치(101)에서 수행되는 동작의 일례를 도 9의 플로우차트를 참조하여 설명한다.
먼저, 도 9의 단계 S901에 있어서, 데이터베이스 입출력 기능부(409)는 디바이스 펌웨어를 데이터베이스(410)에 기억시킨다.
데이터베이스 입출력 기능부(409)는 사용자의 지시에 기초하여 데이터베이스(410)에 펌웨어를 기억시킬 수 있으며, 또는 외부 펌웨어 관리 장치(도시 생략) 등으로부터 공급되는 펌웨어를 데이터베이스(410)에 기억시킬 수 있다.
펌웨어 관리 장치로부터 펌웨어가 공급되는 경우, 펌웨어 전송 장치(101)는 펌웨어 관리 장치에 요청을 행함으로써 펌웨어를 취득하고, 취득된 펌웨어를 데이터베이스(410)에 기억시킬 수 있다. 역으로, 펌웨어 관리 장치가 자발적으로 펌웨어를 펌웨어 전송 장치(101)에 전달하여, 전달된 펌웨어가 데이터베이스(410)에 기억될 수도 있다. 펌웨어를 외부로부터 이와 같이 공급하는 경우, 펌웨어는 통신 기능부(411)를 통해 공급된다. 또한, 펌웨어는 플로피 디스크, CD-ROM, 등의 기록 매체의 형식으로 기억 및 공급될 수도 있다.
다음, 단계 S902에서, 데이터베이스 입출력 기능부(409)는 데이터베이스(410)에 기억된 테이블(410b 내지 410e) 각각을 초기화시킨다.
다음, 단계 S903에서, 디바이스 정보 취득 기능부(407)는 통신 기능부(411) 를 통해 디바이스들로부터 디바이스 정보를 취득한다. 그 후, 데이터베이스 입출력 기능부(409)는 디바이스 정보 취득 기능부(407)에 의해 취득된 디바이스 정보를 디바이스 정보 테이블(410e)에 기억시킨다. 그 후, 데이터베이스 입출력 기능부(409)는 디바이스 정보 테이블(410e) 내의 등록 내용에 기초하여 디바이스 목록을 생성한다. 이 디바이스 목록을 이하에 설명한다. 따라서, 본 실시예에서는 단계 S903의 처리를 수행함으로써 취득부가 실현된다.
다음, 단계 S904에서, 디바이스 그룹 작성 조건 지정부(401)는 사용자에 의해 입력된 디바이스 그룹(디바이스 그룹)을 작성하기 위한 디바이스 그룹 작성 조건에 기초하여 디바이스 그룹을 작성한다. 구체적으로, 디바이스 그룹 작성 조건 지정부(401)는 디바이스 그룹 작성 조건 테이블(410b)의 등록 내용에 기초하여 디바이스 그룹 작성 조건을 작성하고, 사용자에 대하여 표시 디바이스 상에 작성된 조건을 표시한다. 사용자는 디바이스 그룹 작성 조건 지정부(401)에 의해 표시되는 디바이스 그룹 작성 조건들 중에서 채용되어야 하는 조건을 선택한다. 디바이스 그룹 작성 조건 지정부(401)는 선택된 조건을 수신한다. 따라서, 본 실시예에 있어서, 단계 S904의 처리를 수행함으로써 제2 수신부가 실현된다.
다음, 단계 S905에서, 참조 디바이스 선택 조건 지정부(402)가 참조 디바이스를 선택하기 위한 참조 디바이스 선택 조건을 사용자에게 표시한다. 구체적으로, 참조 디바이스 선택 조건 지정부(402)는 참조 디바이스 선택 조건 테이블(410c)의 등록 내용에 기초하여 참조 디바이스를 선택하기 위한 참조 디바이스 선택 조건을 작성하고, 사용자에 대하여 작성된 조건을 표시 디바이스 상에 표시한 다. 사용자는 참조 디바이스 선택 조건 지정부(402)에 의해 나타낸 디바이스 그룹 작성 조건 중에서 채용되게 되는 조건을 선택한다. 참조 디바이스 선택 조건 지정부(402)는 선택된 조건을 수신한다. 따라서, 본 실시예에 있어서, 단계 S905의 처리를 수행함으로써 수신부가 실현된다.
도 10은 단계 S903 내지 단계 S905의 처리에서 표시되는 펌웨어 전송 조건 선택 화면의 일례를 나타낸 도면이다.
도 10에서, 펌웨어 전송 조건 선택 화면(1000)은 단계 S903에서 작성된 디바이스 목록(1010)을 표시한다. 디바이스 정보(1001 내지 1006)가 디바이스 목록(1010)에 열거된다.
도 10의 디바이스 목록(1010) 내의 디바이스 정보(1001 내지 1006)는 디바이스 정보 테이블(410e)에 기억된다. 그러나, 사용자에 의한 코멘트와 같은 디바이스 정보 테이블(410e)에 기억되지 않은 정보는 도 10에 도시된 다바이스 정보(1001 내지 1006)와 함께 표시될 수도 있다.
또한, 도 9의 단계 S904에서 디바이스 그룹을 작성하기 위해 사용되는 디바이스 그룹 작성 조건(1020)은 펌웨어 전송 조건 선택 화면(1000) 상에 표시된다. 도 10에서, 디바이스 그룹 작성 조건 테이블(410b)을 사용하여, 디바이스 명칭과 전송될 펌웨어의 버전을 대상으로 한 디바이스 그룹 작성 조건이 사용자에게 표시된다. 그러나, 사용자에 대하여 표시되는 디바이스 그룹 작성 조건은 이에 한하지 않는다. 예를 들어, 디바이스 기능을 대상으로 하는 디바이스 그룹 작성 조건 또한 명시될 수 있다.
여기서, "복합기 A V1.15" 및 "프린터 A V2.30"이 사용자에 의해 입력되는 디바이스 그룹 작성 조건으로서 열거되어 있다. 사용자는 디바이스 그룹 작성 조건(1020)의 선두에 표시되는 박스들 ""복합기 A V1.15" 및 "프린터 A V2.30"을 체크한다. 따라서, 적용가능한 펌웨어가 전송될 수 있는 디바이스들이 지정되고 추출된다.
또한, 단계 S905에서 참조 디바이스를 선택하기 위하여 사용되는 참조 디바이스 선택 조건(1030)이 펌웨어 전송 조건 선택 화면(1000) 상에 표시된다. 도 10에서, 참조 디바이스 선택 조건 테이블(410c)의 등록 내용에 기초한 참조 디바이스 선택 조건(성능 우선, 빈도 우선, 환경 우선)이 사용자에 대하여 표시된다. 그 후, 도 10에는, 이와 같은 참조 디바이스 선택 조건과 함께 사용자가 디바이스 목록(1010)으로부터 참조 디바이스를 선택할 수 있도록 하기 위한 선택안("디바이스 목록에서 선택되는 디바이스") 또한 표시된다. 본 실시예에서 사용자는 디바이스 목록(1010)으로부터 참조 디바이스를 선택할 수 있지만, 반드시 이 경우이어야 할 필요는 없다. 예를 들어, 사용자는 참조 목록(1010)을 사용하지 않고 직접 디바이스를 식별하기 위한 정보(IP 어드레스, MAC 어드레스, 디바이스 일련번호 등)를 펌웨어 전송 조건 선택 화면(1000)에 입력함으로써 참조 디바이스를 지정할 수 있다.
도 10에서, 사용자에 의해 선택되는 참조 디바이스 선택 조건의 일례로서 "성능 우선(performance priority)"이 도시되어 있다. "성능 우선"이 선택되는 경우, 예를 들어, 도 6에 나타낸 사용되는 디바이스에 관한 정보(620)에 기재된 인쇄 속도, 장비, 및 컬러/단색의 조건에 기초하여 상대적으로 높은 성능을 갖는 디바이 스의 순서로 참조 디바이스의 선택이 이루어진다.
또한, 펌웨어 전송 조건 선택 화면(1000) 상에 선택가능한 참조 디바이스의 수(1040)가 표시된다. 선택가능한 참조 디바이스의 수(1040)에 의해, 사용자는 참조 디바이스 선택 조건(1030)에 의해 선택되는 참조 디바이스의 수를 지정할 수 있다.
또한, 펌웨어 전송 조건 선택 화면(1000) 상에 "OK" 버튼(1007)과 "취소" 버튼(1008)" 또한 표시된다. "OK" 버튼(1007)("취소" 버튼(1008))은 펌웨어 전송 조건 선택 화면(1000)에 대하여 사용자에 의해 이루어지는 입력을 확정(파기)하는 기능을 갖는다.
이러한 펌웨어 전송 조건 선택 화면(1000) 상에서 사용자에 의해 이루어지는 입력이 수신되어, "OK" 버튼(1007)이 눌러지는 때에, 펌웨어 전송 장치(101)가 단계 S906을 실행한다.
단계 S906에서, 참조 디바이스 결정 기능부(405)는 펌웨어 전송 조건 선택 화면(1000) 상에서 사용자에 의해 입력되는 정보(조건)를 이용하여 참조 디바이스를 결정한다. 또한, 디바이스 그룹 작성 조건부(404)는 펌웨어 전송 조건 선택 화면(1000) 상에서 사용자에 의해 입력되는 정보(조건)를 이용하여 디바이스 그룹을 결정(작성)한다. 디바이스 그룹은 하나 이상의 참조 디바이스와 0 이상의 유사 디바이스를 포함한다.
이하, 단계 S906의 동작을 더 상세하게 설명한다.
데이터베이스 입출력 기능부(409)는 디바이스 그룹 작성 조건 지정부(401)와 참조 디바이스 선택 조건 지정부(402)로부터 펌웨어 전송 조건 선택 화면(1000) 상에서 사용자에 의해 입력되는 데이터를 취득한다. 그 후, 데이터베이스 입출력 기능부(409)는 취득된 데이터를 데이터베이스(410)에 일시적으로 기억시킨다.
다음, 디바이스 그룹 작성 기능부(404)는 데이터베이스 입출력 기능부(409)를 통해 일시 기억된 데이터 중에서 디바이스 그룹 작성 조건에 관한 디바이스 정보와 데이터를 취득하고, 취득된 정보에 기초하여 디바이스 그룹을 작성한다.
또한, 디바이스 그룹 작성 기능부(404)는 데이터베이스 입출력 기능부(409)를 통해 작성된 디바이스 그룹 데이터를 데이터베이스(410)에 일시 기억시킨다. 이 단계에서, 작성된 디바이스 그룹에 포함된 디바이스들 중에서 참조 디바이스와 유사 디바이스의 구분은 존재하지 않는다.
마찬가지로, 참조 디바이스 결정 기능부(405)는 데이터베이스 입출력 기능부(409)를 통해 전술한 일시 기억된 데이터 중에서 디바이스 그룹 선택 조건에 관한 디바이스 정보와 데이터를 취득하고, 취득된 정보에 기초하여, 참조 디바이스를 결정한다.
여기서 결정된 참조 디바이스의 수는 도 10의 선택가능한 참조 디바이스의 수(1040)에 의해 지정된 값과 동일하다. 그러나, 디바이스 그룹 내의 구성요소의 수는 선택가능한 참조 디바이스의 수(1040)에 의해 지정되는 값보다 작으며, 여기서 선택되는 디바이스의 수는 디바이스 그룹의 디바이스의 수와 동일하다.
이와 같이 디바이스 그룹 및 참조 디바이스가 결정된 후에, 펌웨어 전송 조건 선택 화면(1000) 상의 "OK" 버튼(1007)이 사용자에 의해 눌러지면, 펌웨어 전송 장치(101)가 단계 S907을 실행시킨다.
따라서, 본 실시예에 있어서, 단계 S906의 처리를 수행함으로써 결정부와 작성부가 실현된다.
단계 S907에서, 유사 디바이스 전송 조건 지정부(403)는 표시 디바이스 상에서 사용자에 의해 지정되는 유사 디바이스 전송 조건을 표시하고, 사용자가 유사 디바이스 전송 조건을 입력하도록 촉구한다. 그 후, 유사 디바이스 전송 조건 지정부(403)가 사용자에 의해 입력되는 유사 디바이스 전송 조건의 입력값을 수신하고, 데이터베이스 입출력 기능부(409)를 통해 수신된 입력 값을 데이터베이스(410)에 일시 기억시킨다.
도 11은 단계 S907에서 표시되는 디바이스 그룹 표시 화면의 일례를 나타낸 도면이다.
도 11에서, 디바이스 그룹 표시 화면(1100) 상에 디바이스 그룹 목록(1110)이 표시된다. 이 디바이스 그룹 목록(1110)은 도 9의 단계 S906에서 작성(결정)된 디바이스 그룹들의 목록을 표시한다. 도 11에 도시된 예에 있어서, 2개의 디바이스 그룹이 도시되어 있다. 하나의 디바이스 그룹은 디바이스(1101 및 1102)로 형성되며, 또 다른 디바이스 그룹은 디바이스(1103, 1104, 및 1105)로 이루어진다.
이 디바이스 그룹들은 단계 S904에서 사용자에 의해 입력되는 디바이스 그룹 작성 조건에 기초하여 디바이스 그룹 작성 기능부(404)에 의해 작성되었다. 더 구체적으로, 디바이스 그룹 작성 기능부(404)는 디바이스 정보 테이블(410e)을 참조하고, 도 10의 디바이스 그룹 작성 조건(1020)에 의해 지정되는 "복합기 A V1.15" 또는 "프린터 A V2.30"의 조건에 부합하는 디바이스들을 그룹시킨 디바이스 그룹을 작성한다.
또한, 도 11에 도시된 예에 있어서, 디바이스(1101 및 1103)는 참조 디바이스이며, 디바이스(1102, 1104, 및 1105)는 유사 디바이스이다.
참조 디바이스(1101 및 1103)는 단계 S905에서 사용자에 의해 입력되는 참조 디바이스 선택 조건에 기초하여 참조 디바이스 결정 기능부(405)에 의해 선택된다. 더 구체적으로, 참조 디바이스 결정 기능부(405)는 참조 디바이스 선택 조건 테이블(410c)과 디바이스 정보 테이블(410e)을 참조한다. 그 후, 참조 디바이스 결정 기능부(405)는 도 10에 도시된 참조 디바이스 선택 조건(1030)에 의해 지정되는 "성능 우선"의 조건에 부합하는 디바이스들을 선택한다. 선택된 디바이스의 수는 참조 디바이스로서 선택가능한 참조 디바이스(1040)의 수에 의해 지정되는 값이다.
도 10에 도시된 디바이스(1006)는 디바이스 그룹 작성 조건(1020)에서 발견되지 않기 때문에, 디바이스(1006)는 도 11의 디바이스 그룹 표시 화면(1100) 상에 표시되지 않는다.
또한, 디바이스 그룹 표시 화면(1100) 상에 유사 디바이스 전송 조건(1120)이 표시된다. 도 11에 도시된 예에서, 유사 디바이스 전송 조건 테이블(410d)의 등록 내용에 기초한 유사 디바이스 전송 조건이 도시되어 있다.
사용자는 사용자가 소망하는 유사 디바이스 전송 조건에 따라서 "에러 개선(ERROR FIXING)", "기능 추가 확인(CONFIRMATION OF FUNCTION ADDITION)", 및 "일정 기간 연속 가동(CONTINUOUS OPERATION FOR A CERTAIN PERIOD OF TIME)" 중 어 느 하나를 선택하고, 선택된 유사 디바이스 전송 조건에 관한 세부사항을 입력한다. 도 11에 도시된 예에서, 사용자는 "일정 기간 연속 가동" 및 "가동 시간 100시간"을 유사 디바이스 전송 조건으로서 선택하였다. 더 구체적으로, 도 11에 도시된 예에 있어서, 사용자는 펌웨어가 참조 디바이스에 전달된 후에, 참조 디바이스가 100 시간 동안 중단시간 없이 연속으로 가동된 경우에, 유사 디바이스에도 펌웨어가 전송되어야 하는 것을 유사 디바이스 전송 조건으로서 선택하였다.
유사 디바이스 전송 조건(1120)으로서 표시되는 "에러 개선", "기능 추가 확인" 및 "일정 기간 연속 가동"은 유사 디바이스 전송 조건 테이블(410d)의 유사 디바이스 전송 조건(710)에 기억된 것과 동일하다.
또한, 디바이스 그룹 표시 화면(1100) 상에 "OK" 버튼(1106)"과 "취소" 버튼(1107)이 표시된다. "OK" 버튼(1106)("취소" 버튼(1107))은 디바이스 그룹 표시 화면(1100)에 대하여 사용자에 의해 이루어지는 입력을 확인(파기)하는 기능을 갖는다. 사용자에 의해 "OK" 버튼(1106)이 눌러지면, 펌웨어 전송 장치(101)는 펌웨어를 참조 디바이스에 전송한다. 펌웨어 전송 장치(101)는 사용자에 의해 선택되는 유사 디바이스 전송 조건에 기초하여 펌웨어가 전송된 참조 디바이스로부터 유사 디바이스 전송 조건 테이블(410d)의 "사용되는 디바이스의 정보(720)"에 등록된 디바이스 정보를 취득한다.
따라서, 본 실시예에 있어서, 제3 수신부는 단계 S907의 처리를 수행함으로써 실현된다.
도 9의 설명으로 돌아가서, 사용자에 의해 이루어지는 입력이 디바이스 그룹 표시 화면(1100) 상에서 수신되어, "OK" 버튼(1106)이 눌러지는 경우, 펌웨어 전송 장치(101)는 단계 S908을 실행한다.
단계 S908에서, 사용자에 의해 디바이스 그룹 표시 화면(1100)으로 입력되는 정보에 기초하여, 펌웨어 전송 기능부(406)는 통신 기능부(411)에 대하여 참조 디바이스에 펌웨어를 전송하도록 지시한다. 그 결과, 참조 디바이스들에 펌웨어가 전송된다.
도 10 및 도 11의 예에서, 펌웨어 "복합기 A V1.15"가 디바이스 1에 전송되며, 펌웨어 "프린터 A V2.30"이 디바이스 4에 전송된다.
따라서, 본 실시예에 있어서, 단계 S908의 처리를 수행함으로써 제1 전송부가 실현된다. 단계 S908에서, 펌웨어 전송 장치(101)는 또한 참조 디바이스들에 대한 펌웨어 전송의 결과를 사용자에 대하여 표시 장치 상에 표시한다.
다음, 단계 S909에서, 디바이스 정보 취득 기능부(407)는 펌웨어가 성공적으로 전송되었던 참조 디바이스가 존재하는지 여부를 참조 디바이스들로부터 송신된 정보에 기초하여 판정한다. 단계 S909에서 이러한 판정의 결과, 펌웨어가 성공적으로 전송되었던 참조 디바이스가 존재하지 않으면(단계 S909에서 아니오), 후술하는 단계 S915에 처리를 진행한다. 반면, 펌웨어가 성공적으로 전송되었던 참조 디바이스가 존재한다면(단계 S909에서 예), 단계 S910에 처리를 진행한다.
단계 S910에 처리가 진행하는 경우, 디바이스 정보 취득 기능부(407)는 데이터베이스 입출력 기능부(409)를 통해 단계 S907에서 사용자에 의해 지정된 유사 디바이스 전송 조건의 입력 값을 데이터베이스(410)로부터 취득한다. 또한, 디바이 스 정보 취득 기능부(407)는 취득된 입력값을 나타내는 유사 디바이스 전송 조건 테이블(410d)의 "사용되는 디바이스의 정보(720)"를 참조한다.
도 11에 도시된 예에 있어서, "일정 기간 연속 가동" 및 "가동 시간 100시간"이 지정된다. 그러므로, 디바이스 정보 취득 기능부(407)는 유사 디바이스 전송 조건 테이블(410d)의 "사용되는 디바이스에 대한 정보(720)"의 입력 내용에 기초하여 시스템 로그를 취득한다.
도 11에 도시된 디바이스 그룹 표시 화면(1100)에서, "에러 개선"과 "에러 번호: 30000"이 사용자에 의해 선택된다고 가정하면, 디바이스 정보 취득 기능부(407)는 유사 디바이스 전송 조건 테이블(410d)의 "사용되는 디바이스에 대한 정보(720)"의 입력 내용에 기초하여 에러 로그를 취득한다. 또한, 도 11에 도시된 디바이스 그룹 표시 화면(1100)에서 "기능 추가 확인"과 "추가된 기능: 스캐너"가 선택된다고 가정하면, 디바이스 정보 취득 기능부(407)는 유사 디바이스 전송 조건 테이블(410d)의 "사용되는 디바이스의 정보(720)"의 입력 내용에 기초하여 기능 목록 테이블을 취득한다.
다음, 단계 S911에서, 유사 디바이스 전송 판별부(408)는 단계 S910에서 취득된 디바이스 정보를 분석하고, 참조 디바이스에 구현된 펌웨어가 올바르게 가동중인지 여부를 판정한다.
예를 들어, 단계 S910에서 "일정 기간 연속 가동"과 "가동 시간 100시간"이 선택되면, 유사 디바이스 전송 판별부(408)는 참조 디바이스에서 구현된 펌웨어가 올바르게 가동중인지 여부를 이하의 방법으로 판별한다. 더 구체적으로, 유사 디 바이스 전송 판별부(408)는 참조 디바이스로부터 정기적으로 취득되는 시스템 로그에 기초하여 100 시간 동안 참조 디바이스가 연속 가동된 것을 확인하고, 참조 디바이스에 구현된 펌웨어가 올바르게 가동중인지 여부를 판정한다. 이러한 시스템 로그에 있어서, 디바이스에서 발생한 이벤트들의 세부사항과 시간이 일일이 기록된다. 그러므로, 유사 디바이스 전송 판별부(408)는 디바이스 시동 이벤트의 시간으로부터 100시간 동안 시스템 로그 내에서 디바이스 정지 이벤트가 존재하지 않은 것으로 판정함으로써 참조 디바이스에 구현된 펌웨어가 올바르게 동작중인지 여부를 판별할 수 있다.
또한, 단계 S910에서, 사용자에 의해 "에러 개선"과 "에러 번호:30000"가 선택되면, 유사 디바이스 전송 판별부(408)는 정기적으로 취득되는 에러 로그로부터 "에러 번호: 30000"에 관한 입력 내용을 검색한다. 이러한 에러 로그에 있어서, 디바이스에서 발생한 에러들의 세부사항과 시간이 일일이 기록된다. 그러므로, 유사 디바이스 전송 판별부(408)는 에러 로그에 "에러 번호: 30000" 에러가 포함되어 있지 않거나, 이러한 에러의 빈도가 증가하고 있는 것을 확인함으로써 참조 디바이스에 구현된 펌웨어가 올바르게 가동중인지 여부를 판별할 수 있다.
또한, 단계 S910에서, "기능 추가 확인" 및 "추가 기능: 스캐너"가 선택되면, 유사 디바이스 전송 판별부(408)는 정기적으로 취득되는 기능 목록 테이블로부터 스캐너에 관한 입력 내용을 검색한다. 이러한 기능 목록 테이블에는, 디바이스가 갖는 기능의 목록이 열거된다.
유사 디바이스 전송 판별부(408)는 취득된 기능 목록 테이블 내에 "스캐너" 가 포함되어 있는 것으로 확인한다. 여기서, 복수의 참조 디바이스가 하나의 디바이스 그룹 내에 존재한다면, 유사 디바이스 전송 판별부(408)는 구현된 펌웨어가 모든 참조 디바이스들에서 올바르게 가동중인지 여부를 판별한다.
단계 S911로 돌아가서, 유사 디바이스 전송 판별부(408)는 각 참조 디바이스 별로 단계 S910에서 취득된 디바이스 정보를 분석하고, 분석된 결과에 기초하여, 참조 디바이스마다 구현된 펌웨어가 올바르게 가동중인지 여부를 판별한다. 그 후, 구현된 펌웨어가 모든 참조 디바이스들에서 올바르게 가동중인 것으로 판정되면(단계 S911에서 예), 단계 S912에 처리를 진행한다. 반면, 적어도 하나의 참조 디바이스 내에서 구현된 펌웨어가 올바르게 가동중인 것으로 판정되지 않으면(단계 S911에서 아니오), 단계 S914에 처리를 진행한다.
따라서, 본 실시예에 있어서, 단계 S909 내지 S911의 처리를 수행함으로써 확인부가 실현된다.
단계 S912에 처리를 진행하는 경우, 펌웨어 전송 기능부(406)는, 구현된 펌웨어가 올바르게 가동중인 것으로 판정되는 참조 디바이스에 접속된 유사 디바이스에, 참조 디바이스에 전송된 것과 동일한 펌웨어를 전송하도록 통신 기능부(411)에 지시한다. 그 결과, 유사 디바이스에 펌웨어가 전송된다.
따라서, 본 실시예에 있어서, 단계 S912의 처리를 수행함으로써 제2 전송부가 실현된다.
더 구체적으로, 펌웨어 전송 기능부(406)는 단계 S906에서 데이터베이스(410)에 일시 기억된 데이터에 기초하여 참조 디바이스가 속하는 디바이스 그룹 을 검색한다. 다음, 펌웨어 전송 기능부(406)는 디바이스 그룹에 속하는 유사 디바이스에 관한 정보를 데이터베이스(410)로부터 취득하고, 그 유사 디바이스에 참조 디바이스에 전송된 것과 동일한 펌웨어를 전송한다. 그 후, 단계 S913에 처리를 진행한다.
다음, 단계 S913에서, 펌웨어 전송 장치(101)는 유사 디바이스에 대한 펌웨어의 전송 결과를 사용자에 대하여 표시 디바이스 상에 표시한다. 그 후, 후술하는 단계 S916에 처리를 진행한다.
단계 S911에서, 적어도 하나의 참조 디바이스에서, 구현된 펌웨어가 올바르게 가동하고 있는 것으로 판정되지 않으면(단계 S911에서 아니오), 단계 S914에 처리를 진행한다. 단계 S914에서, 펌웨어 전송 장치(101)는, 참조 디바이스에 대한 펌웨어의 적용이 성공적이지 않은 것과 이러한 참조 디바이스 접속된 유사 디바이스에 펌웨어가 전송되지 않아야 함을 나타내는 메시지를 사용자에게 디스플레이(210) 상에 표시한다. 그 후, 단계 S916에 처리를 진행한다.
단계 S909에서, 펌웨어가 성공적으로 전송되지 않은 참조 디바이스가 존재한다면(단계 S909에서 아니오), 단계 S915에 처리를 진행한다. 단계 S915에서, 펌웨어 전송 장치(101)는 펌웨어가 성공적으로 전송되지 않은 참조 디바이스에 관한 정보와 이 참조 디바이스에 접속된 유사 디바이스에 관한 정보를 사용자에 대하여 디스플레이(210) 상에 표시한다. 그 후, 단계 S916에 처리를 진행한다.
단계 S916에서, 펌웨어 전송 기능부(406)는 단계 S913 내지 S915에서 펌웨어가 성공적으로 전송되지 않은 임의의 디바이스(참조 디바이스, 유사 디바이스)가 존재하는지 여부를 판정한다. 단계 S916에서 이 판정의 결과, 펌웨어가 성공적으로 전송되지 않은 임의의 디바이스(참조 디바이스, 유사 디바이스)가 존재한다면(단계 S916에서 예), 단계 S917에 처리를 진행한다. 단계 S917에서, 펌웨어 전송 기능부(406)는 펌웨어가 성공적으로 전송되지 않은 디바이스의 펌웨어를 도 9의 플로우차트의 처리 이전의 원래의 상태로 복구시킨다.
더 구체적으로, 디바이스가 도 9의 플로우차트의 처리 이전의 원래의 상태로 펌웨어를 복구시키는 기능을 갖는다면, 펌웨어 전송 기능부(406)는 펌웨어를 자신의 원래 상태로 복구시키기 위한 커맨드를 디바이스에 송신하도록 통신 기능부(411)에 지시한다. 그 결과, 펌웨어를 자신의 원래 상태로 복구시키기 위한 커맨드가 펌웨어가 성공적으로 전송되지 않은 디바이스에 송신되고, 그 디바이스의 펌웨어가 자신의 원래 상태로 복구된다.
한편, 디바이스가 펌웨어를 도 9의 플로우차트의 처리 이전의 자신의 원래 상태로 복구시키는 기능을 갖지 않는다면, 펌웨어 전송 기능부(406)는 유사 디바이스 전송 조건 테이블(410d)의 "펌웨어 버전(820)"을 참조한다. 그 후, 펌웨어 전송 기능부(406)는 도 9의 플로우차트의 처리를 수행하기 전에 적용되었던 펌웨어의 버전을 디바이스에 송신하도록 통신 기능부(411)에 지시한다. 그 결과, 도 9의 플로우차트의 처리를 수행하기 전에 적용되었던 펌웨어의 버전이 펌웨어가 성공적으로 전송되지 않은 디바이스에 송신되고, 그 디바이스의 펌웨어가 자신의 원래 상태로 복구된다. 이에 의해 도 9의 플로우차트의 처리가 종료된다.
도 9의 플로우차트의 처리를 수행하기 전에 적용되었던 펌웨어의 버전을 취 득하는 방법의 일례로서는, 도시 생략된 펌웨어 관리 장치로부터 "펌웨어 버전(820)"에 기술된 펌웨어 버전을 취득하는 것이 있다. 또한, 도 9의 플로우차트의 처리를 수행하기 전에 적용되었던 펌웨어의 버전은 단계 S908 및 단계 S912에서 펌웨어를 전송하기 전에 디바이스로부터 펌웨어의 백업을 획득함으로써 미리 취득될 수 있다.
따라서, 본 실시예에 있어서, 단계 S916의 처리를 수행함으로써 판정부가 실현되며, 단계 S917의 처리를 수행함으로써 상태 변경부와 제2 상태 변경부가 실현된다.
단계 S916에서, 단계 S913 내지 단계 S915에서 펌웨어가 성공적으로 전송되지 않은 디바이스(참조 디바이스, 유사 디바이스)가 존재하지 않는 것으로 판정되면(단계 S916에서 아니오), 디바이스에 적용되는 펌웨어를 자신의 원래 상태로 복구시킬 필요는 없다. 그러므로, 도 9의 플로우차트의 처리가 단계 S917를 수행하지 않고 종료한다.
도 12는 단계 S913로부터 단계 S916까지의 처리에서 표시되는 펌웨어 전송 결과 프리젠테이션 화면의 일례를 나타내는 도면이다.
도 12에서, 펌웨어 전송 결과 프리젠테이션 화면(1200) 상에 디바이스 그룹 목록(1210)이 표시된다. 펌웨어 전송 결과 표시 영역(1220)이 추가된 것을 제외하고는, 이 디바이스 그룹 목록(1210)은 도 11에 도시된 디바이스 그룹 목록(1110)과 동일하다. 더 구체적으로, 디바이스 그룹 목록(1210)에 등록된 디바이스들(1201 내지 1205)는 도 11에 도시된 디바이스들(1101 내지 1105)과 동일하다.
펌웨어 전송 결과 표시 영역(1220)은 펌웨어 전송 결과 프리젠테이션 화면(1200)에 대하여 고유하다. 본 실시예에서는, 단계 S913 내지 단계 S915의 처리를 수행함으로써, 펌웨어 전송 결과 표시 영역(1220)에 값이 기억된다. 더 구체적으로, 이하의 동작이 수행된다.
도 12에 도시된 예에서는, 참조 디바이스인 디바이스 1에 대한 펌웨어의 전송이 실패하였거나, 디바이스 1에 적용된 펌웨어가 올바르게 동작하지 않았다. 그러므로, 참조 디바이스인 디바이스 1의 펌웨어 전송 결과 표시 영역(1220)에 "NG"가 표시된다(단계 S915 또는 단계 S914).
유사 디바이스인 디바이스 3은 참조 디바이스인 디바이스 1에 접속되며, 디바이스 1의 펌웨어 전송 결과 표시 영역(1220)에 "NG"가 표시된다. 그러므로, 유사 디바이스인 디바이스 3의 펌웨어 전송 결과 표시 영역(1220)에는 "-"가 표시된다(단계 S915 또는 단계 S914).
참조 디바이스인 디바이스 4에 대한 펌웨어의 전송은 실패하였으며, 디바이스 4에 적용된 펌웨어는 올바르게 동작하였다. 그러므로, 참조 디바이스인 디바이스 4의 펌웨어 전송 결과 표시 영역(1220)에는 "OK"가 표시된다(단계 S913).
참조 디바이스인 디바이스 4에는 유사 디바이스인 디바이스 2가 접속되며, 디바이스 4의 펌웨어 전송 결과 표시 영역(1220)에는 "OK"가 표시된다. 또한, 유사 디바이스인 디바이스 2에 대한 펌웨어의 전송은 성공하였다. 그러므로, 유사 디바이스인 디바이스 2의 펌웨어 전송 결과 표시 영역(1220)에는 "OK"가 표시된다 (단계 S913).
참조 디바이스인 디바이스 4에는 유사 디바이스인 디바이스 5가 접속되며, 디바이스 4의 펌웨어 전송 결과 표시 영역(1220)에는 "OK"가 표시된다. 그러나, 유사 디바이스인 디바이스 5에 대한 펌웨어의 전송은 실패하였다. 그러므로, 유사 디바이스인 디바이스 5의 펌웨어 전송 결과 표시 영역(1220)에는 "NG"가 표시된다(단계 S913).
또한, 펌웨어 전송 결과 프리젠테이션 화면(1200) 상에는 "롤백(ROLLBACK)" 버튼(1230)이 표시된다. "롤백" 버튼(1230)은 사용자가 도 9의 단계 S917의 처리가 실행되도록 지시할 수 있게 한다. 더 구체적으로, 사용자는 펌웨어 전송 결과 표시 영역(1220)에 "NG"가 표시되는 디바이스의 펌웨어를 도 9의 플로우차트의 처리 전의 자신의 원래 상태로 복구시키는 경우 "롤백" 버튼(1230)을 누른다.
따라서, 본 실시예에 있어서, 도 12에 도시된 펌웨어 전송 결과 프리젠테이션 화면(1200)을 표시하기 위한 처리를 수행함으로써 표시부가 실현된다.
전술한 바와 같이, 본 실시예에 있어서, 하나 이상의 참조 디바이스에 펌웨어가 전송되며, 참조 디바이스들에서 펌웨어가 올바르게 동작하고 있는지를 확인한 후에, 참조 디바이스들에 전송된 것과 동일한 펌웨어가 유사 디바이스에 전송된다. 그러므로, 적절하고 신뢰성 있게 펌웨어 갱신이 수행될 수 있다. 또한, 사용자는 참조 디바이스들에 송신된 펌웨어가 올바르게 동작중인지를 확인하기만 하면 되므로, 펌웨어 갱신시 사용자에 대한 부담이 경감될 수 있다. 그러므로, 사용자에 대한 부담을 경감시키는 한편, 신속하고 신뢰성 있게 펌웨어 갱신이 수행될 수 있다.
또한, 본 실시예의 펌웨어 전송 장치(101)는 펌웨어를 전송할 뿐만 아니라 펌웨어의 기억 및 디바이스 정보의 취득 등의 기능 또한 갖는다. 그러나, 이러한 기능들을 단일 장치에서 수행할 필요는 없다. 펌웨어 관리 장치, 디바이스 정보 취득 장치 등에 각각의 기능이 할당될 수도 있다.
또한, 본 실시예에 있어서, 펌웨어 전송 조건 선택 화면(1000)과 디바이스 그룹 표시 화면(1100)이 상이한 화면 상에 표시되었다. 그러나, 이 2개의 화면은 단일 화면에 통합될 수도 있다. 이러한 경우, 도 10의 "OK" 버튼(1007)과 "취소" 버튼(1008) 및 도 11의 디바이스 그룹 목록(1110)은 표시되지 않는다.
<그 외의 예시적인 실시예들>
전술한 실시예의 전송 방법의 각각의 단계와 전송 장치를 구성하는 각 부들은 컴퓨터의 RAM, ROM 등에 기억된 프로그램의 연산에 의해 실현될 수 있다. 이러한 프로그램과 이 프로그램이 기억된 컴퓨터 판독가능 기록 매체는 본 발명의 범주 내에 포함된다.
또한, 본 발명은 시스템, 장치, 방법, 프로그램, 또는 기억 매체로서 실시될 수도 있다. 또한, 본 발명은 복수의 디바이스들로 구성된 시스템 또는 하나의 디바이스로 구성된 장치에 적용될 수 있다.
또한, 본 발명은 전술한 실시예의 기능들을 실현하기 위한 소프트웨어 프로그램(이러한 실시예에서, 도 9에 도시된 플로우차트에 해당하는 프로그램)을 시스템 또는 장치에 직접 또는 원격으로 공급한다. 본 발명은 또한 공급된 프로그램 코드를 판독하여 실행시키는 장치 또는 이러한 시스템의 컴퓨터에 의해 실현되는 실시예들을 포함한다.
그러므로, 본 발명에 따른 실시예의 기능적 처리를 실현하기 위하여, 컴퓨터에 인스톨되는 프로그램 코드 자체 또한 본 발명을 실현한다. 즉, 본 발명에 따른 실시예의 기능적 처리를 실현하기 위한 컴퓨터 프로그램은 그 자체로 본 발명에 포함된다.
이 경우, 프로그램은 프로그램의 기능을 갖는 한 오브젝트 코드, 인터프리터에 의해 실행되는 프로그램, OS 등에 공급되는 스크립트 데이터일 수도 있다.
프로그램을 공급하기 위한 기록 매체의 예로서는, 플로피 디스크, 하드 디스크, 광학 디스크, MO(magneto-optical) 디스크, CD-ROM, CD-R, CD-RW 등을 포함한다. 다른 예로서는, 자기 테이프, 불휘발성 메모리, ROM, DVD(DVD-ROM, DVD-R), 등을 포함한다.
또한, 프로그램을 공급하는 방법의 예로서는, 인터넷 웹페이지에 접속하기 위하여 클라이언트 컴퓨터의 브라우저를 이용하는 것을 포함한다. 하드 디스크 등의 기록 매체 상에 다운로드함으로써 본 발명에 따른 컴퓨터 프로그램 자체, 또는 자동 설치 기능을 포함하는 압축 파일이 또한 웹페이지로부터 공급될 수도 있다.
또한, 본 발명은 본 발명에 따른 실시예의 프로그램을 구성하는 프로그램 코드를 복수의 파일로 분할하여, 그 파일 각각을 상이한 웹페이지로부터 다운로드함으로써 실현될 수도 있다. 즉, 복수의 사용자가 컴퓨터에 의해 본 발명에 따른 실시예의 기능적 처리를 실현하기 위한 프로그램 파일들을 다운로드할 수 있도록 하는 WWW 서버 또한 본 발명에 포함되는 것이다.
또한, 본 발명은 본 발명의 실시예에 따른 프로그램을 암호화하여, 암호화된 프로그램을 CD-ROM 등의 기록 매체에 기억시키고, 기록 매체를 사용자에 배포함으로써 실현될 수도 있다. 이 경우, 특정 조건을 충족시키는 사용자가 인터넷을 통해 웹페이지로부터 암호화를 풀기 위한 키 정보를 다운로드할 수 있도록 허용되어, 그 키 정보를 이용하여 암호화된 프로그램이 실행가능한 포맷으로 컴퓨터 상에 인스톨된다.
또한, 실시예의 기능들은 컴퓨터가 판독된 프로그램을 실행시킴으로써 실현될 수 있다. 또한, 실시예의 기능들은 프로그램으로부터의 지시에 기초하여 실제 처리의 전부 또는 일부를 컴퓨터 상에서 동작하는 OS에 수행시킴으로써 실행될 수도 있다.
또한, 본 실시예는 기록 매체로부터 판독된 프로그램을 컴퓨터에 삽입된 기능 확장 보드 또는 컴퓨터에 접속된 기능 확장 유닛에 제공되는 메모리에 기입함으로써 실현될 수도 있다. 이어서, 그 프로그램으로부터의 지시에 기초하여, 기능 확장 보드 또는 기능 확장 유닛에 제공되는 CPU 등이 실제 처리의 전부 또는 일부를 수행한다.
본 발명의 실시예에 따르면, 디바이스에 소프트웨어가 전송되고, 그 전송이 성공적인 것으로 확인된 후에, 다른 디바이스들에 소프트웨어가 전송된다. 그러므로, 소프트웨어의 전송이 신속하고 적절하게 수행될 수 있다. 또한, 이러한 방법으로 전송함으로써, 사용자는 전송이 성공적이었는지 여부를 확인하기만 하면 된다. 그러므로, 복수의 디바이스에 대하여 펌웨어 등의 소프트웨어 갱신 시에 사용자에 대한 부담이 경감될 수 있으며, 이러한 소프트웨어의 전송이 신속하고 적절하 게 수행될 수 있다.
실시예들을 참조하여 본 발명을 설명하였지만, 본 발명은 개시된 실시예에 한하지 않는다는 것을 이해하기 바란다. 이하의 청구항의 범주는 모든 변경예, 균등 구조, 및 기능을 포괄하도록 최광의로 해석되어야 한다.
본 명세서에 포함되어 그 일부를 구성하는 첨부 도면들은 본 발명의 예시적인 실시예, 특징, 및 양태들을 나타내며, 설명부와 함께, 본 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 예시적인 실시예에 따른 소프트웨어 전송 시스템의 구성의 일례를 나타낸 도면.
도 2는 본 발명의 예시적인 실시예에 따른 펌웨어 전송 시스템의 구성의 일례를 나타낸 도면.
도 3은 본 발명의 예시적인 실시예에 따른 디바이스의 내부 구성의 일례를 나타낸 도면.
도 4는 본 발명의 예시적인 실시예에 따른 펌웨어 전송 시스템의 기능 구성의 일례를 나타낸 블록도.
도 5는 본 발명의 예시적인 실시예에 따른 디바이스 그룹 작성 조건 테이블의 등록 내용의 일례를 나타낸 도면.
도 6은 본 발명의 예시적인 실시예에 따른 참조 디바이스 선택 조건 테이블의 일례를 나타낸 도면.
도 7은 본 발명의 예시적인 실시예에 따른 유사 디바이스 전송 조건 테이블의 일례를 나타낸 도면.
도 8은 본 발명의 예시적인 실시예에 따른 디바이스 정보 테이블의 일례를 나타낸 도면.
도 9는 본 발명의 예시적인 실시예에 따른 복수의 디바이스들에 펌웨어가 전송중인 경우 펌웨어 전송 장치 내의 동작의 일례를 설명하는 플로우차트.
도 10은 본 발명의 예시적인 실시예에 따른 펌웨어 전송 조건 선택 화면의 일례를 나타낸 도면.
도 11은 본 발명의 예시적인 실시예에 따른 디바이스 그룹 표시 화면의 일례를 나타낸 도면.
도 12는 본 발명의 예시적인 실시예에 따른 펌웨어 전송 결과 프리젠테이션 화면의 일례를 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
100: LAN
101: 펌웨어 전송 장치
102, 103, 104: 프린터
105, 106, 107: 복합기
204: 시스템 버스
303: 화상 입출력 제어부
305: 팩시밀리부
306: 파일부
307: 외부 기억 디바이스
308: 외부 인터페이스부
309: 포맷터부
310: 화상 기억부
301: 리더부
302: 프린터부
304: 조작부
410a: 펌웨어
410b: 디바이스 그룹 작성 조건 테이블
410c: 참조 디바이스 선택 조건 테이블
410d: 유사 디바이스 전송 조건 테이블
410e: 디바이스 정보 테이블
409: 데이터베이스 입출력 기능부
406: 펌웨어 전송 기능부
408: 유사 디바이스 전송 판별 기능부
411: 통신 기능부
407: 디바이스 정보 취득 기능부
401: 디바이스 그룹 작성 조건 지정 기능부
402: 참조 디바이스 선택 조건 지정 기능부
403: 유사 디바이스 전송 조건 지정 기능부
404: 디바이스 그룹 작성 기능부
405: 참조 디바이스 결정 기능부

Claims (15)

  1. 소프트웨어를 선택된 디바이스에 전송하도록 구성되는 제1 전송 수단;
    상기 제1 전송 수단에 의해 상기 소프트웨어가 상기 선택된 디바이스에 전송된 후에, 상기 선택된 디바이스로부터 수신된, 상기 제1 전송 수단에 의한 상기 소프트웨어의 전송이 성공적이었는지 여부를 나타내는 정보에 기초하여, 상기 소프트웨어의 전송이 성공적이었음을 확인하도록 구성되는 확인 수단; 및
    상기 확인 수단에 의해 상기 소프트웨어의 전송이 성공적인 것으로 확인된 후에, 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와 상이하며 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와 연관된 디바이스에 상기 소프트웨어를 전송하도록 구성되는 제2 전송 수단
    을 포함하는 전송 장치.
  2. 제1항에 있어서,
    상기 제2 전송 수단은, 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와 유사한 것으로 상호 연관된 디바이스들에 대하여 상기 소프트웨어를 전송하도록 구성되는 전송 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 전송 수단에 의해 소프트웨어가 전송될 디바이스를 선택하기 위한 조건의 지정을 수신하도록 구성되는 수신 수단; 및
    상기 수신 수단에 의해 수신된 조건에 기초하여, 상기 제1 전송 수단에 의해 소프트웨어가 전송될 디바이스를 결정하도록 구성되는 결정 수단을 더 포함하며,
    상기 제1 전송 수단은, 상기 결정 수단에 의해 결정되는 디바이스에 소프트웨어를 전송하도록 구성되는 전송 장치.
  4. 제3항에 있어서,
    디바이스에 관련된 정보를 그 디바이스로부터 취득하도록 구성되는 취득 수단을 더 포함하며,
    상기 수신 수단은, 상기 취득 수단에 의해 취득되는 정보에 기초하여, 복수의 조건 중에서 상기 제1 전송 수단에 의해 소프트웨어가 전송될 디바이스를 선택하기 위한 조건의 지정을 수신하도록 구성되는 전송 장치.
  5. 제1항에 있어서,
    상기 제2 전송 수단에 의해 상기 소프트웨어가 전송될 디바이스 그룹을 작성하기 위한 조건의 지정을 수신하도록 구성되는 제2 수신 수단; 및
    상기 제2 수신 수단에 의해 수신되는 조건에 기초하여, 상기 소프트웨어가 전송될 디바이스 그룹을 작성하도록 구성되는 작성 수단을 더 포함하며,
    상기 제2 전송 수단은, 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스와는 상이한 디바이스들의 그룹 중의 디바이스에 상기 소프트웨어를 전송하도록 구성되는 전송 장치.
  6. 제5항에 있어서,
    상기 제2 수신 수단은, 전송 대상의 소프트웨어의 버전 정보에 기초하여, 복수의 조건 중에서 동일한 소프트웨어가 전송될 디바이스 그룹을 작성하기 위한 조건의 지정을 수신하도록 구성되는 전송 장치.
  7. 제5항 또는 제6항에 있어서,
    디바이스에 관련된 정보를 그 디바이스로부터 취득하도록 구성되는 취득 수단을 더 포함하며,
    상기 제2 수신 수단은, 상기 취득 수단에 의해 취득되는 정보에 기초하여, 복수의 조건 중에서 상기 소프트웨어가 전송될 디바이스 그룹을 작성하기 위한 조건의 지정을 수신하도록 구성되는 전송 장치.
  8. 제1항에 있어서,
    상기 제2 전송 수단에 의해 상기 소프트웨어를 전송하기 위한 조건의 지정을 수신하도록 구성되는 제3 수신 수단을 더 포함하며,
    상기 확인 수단은, 상기 제1 전송 수단에 의해 상기 소프트웨어가 전송된 디바이스로부터 수신되는 정보에 기초하여, 상기 제3 수신 수단에 의해 수신되는 조건이 충족되는 것을 확인함으로써, 상기 제1 전송 수단에 의한 소프트웨어의 전송이 성공적이었다는 것을 확인하도록 구성되는 전송 장치.
  9. 제8항에 있어서,
    디바이스에 관련된 정보를 그 디바이스로부터 취득하도록 구성되는 취득 수단을 더 포함하며,
    상기 제3 수신 수단은, 상기 취득 수단에 의해 취득되는 정보에 기초하여, 복수의 조건 중에서 상기 제2 전송 수단에 의해 상기 소프트웨어를 전송하기 위한 조건의 지정을 수신하도록 구성되는 전송 장치.
  10. 제1항에 있어서,
    상기 확인 수단에 의해, 상기 제1 전송 수단에 의한 디바이스로의 상기 소프트웨어의 전송이 성공적이었다는 것이 확인되지 않은 경우, 그 디바이스의 상태를 상기 소프트웨어의 전송 전의 상태로 복구시키도록 구성되는 상태 변경 수단을 더 포함하는 전송 장치.
  11. 제1항에 있어서,
    상기 제2 전송 수단에 의한 디바이스로의 소프트웨어의 전송이 성공적이었는지의 여부를 판정하도록 구성되는 판정 수단; 및
    상기 판정 수단에 의해, 상기 제2 전송 수단에 의한 상기 소프트웨어의 전송이 성공적이지 않은 것으로 판정되는 경우, 그 디바이스의 상태를 상기 소프트웨어의 전송 전의 상태로 복구시키도록 구성되는 제2 상태 변경 수단을 더 포함하는 전송 장치.
  12. 제1항에 있어서,
    상기 제1 전송 수단에 의한 상기 소프트웨어의 전송 결과 및 상기 제2 전송 수단에 의한 상기 소프트웨어의 전송 결과 중 적어도 하나를 표시하도록 구성되는 표시 수단을 더 포함하는 전송 장치.
  13. 제1 디바이스에 소프트웨어를 전송하는 단계;
    상기 소프트웨어가 상기 제1 디바이스에 전송된 후에, 상기 제1 디바이스로부터 수신된, 상기 소프트웨어의 전송이 성공적이었는지 여부를 나타내는 정보에 기초하여, 상기 소프트웨어의 전송이 성공적이었다는 것을 확인하는 단계; 및
    상기 제1 디바이스로의 소프트웨어의 전송이 성공적인 것을 확인한 후에, 상기 제1 디바이스와 상이하며 상기 제1 디바이스와 연관된 또 다른 디바이스에 상기 소프트웨어를 전송하는 단계
    를 포함하는 전송 방법.
  14. 컴퓨터에 탑재되는 경우, 상기 컴퓨터로 하여금 제1항에 따른 전송 장치가 되게 하는 컴퓨터 프로그램을 기억하는 기억 매체.
  15. 복수의 상이한 디바이스에 소프트웨어의 아이템을 전송하기 위한 전송 수단; 및
    상기 전송 수단으로 하여금 제1 디바이스에 상기 소프트웨어 아이템을 전송하게 하며, 상기 아이템의 성공적인 전송의 확인이 상기 제1 디바이스로부터 수신된 경우, 상기 전송 수단으로 하여금 상기 소프트웨어 아이템과 동일한 소프트웨어 아이템을 상기 제1 디바이스와 상이하며 상기 제1 디바이스와 연관된 또 다른 디바이스에 전송하게 하도록 동작가능한 제어 수단
    을 포함하는 소프트웨어 전송 장치.
KR1020080085179A 2007-08-31 2008-08-29 전송 장치, 전송 방법, 및 소프트웨어 전송 장치 KR100971602B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00226659 2007-08-31
JP2007226659A JP4958692B2 (ja) 2007-08-31 2007-08-31 配信装置、配信方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
KR20090023284A KR20090023284A (ko) 2009-03-04
KR100971602B1 true KR100971602B1 (ko) 2010-07-20

Family

ID=40139120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080085179A KR100971602B1 (ko) 2007-08-31 2008-08-29 전송 장치, 전송 방법, 및 소프트웨어 전송 장치

Country Status (5)

Country Link
US (1) US20090063611A1 (ko)
EP (1) EP2031505A3 (ko)
JP (1) JP4958692B2 (ko)
KR (1) KR100971602B1 (ko)
CN (1) CN101378348B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2333661B1 (en) * 2009-09-18 2015-06-10 Yamaha Corporation Firmware update apparatus and program
US9235404B2 (en) * 2012-06-27 2016-01-12 Microsoft Technology Licensing, Llc Firmware update system
US8972973B2 (en) 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
KR101992680B1 (ko) * 2013-02-05 2019-06-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 화상형성장치, 추적장치, 관리장치 및 화상형성장치의 펌웨어 업데이트 방법
US20140289551A1 (en) * 2013-03-20 2014-09-25 Hewlett-Packard Development Company, L.P. Fault management in an it infrastructure
KR101950445B1 (ko) * 2015-01-19 2019-02-20 엘에스산전 주식회사 태양광 발전 시스템
JP6661409B2 (ja) * 2016-03-01 2020-03-11 キヤノン株式会社 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP6701863B2 (ja) * 2016-03-24 2020-05-27 日本電気株式会社 ファームウェア配信システム、配信装置、ファームウェア配信方法およびファームウェア配信プログラム
CN109101252B (zh) * 2018-07-17 2022-05-31 广州视源电子科技股份有限公司 固件烧录方法、装置、设备和系统
JP7385240B2 (ja) * 2019-05-31 2023-11-22 コネクトフリー株式会社 ソフトウェア開発装置およびソフトウェア開発プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990063497A (ko) * 1997-12-26 1999-07-26 모리시타 요이치 전송장치와 수신장치를 가지는 소프트웨어 다운로드 시스템
JP2004157753A (ja) 2002-11-06 2004-06-03 Mitsubishi Electric Corp ファームウェアダウンロードシステム
JP2006215802A (ja) 2005-02-03 2006-08-17 Nec Infrontia Corp 通信端末のファームウェア・ダウンロード装置及び方法とそれを用いたシステム
JP2006215803A (ja) * 2005-02-03 2006-08-17 Nec Infrontia Corp 通信端末のファームウェア・ダウンロードシステム及び方法とそのプログラム

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038586A (en) * 1993-12-30 2000-03-14 Frye; Russell Automated software updating and distribution
JPH09138769A (ja) * 1995-11-14 1997-05-27 Mitsubishi Electric Corp ソフトウェア配布システム及びソフトウェア配布方法
JPH10301760A (ja) * 1997-04-22 1998-11-13 Toshiba Corp ソフトウェア自動配布管理システム及び方法
AU3740099A (en) * 1998-04-16 1999-11-01 Citibank, N.A. Customer access solutions architecture
US6226674B1 (en) * 1998-06-16 2001-05-01 Cypryan T. Klish Method for extending OSI ping function capability
US6704933B1 (en) * 1999-02-03 2004-03-09 Masushita Electric Industrial Co., Ltd. Program configuration management apparatus
US6357021B1 (en) * 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
US6434568B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
JP2001216167A (ja) * 2000-02-04 2001-08-10 Minolta Co Ltd 本体と周辺装置からなるシステム
JP2002132511A (ja) 2000-10-25 2002-05-10 Fuji Xerox Co Ltd プログラム更新システム
US7058088B2 (en) * 2001-03-28 2006-06-06 Minolta Co., Ltd. Data communication program product to rewrite simultaneously firmware of plurality of devices connected to network
US20020196451A1 (en) * 2001-06-25 2002-12-26 Xerox Corporation System for replicating desired configurations for printers on a network
US7146412B2 (en) * 2001-08-27 2006-12-05 Hewlett-Packard Development Company, L.P. System and methods for the automatic discovery, notification and installation of firmware upgrades
JP3863118B2 (ja) * 2002-04-01 2006-12-27 松下電器産業株式会社 受信装置、印刷装置およびファームウェア更新システム
JP4011971B2 (ja) * 2002-05-21 2007-11-21 キヤノン株式会社 ネットワークデバイス管理装置およびネットワークデバイス管理方法および記憶媒体
US20050149923A1 (en) * 2002-05-28 2005-07-07 Sheng Lee System update protocol
US7243347B2 (en) * 2002-06-21 2007-07-10 International Business Machines Corporation Method and system for maintaining firmware versions in a data processing system
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US20040093592A1 (en) * 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
US20040208182A1 (en) * 2003-04-16 2004-10-21 Microsoft Corporation Format independent consumer IR transceiver
JP3987460B2 (ja) * 2003-04-22 2007-10-10 株式会社日立コミュニケーションテクノロジー 無線通信装置及び無線通信網
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
JP4536411B2 (ja) * 2004-04-09 2010-09-01 株式会社沖データ リソース登録・更新システム及び方法
US7430055B2 (en) * 2004-06-25 2008-09-30 Xerox Corporation System for cloning digital printer settings by sending a clone file as a print job
US7950010B2 (en) * 2005-01-21 2011-05-24 Sap Ag Software deployment system
CN1863095A (zh) * 2005-03-21 2006-11-15 奔峰电子(北京)有限公司 一种电子设备及其管理系统
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
US7770168B1 (en) * 2005-05-25 2010-08-03 Landesk Software Limited Systems and methods for distributing software using nodes within a network group
JP4747733B2 (ja) * 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US20070169078A1 (en) * 2005-11-02 2007-07-19 Katdc Limited Method of controlling automatic updating of software or hardware kit for multimedia display device
US20070150892A1 (en) * 2005-12-22 2007-06-28 Samsung Electronics Co., Ltd. Scheduled delivery of software download
US20070245333A1 (en) * 2006-03-27 2007-10-18 Ferlitsch Andrew R Methods and Systems for Managing Firmware
EP1903437A3 (en) * 2006-07-31 2008-10-22 Seiko Epson Corporation Update data transmission method, firmware writing system, and update data transmission program
US7640367B2 (en) * 2006-09-06 2009-12-29 Seiko Epson Corporation Method for executing a software updating process and computer for implementing the method
US20080127159A1 (en) * 2006-10-02 2008-05-29 Mark Van Regenmorter Multi-function peripheral device capable of independent firmware updating
US20080174809A1 (en) * 2007-01-24 2008-07-24 Andrey Savov System and method for configuration cloning for document processing devices
EP2063107B1 (de) * 2007-09-21 2017-08-16 Senvion GmbH Verfahren und Anordnung zum Feststellen der Kompatibilität einer Steuerungssoftware mit einer Windenergieanlage
US8266260B2 (en) * 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
JP4560115B2 (ja) * 2008-04-10 2010-10-13 株式会社日立製作所 配布管理方法、配布管理システム、および配布管理サーバ
WO2009156615A1 (fr) * 2008-06-02 2009-12-30 Awox Procede et dispositif de mise a jour d'application informatique
US8291403B2 (en) * 2008-06-30 2012-10-16 Symantec Operating Corporation Install-unit upgrade using dynamic configuration data manipulation and merging
US8402373B2 (en) * 2008-10-10 2013-03-19 Sharp Laboratories Of America, Inc. Device cloning method for non-programmatic interfaces
US8892699B2 (en) * 2008-12-31 2014-11-18 Schneider Electric USA, Inc. Automatic firmware updates for intelligent electronic devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990063497A (ko) * 1997-12-26 1999-07-26 모리시타 요이치 전송장치와 수신장치를 가지는 소프트웨어 다운로드 시스템
JP2004157753A (ja) 2002-11-06 2004-06-03 Mitsubishi Electric Corp ファームウェアダウンロードシステム
JP2006215802A (ja) 2005-02-03 2006-08-17 Nec Infrontia Corp 通信端末のファームウェア・ダウンロード装置及び方法とそれを用いたシステム
JP2006215803A (ja) * 2005-02-03 2006-08-17 Nec Infrontia Corp 通信端末のファームウェア・ダウンロードシステム及び方法とそのプログラム

Also Published As

Publication number Publication date
KR20090023284A (ko) 2009-03-04
JP2009059210A (ja) 2009-03-19
JP4958692B2 (ja) 2012-06-20
EP2031505A3 (en) 2009-12-02
US20090063611A1 (en) 2009-03-05
EP2031505A2 (en) 2009-03-04
CN101378348A (zh) 2009-03-04
CN101378348B (zh) 2012-04-25

Similar Documents

Publication Publication Date Title
KR100971602B1 (ko) 전송 장치, 전송 방법, 및 소프트웨어 전송 장치
US8154742B2 (en) Print interruption processing
US8223371B2 (en) Image forming apparatus, data processing method, program, and storage medium
JP4510543B2 (ja) 画像処理装置、印刷装置及び画像処理方法
JP5679624B2 (ja) 印刷装置及びその制御方法とプログラム
US8347308B2 (en) Information processing apparatus, information processing method, and storage medium
US8601478B2 (en) Division, linking and sequential execution of workflows based on the fewest number of divided partitions
CN102473099A (zh) 信息处理装置、控制方法和存储介质
JP2006285611A (ja) 画像形成システム
JP2010016487A (ja) ジョブ処理装置及び当該ジョブ処理装置のジョブログの管理方法及びジョブ履歴管理システム
JP4976021B2 (ja) ダウンロードシステム、拠点サーバ及びプログラム
JP2009187309A (ja) 認証サーバ及び認証システム及びアカウント保守方法
JP5599055B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US20110016400A1 (en) Transmission system, transmission apparatus, and method
JP2006327016A (ja) 画像処理装置および画像処理方法コンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US7952742B2 (en) Information processing apparatus for processing print data, method thereof and media in storage of control program of executing such method
JP2009075707A (ja) 情報処理装置、情報処理装置の機器情報管理方法、プログラム
US20040002905A1 (en) Information processing apparatus, information processing method, program and storage medium
JP6429502B2 (ja) 管理システム、及びその方法
US20100195145A1 (en) Image processing apparatus, control method for image processing apparatus, and storage medium storing control program therefor
JP3619195B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラムおよびコンピュータ読取可能な記憶媒体
JP2004151994A (ja) データ処理装置
JP2009271139A (ja) 画像形成装置、その制御方法、プログラムおよび記録媒体
JP2007336097A (ja) 情報処理装置、管理装置及び通信方法
JP2008147947A (ja) 情報処理装置、プログラム、及び画像履歴管理システム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140625

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 9