KR101516504B1 - 인스톨 방법 및 장치 - Google Patents

인스톨 방법 및 장치 Download PDF

Info

Publication number
KR101516504B1
KR101516504B1 KR1020137006492A KR20137006492A KR101516504B1 KR 101516504 B1 KR101516504 B1 KR 101516504B1 KR 1020137006492 A KR1020137006492 A KR 1020137006492A KR 20137006492 A KR20137006492 A KR 20137006492A KR 101516504 B1 KR101516504 B1 KR 101516504B1
Authority
KR
South Korea
Prior art keywords
application
program
jsdk
csdk
installation
Prior art date
Application number
KR1020137006492A
Other languages
English (en)
Other versions
KR20130045392A (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 KR20130045392A publication Critical patent/KR20130045392A/ko
Application granted granted Critical
Publication of KR101516504B1 publication Critical patent/KR101516504B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Abstract

장치에 의해 실행되는 인스톨 방법은, 제1 프로그램의 기동시에, 상기 제1 프로그램으로부터의 호출을 수신하는 단계와, 호출에 응답하여, 제1 프로그램에 의해 이용되는 제2프로그램을 인스톨하는 단계를 포함한다.

Description

인스톨 방법 및 장치{INSTALL METHOD, APPARATUS}
본 발명은, 인스톨(install) 방법 및 장치에 관한 것으로, 보다 상세하게는 장치에서 프로그램을 실행하기 위한 인스톨 방법 및 장치에 관한 것이다.
종래, 출하 후에 애플리케이션 프로그램을 플러그인 방식으로서 추가할 수 있는 화상 형성 장치가 존재한다. 예를 들어, 특허문헌 1에 기재된 화상 형성 장치에는, C 언어에 의해서 개발된 애플리케이션(이하,“C 애플리케이션”이라고 함)으로, Java(등록상표)에 의해서 개발된 애플리케이션(이하,“J 애플리케이션”이라고 함)을 인스톨할 수 있다.
그러나, C 애플리케이션용 플랫폼과 J 애플리케이션용 플랫폼은 다르다. 구체적으로, J 애플리케이션용 플랫폼은, C 애플리케이션용 플랫폼 상에, Java(등록상표)용의 API(Application Program Interface)를 가진 플랫폼(특허문헌 1에 있어서의 JSDK 플랫폼)을 제공함으로써 형성된다.
JSDK 플랫폼의 모델 의존성은, C 애플리케이션용 플랫폼의 모델 의존성보다 현저히 낮다. 즉, JSDK 플랫폼의 API는 여러 가지 모델 타입에 대하여 적용될 수 있도록 평준화되어 있다. 애플리케이션의 개발자의 시점에 있어서, 애플리케이션을 J 애플리케이션으로서 개발하는 것이 더 유리하다. 이는, J 애플리케이션의 경우에, 각 모델 타입에 대한 소스 코드를 변경할 필요성이 낮으므로, 개발 비용을 줄일 수 있기 때문이다.
그러나, JSDK 플랫폼에 의해 제공되는 API의 기능 범위는, C 애플리케이션용 플랫폼의 API의 기능 범위보다 좁아진다. 즉, 순수한 J 애플리케이션에 의해 실행될 수 있는 기능의 수는, 순수한 C 애플리케이션에 의해 실행될 수 있는 기능의 수보다 적다. 순수한 J 애플리케이션은 JSDK 플랫폼 상에 동작하는 프로그램 모듈에 의해서만 구성되는 J 애플리케이션을 의미한다.
따라서, J 애플리케이션만으로는 기능을 실행할 수 없으면, C 애플리케이션으로서 기능을 인스톨할 필요가 있다. 이 경우에, J 애플리케이션 모듈과 C 애플리케이션 모듈 모두를 포함하는 패키지가 하나의 애플리케이션으로서 판매된다.
특허문헌 1 : 일본 특허 공개 제2007-49677호
J 애플리케이션과 C 애플리케이션 모두를 포함하는 애플리케이션은, 사용자에게는 단일 애플리케이션으로 보일 수 있지만, 이 애플리케이션은 이러한 구성(즉, J 애플리케이션 및 C 애플리케이션 양쪽을 포함하는 구성)을 가지는 애플리케이션을 인식할 수 없는 화상 형성 장치에 의해 2개의 애플리케이션으로서 인지된다. 따라서, 사용자는 인스톨 조작을 2회 수행해야 한다(사용자는 인스톨 조작을 실행하기 위한 지시를 2회 제공할 필요가 있다).
이러한 화상 형성 장치에 있어서, 상기 구성을 가지는 애플리케이션을 고려하여 애플리케이션의 인스톨 기구를 수정함으로써, 1회의 인스톨 지시에 의해 J 애플리케이션의 인스톨 처리와, C 애플리케이션의 인스톨 처리 양쪽을 실행하는 것은 기술적으로 가능하다.
그러나, J 애플리케이션과 C 애플리케이션 양쪽을 포함하는 애플리케이션을 인식할 수 없는 화상 형성 장치는, 이미 매우 상업적으로 이용가능하고, 최종(end) 사용자에 의해서 이용되고 있다. 이들 화상 형성 장치에 전술한 수정을 적용하는 것은, 많은 비용과 노동력을 필요로 한다.
본 발명은, 전술한 문제점을 고려하여 이루어졌으며, 본 발명의 적어도 하나의 실시형태의 목적은, 프로그램의 인스톨 조작을 간편화할 수 있는 인스톨 방법 및 장치를 제공하는 것이다.
본 발명의 양태는, 내부에 실행가능한 인스톨 프로그램이 기억된 비일시적(non-transitory) 컴퓨터 판독가능한 기억 매체를 제공하며, 상기 인스톨 프로그램은, 장치의 프로세서에 지시하여, 제1 프로그램의 기동시에, 상기 제1 프로그램으로부터의 호출을 수신하는 단계와, 상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하는 단계를 실행시킨다.
본 발명의 양태는, 장치에 의해 실행되는 인스톨 방법을 제공하며, 상기 인스톨 방법은, 제1 프로그램의 기동시에, 상기 제1 프로그램부터의 호출을 수신하는 단계와, 상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하는 단계를 포함한다.
본 발명의 양태는, 제1 프로그램의 기동시에, 상기 제1 프로그램부터의 호출을 수신하도록 구성되는 수신 유닛과, 상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하도록 구성되는 제1 인스톨 유닛을 구비하는 장치를 제공한다.
도 1은 본 발명의 실시형태에 따른 화상 형성 장치의 하드웨어 구성의 일례를 나타낸다.
도 2는 본 발명의 실시형태에 따른 화상 형성 장치의 소프트웨어 구성의 일례를 나타낸다.
도 3은 CSDK 애플리케이션과 JSDK 애플리케이션의 관리 기구의 일례를 나타낸다.
도 4는 제1 실시형태에 따른 인스톨 대상으로서 설정된 SDK 애플리케이션의 구성의 일례를 나타낸다.
도 5는 제1 실시형태에 따른 SDK 애플리케이션의 인스톨 처리 및 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 시퀀스도이다.
도 6은 제2 실시형태에 따른 인스톨 대상으로서 설정된 SDK 애플리케이션의 구성의 일례를 나타낸다.
도 7은 프록시 라이브러리를 포함하는 SDK 애플리케이션에 관한 인스톨 기구의 일례를 나타낸다.
도 8은 제2 실시형태에 따른 SDK 애플리케이션의 인스톨 처리 및 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 시퀀스도이다.
도 9는 프록시 라이브러리에 의해 수행되는 CSDK 애플리케이션의 인스톨 처리의 처리 순서의 일례를 설명하기 위한 도면이다.
도 10은 프록시 속성 파일에 기록되어 있는 정보의 일례를 나타낸다.
도 11은 프록시 라이브러리에 의해 수행되는 CSDK 애플리케이션의 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 도면이다.
이하, 첨부 도면을 참조하여 본 발명의 실시형태에 대하여 설명한다. 도 1은 본 발명의 실시형태에 따른 화상 형성 장치(10)의 하드웨어 구성의 일례를 나타낸다. 도 1에 도시된 바와 같이, 화상 형성 장치(10)는, 컨트롤러(11), 스캐너(12), 프린터(13), 모뎀(14), 조작 패널(15), 네트워크 인터페이스(16), 및 SD 카드 슬롯(17) 등의 하드웨어 요소를 포함한다.
컨트롤러(11)는, CPU(111), RAM(112), ROM(113), HDD(114), 및 NVRAM(115)을 포함한다. ROM(113)에는, 여러 가지 프로그램 및 그 프로그램에 의해 이용되는 데이터가 기록되어 있다. RAM(112)은 프로그램을 로드하기 위한 기억 영역 및 로드된 프로그램의 작업 영역으로서 이용된다. CPU(111)는 RAM(112)에 로드된 프로그램을 처리하여, 여러 가지 기능을 실행한다. HDD(114)에는, 프로그램 및 그 프로그램에 의해 이용되는 여러 가지 데이터 항목이 기록된다. NVRAM(115)에는, 여러 가지 설정 정보 항목이 기록된다.
스캐너(12)는, 화상 데이터를 얻기 위하여 원고를 스캐닝하기 위한 하드웨어 요소(화상 스캐닝 유닛)이다. 프린터(13)는 데이터를 용지에 인쇄하기 위한 하드웨어 요소(인쇄 유닛)이다. 모뎀(14)은 전화 회선에 화상 형성 장치(10)를 접속하여 팩스 통신에 의해 화상 데이터를 송수신하기 위한 하드웨어 요소이다. 조작 패널(15)은 사용자부터 입력을 수신하기 위한 버튼 등의 입력 유닛, 및 액정 패널 등의 표시 유닛을 포함하는 하드웨어 요소이다. 네트워크 인터페이스(16)는, LAN 등의 네트워크(유선 또는 무선)에 화상 형성 장치(10)를 접속하기 위한 하드웨어 요소이다. SD 카드 슬롯(17)은 SD 카드(80)에 기록된 프로그램을 판독하는데 이용된다. 화상 형성 장치(10)에 있어서, ROM(113)에 기록된 프로그램 이외에, SD 카드(80)에 기록된 프로그램도 RAM(112)에 로드되어, 실행될 수 있다.
도 2는 본 발명의 실시형태에 따른 화상 형성 장치(10)의 소프트웨어 구성을 나타낸다. 도 2에 도시된 바와 같이, 화상 형성 장치(10)는 표준 애플리케이션(151), SAS(SDK 애플리케이션 서비스)(152), CSDK 애플리케이션(153), JVM(154), JSDK 플랫폼(155), JSDK 애플리케이션(156), VAS(Virtual Application Service)(157), 제어 서비스(158), 및 OS(159)를 포함한다.
표준 애플리케이션(151)은 화상 형성 장치(10)에 표준 애플리케이션(화상 형성 장치(10)의 출하시에 구비됨)으로서 인스톨된 애플리케이션의 집합이다. 도 2에 도시된 일례로는, 스캐너 애플리케이션(1511), 인쇄 애플리케이션(1512), 카피 애플리케이션(1513), 및 FAX 애플리케이션(1514)이 있다. 스캐너 애플리케이션(1511)은 스캔 작업을 실행한다. 인쇄 애플리케이션(1512)은 인쇄 작업을 실행한다. 카피 애플리케이션(1513)은 카피 작업을 실행한다. FAX 애플리케이션(1514)은 팩스 송신 작업 또는 팩스 수신 작업을 실행한다.
제어 서비스(158)는 여러 가지 하드웨어 자원을 제어하기 위한 기능을 상위 애플리케이션에 제공하고, 화상 형성 장치(10)의 기본 기능을 실행하기 위한 소프트웨어 모듈의 그룹이다.
VAS(157)는 제어 서비스(158)의 인터페이스를 랩핑하여, 제어 서비스(158)의 업그레이드시에 발생하는 인터페이스의 상위점을 흡수한다. 이는 VAS(157) 상에서 동작하는 프로그램(특히, CSDK 애플리케이션(153))이 여러 가지 버전의 제어 서비스(158)와 호환될 수 있음을 보증한다.
CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)은, SDK 애플리케이션의 일례이다. SDK 애플리케이션은, 화상 형성 장치(10)에 대한 플러그인으로서, 화상 형성 장치(10)의 기능을 확장하기 위하여 개발된다. 화상 형성 장치(10)는 SDK 애플리케이션에 대하여 공개된 전용의 API(Application Program Interface)를 구비한다. 하나의 API는 VAS(157)에 의해 제공되는 C 언어의 API이다. 다른 API는 후술되는 JSDK 플랫폼(155)에 의해서 제공되는 Java(등록상표) 언어의 API이다. C 언어의 API를 이용하여 작성되는 SDK 애플리케이션을 CSDK 애플리케이션(153)으로 지칭한다. Java(등록상표) 언어의 API를 이용하여 작성되는 SDK 애플리케이션을 JSDK 애플리케이션(156)으로 지칭한다. 도 2에 있어서, CSDK 애플리케이션(153)은 하나의 블록(직사각형)에 의해 표현되지만, 복수의 CSDK 애플리케이션(153)이 하나의 화상 형성 장치(10)에 인스톨될 수 있다.
JVM(154)은 소위 Java(등록상표) 가상 머신이며, 이는 Java(등록상표) 바이트 코드에 의해 정의된 명령을 해석함으로서 실행된다. 본 실시형태에 있어서, JVM(154)은 CSDK 애플리케이션 중 하나로서 인스톨되어 있다.
SAS(152)는 CSDK 애플리케이션(153)의 라이프 사이클을 관리한다. 예컨대, SAS(152)는 CSDK 애플리케이션(153) 상에서 수행되는 인스톨 처리, 기동 처리, 정지 처리, 및 언인스톨 처리를 제어한다.
JSDK 플랫폼(155)은 JSDK 애플리케이션(156)의 실행 환경을 제공한다. 즉, JSDK 플랫폼(155)은 Java(등록상표) 언어에 의한 API를 JSDK 애플리케이션(156)에 제공한다. JSDK 플랫폼(155)은 JSDK 관리부(1551) 및 콜백 제어부(1552)를 포함한다. JSDK 관리부(1551)는 JSDK 애플리케이션(156)의 라이프 사이클을 관리한다. 예컨대, JSDK 관리부(1551)는, JSDK 애플리케이션(156) 상에서 수행되는 인스톨 처리, 기동 처리, 정지 처리, 및 언인스톨 처리를 제어한다. JSDK 관리부(1551)는 JSDK 애플리케이션(156) 중 하나로서 인스톨될 수도 있다. 콜백 제어부(1552)는 콜백 처리를 제어한다. 콜백은 프로그래밍에 있어서의 소위 콜백에 대응한다. 즉, 콜백은 이벤트의 타입과 통지 목적지(콜백 함수)를 미리 등록함으로써, 발생되는 이벤트에 응답하여, 대응하는 통지 목적지에 콜백을 발생시키기 위한 기구이다.
OS(159)는 소위 오퍼레이팅 시스템이다. 화상 형성 장치(10)에서의 각 소프트웨어 항목은, OS(159) 상에서 프로세스 또는 스레드(thread)로서 동작한다.
도 3은 CSDK 애플리케이션(153)과 JSDK 애플리케이션(156)의 관리 기구의 일례를 나타낸다. 도 3에 도시된 바와 같이, CSDK 애플리케이션(153)의 라이프 사이클은 SAS(152)에 의해서 관리된다. 각 CSDK 애플리케이션(153)은 별개의 프로세스로서 기동된다. JVM(154)은 CSDK 애플리케이션(153) 중 하나이다. 따라서, JVM(154)도 SAS(152)에 의해 하나의 프로세스로서 기동된다.
한편, JSDK 애플리케이션(156)의 라이프 사이클은 JSDK 관리부(1551)에 의해 관리된다. 각 JSDK 애플리케이션(156)은 별개의 스레드로서 JVM(154)의 프로세스 상에서 기동된다.
전술한 바와 같이, CSDK 애플리케이션(153)과 JSDK 애플리케이션(156)은, 이들 애플리케이션이 다른 언어로 개발되었기 때문에, 다른 관리 기구를 가진다. 예컨대, SAS(152)가 JSDK 애플리케이션(156)을 직접 제어하고자 하면, SAS(152)는 C 언어의 소스 코드로부터 Java(등록상표) 언어에 의한 인터페이스를 호출해야 한다. 이 경우에, 고도한 프로그래밍 기술이 필요하게 되고, 처리 내용이 성가시고 복잡하게 된다. 또한, CSDK 애플리케이션(153)은 프로세스로서 실행되는 반면에 JSDK 애플리케이션(156)은 스레드로서 실행된다. 실행 포맷에 있어서 이러한 차이를 고려하더라도, CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)을 위한 별개의 애클리케이션 관리 기구를 제공하는 것은, 관리 기구를 간략화하는 점에서 유리하다.
그러나, CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)에 대한 사용자 인터페이스는 조합된다. 이러한 조합된 유저 인터페이스는 애플리케이션을 인스톨, 언인스톨, 기동, 및 정지시키기 위한 처리를 지시하는 사용자에 의해 이용된다. 구체적으로, 사용자 인터페이스를 제공하는 애플리케이션 관리 화면(510)은 통합된 방식으로 조작 패널(15) 상에 표시된다. 애플리케이션 관리 화면(510)에 있어서 CSDK 애플리케이션(153)이 조작 대상으로 설정된 경우, SAS(152)는 조작 지시에 응답하여 처리(예컨대, 인스톨 처리, 언인스톨 처리, 기동 처리, 및 정지 처리)를 실행한다. 한편, 애플리케이션 관리 화면(510)에 있어서 JSDK 애플리케이션(156)이 조작 대상으로서 설정된 경우, SAS(152)는 조작 지시를 JSDK 관리부(1551)에 통지한다. JSDK 관리부(1551)는, SAS(152)로부터의 통지에 응답하여, 그 조작 지시에 따른 처리(예컨대, 인스톨 처리, 언인스톨 처리, 기동 처리 또는 정지 처리)를 실행한다.
SAS(152)와 JSDK 관리부(1551) 사이의 상호 작용은 HTTP(HyperText Transfer Protocol) 및 SOAP(Simple Object Access Protocol) 등의 개발 언어에 상관없이, 쉽게 이용할 수 있는 프로토콜에 따라서 수행될 수 있다. 따라서, C 언어의 소스 코드로부터 Java(등록상표) 언어에 의한 인터페이스를 호출할 필요가 없어져, 처리내용의 번잡함이 해소된다.
제1 실시형태에 따라서, 인스톨 대상이 되는 SDK 애플리케이션의 구성예에 대하여 설명한다. 제1 실시형태에서, CSDK 애플리케이션(153)과 JSDK 애플리케이션(156)이 단순히 혼재한, SDK 애플리케이션이 인스톨 대상으로서 설정된다. 여기서,“단순히”라는 것은, CSDK 애플리케이션(153)과 JSDK 애플리케이션(156)이 혼재한 SDK 애플리케이션을, 하나의 SDK 애플리케이션으로서 인스톨하기 위하여 작성하지 않은 것을 의미한다.
도 4는 제1 실시형태에 따른 인스톨 대상으로서 설정되는 SDK 애플리케이션의 구성의 일례를 나타낸다.
도 4에 도시된 바와 같이, SDK 애플리케이션(A1)은 JSDK 파일(156Fa) 및 CSDK 파일(153Fb)을 포함한다. JSDK 파일(156Fa)은 JSDK 애플리케이션(156a) 및 JSDK 속성파일(156Pa)을 포함하는 하나의 아카이브 파일(예컨대, JAR(Java(등록상표) 아카이브) 파일)이다. JSDK 애플리케이션(156a)은 SDK 애플리케이션(A1)에 있어서의 JSDK 애플리케이션(156)의 실체이다. JSDK 속성 파일(156Pa)은, JSDK 파일(156Fa)의 구성 정보 및 JSDK 애플리케이션(156a)에 관한 속성 정보[예컨대, 식별자 JSDK 애플리케이션(156a)의 식별자(애플리케이션 식별자)]를 포함한다.
CSDK 파일(153Fa)은 CSDK 애플리케이션(153a) 및 CSDK 속성파일(153Pa)을 포함하는 하나의 아카이브 파일이다. CSDK 애플리케이션(153a)은 SDK 애플리케이션(A1)에 있어서의 CSDK 애플리케이션(153)의 실체이다. CSDK 속성 파일(153Pa)은 CSDK 파일(153Fa)의 구성 정보 및 CSDK 애플리케이션(153a)에 관한 속성 정보[예컨대, CSDK 애플리케이션(153a)의 식별자(애플리케이션 식별자)]를 포함한다.
JSDK 애플리케이션(156a)은 CSDK 애플리케이션(153a)를 이용하여 미리 정해진 기능을 실행하는 JSDK 애플리케이션(156)이다. 즉, SDK 애플리케이션(A1)에 있어서, CSDK 애플리케이션(153a)은 하나의 프로그램 모듈로서 위치 결정된다. JSDK 애플리케이션(156a)은, 예컨대 JNI(Java(등록상표) Native Interface)를 이용하여 CSDK 애플리케이션(153a)의 방법을 호출할 수 있다.
도 4에 있어서, SDK 애플리케이션(A1)은 SD 카드(80a)에 기록된다. 이 경우에, JSDK 파일(156Fa)과 CSDK 파일(153Fa)은 독립된 파일로서 SD 카드(80a)에 기록된다. 즉, 도 4에 있어서, SDK 애플리케이션(A1)를 나타내는 파선으로 형성된 직사각형은, 하나의 SDK 애플리케이션(A1)의 논리적 또는 개념적인 범위에 대응한다.
이하, 화상 형성 장치(10)에 도 4의 SDK 애플리케이션(A1)을 인스톨 및 언인스톨하기 위한 처리 순서에 대하여 설명한다.
도 5는 제1 실시형태에 따른 SDK 애플리케이션의 인스톨 처리 및 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 시퀀스도이다. 도 5의 처리를 개시하기 전에, SD 카드(80a)가 SD 카드 슬롯(17)에 삽입된다. 애플리케이션 관리 화면(510) 중 하나인 메인 화면이, SAS(152)에 의해 조작 패널(15)에 표시된다.
메인 화면에 있어서, 사용자가 인스톨의 실행을 선택하면, SAS(152)는 조작 패널(15)에 의해 인스톨 화면을 표시한다. 이 인스톨 화면은, JSDK 애플리케이션(156a) 및 CSDK 애플리케이션(153a)이 별개의 행에 표시되는 SDK 애플리케이션의 선택 리스트를 포함한다. 이 선택 리스트는, SD 카드(80a) 내의 JSDK 파일(156F)에 포함되는 JSDK 속성 파일(156Pa), 및 SD 카드(80a) 내의 CSDK 파일(153Fa)에 포함되는 CSDK 속성 파일(153Pa)에 기초하여 작성된다. 인스톨 화면은 애플리케이션 관리 화면(510) 중 하나이다.
단계 S101에 있어서, 사용자는 인스톨 화면에 있어서의 JSDK 애플리케이션(156a)을 포함하는 행을 선택하고, 인스톨의 실행 지시를 인스톨 화면에 입력한다. 인스톨의 실행 지시는 SAS(152)를 통하여 JSDK 관리부(1551)에 통지된다. 도 5에 있어서, SAS(152)를 통한 루트는 도시되어 있지 않다.
다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156a)의 인스톨 처리를 실행한다(단계 S102). 구체적으로는, SD 카드(80a)로부터 JSDK 파일(156Fa)이 판독되어, 전개된다. 또한, JSDK 플랫폼(155)이 미리 정해진 기록 매체를 이용하여 관리하는 JSDK 애플리케이션(156)의 인스톨 정보(인스톨되어 있는 JSDK 애플리케이션(156)의 리스트 정보)에, JSDK 애플리케이션(156a)의 애플리케이션 식별자를 포함하는 엔트리가 추가된다. 또한, JSDK 애플리케이션(156a) 및 JSDK 속성 파일(156Pa)이 미리 정해진 기억 영역(이하,“JSDK 인스톨 영역”이라고 함)에 카피된다. 인스톨 처리가 종료되면, JSDK 관리부(1551)는 인스톨 처리가 종료된 것을 나타내는 응답을 SAS(152)에 전송한다. 이 응답에 따라서, 인스톨 처리가 종료되었다는 점이 SAS(152)에 의해 인스톨 화면을 통해 사용자에게 통지된다(단계 S103).
다음으로, 사용자가 메인 화면에 있어서 기동의 실행을 선택하면, SAS(152)는 조작 패널(15)에 의해 기동 화면을 표시한다. 이 기동 화면은, NVRAM(115)을 이용하여 관리되어 있는, CSDK 애플리케이션(153)의 인스톨 정보(인스톨되어 있는 CSDK 애플리케이션(153)의 리스트 정보), 또는 JSDK 애플리케이션(156)의 인스톨 정보에 포함되는 CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)의 리스트를 포함한다. SAS(152)는 JSDK 관리부(1551)를 참조함으로써, JSDK 애플리케이션(156)의 인스톨 정보를 취득한다. 기동 화면은 애플리케이션 관리 화면(510) 중 하나이다.
사용자는 기동 화면에 포함되는 JSDK 애플리케이션(156a)을 포함하는 행을 선택하여, 기동 지시를 기동 화면에 입력한다(단계 S104). 이 기동 지시는 SAS(152)를 통하여 JSDK 관리부(1551)에 통지된다.
다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156a)의 기동 요구를 입력한다(단계 S105). 이 기동 요구에 응답하여, JSDK 애플리케이션(156a)은, JVM(154) 상에 있어서 스레드로서 기동된다(단계 S106).
다음으로, 사용자로부터의 지시에 응답하여, SAS(152)는 조작 패널(15)에 의해 인스톨 화면을 다시 한 번 표시한다. 사용자는 인스톨 화면에 있어서 CSDK 애플리케이션(153a)을 포함하는 행을 선택하고, 인스톨의 실행 지시를 인스톨 화면에 입력한다(단계 S111). 다음으로, SAS(152)는, CSDK 애플리케이션(153a)의 인스톨 처리를 실행한다(단계 S112). 구체적으로는, SD 카드(80a)로부터 CSDK 파일(153Fa)이 판독되어, 전개된다. 또한, NVRAM(115)을 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보에, CSDK 애플리케이션(153a)의 애플리케이션 식별자를 포함하는 엔트리가 추가된다. 또한, CSDK 애플리케이션(153a) 및 CSDK 속성 파일(153Pa)이 미리 정해진 기억 영역(이하, “CSDK 인스톨 영역”이라고 함)에 카피된다.
인스톨 처리가 종료되면, SAS(152)는 인스톨 처리가 종료되었음을 나타내는 리포트를, 인스톨 화면을 통하여 사용자에게 전송한다(단계 S113).
SDK 애플리케이션(A1)이 불필요하게 된 경우, 사용자는 메인 화면에 있어서 언인스톨의 실행을 선택한다. SAS(152)는 조작 패널(15)에 의해 언인스톨 화면을 표시한다. 이 언인스톨 화면은, CSDK 애플리케이션(153)의 인스톨 정보 또는 JSDK 애플리케이션(156)의 인스톨 정보에 포함되는 CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)의 리스트를 포함한다. 이 언인스톨 화면은 애플리케이션 관리 화면(510) 중 하나이다.
사용자는 언인스톨 화면에 포함되는 JSDK 애플리케이션(156a)의 행을 선택하여, 언인스톨 화면을 통해 언인스톨 지시를 입력한다(단계 S121). 이 언인스톨 지시는 SAS(152)를 통하여 JSDK 관리부(1551)에 통지된다.
언인스톨 지시에 응답하여, JSDK 관리부(1551)는 JSDK 애플리케이션(156a)의 정지 요구를 입력한다(단계 S122). 정지 요구에 응답하여, JSDK 애플리케이션(156a)에 관한 스레드는 종료한다(단계 S123). 다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156a)의 언인스톨 처리를 실행한다(단계 S124). 예컨대, JSDK 플랫폼(155)에 의해 관리되어 있는 JSDK 애플리케이션(156)의 인스톨 정보로부터, JSDK 애플리케이션(156a)의 엔트리가 삭제된다. 또한, JSDK 인스톨 영역에 카피되어 있던 JSDK 애플리케이션(156a) 및 JSDK 속성 파일(156Pa)이 삭제된다.
다음으로, 사용자는 언인스톨 화면에 있어서 CSDK 애플리케이션(153a)을 포함하는 행을 선택하여, 언인스톨의 실행 지시를 언인스톨 화면에 입력한다(단계 S131). 언인스톨 지시에 응답하여, SAS(152)는 CSDK 애플리케이션(153a)의 언인스톨 처리를 실행한다(단계 S132). 예컨대, NVRAM(115)을 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보로부터, CSDK 애플리케이션(153a)에 관한 엔트리가 삭제된다. 또한, CSDK 인스톨 영역에 카피되어 있던 CSDK 애플리케이션(153a) 및 CSDK 속성 파일(153Pa)이 삭제된다.
전술한 바와 같이, 제1 실시형태에 있어서, 하나의 SDK 애플리케이션(A1)만이 존재하는 경우에도, 인스톨 조작 및 언인스톨 조작은 각각 2 단계(즉, 단계 S101 및 S111, 그리고 단계 S121 및 S131)를 요구한다.
이러한 중복성을 논의하기 위하여, 제2 실시형태에서는, 도 6에 도시된 바와 같이 SDK 애플리케이션이 구성된다.
도 6은 제2 실시형태에 따른 인스톨 대상으로서 설정되는 SDK 애플리케이션의 구성의 일례를 나타낸다.
도 6에 도시된 바와 같이, SD 카드(80b)에는, SDK 애플리케이션(B1)으로서, 하나의 JSDK 파일(156Fb)이 기록되어 있다. JSDK 파일(156Fb)은 JSDK 애플리케이션(156b), JSDK 속성 파일(156Pb), CSDK 파일(153Fb), 프록시 라이브러리(211), 및 프록시 속성 파일(211P)을 포함하는 아카이브 파일(예컨대, JAR 파일)이다. JSDK 애플리케이션(156b)은 SDK 애플리케이션(A1)에 있어서 JSDK 애플리케이션(156)의 실체이다. JSDK 속성 파일(156Pb)은 JSDK 파일(156Fb)의 구성 정보 및 JSDK 애플리케이션(156b)에 관한 속성 정보(예컨대, JSDK 애플리케이션(156b)의 애플리케이션 식별자)를 포함한다.
CSDK 파일(153Fb)은 도 4에 도시된 CSDK 파일(153Fa)의 구성과 유사한 구성을 가지는 아카이브 파일이다. 즉, CSDK 파일(153Fb)은, SDK 애플리케이션(B1)에 있어서 CSDK 애플리케이션(153)의 실체인 CSDK 애플리케이션(153b)(도시되지 않음)과, CSDK 파일(153Fb)의 구성 정보 및 CSDK 애플리케이션(153b)에 관한 속성 정보(예컨대, CSDK 애플리케이션(153b)의 애플리케이션 식별자)를 포함하는 CSDK 속성 파일(153Pb)(도시되지 않음)을 포함한다.
전술한 바와 같이, 제2 실시형태에서, CSDK 애플리케이션(153b)은 JSDK 애플리케이션(156a)의 JAR 파일 내에 기억되어 있다.
제2 실시형태에 있어서, JSDK 애플리케이션(156b)과 CSDK 애플리케이션(153b) 사이의 의존 관계는, 제1 실시형태에 있어서의 JSDK 애플리케이션(156a)과 CSDK 애플리케이션(153a) 사이의 의존 관계와 동일하다. 즉, JSDK 애플리케이션(156b)은 CSDK 애플리케이션(153b)을 하나의 프로그램 모듈로서 이용한다.
프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 인스톨 처리 및 언인스톨 처리를 실행하는 프로그램 모듈(라이브러리)이다. 도 6에 도시된 바와 같이, 프록시 라이브러리(211)는, Java(등록상표) 층(211j)과 네이티브(native) 층(211c)을 포함한다. Java(등록상표) 층(211j)은 JSDK 애플리케이션(156b)에 대한 인터페이스(방법 등)를 제공하는 층이며, Java(등록상표) 언어로 실행된다. 네이티브 층(211c)에 있어서, 인스톨 처리 및 언인스톨 처리의 알고리즘이 C 언어로 실행된다. 즉, 프록시 라이브러리(211)에 있어서, 본질적인 기능은 C 언어로 실행되고, C 언어로 실행되는 부분은, Java(등록상표) 언어에 의해 랩핑된다. 프록시 라이브러리(211)의 본질적인 기능은 이하의 이유에 대하여 C 언어로 실행된다. 즉, 프록시 라이브러리(211)는 NVRAM(115)에 액세스해야 하지만, Java(등록상표) 언어로 NVRAM(115)에 액세스하는 기능을 실행하는 것은 곤란하다. 또한, 프록시 라이브러리(211)가 JSDK 애플리케이션(156b)에 의해 수행되는 프록시 라이브러리(211)의 이용(호출) 조작을 용이하게 하기 위하여 Java(등록상표) 층(211j)을 포함한다. 예컨대, 프록시 라이브러리(211)는, 하나의 JAR 파일로서 JSDK 애플리케이션(156b)에 포함된다.
프록시 속성 파일(211P)은 프록시 라이브러리(211)에 의해 수행되는 CSDK 애플리케이션(153b)의 인스톨 조작에 필요한 정보를 포함한다.
프록시 라이브러리(211)를 포함하는 SDK 애플리케이션에 관한, 화상 형성 장치(10)의 인스톨 기구에 대하여 설명한다. 도 7은 프록시 라이브러리(211)를 포함하는 SDK 애플리케이션에 관한 인스톨 기구의 일례를 나타낸다.
도 7에 도시된 바와 같이, JSDK 애플리케이션(156b)의 인스톨 조작을 제1 실시형태의 방식과 동일한 방식으로 수행한다. 즉, 애플리케이션 관리 화면(510)에 입력된 지시가 SAS(152)로부터 JSDK 관리부(1551)에 통지된다. 통지된 지시에 응답하여, JSDK 관리부(1551)는 JSDK 애플리케이션(156b)을 인스톨 또는 언인스톨한다.
인스톨된 JSDK 애플리케이션(156b)은 기동시에 프록시 라이브러리(211)를 호출한다. 호출에 응답하여, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 인스톨 처리를, SAS(152)를 대신하여 실행한다.
JSDK 애플리케이션(156b)이 언인스톨되면, 그 취지가 콜백 제어부(1552)에 의해 프록시 라이브러리(211)에 콜백된다(통지된다). 프록시 라이브러리(211)는 콜백에 기초하여 JSDK 애플리케이션(156b)이 언인스톨되었음을 검지한다. 언인스톨의 검지에 응답하여, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 언인스톨 처리를, SAS(152)를 대신하여 실행한다.
전술한 바와 같이, 프록시 라이브러리(211)를 포함하는 SDK 애플리케이션(B1)에 있어서, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 인스톨 처리 및 언인스톨 처리를, SAS(152)를 대신하여 실행한다.
도 6에 도시되는 SDK 애플리케이션(B1)을 화상 형성 장치(10)에의 인스톨 및 언인스톨의 처리 순서에 관해서 설명한다.
도 8은 제2 실시형태에 따른 SDK 애플리케이션의 인스톨 처리 및 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 시퀀스도이다. 도 8의 처리를 개시하기 전에, 도 6의 SD 카드(80b)가 SD 카드 슬롯(17)에 삽입된다. 애플리케이션 관리 화면(510) 중 하나인 메인 화면이, SAS(152)에 의해 조작 패널(15)에 표시된다.
메인 화면에 있어서, 사용자가 인스톨의 실행을 선택하면, SAS(152)는 조작 패널(15)에 의해 JSDK 애플리케이션(156b)을 포함하는 행을 선택 후보로서 포함하는 인스톨 화면을 표시한다. 이 인스톨 화면은 SD 카드(80b)의 JSDK 파일(156Fb)에 포함되는 JSDK 속성 파일(156Pb)에 기초하여 작성된다.
단계 S201에 있어서, 사용자는 인스톨 화면에 있어서 JSDK 애플리케이션(156b)을 포함하는 행을 선택하여, 인스톨의 실행 지시를 인스톨 화면에 입력한다. 인스톨의 실행 지시는, SAS(152)을 통하여 JSDK 관리부(1551)에 통지된다. 도 8에 있어서, SAS(152)를 통한 루트는 도시되어 있지 않다.
다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156b)의 인스톨 처리를 실행한다(단계 S202). 구체적으로는, SD 카드(80b)로부터 JSDK 파일(156Fb)이 판독되어, 전개된다. 또한, JSDK 플랫폼(155)이 미리 정해진 기록 매체를 이용하여 관리하는 JSDK 애플리케이션(156)의 인스톨 정보에, JSDK 애플리케이션(156b)의 애플리케이션 식별자를 포함하는 엔트리가 추가된다. 또한, JSDK 애플리케이션(156b), JSDK 속성파일(156Pb), CSDK 파일(153Fb), 프록시 라이브러리(211), 및 프록시 속성 파일(211P)이 JSDK 인스톨 영역에 카피된다. CSDK 파일(153Fb), 프록시 라이브러리(211), 및 프록시 속성 파일(211P)은 JSDK 관리부(1551)에 의해, JSDK 애플리케이션(156b)의 자원 파일로서 인식된다. 따라서, JSDK 관리부(1551)는 CSDK 파일(153Fb), 프록시 라이브러리(211), 및 프록시 속성 파일(211P)에 대하여 어떤 특별한 처리를 실행하지 않는다. 그러나, 프록시 라이브러리(211)의 인스톨 조작은, 프록시 라이브러리(211)를 JSDK 애플리케이션(156b)의 자원 파일로서 보존함으로써 완료될 수 있다. 즉, 프록시 라이브러리(211)의 인스톨 조작은, JSDK 애플리케이션(156b)의 인스톨 조작과 관련하여 수행된다(즉, 프록시 라이브러리(211)는 JSDK 애플리케이션(156b)과 함께 인스톨된다).
인스톨 처리가 종료되면, JSDK 관리부(1551)는 인스톨 처리가 종료되었음을 나타내는 응답을 SAS(152)에 전송한다. 이 응답에 따라서, 인스톨 처리가 종료되었다는 점이 SAS(152)에 의해 인스톨 화면을 통하여 사용자에게 통지된다(단계 S203).
다음으로, 사용자가 메인 화면에 있어서 기동의 실행을 선택하면, SAS(152)는 조작 패널(15)에 의해 기동 화면을 표시한다. 이 기동 화면은 CSDK 애플리케이션(153)의 인스톨 정보 또는 JSDK 애플리케이션(156)의 인스톨 정보에 포함되는 CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)의 리스트를 포함한다.
사용자는 기동 화면에 포함되는 JSDK 애플리케이션(156b)을 포함하는 행을 선택하여, 기동 지시를 기동 화면에 입력한다(단계 S204). 이 기동 지시는 SAS(152)를 통하여 JSDK 관리부(1551)에 통지된다.
다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156a)의 기동 요구를 입력한다(단계 S205). 기동 요구에 응답하여, JSDK 애플리케이션(156a)은 JVM(154) 상에 있어서 스레드로서 기동된다(단계 S206). JSDK 애플리케이션(156a)은 프록시 라이브러리(211)를 RAM(112)에 로드하여, 로드된 프록시 라이브러리(211)의 Java(등록상표) 층(211j)에서의 미리 정해진 방법(또는 함수)을 호출한다(단계 S207). 즉, 프록시 라이브러리(211)는 JSDK 애플리케이션(156a)으로부터 호출을 수신한다. 프록시 라이브러리(211)가 RAM(112)에 로드되는 것에 응답하여, 프록시 속성 파일(211 P)도 RAM(112)에 로드된다.
호출에 응답하여, 프록시 라이브러리(211)는, JSDK 애플리케이션(156b)이 언인스톨되었음을 나타내는 리포트를 프록시 라이브러리(211)에 전송하는데 이용되는 콜백 정보를, JSDK 플랫폼(155)의 콜백 제어부(1552)에 등록한다(단계 S208). 즉, 이벤트로서,“JSDK 애플리케이션(156b)의 언인스톨”이 지정되어, 리포트 목적지(콜백 함수)로서 프록시 라이브러리(211)의 미리 정해진 방법이 지정된 콜백 정보의 등록이 요구된다. 콜백 제어부(1552)는 콜백 정보를, 예컨대, RAM(112)을 이용하여 기억하여, 콜백 정보가 등록되어 있음을 통보하는 응답을 프록시 라이브러리(211)에 전송한다(단계 S209).
다음으로, 프록시 라이브러리(211)의 네이티브 층(211c)은 CSDK 파일(153Fb)에 기초하여, CSDK 애플리케이션(153b)의 인스톨 처리를 실행한다(단계 S210). 인스톨 처리의 세부 사항에 관해서는 후술한다. 인스톨 처리의 종료 후, 프록시 라이브러리(211)의 Java(등록상표) 층(211j)은 인스톨 처리의 결과를 나타내는 응답을, 호출 소스인 JSDK 애플리케이션(156b)에 전송한다(단계 S211). 다음으로, JSDK 애플리케이션(156b)은 처리를 제어하는 기능을 JSDK 관리부(1551)로 리턴시킨다(단계 S212). JSDK 관리부(1551)는 JSDK 애플리케이션(156b)이 기동된 것을 SAS(152)에 통지한다. SAS(152)는, 이 통지에 응답하여, JSDK 애플리케이션(156b)이 기동되었다는 메시지를 기동 화면에 표시한다(단계 S213).
전술한 바와 같이, 제2 실시형태에서는, JSDK 애플리케이션(156b)의 기동에 응답하여, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 인스톨 조작을 자동적으로 실행한다.
SDK 애플리케이션(B1)이 불필요하게 된 경우, 사용자는 메인 화면에 있어서 언인스톨의 실행을 선택한다. SAS(152)는 조작 패널(15)에 의해 언인스톨 화면을 표시한다. 이 언인스톨 화면은 CSDK 애플리케이션(153)의 인스톨 정보 또는 JSDK 애플리케이션(156)의 인스톨 정보에 포함되는 CSDK 애플리케이션(153) 및 JSDK 애플리케이션(156)의 리스트를 포함한다.
사용자는 언인스톨 화면에 포함되는 JSDK 애플리케이션(156b)의 행을 선택하여, 언인스톨 지시를 언인스톨 화면을 통하여 입력한다(단계 S221). 언인스톨 지시는 SAS(152)를 통하여 JSDK 관리부(1551)에 통지된다.
언인스톨 지시에 응답하여, JSDK 관리부(1551)는 JSDK 애플리케이션(156b)의 정지 요구를 입력한다(단계 S222). 이 정지 요구에 응답하여, JSDK 애플리케이션(156b)에 관련된 스레드가 종료한다(단계 S223). 다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156b)의 언인스톨 처리를 실행한다(단계 S224). 예컨대, JSDK 플랫폼(155)에 의해 관리되어 있는 JSDK 애플리케이션(156)의 인스톨 정보로부터, JSDK 애플리케이션(156b)의 엔트리가 삭제된다. 또한, JSDK 인스톨 영역에 카피되어 있는 JSDK 애플리케이션(156b), JSDK 속성 파일(156Pb), CSDK 파일(153Fb), 프록시 라이브러리(211), 및 프록시 속성 파일(211P)이 삭제된다.
다음으로, JSDK 플랫폼(155)의 콜백 제어부(1552)는 JSDK 애플리케이션(156b)의 언인스톨에 응답하여, 단계 S208에서 등록된 콜백 정보에 지정되어 있는 콜백 함수를 호출한다(단계 S225). 콜백 함수는 프록시 라이브러리(211)의 Java(등록상표) 층(211j)의 미리 정해진 방법이다. 따라서, 미리 정해진 방법이 호출된다. 그 결과, JSDK 애플리케이션(156b)이 언인스톨되었다는 것이 프록시 라이브러리(211)에 통지된다. 단계 S224에서, 프록시 라이브러리(211)의 모듈 파일이 삭제되어 있지만, 모듈 파일 및 프록시 속성 파일(211P)의 내용은 RAM(112)에 로드되어 있다. 다음으로, 프록시 라이브러리(211)의 네티이브 층(211c)은 CSDK 애플리케이션(153b)의 언인스톨 처리를 실행한다(단계 S226).
언인스톨 처리 후, 프록시 라이브러리(211)의 Java(등록상표) 층(211j)은, 처리 제어 기능을, 호출 소스인 콜백 제어부(1552)로 리턴시킨다(단계 S227). 다음으로, JSDK 관리부(1551)는 JSDK 애플리케이션(156b)이 언인스톨되었다는 것을 SAS(152)에 통지한다. SAS(152)는, 이 통지에 응답하여, JSDK 애플리케이션(156b)이 언인스톨되었다는 취지를, 언인스톨 화면에 표시한다(단계 S228).
전술한 바와 같이, 제2 실시형태에 있어서, JSDK 애플리케이션(156b)의 언인스톨에 응답하여, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 언인스톨 처리를 자동적으로 실행한다.
다음으로, 도 8의 단계 S210의 세부 사항에 대하여 설명한다. 도 9는 프록시 라이브러리(211)에 의해 수행되는 CSDK 애플리케이션의 인스톨 처리의 처리 순서의 일례를 설명하기 위한 도면이다. 도 9의 설명에 있어서, 프록시 라이브러리(211)의 네이티브 층(211c)은 프록시 라이브러리(211)로 지칭된다.
단계 S301에 있어서, 프록시 라이브러리(211)는 인스톨 대상인 CSDK 애플리케이션(153b)이 화상 형성 장치(10)에 이미 인스톨되어 있는지 여부를 판정한다. 이 판정은 프록시 속성 파일(211P)과, NVRAM(115)를 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보를 비교 또는 대조함으로써 행해진다.
도 10은 프록시 속성 파일(211P)에 기록되어 있는 정보의 일례를 나타낸다. 도 10에 도시된 바와 같이, 프록시 속성 파일(211P)에 있어서, CSDK 애플리케이션(153b)이 인스톨될 수 있는 화상 형성 장치(10)의 각 모델마다, 모델명, 애플리케이션 식별자, 및 CSDK 파일명이 기록되어 있다.
모델명은 화상 형성 장치(10)의 모델의 이름이다. 애플리케이션 식별자는 CSDK 애플리케이션(153b)의 식별자이다. 동일한 기능이 2개의 CSDK 애플리케이션(153b)에 의해 실행되는 경우에도, 파일의 내용이 모델 타입에 따라서 상이하게 되면, 이 2개의 CSDK 애플리케이션(153b)에 다른 애플리케이션 식별자가 주어진다. CSDK 파일명은 CSDK 파일(153Fb)의 이름이다. 도 10은 공통의 CSDK 파일(153Fb)을 다른 모델 타입에 적용할 수 있는 일례를 나타낸다. 따라서, 공통의 애플리케이션 식별자는 다른 모델 타입에 대응한다.
모델 타입에 따라서 다른 CSDK 파일(153Fb)을 적용하는 경우, 애플리케이션 식별자 및 CSDK 파일명은 다르다. 이 경우에, JSDK 파일(156Fb)은 복수의 CSDK 파일(153Fb)을 포함한다.
단계 S301에서, NVRAM(115)을 이용하여 관리되고 있는 CSDK 애플리케이션(153)의 인스톨 정보에 특정 애플리케이션 식별자가 포함되어 있는지 여부를 판정한다. 구체적으로, 특정 애플리케이션 식별자는, 인스톨 목적지인 화상 형성 장치(10)의 모델명과 연관되는 프록시 속성 파일(211P)에서의 애플리케이션 식별자와 동일한 애플리케이션 식별자를 의미한다. 대응하는 애플리케이션 식별자가 CSDK 애플리케이션(153)의 인스톨 정보에 포함되는 경우에, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)이 이미 인스톨되어 있다고 판정하여, 도 9의 처리를 정상 종료시킨다. 따라서, 이 경우에, CSDK 애플리케이션(153b)의 처리는 실행되지 않는다.
대응하는 애플리케이션 식별자가 CSDK 애플리케이션(153)의 인스톨 정보에 포함되어 있지 않은 경우, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)이 아직 인스톨되어 있지 않다고 판정한다. 다음으로, 프록시 라이브러리(211)는, 프록시 속성 파일(211P)에 기초하여, 인스톨 목적지인 화상 형성 장치(10)의 모델명에 대응하는 CSDK 파일명을 판정한다(단계 S302).
인스톨 목적지인 화상 형성 장치(10)의 모델명에 대응하는 CSDK 파일명이, 프록시 속성 파일(211P)에 기록되어 있지 않은 경우, 프록시 라이브러리(211)는 도 9의 처리를 이상 종료시킨다(단계 S305). 처리의 이상 종료란, 인스톨 처리에 실패하였음을 나타내는 리포트를 JSDK 애플리케이션(156b)에 리턴시키는 것을 의미한다.
인스톨 목적지인 화상 형성 장치(10)의 모델명에 대응하는 CSDK 파일명이, 프록시 속성 파일(211P)에 기록되어 있는 경우, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)이 인스톨될 수 있는지 여부를 판정한다(단계 S304). 예컨대, 인스톨될 수 있는 CSDK 애플리케이션(153)의 수에 상한이 있는 경우나, 어떤 다른 제한이 있는 경우에는, CSDK 애플리케이션(153b)의 인스톨이 이러한 상한 또는 제한을 넘을 수 있는지 여부에 기초하여, CSDK 애플리케이션(153b)이 인스톨될 수 있는지 여부가 판정된다.
CSDK 애플리케이션(153b)을 인스톨할 수 없다고 판정된 경우, 프록시 라이브러리(211)는 도 9의 처리를 이상 종료시킨다(단계 S305). CSDK 애플리케이션(153b)을 인스톨할 수 있다고 판정된 경우, 프록시 라이브러리(211)는 단계 S302에서 판정된 CSDK 파일명과 관련되는 CSDK 파일(153Fb)에 기초하여, CSDK 애플리케이션(153b)의 인스톨 처리를 실행한다(단계 S304). 구체적으로는, 도 8의 단계 S202에 있어서 JSDK 인스톨 영역에 보존된 CSDK 속성 파일(153Pb)이 전개되어, CSDK 애플리케이션(153b) 및 CSDK 속성 파일(153Pb)이 CSDK 인스톨 영역에 보존된다. 또한, NVRAM(115)을 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보에, CSDK 애플리케이션(153b)의 애플리케이션 식별자를 포함하는 엔트리가 추가된다.
인스톨 처리에 실패한 경우(예컨대, CSDK 인스톨 영역에의 CSDK 애플리케이션(153b)의 보존 처리 또는 인스톨 정보의 추가 처리에 실패한 경우), 프록시 라이브러리(211)는 도 9의 처리를 이상 종료시킨다.
다음으로, 도 8의 단계 S226에 대하여 상세히 설명한다. 도 11은 프록시 라이브러리(211)에 의해 수행되는 CSDK 애플리케이션(153)의 언인스톨 처리의 처리 순서의 일례를 설명하기 위한 도면이다. 도 11의 설명에 있어서, 프록시 라이브러리(211)의 네이티브 층(211c)은, 프록시 라이브러리(211)로서 지칭된다.
단계 S401에 있어서, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)이 언인스톨될 필요가 있는지 여부를 판정한다. 구체적으로는, 예컨대, NVRAM(115)을 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보에, 특정 애플리케이션 식별자자 포함되어 있는지 여부를 판정한다. 구체적으로, 특정 애플리케이션 식별자란, 단계 S225에서 호출된 콜백 함수의 인자에 있어서 지정된 언인스톨 대상이 되는 CSDK 애플리케이션(153b)의 애플리케이션 식별자를 의미한다. 즉, 언인스톨 처리가 CSDK 애플리케이션(153b)이 인스톨되었는지 여부에 기초하여 필요한지 여부를 판정한다.
언인스톨 처리가 불필요하다고 판정된 경우(CSDK 애플리케이션(153b)이 인스톨되어 있지 않은 경우), 프록시 라이브러리(211)는 도 11의 처리를 이상 종료시킨다(단계 S403). 언인스톨 처리가 필요하다고 판정된 경우(CSDK 애플리케이션(153b)는 인스톨되어 있는 경우), 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 언인스톨 처리를 실행한다(단계 S402). 예컨대, NVRAM(115)를 이용하여 관리되어 있는 CSDK 애플리케이션(153)의 인스톨 정보로부터, CSDK 애플리케이션(153b)의 엔트리가 삭제된다. 또한, CSDK 인스톨 영역에 카피되어 있던 CSDK 애플리케이션(153b) 및 CSDK 속성 파일(153Pb)이 삭제된다.
언인스톨 처리에 실패한 경우(예컨대, 인스톨 정보부터의 엔트리의 삭제 처리 또는 CSDK 애플리케이션(153b)의 삭제 처리에 실패한 경우), 프록시 라이브러리(211)는, 도 11의 처리를 이상 종료시킨다(단계 S403).
전술한 바와 같이, 본 실시형태에 따르면, JSDK 애플리케이션(156b)의 기동시에, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 인스톨 처리를 자동적으로 실행한다. 또한, JSDK 애플리케이션(156b)의 언인스톨시에, 프록시 라이브러리(211)는 CSDK 애플리케이션(153b)의 언인스톨 처리를 자동적으로 실행한다.
따라서, 사용자는 CSDK 애플리케이션(153b)에 대하여 인스톨 조작을 수행할 필요가 없다.
또한, CSDK 애플리케이션(153b)의 인스톨 또는 언인스톨을 위한 논리는, JSDK 애플리케이션(156b)과 함께 배포되는(JSDK 애플리케이션(156b)의 일부로서 JSDK 파일(156Fb)에 포함되는) 프록시 라이브러리(211)에 인스톨된다. 즉, 논리는 화상 형성 장치(10)의 인스톨 기구의 기존 부분[SAS(152) 및 JSDK 관리부(1551) 등]에 인스톨될 필요는 없다. 따라서, 화상 형성 장치(10)의 인스톨 기구의 기존 부분에 대하여 수정을 행할 필요는 없다.
또한, CSDK 애플리케이션(153b)[CSDK 파일(153Fb)]은 JSDK 애플리케이션(156b)의 일부로서 JSDK 파일(156Fb)에 포함되어 있다. 따라서, SAS(152)는 인스톨 대상을 하나의 JSDK 애플리케이션(156b)으로서, 인스톨 화면에 표시할 수 있다. 또한, JSDK 관리부(1551)는 도 5를 참조하여 설명한 JSDK 애플리케이션(156a)의 인스톨 처리와 동일한 처리에 의해서, CSDK 애플리케이션(153b)[CSDK 파일(153Fb)]을 화상 형성 장치(10) 내에 수용(보존)할 수 있다.
본 실시형태에 있어서, JSDK 애플리케이션(156) 및 CSDK 애플리케이션(153)의 인스톨 처리를 간편화하는 일례에 대하여 설명하였다. 그러나, 조합되는 프로그램의 프로그래밍 언어는 반드시 다르게 될 필요가 없다. 또한, 3가지 이상의 프로그램을 조합하는 경우에, 본 애플리케이션을 적용할 수도 있다. 구체적으로는, JSDK 파일(156Fb)에, 2 이상의 종류의 JSDK 애플리케이션(156) 및 2 이상의 종류의 CSDK 애플리케이션(153)을 포함시킬 수도 있다.
본 발명의 실시형태에 따르면, 인스톨 프로그램의 조작을 단순화시킬 있다.
본 발명은 여기서 설명한 특정 실시형태들로 한정되지 않으며, 본 발명의 범위를 벗어나지 않고 변경 및 변형이 행해질 수도 있다.
본 발명은 일본 특허청에 2010년 9월 16일자로 제출된 일본 우선권 주장 출원 제2010-208213호에 기초하며, 이것의 전체 내용은 참고로 여기에 통합된다.

