KR102011181B1 - 업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법 - Google Patents

업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법 Download PDF

Info

Publication number
KR102011181B1
KR102011181B1 KR1020160004029A KR20160004029A KR102011181B1 KR 102011181 B1 KR102011181 B1 KR 102011181B1 KR 1020160004029 A KR1020160004029 A KR 1020160004029A KR 20160004029 A KR20160004029 A KR 20160004029A KR 102011181 B1 KR102011181 B1 KR 102011181B1
Authority
KR
South Korea
Prior art keywords
application
information
management server
unit
transmission
Prior art date
Application number
KR1020160004029A
Other languages
English (en)
Other versions
KR20160090245A (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 KR20160090245A publication Critical patent/KR20160090245A/ko
Application granted granted Critical
Publication of KR102011181B1 publication Critical patent/KR102011181B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/184Intellectual property management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/103Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for protecting copy right

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

업데이트된 애플리케이션은 적절한 전송 목적지에 전송된다. 전송 관리 서버는 정보 처리 장치로부터, 애플리케이션을 식별하는 애플리케이션 식별 정보와, 애플리케이션에 대한 키 정보를 수신한다. 수신된 애플리케이션 식별 정보와 키 정보는 라이선스 관리 서버에 송신되고, 애플리케이션의 목적지를 나타내는 목적지 정보는 라이선스 관리 서버로부터 수신된다. 업데이트된 애플리케이션은 목적지 정보를, 애플리케이션 식별 정보와 정보 처리 장치를 식별하는 정보와 연관시켜 관리함으로써, 특정한 전송 목적지에 전송된다.

Description

업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법{DELIVERY MANAGEMENT SERVER AND DELIVERY MANAGEMENT METHOD FOR DELIVERING UPDATED APPLICATION}
본 발명은 업데이트된 애플리케이션을 적절한 전송 목적지에 전송하는 기술에 관한 것이다.
종래에는 업데이트된 애플리케이션을, 구 버전 애플리케이션을 인스톨하는 장치에 전송하는 기술이 알려져 있다. 그러나 애플리케이션들 중에는, 동일한 애플리케이션이 같은 버전일지라도, 상이한 "목적지들"을 가질 수 있다. "목적지"는 애플리케이션의 전송 목적지이며, 목적지들은, 예를 들어 "일본", "유럽" 등과 같이 분류된다. 더 구체적으로, 목적지들은 장치를 판매하고 있는 판매 회사에 따른 그룹들로 분류될 수 있다.
일본 특허 공개 공보 제2005-215945호는, 애플리케이션을 특정한 전송 목적지에서만 이용 가능하게 하는 기술이 개시되어 있다. 일본 특허 공개 공보 제2005-215945호에서는, 메모리 카드의 제조자에 대한 식별 데이터를 포함하는 라이선스 파일이 저장된다. 애플리케이션의 실행시, 라이선스 파일에 포함된 제조자에 대한 식별 데이터는 인증 키를 특정하기 위해 애플리케이션 내부의 암호화 키를 사용하여 판독된다. 이는 애플리케이션을 특정 전송 목적지에서만 이용 가능하게 한다.
그러나 일본 특허 공개 공보 제2005-215945호에 개시된 기술은, 애플리케이션을 특정한 전송 목적지에서만 이용 가능하게 하기 위해 애플리케이션 내부에 포함된 정보를 사용한다. 상기 "목적지"가 일반적으로 애플리케이션에 포함되지 않은 정보이기 때문에, 일본 특허 공개 공보 제2005-215945호에 개시된 기술은, 적절한 전송 목적지에 애플리케이션을 전송할 수 없다.
본 발명의 일 양태에서는, 애플리케이션의 라이선스를 관리하기 위한 라이선스 관리 서버 및 애플리케이션을 인스톨하는 정보 처리 장치에 네트워크를 통해 접속되는, 애플리케이션의 전송을 관리하기 위한 전송 관리 서버가 제공되며, 전송 관리 서버는, 정보 처리 장치로부터, 애플리케이션을 식별하기 위한 애플리케이션 식별 정보와, 상기 애플리케이션에 대한 키 정보를 수신하도록 구성된 제1 수신 유닛; 제1 수신 유닛에 의해 수신된 애플리케이션 식별 정보와 키 정보를 정보 처리 장치에 대한 디바이스 식별 정보와 연관시켜 관리하도록 구성된 관리 유닛; 제1 수신 유닛에 의해 수신된 애플리케이션 식별 정보와 키 정보를 라이선스 관리 서버에 송신하도록 구성된 제1 송신 유닛; 및 제1 송신 유닛에 의한 송신에 응답하여 라이선스 관리 서버로부터 송신된 목적지 정보를 수신하도록 구성된 제2 수신 유닛을 포함하고, 목적지 정보는 애플리케이션의 목적지를 나타내고, 관리 유닛은 제2 수신 유닛에 의해 수신된 목적지 정보를 관리되는 정보와 연관시켜 관리한다.
본 발명의 추가 특징들은 (첨부된 도면들을 참고하여) 다음의 예시적인 실시예들의 설명으로부터 자명하게 될 것이다.
도 1은 실시예에 따르는 전체 시스템의 구성과 각각의 유닛을 도시하는 블록도이다.
도 2는 실시예에 따르는 전체 프로세스 시퀀스를 도시하는 도면이다.
도 3은 실시예에 따르는 화상 형성 장치에 대한 전체 프로세스 플로우를 도시하는 흐름도이다.
도 4는 실시예에 따르는 화상 형성 장치의 앱 & 키 정보 송신 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 5는 제1 실시예에 따르는 화상 형성 장치의 라이선스 파일 취득 유닛(134)에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 6은 제1 실시예에 따르는 화상 형성 유닛의 인스톨 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 7은 실시예에 따르는 전송 관리 서버의 앱 & 키 정보 관리 유닛(143)에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 8은 실시예에 따르는 전송 관리 서버의 전송 설정을 하기 위한 전체 프로세스 플로우를 도시하는 흐름도이다.
도 9는 실시예에 따르는 전송 관리 서버의 리스트 생성 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 10a 및 10b는 실시예에 따르는 전송 관리 서버에 의해 표시되고 대상 디바이스 검색과 관련되는 화면을 도시하는 도면이다.
도 11a 및 11b는 실시예에 따르는 전송 관리 서버에 의해 표시되는 애플리케이션 지정 화면을 도시하는 도면이다.
도 12는 제1 실시예에 따르는 전송 관리 서버에 의해 표시되는 전송 등록 화면을 도시하는 도면이다.
도 13은 제1 실시예에 따르는 전송 관리 서버의 전송 정보 설정 유닛에 대한 전체 프로세스 플로우를 도시하는 흐름도이다.
도 14는 실시예에 따르는 라이선스 관리 서버의 목적지 정보 추출 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 15는 실시예에 따르는 라이선스 관리 서버의 관련 애플리케이션 정보 관리 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 16a 및 16b는 실시예에 따르는 라이선스 관리 서버의 관련 애플리케이션 정보 관리 유닛에 의해 관리되는 애플리케이션들 간의 관련성을 도시하는 도면이다.
도 17a는 제2 실시예에 따르는 전송 관리 서버에 의해 표시되는 목적지 확인 화면을 도시하는 도면이다.
도 17b는 제2 실시예에 따르는 전송 관리 서버에 의해 표시되는 전송 등록 화면을 도시하는 도면이다.
도 18은 제2 실시예에 따르는 전송 관리 서버의 전송 설정을 하기 위한 전체 프로세스 플로우를 도시하는 흐름도이다.
도 19는 제2 실시예에 따르는 라이선스 관리 서버의 라이선스 정보 발행 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 20은 제2 실시예에 따르는 화상 형성 장치의 라이선스 파일 취득 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
도 21은 제2 실시예에 따르는 화상 형성 장치의 인스톨 유닛에 대한 프로세스 플로우를 도시하는 흐름도이다.
첨부 도면을 참조하여, 본 발명은 본 발명의 바람직한 실시예에 기초하여 상세하게 설명될 것이다. 그런데, 이하의 실시예들의 특징들은 단지 예시적이고, 본 발명은 예시된 구성에 한정되지 않는다.
후속 설명에서, 애플리케이션은 앱으로 약칭될 수 있고, "앱" 단어는 "애플리케이션" 단어와 동의어이다.
[제1 실시예]
<시스템 구성>
도 1은 제1 실시예에 따르는 애플리케이션 전송 시스템의 전체 구성을 도시하는 블록도이다. 본 실시예의 애플리케이션 전송 시스템은 라이선스 관리 서버(110), 유저 단말기(120), 화상 형성 디바이스(장치)(130), 전송 관리 서버(140)을 포함한다. 이것들은 서로 네트워크를 통해 접속된다. 또한, 도 1에는 서버, 장치, 및 단말기의 기능 블록도들이 도시된다. 도 1에 도시된 기능 블록에서, 서버, 장치, 및 단말기의 CPU들의 각각은 ROM 등에 저장된 프로그램을 RAM으로 판독하고, 프로그램을 실행함으로써, CPU들은 도 1에 도시된 유닛들로서 기능한다.
라이선스 관리 서버(110)는 목적지 정보 추출 유닛(111), 관련 애플리케이션 정보 관리 유닛(112), 애플리케이션 전송 정보 송신 유닛(113), 및 라이선스 정보 발행 유닛(114)을 포함한다. 또한, 라이선스 관리 서버(110)는 목적지 정보, 애플리케이션 정보, 및 라이선스 정보를 관리하기 위한 라이선스 정보 관리 데이터베이스(115)를 포함한다.
유저 단말기(120)는 표시 유닛(121)과 입력 유닛(122)을 포함한다. 유저 단말기(120)는 전송 관리 서버(140)에게 처리를 수행하도록 요청한다. 그런데, 유저 단말기(120)가 개별 장치인 예에 대해 설명하지만, 전송 관리 서버(140)의 인터페이스에 접속되는 입력 장치 및 표시 장치를 유저 단말기로서 사용하는 것도 가능하다.
본 실시예에 따라서 설명되는 애플리케이션을 인스톨과 실행할 수 있는 화상 형성 장치(130)는 앱 & 키 정보 송신 유닛(131), 전송 설정 체크 유닛(132), 전송 정보 수신 유닛(133), 라이선스 파일 취득 유닛(134), 인스톨 유닛(135)을 포함한다. 그런데, 본 실시예에서는, 일례로서 애플리케이션을 인스톨과 실행할 수 있는 장치로서, 예를 들어 MFP(Multifunction Peripheral)와 같은 화상 형성 장치를 설명하지만, 본 발명은 이에 한정되지 않는다. 애플리케이션을 인스톨과 실행할 수 있는 장치라면 어떤 장치도 사용될 수 있고, 예를 들어 범용 컴퓨터, 스마트폰, 태블릿 등과 같은 각종 정보 처리 디바이스(장치)를 사용하는 것이 가능하다.
전송 관리 서버(140)는 리스트 생성 유닛(141), 전송 정보 설정 유닛(142), 및 앱 & 키 정보 관리 유닛(143)을 포함한다. 또한, 전송 관리 서버(140)는 앱 & 키 정보 및 전송 설정 정보를 관리하기 위한 전송 정보 관리 데이터베이스(144)를 포함한다. 그런데, 본 실시예에서는, 라이선스 관리 서버(110)와 전송 관리 서버(140)가 개별 서버 장치들인 예에 대해 설명하지만, 본 발명은 이에 한정되지 않는다. 더 상세하게는, 라이선스 관리 서버(110)의 기능과 전송 관리 서버(140)의 기능이 일체로 된 서버 장치를 사용하는 것이 가능하다.
<시스템에 대한 처리 시퀀스>
도 2는 본 실시예에 따르는 애플리케이션 전송 시스템에 대한 전체 시퀀스를 도시하는 도면이다. 단계 S210에서, 화상 형성 장치는, 인스톨된 애플리케이션을 식별하기 위한 식별 정보(ID) 및 애플리케이션의 버전(이하, 애플리케이션 정보라 칭함)뿐만 아니라, 공통 키의 해시값을 전송 관리 서버(140)에 송신한다. 이 공통 키는 암호화된 애플리케이션을 취급하기 위한 키이다.
수신된 이런 정보를 갖는 전송 관리 서버(140)는 수신된 정보를 정보를 송신하고 있는 화상 형성 장치를 식별하기 위한 정보와 연관시켜 저장한다. 이러한 방식으로 정보를 관리하여, 전송 관리 서버(140)는 업데이트된 애플리케이션을 업데이트된 애플리케이션을 요구하는 화상 형성 장치에 전송할 수 있다. 본 실시예에서는, 후술하는 단계 S230에서 전송 관리 서버(140)가 또한 전송 관리 서버(140)에 의해 관리되는 정보를 목적지 정보와 연관시킨다. 관리되는 정보를 목적지 정보와 연관하여, 전송 관리 서버(140)는 미리 결정된 목적지를 갖는 애플리케이션이 인스톨되는 화상 형성 장치를 특정할 수 있다.
단계 S220에서, 전송 관리 서버(140)는 애플리케이션의 ID와 공통 키의 해시값을 라이선스 관리 서버(110)에 송신한다. 수신된 이런 정보를 갖는 라이선스 관리 서버(110)는 수신된 애플리케이션 ID와 수신된 공통 키의 해시값에 기초하여 목적지 정보를 추출한다.
단계 S230에서, 라이선스 관리 서버(110)는 추출된 목적지 정보를 단계 S220에 대한 응답으로서 전송 관리 서버(140)에 송신한다. 전송 관리 서버(140)는 수신된 목적지 정보를, 송신된 애플리케이션 ID와 송신된 공통 키의 해시값과 연관시켜 저장한다. 이런 방식으로, 전송 관리 서버(140)는 애플리케이션의 ID와 버전, 공통 키의 해시값, 화상 형성 장치를 식별하기 위한 정보, 및 목적지 정보를 연관시켜 관리한다.
그 후, 전송 관리 서버(140)는 조작 유저로부터의 지시에 따라서, 업데이트될 애플리케이션과 화상 형성 장치(130)를 결정하고, 애플리케이션과 화상 형성 장치(130)와 연관된 목적지 정보를 특정한다. 단계 S240에서, 전송 관리 서버(140)는 애플리케이션 ID와 목적지 정보를 라이선스 관리 서버(110)에 송신한다.
단계 S250에서, 라이선스 관리 서버(110)는 송신된 애플리케이션 ID 및 목적지 정보에 기초하여, 목적지 정보에 따라 변할 수 있는 업데이트 가능한 버전의 리스트를 전송 관리 서버(140)에 송신한다.
단계 S260에서, 전송 관리 서버(140)는 애플리케이션의 업데이트 버전을 나타내는 정보를 라이선스 관리 서버(110)에 송신한다. 그 후, 단계 S270에서, 라이선스 관리 서버(110)는 애플리케이션의 업데이트 버전에 대한 전송 정보를 전송 관리 서버(140)에 송신한다.
그 후, 단계 S280에서, 화상 형성 장치는 임의의 타이밍에서 전송 정보를 전송 관리 서버(140)로부터 취득한다. 전송 정보는 업데이트된 애플리케이션의 전송원을 나타내는 정보를 포함한다. 그 후 화상 형성 장치는 업데이트된 애플리케이션을 인스톨하고, 단계 S290에서 인스톨의 결과를 전송 관리 서버에 통지한다. 이런 방식으로, 본 실시예에서는, 목적지 정보를 사용하여 업데이트된 애플리케이션을 소정 목적지로만 전송하는 것이 가능하게 된다. 이하, 화상 형성 장치 및 서버의 처리에 대한 상세한 설명이 행해질 것이다.
<화상 형성 장치에 대한 프로세스 플로우>
이어서, 도 3을 참고하여, 제1 실시예에 따르는 화상 형성 장치(130)에 대한 프로세스 플로우의 설명이 행해질 것이다.
본 발명의 화상 형성 장치(130)에서는, 화상 형성 장치(130)의 기동시에 도 3에 도시된 처리가 개시된다. 그런데, 도 3에 도시된 처리는 화상 형성 장치의 (도시하지 않은) RAM으로부터 판독된 프로그램을 실행하는 화상 형성 장치의 (도시하지 않은) CPU에 의해 구현된다. 또한, 본 출원의 다른 프로세스 플로우도, 장치 또는 서버의 (도시하지 않은) RAM으로부터 판독된 프로그램을 실행하는 장치 또는 서버의 (도시하지 않은) CPU에 의해 구현됨에 유의한다.
화상 형성 장치가 기동되어 처리를 개시하는 경우, 앱 & 키 정보 송신 유닛(131)은 단계 S301에서 처리를 개시한다. 후술하는 바와 같이, 단계 S301의 처리에서, 도 2의 S210의 처리가 수행된다.
이어서, 단계 S302에서, 전송 설정 체크 유닛(132)은 전송 관리 서버(140)에게, 자신의 화상 형성 장치(130)에 관한 전송 설정이 이루어졌는지 문의한다. 전송 관리 서버에게 문의하는 전송 설정 체크 유닛(132)의 결과가 단계 S303에서 전송 설정이 없다고 나타내는 경우, 프로세스는 단계 S302로 복귀하고, 단계 S302에서 처리는 소정 간격에서 반복된다. 단계 S303에서 문의 결과가 전송 설정이 있는 것을 나타내는 경우, 전송 정보 수신 유닛(133)은 단계 S304에서 전송 정보를 전송 관리 서버(140)로부터 수신하여 취득한다. 전송 정보를 취득하는 처리는 도 2의 단계 S280에서의 처리에 대응한다. 단계 S305에서, 라이선스 파일 취득 유닛(134)은 필요에 따라 단계 S304에서 취득한 전송 정보를 참조하여 라이선스 파일을 취득한다. 단계 S306에서, 인스톨 유닛은 단계 S304에서 취득한 전송 정보와 단계 S305에서 취득한 라이선스 파일을 사용하여 애플리케이션을 인스톨한다. 인스톨 처리에서, 인스톨 결과가 전송 관리 서버(140)에 통지된다. 이 처리는 도 2의 S290의 처리에 대응한다.
이어서, 처리의 상세에 대하여 설명한다.
<화상 형성 장치의 앱 & 키 정보 송신 유닛에 대한 프로세스 플로우>
도 4는 도 3의 단계 S301에 도시된 화상 형성 장치(130)의 앱 & 키 정보 송신 유닛(131)에 의한 처리의 프로세스 플로우를 도시한다. 전술한 바와 같이, 처리는 화상 형성 장치(130)의 기동시에 앱 & 키 정보 송신 유닛(131)에 의해 수행된다. 그런데, 처리는 화상 형성 장치(130)의 기동시 개시될 필요가 없으며, 처리는 화상 형성 장치(130)가 기동된 후 주기적 또는 비주기적으로 수행될 수 있다.
단계 S401에서, 앱 & 키 정보 송신 유닛(131)은 전송 관리 서버(140)가 애플리케이션 구성 정보를 전송 관리 서버(140)에 송신했는지 판정한다. 애플리케이션 구성 정보는, 예를 들어 화상 형성 장치(130)에 인스톨된 애플리케이션을 식별하기 위한 애플리케이션 식별 정보(ID)와, 애플리케이션의 버전을 나타내는 정보와, 애플리케이션에 대한 공통 키의 해시값을 포함한다. 복수의 애플리케이션이 인스톨된 경우, 각각의 애플리케이션에 대한 정보는 애플리케이션 구성 정보로서 총칭하여 지칭된다. 애플리케이션의 구성 정보가 이미 송신되었다면, 프로세스는 종료된다. 애플리케이션 구성 정보가 송신되지 않았다면, 프로세스는 단계 S402로 진행한다.
단계 S402에서, 앱 & 키 정보 송신 유닛(131)은 애플리케이션이 자신의 화상 형성 장치(130)에 인스톨되었는지 판정한다. 애플리케이션이 인스톨되지 않았다면, 프로세스는 종료된다.
애플리케이션이 인스톨된 경우, 단계 S403에서, 앱 & 키 정보 송신 유닛(131)은 자신의 화상 형성 장치(130)에서 관리되는 애플리케이션의 ID 및 버전을 나타내는 정보(이하, 애플리케이션 정보로 지칭함)와, 대응하는 공통 키를 취득한다. 화상 형성 장치(130)에서, 앱 & 키 정보 송신 유닛(131)은 인스톨된 애플리케이션에 관한 정보로서 표 1에 도시한 바와 같은 정보를 관리한다.
표 1에서, AppID는 화상 형성 장치(130)에서 애플리케이션을 고유하게 식별하기 위한 식별자이고, 버전은 애플리케이션의 버전이고, 공통 키는 애플리케이션을 암호화하는데 사용되는 공통 키에 대한 정보이다. 화상 형성 장치(130)는 관리된 공통 키를 사용하여 암호화된 애플리케이션을 복호화하고 애플리케이션을 실행한다. 본 실시예에서는, 애플리케이션에 포함된 정보를 사용하지 않고 관리된 애플리케이션에 대한 정보를 사용하여 처리를 수행한다.
Figure 112016003568519-pat00001
이어서, 단계 S404에서, 앱 & 키 정보 송신 유닛(131)은 단계 S403에서 각각 취득한 공통 키로부터 각각의 해시값을 생성한다. 이어서, 단계 S405에서, 앱 & 키 정보 송신 유닛(131)은 단계 S404에서 생성한 공통 키의 해시값 및 대응하는 애플리케이션 정보를 전송 관리 서버(140)에 송신하고, 처리를 종료한다. 화상 형성 장치(130)는, 예를 들어 표 2에 나타낸 바와 같은 정보를 전송 관리 서버(140)에 송신한다. 그런데, DS#은 정보를 송신하는 화상 형성 장치(130)를 고유하게 식별하기 위한 디바이스 식별 정보이다. 표 2에 나타낸 바와 같이, 앱 & 키 정보 송신 유닛(131)은 애플리케이션의 구성 정보와 화상 형성 장치를 고유하게 특정하는 정보를 전송 관리 서버(140)에 송신한다. 그런데, 전송 관리 서버(140)가 예를 들어, 송신원의 IP 어드레스와 같은, 송신 시에 사용되는 정보에 기초하여 화상 형성 장치를 식별할 수 있는 경우, 화상 형성 장치를 식별하기 위한 정보(ID)는 정보로서 전송 관리 서버(140)에 송신되지 않을 수 있다. 단계 S405에서, 정보의 송신은 도 2의 S210에 대응한다.
Figure 112016003568519-pat00002
<화상 형성 장치의 라이선스 파일 취득 유닛에 대한 프로세스 플로우>
도 5는 화상 형성 장치(130)의 라이선스 파일 취득 유닛(134)에 대한 프로세스 플로우를 도시하는 흐름도이다. 도 3의 프로세스 플로우에 대해 설명한 바와 같이, 전송 정보 수신 유닛(133)이 전송 정보를 취득하는 처리를 완료한 경우, 라이선스 파일 취득 유닛(134)이 개시되어 처리를 수행한다. 전송 정보는 전송된 애플리케이션을 식별하기 위한 애플리케이션 정보와, 애플리케이션의 전송원을 나타내는 정보를 포함한다. 표 3은 전송 정보 수신 유닛(133)에 의해 전송 관리 서버(140)로부터 수신된 전송 정보의 예를 나타낸다. 라이선스 파일 취득 유닛은 애플리케이션 정보로서, AppID/버전 외에, 애플리케이션명을 취득할 수 있다. 또한, 라이선스 파일 취득 유닛은 애플리케이션의 전송원을 나타내는 정보로서 애플리케이션의 다운로드를 위한 URI를 취득할 수 있다. 그런데, 애플리케이션의 전송원을 나타내는 URI에 의해 표시되는 전송 서버는 전송 관리 서버(140)일 필요가 없다.
Figure 112016003568519-pat00003
단계 S501에서, 라이선스 파일 취득 유닛(134)은 전송 정보 수신 유닛(133)에 의해 전송 관리 서버(140)로부터 수신된 전송 정보를 취득한다. 단계 S502에서, 라이선스 파일 취득 유닛(134)은 취득한 전송 정보에 포함되는 AppID에 의해 특정된 것과 동일한 애플리케이션이 자신의 화상 형성 장치(130)에 인스톨되었는지 판정한다. 애플리케이션이 인스톨되었다고 판정하는 경우, 프로세스는 단계 S503으로 진행하고, 라이선스 파일 취득 유닛(134)은 대응하는 애플리케이션에 대한 무효화 라이선스 파일을 생성한다. 무효화 라이선스 파일은, 인스톨된 라이선스 파일이 언인스톨되는(uninstalled) 경우에 생성되는 라이선스 파일이다. 무효화 라이선스 파일은 암호화된 애플리케이션을 복호화하기 위한 공통 키를 포함하고, 라이선스 관리 서버(110)에 의해 관리되는 다른 버전의 애플리케이션을 복호화하는데 이용될 수 있다. 이어서, 단계 S504에서, 라이선스 파일 취득 유닛(134)은 단계 S503에서 생성된 무효화 라이선스 파일에 대응하는 애플리케이션을 언인스톨한다. 한편, 단계 S502에서 대응하는 애플리케이션이 인스톨되지 않았다고 판정한 경우, 라이선스 파일 취득 유닛(134)은 단계 S505에서 업데이트 에러로서 프로세스를 종료한다.
<화상 형성 장치의 인스톨 유닛에 대한 프로세스 플로우>
도 6은 화상 형성 장치(130)의 인스톨 유닛(135)에 대한 프로세스 플로우를 도시한다. 도 3에 도시한 바와 같이, 라이선스 파일 취득 유닛(134)에 의한 처리가 종료되는 경우, 인스톨 유닛(135)에 의한 처리가 개시된다.
단계 S601에서, 인스톨 유닛(135)은 라이선스 파일 취득 유닛(134)에 의한 처리의 결과가 업데이트 에러인지를 판정한다. 결과가 업데이트 에러인 경우, 단계 S602에서, 인스톨 유닛(135)은 에러를 전송 관리 서버(140)에 통지하고, 프로세스를 종료한다.
한편, 결과가 업데이트 에러가 아닌 경우, 단계 S603에서, 인스톨 유닛(135)은 전송 정보 수신 유닛(133)에 의해 수신된 전송 정보에 포함되는 URI로부터 대응하는 애플리케이션을 다운로드한다. 그 후, 단계 S604에서, 인스톨 유닛(135)은 단계 S603에서 다운로드한 애플리케이션을 인스톨한다. 이어서, 단계 S605에서, 인스톨 유닛(135)은 라이선스 파일 취득 유닛(134)에 의해 생성된 무효화 라이선스 파일을 인스톨한다. 단계 S606에서, 인스톨 유닛(135)은 인스톨의 완료를 전송 관리 서버(140)에 통지하고, 프로세스를 종료한다. 이 처리는 도 2의 S290의 처리에 대응한다.
이상이, 화상 형성 장치에 대한 프로세스 플로우의 설명이다. 이어서, 전송 관리 서버에 대한 프로세스 플로우가 설명될 것이다.
<전송 관리 서버의 앱 & 키 정보 관리 유닛에 대한 프로세스 플로우>
도 7은 전송 관리 서버(140)의 앱 & 키 정보 관리 유닛(143)에 대한 프로세스 플로우를 도시한다. 도 7에 도시된 처리는, 앱 & 키 정보 관리 유닛(143)이 화상 형성 장치(130)의 앱 & 키 정보 송신 유닛(131)으로부터 송신된 애플리케이션에 대한 구성 정보를 취득한 후에 개시된다.
단계 S701에서, 앱 & 키 정보 관리 유닛(143)은 화상 형성 장치(130)의 앱 & 키 정보 송신 유닛(131)으로부터 수신된 AppID 및 공통 키의 해시값을 라이선스 관리 서버(110)에 통지한다. 이 처리는, 도 2의 S210에 응답하는 S220의 처리에 대응한다. 단계 S702에서, 앱 & 키 정보 관리 유닛(143)은 단계 S701의 통지에 응답하여 라이선스 관리 서버(110)로부터 송신되는 목적지 정보를 취득한다. 단계 S703에서, 앱 & 키 정보 관리 유닛(143)은 단계 S702에서 수신된 목적지 정보를 전송 관리 서버(140)의 앱 & 키 정보 관리 유닛(143)에 의해 관리되는 정보에 추가하고, 프로세스를 종료한다. 그런데, 라이선스 관리 서버(110)가 애플리케이션 정보 및 공통 키의 해시값에 기초하여 목적지 정보를 특정하는 처리에 대해서는 후술할 것이다.
표 4는 앱 & 키 정보 관리 유닛(143)에 의해 관리되는 정보를 예시한다. 앱 & 키 정보 관리 유닛(143)은 라이선스 관리 서버(110)로부터 수신된 각각의 애플리케이션에 대한 목적지 정보 외에, 화상 형성 장치(130)의 앱 & 키 정보 송신 유닛(131)으로부터 송신된 정보를 관리한다.
Figure 112016003568519-pat00004
<전송 관리 서버의 전송 설정에 대한 전체 프로세스 플로우>
이어서, 도 8을 참고하여, 전송 관리 서버(140)의 전송 설정에 대한 전체 프로세스 플로우를 설명할 것이다. 도 8에 도시된 처리에서, 전송 정보는 도 2의 S270에 도시된 바와 같이 라이선스 관리 서버(110)로부터 전송 관리 서버(140)에 송신되고, 전송 관리 서버(140)는 전송 정보를 관리한다. 도 8에 도시된 처리는, 전술한 바와 같이, 전송 관리 서버(140)의 앱 & 키 정보 관리 유닛(143)이 목적지 정보와 연관된 정보를 관리하고 있는 것을 근거로 한 처리이다.
도 8에 도시된 처리는, 유저 단말기(120)에 의한 처리에 응답하여 개시된다. 유저 단말기가 전송 설정을 위한 처리를 요구하는 경우, 단계 S801에서 전송 관리 서버(140)는 로그인 처리를 요구한다. 예를 들어, 전송 관리 서버(140)는 조작 유저를 특정하기 위한 로그인 화면을 유저 단말기(120)에 표시시킨다. 그 후, 단계 S802에서 전송 관리 서버(140)는 유저 단말기로부터 입력된 정보에 기초하여 조작 유저가 권한을 갖는지를 판정한다. 조작 유저가 권한을 갖지 않는다고 판정한 경우에는 단계 S801의 처리를 반복한다. 조작 유저가 권한을 갖는다고 판정한 경우, 단계 S803에서. 전송 관리 서버(140)는 조작 유저에 대한 목적지 정보를, 전송 정보 관리 데이터베이스(144)를 이용하여 관리되는 유저 정보를 참조하여 취득한다. 단계 S804에서, 전송 관리 서버(140)는 리스트 생성 유닛(141)이 처리를 개시하게 하고, 그 후, 단계 S805에서, 전송 관리 서버(140)는 전송 정보 설정 유닛(142)이 처리를 개시하게 한다.
표 5는 전송 관리 서버(140)의 전송 정보 관리 데이터베이스(144)를 이용하여 관리되는 유저 정보의 예를 나타낸다. 전송 정보 관리 데이터베이스(144)는 조작 유저가 정확한지를 체크하기 위한 ID/패스워드 외에, 조작 유저에 대한 목적지 정보를 관리하는데 사용된다.
Figure 112016003568519-pat00005
도 9는 전송 관리 서버(140)의 리스트 생성 유닛(141)에 대한 프로세스 플로우를 도시한다. 로그인 화면을 통해 조작 유저가 권한을 갖는다고 판정한 경우, 리스트 생성 유닛(141)은 도 9의 처리를 개시한다.
단계 S901에서, 리스트 생성 유닛(141)은 로그인한 조작 유저로부터 테넌트(tenant) ID 및 업데이트될 애플리케이션을 특정하기 위한 정보(애플리케이션 ID)의 지정을 수신한다. 테넌트란, 조작 유저가 애플리케이션을 제공하고 있는 클라이언트이다. 업데이트될 애플리케이션이 특정 고객에 전송되도록 설정이 이루어지는 경우, 조작 유저는 테넌트 ID를 이용하여 테넌트를 지정할 수 있다. 본 실시예에서, 테넌트 ID는 화상 형성 장치와 연관되고, 업데이트될 화상 형성 장치는 테넌트 ID를 지정함으로써 특정될 수 있다. 단계 S902에서, 리스트 생성 유닛(141)은 단계 S901에서 지정된 정보에 대응하는 화상 형성 장치(130)를 특정한다. 더 구체적으로는, 업데이트 처리에 대상이 되는 화상 형성 장치가 특정된다.
이어서, 단계 S903에서, 변수 i를 0으로 초기화한다. 후속 단계들 S904 내지 S908의 처리는, 단계 S902에서 특정된 화상 형성 장치들의 수와 동일한 횟수로 반복된다. 단계 S904에서, 리스트 생성 유닛(141)은 변수 i가 단계 S902에서 특정된 화상 형성 장치의 수보다 작은지 판정한다. 변수 i가 단계 S902에서 특정된 화상 형성 장치의 수보다 작은 경우, 프로세스는 단계 S905로 진행한다. 단계 S905에서, 리스트 생성 유닛(141)은 i번째 화상 형성 장치에 대응하는 애플리케이션에 대한 목적지 정보를 앱 & 키 정보 관리 유닛(143)을 이용하여 특정한다. 표 4에 대해 전술한 바와 같이, 앱 & 키 정보 관리 유닛(143)은 애플리케이션의 ID 및 버전, 공통 키의 해시값, 화상 형성 장치의 식별 정보, 및 목적지 정보를 연관시켜 관리한다. 따라서, 단계 S901에서 목적지가 수신된 애플리케이션 ID와, i번째 화상 형성 장치의 식별 정보에 기초하여, i번째 화상 형성 장치에 대응하는 애플리케이션에 대한 목적지 정보를 특정하는 것이 가능하다.
이어서, 단계 S906에서, 리스트 생성 유닛(141)은 단계 S905에서 특정된, i번째 화상 형성 장치에 대한 목적지 정보가 도 8의 단계 S803에서 취득한 조작 유저에 대한 목적지 정보와 동일한지 판정한다. 단계 S905에서 특정된, i번째 화상 형성 장치에 대한 목적지 정보가 도 8의 단계 S803에서 취득한 조작 유저에 대한 목적지 정보와 상이한 경우, 프로세스는 단계 S907에 진행하고, i번째 화상 형성 장치가 다른 목적지 정보를 갖는 화상 형성 장치라고 판정되었기 때문에, 별도 리스트를 생성하여 관리한다. 표 6은 메인 목적지 정보와 다른 목적지 정보를 갖는 화상 형성 장치를 관리하기 위한 별도 리스트이다. 이하의 별도 리스트는 단계 S907에서 전송 관리 서버(140)의 앱 & 키 정보 관리 유닛(143)에 의해 관리되는 정보에 기초하여 리스트 생성 유닛(141)에 의해 생성된다.
Figure 112016003568519-pat00006
단계 S906에서, i번째 화상 형성 장치에 대한 목적지 정보가 조작 유저에 대한 목적지 정보와 동일하다고 판정한 경우, 프로세스는 단계 S907을 통하지 않고 단계 S908로 진행한다. 단계 S908에서, 리스트 생성 유닛(141)은 변수 i를 증분하고, 프로세스는 단계 S904로 진행한다.
그 후, 단계 S904에서, 변수 i가 단계 S902에서 특정된 화상 형성 장치의 수보다 작지 않다고 판정한 경우, 리스트 생성 유닛(141)은 단계 S909에서 조작 유저에 의해 지정된 전송 상황에 대응하는 리스트를 취득한다.
<전송 관리 서버에서 사용자 인터페이스 화면의 예>
도 10a 및 10b는 전송 관리 서버(140)의 리스트 생성 유닛(141)의 처리에 의해 표시되는 화면의 예를 나타내는 도면이다. 검색 화면(1001)은 테넌트 ID를 입력하는 텍스트 박스(1002), 전송될 대상의 설정 유형을 지정하는 라디오 버튼(1003), 및 검색 조건에 기초하여 전송 상황을 지정하는 체크 박스(1004)를 포함한다. 또한, 검색 화면(1001)은 애플리케이션을 특정하는 텍스트 박스(1005), 검색을 실행하는 검색 버튼(1006) 및 검색을 캔슬하는 캔슬 버튼(1007)을 포함한다. 로그인한 조작 유저가 설정 유형으로서 애플리케이션 전송을 선택하고, 조건을 설정하고, 검색 버튼(1006)을 실행하는 경우, 도 9에 도시된 처리가 개시된다. 테넌트 ID들을 이용하여 관리되는 화상 형성 장치 중에서, 지정된 애플리케이션이 인스톨된 화상 형성 장치를 검색하고, 지정된 전송 상황에 일치하는 화상 형성 장치의 리스트가 취득된다. 그런데, 애플리케이션을 특정하는 정보로서, 도 9, 도 10a 및 도 10b에서는 AppID를 지정하는 텍스트 박스(1005)만을 사용하는 예를 도시했지만, 버전을 특정하는 정보를 지정할 수도 있다.
도 10b는 도 10a에서 검색 버튼(1006)을 실행하고 리스트 생성 유닛(141)에 의한 처리를 수행한 후, 단계 S909에서 취득된 리스트를 표시하는 예를 도시한다. 더 상세하게, 도 10b는 미리 결정된 테넌트 ID 및 애플리케이션 ID에 대응하는 대상 화상 형성 장치의 검색 결과 화면을 도시한다.
검색 결과 화면(1051)은 화상 형성 장치를 고유하게 특정하는 정보(1052), 애플리케이션의 버전을 나타내는 정보(1053), 및 목적지 정보(1054)를 표시한다. 검색 결과 화면(1051)은 검색 결과로서 특정된 화상 형성 장치의 수에 대한 정보를 리스트로서 표시한다(1055 내지 1057). 또한 검색 결과 화면(1051)은 전송 설정에 대상이 되는 화상 형성 장치(130)을 선택하고 전송 설정을 실행하기 위한 전송 설정 버튼(1058), 및 전송 설정을 캔슬하는 캔슬 버튼(1059)을 포함한다.
도 10b의 예에서는, 리스트들(1055 및 1056)의 화상 형성 장치에 인스톨된 애플리케이션의 목적지가 조작 유저의 것과 동일한 것을 나타내고 있다. 더욱이, 리스트(1057)의 화상 형성 장치에 인스톨된 애플리케이션은 조작 유저의 목적지와는 상이한 것을 나타내고 있다. 애플리케이션이 전송 설정시에 선택 불가인 상태가 나타난다. 그런데, 조작 유저의 목적지와는 다른 목적지의 애플리케이션이 인스톨되어 있는 경우, 화상 형성 장치 자체가 표시되지 않는 방법도 있다. 도 10b에 도시된 바와 같이 조작 유저의 목적지와는 다른 목적지의 리스트는 도 9의 단계 S907에서 별도의 리스트로서 생성된 리스트를 참조함으로써 구별하여 표시하거나, 또한, 표시하지 않는 것이 가능하다.
이어서, 조작 유저가 도 10b에서 전송 설정 버튼(1058)을 누르는 경우, 전송 정보 설정 유닛(142)은 처리를 수행한다. 도 11a 및 11b는 전송 관리 서버(140)의 전송 정보 설정 유닛(142)에 의해 표시되는 애플리케이션 버전 지정 화면을 도시한다.
도 11a 및 11b는 애플리케이션을 특정하는 AppID를 표시하는 라벨(1102/1152), 대상 애플리케이션에 대한 목적지 정보를 표시하는 라벨(1103/1153)이 표시되는 애플리케이션 버전 지정 화면(1101/1151)을 도시한다. 또한, 업데이트 버전을 선택하기 위한 리스트 박스(1104/1154)가 표시된다. 또한, 애플리케이션의 버전을 특정하기 위한 OK 버튼(1105/1155) 및 애플리케이션 버전 지정을 캔슬하기 위한 캔슬 버튼(1106/1156)이 표시된다. 도 11a는 목적지 정보가 "JP"인 예를 도시하고, 도 11b는 목적지 정보가 "EN"인 예를 도시한다. 또한, 도 11a 및 11b는 업데이트 가능 버전들이 목적지 정보에 따라 변하는 것을 도시한다. 그런데, 도 11a 및 11b에서 업데이트 버전을 선택하기 위한 리스트 박스(1104/1154)는 라이선스 관리 서버(110)에 의해 관리되는 정보에 기초하여 표시된다. 라이선스 관리 서버(110)에 의해 관리되는 정보에 대해서는 후술한다.
도 11a 및 11b에서 도시된 화면을 통해 주어진 조작 유저의 지시에 따라, 전송 정보 설정 유닛(142)은 AppID와 목적지 정보에 기초하여 원하는 관련 애플리케이션 정보를 취득할 수 있다. 도 11a 및 11b는, 어느 목적지에 대하여 어느 버전의 애플리케이션을 전송할지 나타내는 정보를 취득하는 것이 가능한 것이 나타난다.
도 12는 전송 관리 서버(140)의 전송 정보 설정 유닛(142)에 대한 전송 설정 등록 화면(1201)을 도시한다. 도 12는 도 11a에 도시된 바와 같이 목적지 정보가 "JP"이고, 미리 결정된 버전이 선택되고, OK 버튼(1105)이 눌러진 경우에 표시되는 화면의 예를 나타내고 있다. 전송 설정 등록 화면(1201)에는, 화상 형성 장치(130)를 특정하는 정보(1202), 전송일을 설정하는 항목(1203), 및 전송 시각을 설정하는 항목(1204)이 표시된다. 상기 정보 및 항목들은, 도 10b의 화상 형성 장치의 검색 결과 화면에서 조작 유저에 의해 지정된 화상 형성 장치의 수만큼 표시된다(1205 내지 1206). 또한, 전송 설정 등록 화면(1201)은 필요 사항을 입력한 후, 전송 등록을 수행하기 위한 전송 등록 실행 버튼(1207), 및 전송 등록을 캔슬하는 캔슬 버튼(1208)을 포함한다. 그런데, 도 12에서는, 화상 형성 장치(130) 각각에 대한 전송 일시를 지정하는 예를 개별적으로 나타냈지만, 화상 형성 장치(130) 모두에 대한 전송 일시를 일괄적으로 지정하는 것도 가능하다.
<전송 관리 서버의 전송 정보 설정 유닛에 대한 프로세스 플로우>
도 13은 전송 관리 서버(140)의 전송 정보 설정 유닛(142)에 대한 전체 프로세스 플로우를 나타내고 있다. 도 10b에 도시된 바와 같이 화상 형성 장치의 검색 결과의 리스트가 표시되는 검색 결과 화면(1051)에서, 조작 유저가 전송 설정 버튼(1058)을 실행하는 경우, 도 13의 처리가 개시된다.
단계 S1301에서, 전송 정보 설정 유닛(142)은 먼저, 전송되도록 설정된 애플리케이션의 AppID, 버전 및 목적지 정보를 라이선스 관리 서버(110)에 통지한다. 더 구체적으로, 전송 정보 설정 유닛(142)은, 도 10b의 조작 전에 도 10a에 도시된 화면에서 조작 유저에 의해 지정된 애플리케이션 ID와, 도 10b에 도시된 검색 결과 화면에 표시되는 버전 및 목적지 정보(즉, 조작 유저에 대응하는 목적지 정보)을 라이선스 관리 서버(110)에 통지한다. 이 처리는 도 2의 S240에서의 처리에 대응한다.
이 통지에 응답하여, 라이선스 관리 서버(110)는 업데이트 가능한 애플리케이션의 리스트를 전송 관리 서버(140)에 송신한다. 이 처리는 도 2의 S250에서의 처리에 대응한다.
단계 S1302에서, 전송 정보 설정 유닛(142)은 라이선스 관리 서버(110)로부터 수신된 애플리케이션의 리스트를, 예를 들어 도 11a 및 11b에 나타내는 애플리케이션 버전 지정 화면에 표시한다. 더 구체적으로, 예를 들어 도 11a 및 11b에서, 전송 정보 설정 유닛(142)은 애플리케이션의 리스트를 업데이트 버전을 선택하기 위한 리스트 박스(1104/1154)에 표시한다.
단계 S1303에서, 전송 정보 설정 유닛(142)은 조작 유저의 지시에 따라 애플리케이션의 업데이트 버전을 결정한다. 단계 S1304에서, 전송 정보 설정 유닛(142)은 단계 S1303에서 결정된 애플리케이션의 버전에 대응하는 등록번호를 라이선스 관리 서버(110)에 통지한다. 등록번호는 라이선스 관리 서버(110)에 대한 애플리케이션을 고유하게 특정하기 위한 정보이며, 단계 S1302에서 라이선스 관리 서버(110)로부터 취득한 애플리케이션의 리스트에 포함된다. 표 7은, 단계 S1301에서 AppID가 "ABC1234"이고, 목적지 정보가 "JP"로 특정된 경우 라이선스 관리 서버(110)로부터 수신된 애플리케이션의 리스트에 대한 정보를 나타낸다.
Figure 112016003568519-pat00007
표 7은 도 11a에서 업데이트 버전을 선택하기 위한 리스트 박스(1104)에 표시되는 사항에 대응한다.
단계 S1304에서, 라이선스 관리 서버(110)에 등록번호를 통지한 것에 응답하여, 라이선스 관리 서버(110)의 애플리케이션 전송 정보 송신 유닛(113)은 애플리케이션을 다운로드하기 위한 전송 정보를 전송 관리 서버(140)에 송신한다. 이 처리는 도 2의 단계 S270의 처리에 대응한다.
단계 S1305에서, 전송 정보 설정 유닛(142)은 라이선스 관리 서버(110)로부터 애플리케이션의 전송 정보를 취득한다. 그 후, 단계 S1306에서, 전송 정보 설정 유닛(142)은 단계 S1305에서 취득한 전송 정보를 전송 정보 관리 데이터베이스(144)에 등록하고, 프로세스를 종료한다. 표 8은 전송 정보 관리 데이터베이스(144)에 의해 관리되는 전송 정보의 예를 나타낸다.
Figure 112016003568519-pat00008
표 8에서는, 단계 S1303에서 결정된 버전, 단계 S1306에서 취득한 전송 정보(URI), 도 12에 표시된 화면을 통해 조작 유저에 의해 지정된 전송 일시가 각각의 화상 형성 장치에 연관되어 관리되는 상태를 나타내고 있다. 그런데, 애플리케이션 ID와 연관된 정보로부터 애플리케이션명을 취득하는 것이 가능하다. 또한, 표 8에서 버전은 단계 S1303에서의 결정뿐만 아니라 전송 정보에 포함되는 정보를 기초로 한다.
<라이선스 관리 서버에 대한 프로세스 플로우>
이어서 라이선스 관리 서버(110)에 대한 프로세스 플로우에 대하여 설명될 것이다. 먼저, 라이선스 관리 서버(110)의 목적지 정보 추출 유닛(111)에 의한 처리에 대하여 설명될 것이다. 목적지 정보 추출 유닛(111)은 전술한 바와 같이, 전송 관리 서버(140)로부터 송신된 애플리케이션 ID와 공통 키의 해시값에 기초하여 목적지 정보를 추출하고, 추출한 목적지 정보를 전송 관리 서버(140)에 송신한다.
<라이선스 관리 서버의 목적지 정보 추출 유닛에 대한 프로세스 플로우>
도 14는 라이선스 관리 서버(110)의 목적지 정보 추출 유닛(111)에 대한 프로세스 플로우를 도시한다. 단계 S1401에서, 목적지 정보 추출 유닛(111)은 전송 관리 서버(140)의 앱 & 키 정보 관리 유닛(143)으로부터 AppID 및 공통 키의 해시값을 수신한다. 이 처리는 도 2의 단계 S220의 처리에 대응한다.
이어서, 단계 S1402에서, 목적지 정보 추출 유닛(111)은 단계 S1401에서 수신된 AppID에 대응하는 공통 키를 라이선스 관리 서버(110)에 의해 관리되는 공통 키로부터 취득한다. 이어서, 단계 S1403에서, 변수 i를 0으로 초기화한다.
다음 단계 S1404에서, 목적지 정보 추출 유닛(111)은 변수 i가 단계 S1402에서 취득한 공통 키의 수보다 작은지 판정한다. 변수 i가 단계 S1402에서 취득한 공통 키의 수보다 작은 경우, 프로세스는 단계 S1405로 진행하고, 변수 i가 단계 S1402에서 취득한 공통 키의 수보다 작지 않을 경우, 프로세스는 단계 S1409로 진행한다.
단계 S1405에서, 목적지 정보 추출 유닛(111)은 i번째 공통 키의 해시값을 생성한다. 그 후, 단계 S1406에서, 목적지 정보 추출 유닛(111)은 단계 S1405에서 생성한 공통 키의 해시값과 단계 S1401에서 수신된 공통 키의 해시값이 동일한지 판정한다. 이들 해시값이 서로 동일한 경우, 프로세스는 단계 S1407로 진행한다. 단계 S1407에서, 목적지 정보 추출 유닛(111)은 i번째 공통 키와 연관된 목적지 정보를, 단계 S1401에서 수신된 AppID와 공통 키의 해시값에 대응하는 목적지 정보로서 추출하고, 프로세스는 단계 S1410으로 진행한다. 한편, 상기 해시값이 서로 동일하지 않은 경우, 단계 S1408에서, 목적지 정보 추출 유닛(111)은 변수 i를 증분하고, 프로세스는 단계 S1404로 진행한다. 라이선스 관리 서버(110)에 의해 관리되는 모든 공통 키의 해시값과 단계 S1401에서 수신된 공통 키의 해시값이 동일하지 않은 경우, 목적지 정보가 추출되지 않았다고 결정하고, 프로세스는 단계 S1410으로 진행한다.
단계 S1410에서, 목적지 정보 추출 유닛(111)은 단계 S1407 또는 단계 S1409에서 얻어진 결과를 전송 관리 서버(140)에 송신한다. 더 구체적으로, 목적지 정보가 단계 S1407에서 추출될 수 있는 경우, 목적지 정보 추출 유닛(111)은 전송 관리 서버(140)로부터 송신된 AppID와 공통 키의 해시값에 대응하는 목적지 정보를 전송 관리 서버(140)에 송신한다. 이 처리는 도 2의 S230에서의 처리에 대응한다.
표 9는 라이선스 관리 서버(110)에 의해 관리되는 목적지 정보와 공통 키의 해시값의 조합 예를 나타내는 것이다.
Figure 112016003568519-pat00009
라이선스 관리 서버(110)는 AppID 및 목적지 정보와 조합하여 고유하게 식별되는 공통 키를 관리한다. 따라서, 전송 관리 서버(140)로부터 수신된 공통 키의 해시값 및 AppID에 대응하는 목적지 정보를 공통 키의 해시값과 AppID의 조합을 사용함으로써 특정하는 것이 가능하다.
이어서, 라이선스 관리 서버(110)의 관련 애플리케이션 정보 관리 유닛(112)에 의한 처리에 대하여 설명한다. 관련 애플리케이션 정보 관리 유닛(112)은 전술한 바와 같이 전송 관리 서버(140)로부터 송신된 AppID, 버전, 및 목적지 정보를 수신하고, 업데이트 가능한 애플리케이션의 버전 업그레이드 리스트를 전송 관리 서버(140)에 송신한다.
<라이선스 관리 서버의 관련 애플리케이션 정보 관리 유닛에 대한 프로세스 플로우>
도 15는 라이선스 관리 서버(110)의 관련 애플리케이션 정보 관리 유닛(112)에 대한 프로세스 플로우를 도시한다. 단계 S1501에서, 관련 애플리케이션 정보 관리 유닛(112)은 전송 관리 서버(140)로부터 AppID, 버전 및 전송 정보를 수신한다. 이 처리는 도 2의 S240의 처리에 대응한다.
이어서, 단계 S1502에서, 관련 애플리케이션 정보 관리 유닛(112)은 단계 S1501에서 수신된 AppID, 버전, 및 목적지 정보에 기초하여, 라이선스 관리 서버(110)에 의해 관리되는 대응하는 애플리케이션의 등록번호를 특정한다. 이어서, 단계 S1503에서, 관련 애플리케이션 정보 관리 유닛(112)은 등록번호가 단계 S1502에서 특정되는 애플리케이션에 대해 설정된 업그레이드 리스트를 취득한다. 이어서, 단계 S1504에서, 관련 애플리케이션 정보 관리 유닛(112)은 업그레이드 리스트가 존재하는지 판정하고, 리스트가 존재한다면, 단계 S1505에서 대응하는 애플리케이션의 리스트를 전송 관리 서버(140)에 송신한다. 리스트가 존재하지 않는 경우, 프로세스는 종료한다.
도 16a 및 16b는 라이선스 관리 서버(110)의 관련 애플리케이션 정보 관리 유닛(112)에 의해 관리되는 애플리케이션들 간의 관련성을 도시한 도면이다. 관련된 애플리케이션의 리스트가 전송 관리 서버(140)에 통지된다. 예를 들어, 애플리케이션의 AppID가 "ABC1234"이고, 애플리케이션의 버전이 "V1.0"일지라도, 도 16a 및 도 16b에 도시한 바와 같이, 상이한 목적지마다 애플리케이션들이 등록되고 있는 것을 알 수 있다. 예를 들어, 목적지 정보가 "JP"이고 등록번호가 "1000"인 애플리케이션(1601), 및 목적지 정보가 "EN"이고 등록번호가 "2000"인 애플리케이션(1651)이 등록되어 관리된다. 등록번호가 "1000"인 애플리케이션은 버전이 "2.0"이고 등록번호가 "1001"인 애플리케이션(1602)과 연관된다. 등록번호가 "1000"인 애플리케이션은, 버전이 "3.0"이고 등록번호가 "1002"인 애플리케이션(1603)과, 버전이 "4.0"이고 등록번호가 "1004"인 애플리케이션(1605)과 연관된다. 한편, 등록번호가 "1000"인 애플리케이션은, 버전이 "3.1"이고 등록번호가 "1003"인 애플리케이션(1604)과 연관되지 않는 것으로 나타난다.
등록번호가 "2000"인 애플리케이션은, 버전이 "1.1"이고 등록번호가 "2001"인 애플리케이션(1652), 버전이 "1.2"이고 등록번호가 "2002"인 애플리케이션(1653), 및 버전이 "1.3"이고 등록번호가 "2003"인 애플리케이션(1654)과 연관된다. 한편, 등록번호가 "2000"인 애플리케이션은 버전이 "2.0"이고 등록번호가 "2004"인 애플리케이션(1655)과 연관되지 않는 것으로 나타난다.
AppID가 화상 형성 장치(130)에서 애플리케이션의 고유성을 유지한다 할지라도, 다른 목적지 정보를 갖는 애플리케이션은 도 16a 및 16b에 도시한 바와 같이 존재할 수 있다. 애플리케이션이 동일한 AppID을 가지는 경우에도, 업데이트 가능한 애플리케이션은 애플리케이션의 목적지에 따라 변할 수 있다. 본 실시예에서는, 이러한 경우에서도, 애플리케이션의 업데이트가 적절하게 수행될 수 있다. 특히, 화상 형성 장치(130)에 인스톨된 애플리케이션 ID와 애플리케이션에 대한 공통 키의 해시값은 목적지 정보를 특정하기 위해 사용된다. 전송 관리 서버(140)는 상기 정보를 사용하여 애플리케이션에 대한 목적지 정보를 특정한다. 애플리케이션에 대한 목적지 정보에 따라 업데이트 가능한 애플리케이션 리스트를 취득함으로써, 전송 설정을 수행할 때에, 전송 관리 서버(140)는 화상 형성 장치(130)에 인스톨된 애플리케이션의 적절한 업데이트 설정을 수행할 수 있다.
[제2 실시예]
제1 실시예에서는, 목적지 정보가 특정되고, 화상 형성 장치에 인스톨된 애플리케이션에 대해 적합한 애플리케이션 업데이트 설정이 특정된 목적지 정보에 대응하는 업데이트 가능한 애플리케이션 리스트를 사용하여 수행되는 예에 대해 설명하였다. 제2 실시예에서는, 화상 형성 장치에 인스톨된 애플리케이션이, 전송 설정을 수행하는 조작 유저에 대응하는 목적지를 갖는 애플리케이션으로 업데이트되는 예에 대해 설명한다.
도 17a는, 전송 관리 서버(140)의 전송 정보 설정 유닛(142)에 의해 표시되는 목적지 확인 화면을 도시한다. 도 10b에 도시된 바와 같이, 대상 디바이스 검색 결과 화면에, 조작 유저의 목적지와는 다른 목적지를 가진 애플리케이션이 인스톨된 화상 형성 장치가 존재하는 경우, 전송 정보 설정 유닛(142)은 도 17a에 도시된 바와 같은 화면을 표시한다. 애플리케이션 목적지 확인 화면(1701)은 조작 유저와는 다른 목적지를 갖는 애플리케이션이 인스톨된 화상 형성 장치를 특정하는 정보, 및 인스톨된 애플리케이션에 대한 목적지 정보를 표시한다. 또한, 애플리케이션 목적지 확인 화면(1701)은 애플리케이션을 조작 유저와 동일한 목적지 정보를 갖는 애플리케이션으로 업데이트할지에 관한 확인 메시지를 표시하고, 전송 설정을 실행하는 OK 버튼(1702), 전송 설정을 캔슬하는 켄슬 버튼(1703)을 포함한다.
도 17a는, 조작 유저로서 목적지가 "JP"인 유저가 로그인하고, 도 10b에 도시된 바와 같이 목적지가 "EN"인 애플리케이션이, 디바이스 ID가 "AAA00502"인 화상 형성 장치에만 인스톨되는 예를 나타내고 있다. 그런데, 조작 유저의 목적지와 다른 목적지를 갖는 화상 형성 장치가 복수 개 있는 경우, 화상 형성 장치들은 리스트에 표시되거나 또는 또 다른 화면에 표시될 수 있다.
도 17b는 전송 관리 서버(140)의 전송 정보 설정 유닛(142)에 의해 표시되는 전송 설정 등록 화면(1751)을 도시한다. 도 17b는 도 17a에 도시된 애플리케이션 목적지 확인 화면(1701)에서, 조작 유저의 목적지에 따라 애플리케이션을 업데이트하도록 선택하는 경우에 표시되는 화면 예를 도시한다. 더 구체적으로, 도 17b는 도 17a에서 OK 버튼(1702)을 눌렀을 경우의 화면 예를 도시한다. 그런데, 도 17b에 도시된 전송 설정 등록 화면(1751)과, 도 12에 도시된 전송 설정 등록 화면(1201)은 공통부분을 포함하고 있고, 동일한 개소에는 동일한 부호를 부여하고 있다. 차이가 후술될 것이다.
전송 설정 등록 화면(1751)은 "EN" 목적지를 갖는 애플리케이션이 인스톨되는 디바이스 ID "AAA00502"에 대한 전송 등록을 수행하는 설정(1752)을 포함한다. 또한, 전송 설정 등록 화면(1751)은 조작 유저의 목적지와 다른 목적지를 갖는 애플리케이션이 조작 유저의 목적지와 동일한 목적지를 갖는 애플리케이션으로 업데이트되는 경우에, 메시지(1753)를 표시한다. 도 17b의 예에서는, 디바이스 ID "AAA00502"을 갖는 화상 형성 장치(130)에서 목적지가 "EN"인 애플리케이션이 목적지가 "JP"인 애플리케이션으로 업데이트되는 것으로 나타난다.
<전송 관리 서버의 전송 설정에 대한 프로세스 플로우>
도 18은 전송 관리 서버(140)의 전송 설정에 대한 전체 프로세스 플로우를 도시한다. 도 18에 도시된 처리와, 도 13에 도시된 처리는 동일한 처리를 포함한다. 동일한 처리에는 동일한 부호를 부여하여 설명을 생략한다. 더 구체적으로, 단계 S1301 내지 단계 S1306에서의 처리는, 제1 실시예에서 설명한 처리와 동일하다.
단계 S1305에서 조작 유저에 대한 목적지 정보에 대응하는 전송 정보가 취득되는 경우, 프로세스는 단계 S1801로 진행한다. 단계 S1801에서, 전송 정보 설정 유닛(142)은 목적지가 변하는 화상 형성 장치가 있는지 판정한다. 더 구체적으로, 도 17b에서 선택된 화상 형성 장치 중에, 애플리케이션의 목적지가 변하는 화상 형성 장치가 있는지 판정한다. 도 17b에 도시된 예에서는, 목적지 정보가 "EN"인 애플리케이션이 디바이스 ID "AAA00502"를 갖는 화상 형성 장치에 인스톨되고, 이에 따라 목적지가 변한다고 판정되는 경우 프로세스는 단계 S1802로 진행한다. 목적지가 변하지 않는 경우 프로세스는 단계 S1804로 진행한다.
이어서, 단계 S1802에서, 전송 정보 설정 유닛(142)은 목적지가 변하는 화상 형성 장치를 고유하게 특정하는 식별 정보(DS#) 및 애플리케이션의 등록번호를 라이선스 관리 서버(110)에 통지한다. 라이선스 관리 서버(110)에서, 라이선스 정보 발행 유닛(114)은 애플리케이션과 화상 형성 장치에 대응하는 라이선스 파일을 생성한다. 단계 S1803에서, 전송 정보 설정 유닛(142)은 라이선스 관리 서버(110)로부터 라이선스 파일을 수신한다.
그 후, 단계 S1804에서, 전송 정보 설정 유닛(142)은 전송 정보를 전송 정보 관리 데이터베이스(144)에 등록한다. 등록된 전송 정보는 단계 S1305에서 취득한 전송 정보이며, 또한, 단계 S1803에서, 라이선스 파일이 수신되는 경우, 라이선스 파일을 포함하는 전송 정보가 등록된다.
<라이선스 관리 서버에 대한 프로세스 플로우>
도 19는 라이선스 관리 서버(110)의 라이선스 정보 발행 유닛(114)에 대한 프로세스 플로우를 도시한다. 단계 S1901에서, 라이선스 정보 발행 유닛(114)은 전송 관리 서버(140)로부터 화상 형성 장치에 대한 식별 정보 DS# 및 애플리케이션의 등록번호를 수신한다. 단계 S1902에서, 라이선스 정보 발행 유닛(114)은 단계 S1901에서 수신된 화상 형성 장치의 식별 정보 DS# 및 애플리케이션의 등록번호에 기초하여 라이선스 파일을 발행한다. 그 후, 단계 S1903에서, 라이선스 정보 발행 유닛(114)은 발행한 라이선스 파일을 전송 관리 서버(140)에 송신한다.
<화상 형성 장치에 대한 프로세스 플로우>
이어서, 화상 형성 장치에서 애플리케이션의 인스톨과 관련된 처리에 대해 설명할 것이다. 도 20은 화상 형성 장치(130)의 라이선스 파일 취득 유닛(134)에 대한 프로세스 플로우를 도시한다. 도 20에서, 도 5과 동일한 처리에 대해서는 동일한 부호를 부여하고, 여기에는 설명을 생략한다.
본 실시예에서, 전송 관리 서버로부터 취득하는 전송 정보는, 예를 들어 표 10에 표시된 정보이다. 화상 형성 장치는 애플리케이션을 특정하는 정보로서, AppID/버전 외에, 애플리케이션명 및 애플리케이션의 다운로드를 위한 URI를 취득할 수 있다. 또한, 일부 애플리케이션은 라이선스 파일(LF)을 포함할 수 있다.
Figure 112016003568519-pat00010
AppID가 단계 S502에서 취득한 AppID와 동일한 애플리케이션이 자신의 화상 형성 장치(130)에 인스톨되어 있는 경우, 프로세스는 단계 S2001으로 진행한다. 단계 S2001에서, 라이선스 파일 취득 유닛(134)은 라이선스 파일이 단계 S501에서 취득한 전송 정보에 포함되는지 판정한다. 라이선스 파일이 포함되는 경우, 프로세스는 단계 S504로 진행하고, 대상 애플리케이션을 언인스톨한다. 더 구체적으로, 라이선스 파일이 포함되기 때문에, 대상 애플리케이션은 무효화 라이선스 파일을 생성하지 않고 언인스톨된다. 표 10의 경우, AppID가 "ABC1234"인 애플리케이션에 라이선스 파일이 포함되기 때문에, 무효화 라이선스 파일은 AppID가 "ABC1234"인 애플리케이션에 대해 생성되지 않고, 무효화 라이선스 파일은 AppID가 "CDE5678"인 애플리케이션에 대해서만 생성된다.
도 21은 화상 형성 장치(130)의 인스톨 유닛(135)에 대한 프로세스 플로우를 도시한다. 도 21의 처리에서 도 6의 처리와 동일한 처리에 대해서는 동일한 부호를 부여하고, 설명을 생략한다. 단계 S604에서 애플리케이션을 인스톨한 후, 인스톨 유닛(135)은 라이선스 파일이 단계 S2101에서 전송 정보에 포함되는지 판정한다. 라이선스 파일이 포함되는 경우, 프로세스는 단계 S2102으로 진행하고, 인스톨 유닛(135)은 전송 정보에 포함되어 있는 라이선스 파일을 인스톨한다. 라이선스 파일이 포함되어 있지 않은 경우, 제1 실시예에서 설명한 바와 같이, 인스톨 유닛(135)은 단계 S605에서 라이선스 파일 취득 유닛(134)에 의해 취득한 무효화 라이선스 파일을 인스톨한다.
본 실시예에서는, 도 17a 및 17b에 도시된 바와 같이, 전송 설정을 수행하는 조작 유저의 목적지와는 다른 목적지 정보를 갖는 애플리케이션이 화상 형성 장치(130)에 인스톨되는 경우에, 애플리케이션은 조작 유저의 목적지에 따라 업데이트될 수 있다. 따라서, 조작 유저의 목적지에 따라 화상 형성 장치(130)를 관리하는 것이 가능하다.
전술한 실시예들에 따르면, 업데이트된 애플리케이션을 적절한 목적지에 전송할 수 있다.
[다른 실시예들]
본 발명의 실시예(들)는 전술한 하나 이상의 실시예의 기능들을 수행하기 위해 저장 매체(또한, 더 완전하게는 비일시적 컴퓨터 판독가능 저장 매체로서 언급될 수 있음)에 기록된 컴퓨터 실행가능 명령어들(예를 들어, 하나 이상의 프로그램)을 판독해서 실행하고/하거나, 전술한 하나 이상의 실시예(들)의 기능을 수행하기 위한 하나 이상의 회로(예를 들어, ASIC(Application Specific Integrated Circuit))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고, 예를 들어 전술한 하나 이상의 실시예(들)의 기능을 수행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어들을 판독하여 실행하고/하거나 전술한 하나 이상의 실시예(들)의 기능을 수행하기 위해 하나 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해서도 구현될 수 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, CPU(central processing unit), MPU(micro processing unit))를 포함할 수 있으며, 컴퓨터 실행 가능한 명령어들을 판독해서 실행하기 위한 개별 컴퓨터 또는 개별 컴퓨터 프로세서의 네트워크를 포함할 수도 있을 것이다. 컴퓨터 실행가능 명령어는, 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있을 것이다. 저장 매체는, 예를 들어, 하나 이상의 하드 디스크, RAM(random-access memory), ROM(read only memory), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(예를 들어, CD(compact disc), DVD(digital versatile disc) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등을 포함할 수도 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행 가능하다.
본 발명이 예시적인 실시 형태를 참조하여 설명되었지만, 본 발명이 개시된 예시적인 실시 형태에 한정되지 않음을 이해하여야 한다. 아래의 청구범위의 범주는 그러한 모든 변경과, 등가 구조 및 기능을 포함하도록 최광의의 해석에 따라야 한다.

Claims (10)

  1. 시스템으로서,
    애플리케이션의 전송을 관리하기 위한 전송 관리 서버;
    상기 애플리케이션의 라이선스를 관리하기 위한 라이선스 관리 서버; 및
    상기 애플리케이션을 인스톨하는 정보 처리 장치를 포함하고,
    상기 정보 처리 장치는,
    (1) (a) 상기 애플리케이션을 식별하기 위한 애플리케이션 식별 정보 및 (b) 암호화된 상기 애플리케이션을 복호화하는 데 사용되는 키의 해시값을 송신하도록 구성된 송신 유닛; 및
    (2) 업데이트된 상기 애플리케이션의 인스톨의 결과를 상기 전송 관리 서버에 통지하도록 구성된 통지 유닛을 포함하고,
    상기 전송 관리 서버는,
    (1) 상기 정보 처리 장치로부터, (a) 상기 애플리케이션을 식별하기 위한 애플리케이션 식별 정보 및 (b) 상기 암호화된 애플리케이션을 복호화하는 키의 해시값을 수신하도록 구성된 제1 수신 유닛;
    (2) 상기 제1 수신 유닛에 의해 수신된 상기 애플리케이션 식별 정보와 상기 해시값을 상기 라이선스 관리 서버에 송신하도록 구성된 제1 송신 유닛;
    (3) 상기 제1 송신 유닛에 의한 송신에 응답하여, 상기 라이선스 관리 서버로부터 송신되는 상기 애플리케이션의 목적지 정보를 수신하도록 구성된 제2 수신 유닛;
    (4) 상기 제2 수신 유닛에 의해 수신된 상기 목적지 정보를 관리 데이터베이스에 의해 관리되는 정보와 연관짓도록 구성된 연관 유닛으로서, 상기 관리 데이터베이스는, 상기 제1 수신 유닛에 의해 수신되는 상기 애플리케이션 식별 정보와 상기 해시값을 상기 정보 처리 장치에 대한 디바이스 식별 정보와 연관지어 관리하도록 구성된, 연관 유닛; 및
    (5) 상기 관리 데이터베이스에 의해 관리되는 정보에 기초하여 상기 애플리케이션의 업데이트 처리 대상인 정보 처리 장치를 결정하도록 구성된 결정 유닛을 포함하고,
    상기 라이선스 관리 서버는,
    (1) 라이선스 관리 데이터베이스에서 관리되는 정보를 취득하도록 구성된 취득 유닛으로서, 상기 라이선스 관리 데이터베이스는, (a) 상기 애플리케이션 식별 정보, (b) 복수의 키의 복수의 각 해시값, 및 (c) 복수의 목적지 정보를 서로 연관지음으로써 관리하는, 취득 유닛;
    (2) 상기 복수의 키에 각각 대응하는 복수의 해시값을 생성하기 위해 상기 전송 관리 서버로부터 상기 제1 송신 유닛에 의해 송신되는 상기 애플리케이션 식별 정보를 수신하도록 구성된 수신 유닛으로서, 상기 복수의 키는 상기 라이선스 관리 데이터베이스에 있어서 수신된 상기 애플리케이션 식별 정보에 연관된, 수신 유닛;
    (3) 생성된 상기 복수의 해시값 중에서 상기 전송 관리 서버로부터 상기 제1 송신 유닛에 의해 송신되는 해시값과 일치하는 해시값이 있는 경우에, 상기 일치하는 해시값에 연관되어 관리되는 목적지 정보를 특정하도록 구성된 특정 유닛; 및
    (4) 특정된 상기 목적지 정보를 상기 전송 관리 서버에 송신하도록 구성된 송신 유닛을 포함하는, 시스템.
  2. 제1항에 있어서, 상기 전송 관리 서버는,
    조작 유저로부터의 입력에 따라 결정되는 애플리케이션 식별 정보 및 상기 조작 유저에 대응하는 목적지를 상기 라이선스 관리 서버에 송신하도록 구성된 제3 송신 유닛;
    상기 제3 송신 유닛에 의한 송신에 응답하여 상기 라이선스 관리 서버로부터 송신되는 업데이트 후보들의 리스트를 수신하도록 구성된 제3 수신 유닛;
    상기 제3 수신 유닛에 의해 수신된 상기 리스트를 사용하여 상기 조작 유저에 의해 지정되는 업데이트될 애플리케이션의 목적지를 상기 라이선스 관리 서버에 송신하도록 구성된 제4 송신 유닛;
    상기 제4 송신 유닛에 의한 송신에 응답하여 상기 라이선스 관리 서버로부터 송신되는 상기 업데이트될 애플리케이션에 대한 전송 정보를 수신하도록 구성된 제4 수신 유닛; 및
    상기 제4 수신 유닛에 의해 수신된 상기 전송 정보를, 상기 결정 유닛에 의해 결정되는 상기 정보 처리 장치에 전송하도록 구성된 전송 유닛을 더 포함하는, 시스템.
  3. 제2항에 있어서, 상기 전송 유닛은 상기 정보 처리 장치로부터의 상기 전송 정보에 대한 문의에 응답하여 상기 전송 정보를 전송하는, 시스템.
  4. 제2항에 있어서, 상기 전송 관리 서버의 결정 유닛은,
    (1) 상기 조작 유저의 목적지와는 다른 목적지를 갖는 애플리케이션을 인스톨하는 정보 처리 장치를 추가로 결정하고,
    (2) 상기 조작 유저로부터의 입력에 따라, 상기 다른 목적지를 갖는 애플리케이션을 인스톨하는 상기 정보 처리 장치에, 상기 조작 유저의 목적지에 대응하는 애플리케이션을 인스톨할지 여부를 추가로 결정하고,
    상기 전송 관리 서버는,
    (1) 상기 결정 유닛이 상기 조작 유저의 목적지에 대응하는 애플리케이션을, 상기 다른 목적지를 갖는 애플리케이션을 인스톨하는 정보 처리 장치에 인스톨하도록 결정하는 경우, 상기 다른 목적지를 갖는 애플리케이션을 인스톨하는 정보 처리 장치를 식별하기 위한 제2 디바이스 식별 정보와, 상기 업데이트될 애플리케이션을 상기 라이선스 관리 서버에서 고유하게 특정하기 위한 등록번호를 상기 라이선스 관리 서버에 송신하도록 구성된 제5 송신 유닛; 및
    (2) 상기 제5 송신 유닛에 의한 송신에 응답하여 상기 라이선스 관리 서버로부터 송신되는 상기 업데이트될 애플리케이션에 대한 라이선스 파일을 수신하도록 구성된 제5 수신 유닛을 더 포함하고,
    상기 전송 유닛은 상기 제5 수신 유닛에 의해 수신된 상기 라이선스 파일을 포함하는 전송 정보를 전송하는, 시스템.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 라이선스 관리 서버는,
    상기 전송 관리 서버로부터 상기 애플리케이션 식별 정보 및 상기 목적지 정보를 수신하도록 구성된 제7 수신 유닛;
    상기 목적지 정보에 대응하는 업데이트 후보들의 리스트를 상기 전송 관리 서버에 송신하도록 구성된 제7 송신 유닛;
    상기 전송 관리 서버로부터, 업데이트될 애플리케이션의 지정을 수신하도록 구성된 제8 수신 유닛; 및
    상기 업데이트될 애플리케이션의 전송원을 포함하는 전송 정보를 상기 전송 관리 서버에 송신하도록 구성된 제8 송신 유닛을 더 포함하는, 시스템.
  8. 제1항에 있어서, 상기 정보 처리 장치는,
    상기 전송 관리 서버로부터, 업데이트될 애플리케이션의 전송원을 포함하는 전송 정보를 취득하도록 구성된 취득 유닛; 및
    상기 취득 유닛에 의해 취득된 상기 전송 정보를 사용하여, 상기 업데이트될 애플리케이션을 상기 정보 처리 장치에 인스톨하도록 구성된 인스톨 유닛을 더 포함하는, 시스템.
  9. 제8항에 있어서, 상기 전송 정보에 라이선스 파일이 포함되어 있지 않은 경우, 상기 인스톨 유닛은 인스톨된 상기 애플리케이션을 무효화하고, 라이선스 파일을 생성하고, 생성된 상기 라이선스 파일을 사용하여 인스톨을 수행하며,
    상기 전송 정보에 라이선스 파일이 포함되어 있는 경우, 상기 인스톨 유닛은 상기 전송 정보에 포함된 상기 라이선스 파일을 사용하여 인스톨을 수행하는, 시스템.
  10. (a) 애플리케이션의 전송을 관리하기 위한 전송 관리 서버, (b) 상기 애플리케이션의 라이선스를 관리하기 위한 라이선스 관리 서버, 및 (c) 상기 애플리케이션을 인스톨하는 정보 처리 장치를 포함하는 시스템에서의 방법이며,
    상기 정보 처리 장치는,
    (1) (a) 상기 애플리케이션을 식별하기 위한 애플리케이션 식별 정보 및 (b) 암호화된 상기 애플리케이션을 복호화하는 데 사용되는 키의 해시값을 송신하는 단계; 및
    (2) 업데이트된 상기 애플리케이션의 인스톨의 결과를 상기 전송 관리 서버에 통지하는 단계를 수행하고,
    상기 전송 관리 서버는,
    (1) 상기 정보 처리 장치로부터, (a) 상기 애플리케이션을 식별하기 위한 애플리케이션 식별 정보 및 (b) 상기 암호화된 애플리케이션을 복호화하는 키의 해시값을 수신하는 제1 수신 단계;
    (2) 상기 제1 수신 단계에서 수신된 상기 애플리케이션 식별 정보와 상기 해시값을 상기 라이선스 관리 서버에 송신하는 제1 송신 단계;
    (3) 상기 제1 송신 단계에서의 송신에 응답하여, 상기 라이선스 관리 서버로부터 송신되는 상기 애플리케이션의 목적지 정보를 수신하는 제2 수신 단계;
    (4) 상기 제2 수신 단계에서 수신된 상기 목적지 정보를 관리 데이터베이스에 의해 관리되는 정보와 연관짓는 연관 단계로서, 상기 관리 데이터베이스는, 상기 제1 수신 단계에서 수신되는 상기 애플리케이션 식별 정보와 상기 해시값을 상기 정보 처리 장치에 대한 디바이스 식별 정보와 연관지어 관리하도록 구성된, 연관 단계; 및
    (5) 상기 관리 데이터베이스에 의해 관리되는 정보에 기초하여 상기 애플리케이션의 업데이트 처리 대상인 정보 처리 장치를 결정하는 결정 단계를 수행하고,
    상기 라이선스 관리 서버는,
    (1) 라이선스 관리 데이터베이스에서 관리되는 정보를 취득하는 단계로서, 상기 라이선스 관리 데이터베이스는, (a) 상기 애플리케이션 식별 정보, (b) 복수의 키의 복수의 각 해시값, 및 (c) 복수의 목적지 정보를 서로 연관지음으로써 관리하는, 단계;
    (2) 상기 복수의 키에 각각 대응하는 복수의 해시값을 생성하기 위해 상기 전송 관리 서버로부터 상기 제1 송신 단계에서 송신되는 상기 애플리케이션 식별 정보를 수신하는 단계로서, 상기 복수의 키는 상기 라이선스 관리 데이터베이스에 있어서 수신된 상기 애플리케이션 식별 정보에 연관된, 단계;
    (3) 생성된 상기 복수의 해시값 중에서 상기 전송 관리 서버에서의 상기 제1 송신 단계에서 송신되는 해시값과 일치하는 해시값이 있는 경우에, 상기 일치하는 해시값에 연관되어 관리되는 목적지 정보를 특정하는 단계; 및
    (4) 특정된 상기 목적지 정보를 상기 전송 관리 서버에 송신하는 단계를 수행하는, 방법.
KR1020160004029A 2015-01-21 2016-01-13 업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법 KR102011181B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2015-009740 2015-01-21
JP2015009740A JP6403583B2 (ja) 2015-01-21 2015-01-21 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法

Publications (2)

Publication Number Publication Date
KR20160090245A KR20160090245A (ko) 2016-07-29
KR102011181B1 true KR102011181B1 (ko) 2019-08-14

Family

ID=55024921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160004029A KR102011181B1 (ko) 2015-01-21 2016-01-13 업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법

Country Status (5)

Country Link
US (1) US11392671B2 (ko)
EP (1) EP3048548B1 (ko)
JP (1) JP6403583B2 (ko)
KR (1) KR102011181B1 (ko)
CN (1) CN105808359B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6403583B2 (ja) * 2015-01-21 2018-10-10 キヤノン株式会社 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法
KR102408649B1 (ko) * 2016-02-19 2022-06-15 삼성전자주식회사 환경 설정 방법 및 장치
JP7024375B2 (ja) * 2017-12-18 2022-02-24 株式会社リコー 情報処理装置及び情報処理システム
CN108768664B (zh) * 2018-06-06 2020-11-03 腾讯科技(深圳)有限公司 密钥管理方法、装置、系统、存储介质和计算机设备
JP2021086423A (ja) * 2019-11-28 2021-06-03 株式会社リコー 機器管理システム、ネットワークシステム、機器管理方法およびプログラム
JP2022128246A (ja) * 2021-02-22 2022-09-01 キヤノン株式会社 情報処理システム、その制御方法
JP2022141537A (ja) * 2021-03-15 2022-09-29 株式会社バッファロー クラウド管理サーバ、クラウドシステム、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090310179A1 (en) * 2008-06-13 2009-12-17 Canon Kabushiki Kaisha Information processing apparatus using license information, method, and control program
US20130019237A1 (en) * 2011-07-12 2013-01-17 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US20140344846A1 (en) * 2011-05-20 2014-11-20 Nippon Hoso Kyokai Receiver, program and receiving method

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US7062567B2 (en) * 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7080043B2 (en) * 2002-03-26 2006-07-18 Microsoft Corporation Content revocation and license modification in a digital rights management (DRM) system on a computing device
US7715034B2 (en) * 2003-10-17 2010-05-11 Canon Kabushiki Kaisha Data processing device and data storage device for performing time certification of digital data
JP2005215945A (ja) 2004-01-29 2005-08-11 Renesas Technology Corp 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法
JP4827467B2 (ja) * 2004-09-10 2011-11-30 キヤノン株式会社 ライセンス転送システム及びライセンス情報発行サーバ
JP4565647B2 (ja) * 2005-09-05 2010-10-20 キヤノン株式会社 画像形成装置及びその制御方法、プログラム、画像形成システム
US7814023B1 (en) 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
JP4908961B2 (ja) 2006-07-27 2012-04-04 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP5036475B2 (ja) * 2007-10-03 2012-09-26 キヤノン株式会社 プログラム制御装置及び方法とプログラム
US9135778B2 (en) * 2007-11-09 2015-09-15 Bally Gaming, Inc. License management system
US9135433B2 (en) * 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US8321949B1 (en) * 2008-08-29 2012-11-27 Adobe Systems Incorporated Managing software run in a computing system
JP2010079849A (ja) * 2008-09-29 2010-04-08 Canon Inc 画像形成装置管理システム
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
JP2010211784A (ja) * 2009-02-12 2010-09-24 Ricoh Co Ltd ライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造
JP2010211469A (ja) 2009-03-10 2010-09-24 Canon Inc 情報処理装置、情報処理方法及びプログラム
JP2010267009A (ja) 2009-05-13 2010-11-25 Canon Inc ライセンス管理システム、ライセンス管理方法及びコンピュータプログラム
JP5528020B2 (ja) * 2009-07-09 2014-06-25 キヤノン株式会社 ネットワークシステム、処理方法、及びコンピュータプログラム
JP5387339B2 (ja) 2009-11-04 2014-01-15 株式会社リコー ライセンス管理装置、ライセンス管理方法、及びプログラム
JP4909431B2 (ja) * 2010-05-14 2012-04-04 株式会社エヌ・ティ・ティ・ドコモ ライセンス発行システム、クライアント端末、サーバ、及びライセンス発行方法
JP2012070239A (ja) * 2010-09-24 2012-04-05 Kyocera Mita Corp 画像形成装置、画像形成装置の制御方法及び画像形成装置の制御プログラム
JP5730106B2 (ja) * 2011-04-05 2015-06-03 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
AU2012203903B2 (en) 2011-07-12 2015-03-12 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US9503520B2 (en) * 2012-02-06 2016-11-22 Conduit Ltd. Application synchronization among multiple computing devices
EP2885904B1 (en) * 2012-08-03 2018-04-25 Vasco Data Security International GmbH User-convenient authentication method and apparatus using a mobile authentication application
US8775686B2 (en) * 2012-08-29 2014-07-08 Netronome Systems, Incorporated Transactional memory that performs an atomic metering command
JP5182445B1 (ja) * 2012-09-18 2013-04-17 大日本印刷株式会社 アプリケーションプログラムの改竄検知方法
JP5960005B2 (ja) 2012-09-18 2016-08-02 キヤノン株式会社 画像形成装置、アプリケーションのプレインストール方法、およびプログラム
JP2014106690A (ja) * 2012-11-27 2014-06-09 Kddi Corp 端末装置、サーバ、コンテンツ配信システム、コンテンツ配信方法、およびプログラム
JP2014219736A (ja) * 2013-05-01 2014-11-20 キヤノン株式会社 管理システム、管理システムの制御方法、及びプログラム
US8868689B1 (en) * 2013-05-17 2014-10-21 Google Inc. Device configuration based content selection
US10679151B2 (en) * 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
WO2015189702A2 (en) * 2014-04-30 2015-12-17 Schneider Electric Industries Sas Systems and methods for delivering and accessing software components
JP6403583B2 (ja) * 2015-01-21 2018-10-10 キヤノン株式会社 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法
JP6761304B2 (ja) * 2016-08-26 2020-09-23 キヤノン株式会社 情報処理システム、情報処理装置及びその制御方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090310179A1 (en) * 2008-06-13 2009-12-17 Canon Kabushiki Kaisha Information processing apparatus using license information, method, and control program
US20140344846A1 (en) * 2011-05-20 2014-11-20 Nippon Hoso Kyokai Receiver, program and receiving method
US20130019237A1 (en) * 2011-07-12 2013-01-17 Apple Inc. System and method for linking pre-installed software to a user account on an online store

Also Published As

Publication number Publication date
CN105808359A (zh) 2016-07-27
EP3048548B1 (en) 2020-04-01
EP3048548A1 (en) 2016-07-27
KR20160090245A (ko) 2016-07-29
JP6403583B2 (ja) 2018-10-10
CN105808359B (zh) 2020-03-03
JP2016134089A (ja) 2016-07-25
US20160210709A1 (en) 2016-07-21
US11392671B2 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
KR102011181B1 (ko) 업데이트된 애플리케이션을 전송하기 위한 전송 관리 서버 및 전송 관리 방법
JP5296221B2 (ja) Nfc対応デバイスにアプリケーションをインストールする方法及びnfc対応デバイス、サーバノード、コンピュータ可読媒体、コンピュータプログラム
EP3032802B1 (en) Method for sharing application between terminals, and terminals
EP2775392B1 (en) Method of managing user log-in to cloud-based application and image forming apparatus performing the method
KR20220090540A (ko) 클라이언트 오퍼레이션을 통한 동의 관리 시스템
JP6170864B2 (ja) 印刷システム及び印刷方法
JP6758999B2 (ja) 情報処理システム、情報処理装置及びその制御方法、及びプログラム
JP2018151768A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
US20180024787A1 (en) Information processing system and information processing method
US10178134B2 (en) Management apparatus and method for controlling management apparatus
JP2016058072A (ja) 情報処理装置、画像処理装置、情報処理システム、及び情報処理方法
JP2015153415A (ja) メインアプリケーションでサブアプリケーションを生成するためのシステムおよびその方法
CN113656713B (zh) 一种网络资源处理方法、装置及系统
US20180059917A1 (en) Information processing apparatus, information processing system, and information processing method
US11790053B2 (en) Information processing system, server, non-transitory computer-readable medium, and method for controlling assignment of license
US20180218419A1 (en) Method and apparatus for providing digital product using user account synchronization
JP7322472B2 (ja) ファイル管理装置、ファイル管理プログラム、ファイル管理システム、及び情報処理プログラム
KR20130065387A (ko) 단말에 설치된 애플리케이션의 업데이트 방법
KR20210034434A (ko) 비정품 토너 카트리지가 장착된 화상 형성 장치의 제어
US11983450B2 (en) Generating user interface for onboarding
JP2011180753A (ja) 画像形成装置、レストア制御方法及びプログラム
US11134130B2 (en) System and management server
US10528303B2 (en) Information processing device and storage medium
CN115599748A (zh) 常量文件的管理方法及装置
JP2024021839A (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