Claims (12)

  1. 내부에 실행가능한 인스톨(install) 프로그램이 기억된 비일시적(non-transitory) 컴퓨터 판독가능한 기억 매체로서,
    상기 인스톨 프로그램은, 장치의 프로세서에 지시하여,
    제1 프로그램의 기동시에, 상기 제1 프로그램으로부터의 호출을 수신하는 단계와,
    상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하는 단계와,
    상기 제1 프로그램이 언인스톨(uninstall)되었음을 검지하는 것에 응답하여, 상기 제2 프로그램을 언인스톨하는 단계
    를 실행시키고,
    상기 제2 프로그램을 인스톨하는 단계는, 상기 제1 프로그램이 언인스톨되었음을 나타내는 통지(report)를 상기 인스톨 프로그램에 전송하는데 이용되는 정보로서, 상기 호출에 응답하여 설정되는 정보인 콜백 정보를, 상기 장치에 설정하는 단계를 포함하며,
    상기 제2 프로그램을 언인스톨하는 단계는, 상기 콜백 정보에 기초하여 상기 제1 프로그램이 언인스톨되었음을 나타내는 통지를 수신하는 것에 응답하여, 상기 제2 프로그램을 언인스톨하는 단계를 포함하는 것인, 비일시적 컴퓨터 판독가능한 기억 매체.
  2. 제1항에 있어서, 상기 제1 프로그램과 관련하여 상기 장치에 상기 인스톨 프로그램을 인스톨하는 단계를 더 포함하는 비일시적 컴퓨터 판독가능한 기억 매체.
  3. 삭제
  4. 삭제
  5. 장치에 의해 실행되는 프로그램을 인스톨하기 위한 방법으로서,
    상기 방법은 상기 장치에 의해 수행되며,
    제1 프로그램의 기동시에, 상기 제1 프로그램으로부터의 호출을 수신하는 단계와,
    상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하는 단계와,
    상기 제1 프로그램이 언인스톨되었음을 검지하는 것에 응답하여 상기 제2 프로그램을 언인스톨하는 단계
    를 포함하고,
    상기 제2 프로그램을 인스톨하는 단계는, 상기 제1 프로그램이 언인스톨되었음을 통지하는데 이용되는 정보로서, 상기 호출에 응답하여 설정되는 정보인 콜백 정보를, 상기 장치에 설정하는 단계를 포함하며,
    상기 제2 프로그램을 언인스톨하는 단계는, 상기 콜백 정보에 기초하여 상기 제1 프로그램이 언인스톨되었음을 검지하는 것에 응답하여 상기 제2 프로그램을 언인스톨하는 단계를 포함하는 것인 인스톨 방법.
  6. 제5항에 있어서, 상기 제1 프로그램과 관련하여 상기 장치에 인스톨 프로그램을 인스톨하는 단계를 더 포함하며,
    상기 인스톨 프로그램은, 상기 장치로 하여금 상기 호출을 수신하는 단계 및 상기 제2 프로그램을 인스톨하는 단계를 실행시키는 것인 인스톨 방법.
  7. 삭제
  8. 삭제
  9. 프로그램을 인스톨하기 위한 장치에 있어서,
    제1 프로그램의 기동시에, 상기 제1 프로그램으로부터의 호출을 수신하도록 구성되는 수신 유닛과,
    상기 호출에 응답하여, 상기 제1 프로그램에 의해 이용되는 제2 프로그램을 인스톨하도록 구성되는 제1 인스톨 유닛과,
    상기 제1 프로그램이 언인스톨되었음을 검지하는 것에 응답하여, 상기 제2 프로그램을 언인스톨하도록 구성되는 언인스톨 유닛
    을 구비하고,
    상기 제1 인스톨 유닛은, 상기 제1 프로그램이 언인스톨되었음을 통지하는데 이용되는 정보로서, 상기 호출에 응답하여 설정되는 정보인 콜백 정보를, 상기 장치에 설정하고,
    상기 언인스톨 유닛은, 상기 콜백 정보에 기초하여 상기 제1 프로그램이 언인스톨되었음을 검지하는 것에 응답하여 상기 제2 프로그램을 언인스톨하는 것인 장치.
  10. 제9항에 있어서, 상기 제1 프로그램과 관련하여 상기 장치에 인스톨 프로그램을 인스톨하도록 구성되는 제2 인스톨 유닛을 더 구비하며,
    상기 인스톨 프로그램은 상기 수신 유닛과 상기 제1 인스톨 유닛을 실행시키는 것인 장치.
  11. 삭제
  12. 삭제
KR1020137006492A 2010-09-16 2011-09-07 인스톨 방법 및 장치 KR101516504B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010208213A JP5699500B2 (ja) 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JPJP-P-2010-208213 2010-09-16
PCT/JP2011/070910 WO2012036174A1 (en) 2010-09-16 2011-09-07 Install method, apparatus

Publications (2)

Publication Number Publication Date
KR20130045392A KR20130045392A (ko) 2013-05-03
KR101516504B1 true KR101516504B1 (ko) 2015-05-04

Family

ID=45831632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137006492A KR101516504B1 (ko) 2010-09-16 2011-09-07 인스톨 방법 및 장치

Country Status (9)

Country Link
US (1) US9274776B2 (ko)
EP (1) EP2616933A4 (ko)
JP (1) JP5699500B2 (ko)
KR (1) KR101516504B1 (ko)
CN (1) CN103154888B (ko)
AU (1) AU2011303103B2 (ko)
BR (1) BR112013006419A2 (ko)
SG (1) SG188292A1 (ko)
WO (1) WO2012036174A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786535B2 (ja) * 2011-08-08 2015-09-30 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
CN106104476B (zh) * 2014-05-30 2019-08-13 京瓷办公信息系统株式会社 图像形成装置及图像形成方法
JP6435902B2 (ja) * 2015-02-10 2018-12-12 コニカミノルタ株式会社 ランチャ提供装置、画像形成装置、ランチャ提供方法、およびコンピュータプログラム
EP3142035B1 (en) 2015-09-14 2021-08-25 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and recording medium
CN105808291B (zh) * 2016-03-03 2019-11-05 腾讯科技(深圳)有限公司 终端的应用连接方法和装置
JP2018015947A (ja) 2016-07-26 2018-02-01 キヤノン株式会社 画像形成装置、画像形成方法、およびプログラム
JP6881028B2 (ja) 2017-05-24 2021-06-02 株式会社リコー 画像形成装置、システムおよび制御方法
US10365910B2 (en) * 2017-07-06 2019-07-30 Citrix Systems, Inc. Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted
US10630857B2 (en) 2017-12-21 2020-04-21 Ricoh Company, Ltd. Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
JP7069969B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
JP7087685B2 (ja) 2018-05-31 2022-06-21 株式会社リコー 情報処理システムおよび情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029713A (ja) 1998-03-23 2000-01-28 Sun Microsyst Inc 拡張可能なアプリケ―ションのためのフレ―ムワ―クの実現技術
US20040060045A1 (en) 2002-09-19 2004-03-25 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
JP2007049677A (ja) * 2005-07-11 2007-02-22 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2008507775A (ja) 2004-07-21 2008-03-13 ソフトリシティ インコーポレイテッド ソフトウェアアプリケーションリポジトリ内のアプリケーションメタ情報の抽出と作成のためのシステムおよび方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US20020083430A1 (en) * 2000-12-26 2002-06-27 Tadao Kusuda Uninstall control apparatus which controls uninstallation of device control software
JP2004118237A (ja) 2002-09-20 2004-04-15 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
US8432562B2 (en) 2004-02-17 2013-04-30 Ricoh Company, Ltd. Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions
JP4625343B2 (ja) 2004-02-17 2011-02-02 株式会社リコー 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
US7716663B2 (en) * 2004-02-26 2010-05-11 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20050193389A1 (en) * 2004-02-26 2005-09-01 Murphy Robert J. System and method for a user-configurable, removable media-based, multi-package installer
GB2421323B (en) * 2004-12-15 2009-07-22 Symbian Software Ltd A method of maintaining applications in a computing device
JP2007048270A (ja) 2005-07-11 2007-02-22 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US8264717B2 (en) 2005-07-11 2012-09-11 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
US9141374B2 (en) 2005-09-16 2015-09-22 Ricoh Company, Ltd. Image forming device, information processing method, information processing program, and recording medium
JP5025193B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP5025192B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
JP4844205B2 (ja) * 2006-04-05 2011-12-28 富士ゼロックス株式会社 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機
JP4512565B2 (ja) 2006-06-06 2010-07-28 株式会社リコー 画像形成装置およびアプリケーションインストール方法
JP2006271005A (ja) 2006-06-06 2006-10-05 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
US8185889B2 (en) * 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
US20090172657A1 (en) * 2007-12-28 2009-07-02 Nokia, Inc. System, Method, Apparatus, Mobile Terminal and Computer Program Product for Providing Secure Mixed-Language Components to a System Dynamically
US8239855B2 (en) * 2008-03-27 2012-08-07 Oracle International Corporation Component-based software installation
JP5599557B2 (ja) 2008-08-29 2014-10-01 株式会社リコー 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
JP5206263B2 (ja) 2008-09-12 2013-06-12 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
GB2466220A (en) * 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
US8607224B2 (en) * 2009-05-28 2013-12-10 Yahoo! Inc. System for packaging native program extensions together with virtual machine applications
JP5263070B2 (ja) 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
JP5391937B2 (ja) 2009-09-03 2014-01-15 株式会社リコー 画像形成装置、ライセンス処理方法、及びライセンス処理プログラム
JP5428685B2 (ja) 2009-09-11 2014-02-26 株式会社リコー ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
JP5413078B2 (ja) 2009-09-14 2014-02-12 株式会社リコー 機器管理システム、機器管理装置、仲介装置、機器管理方法、及び機器管理プログラム
JP2011060237A (ja) 2009-09-14 2011-03-24 Ricoh Co Ltd プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
US8954954B2 (en) * 2010-04-30 2015-02-10 Blackberry Limited Method and device for application installation to multiple memory components
US20110288932A1 (en) * 2010-05-21 2011-11-24 Inedible Software, LLC, a Wyoming Limited Liability Company Apparatuses, systems and methods for determining installed software applications on a computing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029713A (ja) 1998-03-23 2000-01-28 Sun Microsyst Inc 拡張可能なアプリケ―ションのためのフレ―ムワ―クの実現技術
US20040060045A1 (en) 2002-09-19 2004-03-25 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
JP2008507775A (ja) 2004-07-21 2008-03-13 ソフトリシティ インコーポレイテッド ソフトウェアアプリケーションリポジトリ内のアプリケーションメタ情報の抽出と作成のためのシステムおよび方法
JP2007049677A (ja) * 2005-07-11 2007-02-22 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体

Also Published As

Publication number Publication date
BR112013006419A2 (pt) 2016-07-26
KR20130045392A (ko) 2013-05-03
JP2012064022A (ja) 2012-03-29
US20130174141A1 (en) 2013-07-04
EP2616933A4 (en) 2014-03-26
SG188292A1 (en) 2013-04-30
CN103154888A (zh) 2013-06-12
US9274776B2 (en) 2016-03-01
AU2011303103B2 (en) 2014-06-05
CN103154888B (zh) 2016-10-12
AU2011303103A1 (en) 2013-03-14
EP2616933A1 (en) 2013-07-24
JP5699500B2 (ja) 2015-04-08
WO2012036174A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
KR101516504B1 (ko) 인스톨 방법 및 장치
US9141374B2 (en) Image forming device, information processing method, information processing program, and recording medium
US7533381B2 (en) Image forming apparatus and method for operating image forming apparatus by using remote application
US9003388B2 (en) Information processing apparatus and update process support system
JP5786535B2 (ja) 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP2008084304A (ja) 画像形成装置、プログラム更新方法及びプログラム
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
US20070064892A1 (en) Image forming device, information processing method, information processing program, and recording medium
KR20190040468A (ko) 정보 처리 장치 및 그 제어 방법
JP2009037589A (ja) プログラム判定装置、プログラム判定方法及びプログラム
JP5013999B2 (ja) 画像形成装置、プログラム制御方法、及び制御プログラム
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP4976329B2 (ja) 追加プログラムを実行可能な装置、障害解析支援方法、及び障害解析支援プログラム
JP2005269439A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2004127253A (ja) 情報処理装置およびバージョンチェック方法
JP5263358B2 (ja) 情報処理装置、プログラム制御方法、及び制御プログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2012155741A (ja) 処理状態が遷移する複数のプログラムを実行する装置及び方法
JP2017084420A (ja) 機器、情報処理システム、情報処理方法、及びプログラム

Legal Events

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

Payment date: 20190411

Year of fee payment: 5