KR20210069861A - 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공 - Google Patents

어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공 Download PDF

Info

Publication number
KR20210069861A
KR20210069861A KR1020190159636A KR20190159636A KR20210069861A KR 20210069861 A KR20210069861 A KR 20210069861A KR 1020190159636 A KR1020190159636 A KR 1020190159636A KR 20190159636 A KR20190159636 A KR 20190159636A KR 20210069861 A KR20210069861 A KR 20210069861A
Authority
KR
South Korea
Prior art keywords
application
version
setting
setting value
receiving
Prior art date
Application number
KR1020190159636A
Other languages
English (en)
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 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority to KR1020190159636A priority Critical patent/KR20210069861A/ko
Priority to US17/606,674 priority patent/US20220201145A1/en
Priority to PCT/US2020/033986 priority patent/WO2021112916A1/en
Publication of KR20210069861A publication Critical patent/KR20210069861A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Abstract

어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공이 개시된다. 적어도 하나의 프로세서에 의해 동작하는 서버 장치는 사용자 단말로부터 제1 버전의 어플리케이션에 적용할 제1 버전 설정값을 수신하고, 상기 설정값의 배포 대상인 적어도 하나의 디바이스를 결정하고, 상기 적어도 하나의 디바이스에 설치된 어플리케이션 버전을 확인하고, 상기 적어도 하나의 디바이스 중 상기 제1 버전의 어플리케이션과 다른 제2 버전의 어플리케이션이 설치된 디바이스가 확인된 경우, 변환 룰을 이용하여 상기 제1 버전 설정값을 상기 제2 버전의 어플리케이션에 적용할 제2 버전 설정값으로 변환하는 단계, 그리고 상기 제2 버전 설정값을 포함하는 설정 파일을 상기 제2 버전의 어플리케이션이 설치된 디바이스에게 전송하는 단계를 실행할 수 있다. 상기 변환 룰은 상기 제1 버전 설정값과 상기 제2 버전 설정값의 관계 정보를 포함할 수 있다.

Description

어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공{PROVIDING APPLICATION CONFIGURATION FILE FOR BACKWARD COMPATIBLE APPLICATION}
어플리케이션 센터는 개발자가 등록한 어플리케이션을 원격의 디바이스에 배포하여 설치하거나 삭제할 수 있다. 디바이스에 설치된 어플리케이션이 실행되면, 디바이스는 어플리케이션의 설정 파일(Configuration File)을 읽어 이를 적용한다. 예시적으로, 디바이스가 프린터라면, 설정 파일은 인쇄 옵션, 스캔 옵션 등을 포함할 수 있다.
이 도면들은 본 발명의 예시적인 실시예를 설명하는데 참조하기 위함이므로, 본 발명의 기술적 사상을 첨부한 도면에 한정해서 해석하여서는 안된다.
도 1은 본 발명의 한 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 시스템 구성도이다.
도 2는 본 발명의 한 실시예에 따른 어플리케이션 센터가 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 동작을 나타낸 순서도이다.
도 3은 본 발명의 다른 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 시스템 구성도이다.
도 4는 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 등록 UI(User Interface)의 예시이다.
도 5는 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 배포 대상을 설정하는 UI의 예시이다.
도 6은 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 편집 UI의 예시이다.
도 7은 본 발명의 다른 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 과정을 나타낸 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 과정을 나타낸 흐름도이다.
도 9는 본 발명의 한 실시예에 따른 어플리케이션 센터의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공" 은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
본 명세서에서, 어플리케이션(Application)은 디바이스에 설치 및 실행되어 고유의 목적을 달성하거나 또는 기능을 구현한다. 한 실시예에 따르면, 어플리케이션은 디바이스의 소프트웨어 또는 하드웨어 문제를 해결하는 솔루션 프로그램을 포함할 수 있다.
IT 관리자(Administrator)나 리셀러(Reseller)들이 고객사가 보유한 복수개의 디바이스에 동일한 어플리케이션 설정값을 지정하려면 각 디바이스로 접속하여 어플리케이션을 실행한 후, 어플리케이션 설정값을 편집하는 작업을 디바이스 별로 반복해야만 한다.
그러나, 원격 구성(Remote Config) 기능을 이용하면, IT 관리자나 리셀러는 원격으로 어플리케이션의 설정값을 편집할 수 있다. 이러한 원격 구성 기능은 어플리케이션 관리 및 배포 포털을 통해 제공된다.
어플리케이션 관리 및 배포 포털은 어플리케이션에 정의된 설정값 템플릿을 이용하여 IT 관리자나 리셀러가 편집 가능한 옵션들의 리스트와 각 옵션별 입력이 가능한 값들을 웹 UI(User Interface)를 통해 제공할 수 있다. 어플리케이션 관리 및 배포 포털을 이용하면, IT 관리자나 리셀러는 한번의 편집 작업을 통해 복수의 디바이스에게 어플리케이션 설정값을 일괄 적용할 수 있다.
어플리케이션이 업데이트되면, 기본적으로는 어플리케이션 설정값의 구조가 변경되지 않아서 버전간 호환성 이슈가 없으나 어플리케이션 설정값의 내부 구조가 업데이트된 어플리케이션이 읽을 수 있는 구조로 변경되는 경우가 있을 수 있다. 이 경우, IT 관리자나 리셀러는 업데이트된 어플리케이션이 읽을 수 있는 값들로 어플리케이션 설정값을 편집한다. 즉, 각 어플리케이션에서 설정이 가능한 옵션들의 리스트와 각 옵션별 입력 가능한 값 정보가 포함된 어플리케이션 설정 템플릿도 업데이트된다. 따라서, 업데이트된 어플리케이션 설정 템플릿을 기반으로 IT 관리자나 리셀러가 입력한 설정값은 업데이트된 형태로 생성된다.
이와 같이, 업데이트된 어플리케이션 설정값을 일괄 배포하게 되면, 업데이트된 어플리케이션을 설치한 디바이스에서는 배포된 어플리케이션 설정값을 적용할 수 있지만, 이전 어플리케이션을 설치한 디바이스에서는 배포된 어플리케이션 설정값을 적용할 수 없다. 즉, 어플리케이션 설정값의 내부 구조가 변경되었기 때문에 디바이스에 설치된 어플리케이션과 배포된 어플리케이션 설정값의 구조가 달라 디바이스의 어플리케이션이 어플리케이션 설정값을 읽을 수 없는 호환성 이슈가 발생한다. 기본적으로, 어플리케이션은 읽을 수 있는 값만 읽고 읽을 수 없는 값은 무시한다.
물론, 어플리케이션 관리 및 배포 포털에서 어플리케이션 설정값의 버전과 다른 어플리케이션을 보유한 디바이스에게는 어플리케이션 설정값을 배포하지 않을 수 있다. 또는 디바이스의 어플리케이션 버전을 어플리케이션 설정값의 버전, 즉, 최신 버전으로 강제로 업데이트시키거나 가이드할 수 있다. 그러나 이러한 방법은 어플리케이션 설정값을 디바이스들에 일괄 적용하는 절차에 장애로 작용하므로 최선의 방법은 아니다.
따라서, 본 발명은 이러한 호환성 문제를 해결하기 위한 것으로서, 어플리케이션의 설정값을 디바이스들에 설치된 어플리케이션의 버전 별로 각각 생성하여 배포한다. IT 관리자나 리셀러가 업데이트된 어플리케이션의 설정값을 편집하는 작업을 한번만 하더라도, 이를 디바이스들의 어플리케이션 버전 별로 각각 변환하여 전송하므로, 호환성 이슈없이 디바이스들에게 어플리케이션 설정값을 배포할 수 있다. 이러한 본 발명의 실시예에 대해 도면을 참고하여 설명하면 다음과 같다.
도 1은 본 발명의 한 실시예에 따른 어플리케이션 버전과 호환되는 어플리케이션 설정 파일을 제공하는 시스템 구성도이다.
도 1을 참조하면, 어플리케이션 센터(100)는 네트워크(200)를 통하여 디바이스들(310, 330, 350)과 연결된다. 어플리케이션 센터(100)는 사용자 단말, 즉, 개발자 단말(400) 및 리셀러(Receller)/관리자(Administrator) 단말(500)과 연결된다.
어플리케이션 센터(100), 디바이스들(310, 330, 350)은 메모리 및 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치로 구현된다. 프로세서는 메모리에 로드된 프로그램의 명령(Instruction)을 실행한다.
어플리케이션 센터(100)는 클라우드 서버로 구현될 수 있다.
디바이스들(310, 330, 350)은 화상 데이터의 생성, 인쇄, 수신, 전송 등을 수행하는 화상 형성 장치일 수 있다. 화상 형성 장치의 대표적인 예로는 프린터, 스캐너, 복사기, 팩스 및 이들의 기능을 통합적으로 구현한 복합기 등을 들 수 있다.
어플리케이션 센터(100)는 개발된 신규 어플리케이션 또는 업데이트된 어플리케이션을 원격의 디바이스들(310, 330, 350)에 설치 및 삭제할 수 있다.
어플리케이션 센터(100)는 IT 관리자(Administrator)나 리셀러(Reseller)가 편집한 어플리케이션의 설정 파일(Configuration File)을 원격의 디바이스들(310, 330, 350)에게 배포할 수 있다. 설정 파일의 편집은 어플리케이션 센터(100)가 운용하는 어플리케이션 관리 및 포털을 통해 이루어질 수 있다.
디바이스들(310, 330, 350)은 인증, 어플리케이션 실행과 관리를 위한 시스템 서비스들을 포함하며, 여러 어플리케이션을 설치하여 실행할 수 있다.
디바이스들(310, 330, 350)은 어플리케이션 센터(100)가 배포한 어플리케이션을 설치 및 실행한다. 디바이스들(310, 330, 350)은 배포된 어플리케이션에 포함된 설정 파일 또는 어플리케이션 센터(100)로부터 수신한 설정 파일을 읽어 실행된 어플리케이션에 반영한다.
디바이스들(310, 330, 350)은 어플리케이션, 설정 매니저를 포함할 수 있다. 어플리케이션은 설정 파일에 지정된 설정값을 읽어 실행 환경에 적용한다. 설정 매니저는 어플리케이션 설정 파일을 수신하고, 각 어플리케이션을 실행할 때 어플리케이션 설정 파일에 지정된 설정값을 어플리케이션으로 전달할 수 있다. 설정 매니저는 IT 관리자나 리셀러가 어플리케이션을 실행하여 설정값을 편집한 경우, 편집한 설정값을 포함하는 어플리케이션 설정 파일을 저장할 수 있다.
설정 매니저는 어플리케이션 센터(100)로부터 원격 호출이 발생하면, 저장한 어플리케이션 설정 파일을 설정 에디터로 제공할 수도 있다. 설정 매니저는 IT 관리자나 리셀러가 어플리케이션에 설정된 어플리케이션 설정 파일을 원격에서 읽고자 할 경우, 이를 제공할 수 있다.
도 2는 본 발명의 한 실시예에 따른 어플리케이션 센터가 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 동작을 나타낸 순서도이다.
도 2를 참조하면, 어플리케이션 센터(도 1의 100)가 제1 버전의 어플리케이션을 디바이스들(310, 330, 350)에게 배포한다(S101).
어플리케이션 센터(100)가 개발자 단말(도 1의 400)로부터 업데이트된 제2 버전의 어플리케이션 및 설정 템플릿을 수신한다(S103). 제2 버전의 어플리케이션이 제1 버전의 어플리케이션보다 최신 어플리케이션이라고 가정한다.
어플리케이션 센터(100)는 제2 버전의 설정 템플릿을 기초로 생성한 설정값 세팅을 위한 편집 UI를 생성한다(S105).
어플리케이션 센터(100)는 편집 UI를 이용하여 리셀러/관리자 단말(500)이 편집한 제2 버전의 설정값들을 포함하는 설정 파일을 생성한다(S107).
어플리케이션 센터(100)는 설정 파일의 배포 대상인 디바이스들(310, 330, 350)에 설치된 어플리케이션의 버전 정보를 확인한다(S109).
어플리케이션 센터(100)는 디바이스들(310, 330, 350)의 어플리케이션 버전이 제2 버전인지 판단한다(S111).
S111 단계에서 제2 버전으로 판단되면, 어플리케이션 센터(100)는 제2 버전의 설정 파일을 디바이스들(310, 330, 350)에게 배포한다(S113).
S111 단계에서 제2 버전이 아니라고 판단되면, 어플리케이션 센터(100)는 제2 버전의 설정 템플릿으로부터 변환 룰을 호출한다(S115). 여기서, 변환 룰에는 제1 버전의 설정값과 제2 버전의 설정값 간의 관계 정보가 정의되어 있다.
어플리케이션 센터(100)는 변환 룰을 이용하여 제2 버전의 설정값을 디바이스들(310, 330, 350)의 어플리케이션 버전인 제1 버전의 설정값으로 변환한다(S117).
어플리케이션 센터(100)는 S117 단계에서 변환된 제1 버전의 설정값을 포함하는 설정 파일을 디바이스들(310, 330, 350)에게 배포한다(S119).
도 3은 본 발명의 다른 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 시스템 구성도이고, 도 4는 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 등록 UI의 예시이고, 도 5는 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 배포 대상을 설정하는 UI의 예시이고, 도 6은 본 발명의 한 실시예에 따른 어플리케이션 설정 파일의 편집 UI의 예시이다.
도 3을 참조하면, 어플리케이션 센터(100)는 어플리케이션 스토리지(110), 설정 에디터(130) 및 배포 엔진(150)을 포함할 수 있다.
어플리케이션 스토리지(110), 설정 에디터(130) 및 배포 엔진(150)은 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 어플리케이션 스토리지(110), 설정 에디터(130) 및 배포 엔진(150)은 독립된 개별 서버 장치로 구현될 수 있다.
개발자 단말(400)은 어플리케이션과, 그 어플리케이션의 설정 템플릿(Configuration Template)을 어플리케이션 스토리지(110)에 등록한다. 개발자 단말(400)은 어플리케이션의 바이너리 패키지와 함께 어플리케이션 설정 템플릿을 등록할 수 있다.
어플리케이션 스토리지(110)는 도 4와 같은 어플리케이션 등록 UI(600)를 통해 어플리케이션과 어플리케이션의 설정 템플릿을 수신할 수 있다.
도 4를 참조하면, 어플리케이션 등록 UI(600)는 어플리케이션 파일 항목(601)과 어플리케이션 설정 템플릿 항목(603)을 포함한다. 어플리케이션 스토리지(110)는 어플리케이션 파일 항목(601)에 업로드된 어플리케이션 파일과, 어플리케이션 설정 템플릿 항목(603)에 업로드된 어플리케이션 설정 템플릿을 저장한다. 어플리케이션 등록 UI(600)는 신규 등록뿐만 아니라 업데이트 등록을 제공한다.
설정 템플릿은 디바이스들(310, 330, 350)에 대한 원격 구성(Remote Configuration, Remote Config) 항목, 각 항목 별 설정값 등을 규정한 일종의 정의서라고 할 수 있다.
설정 템플릿은 각 어플리케이션에서 설정이 가능한 옵션들의 리스트와 각 옵션별 입력 가능한 정보가 식별자(ID), 키(key) 값들과 함께 포함되어 있다. 설정 템플릿은 각 옵션들의 유효값을 확인하여 에러를 표시할 수 있도록 정의될 수 있다. 설정 템플릿은 XML(Extensible Markup Language) 또는 JSON(JavaScript Object Notation) 등의 포맷으로 작성될 수 있다.
IT 관리자나 리셀러는 편집 UI를 통하여 어플리케이션의 설정값을 편집할 수 있다. IT 관리자 또는 리셀러는 디바이스들(310, 330, 350)의 계정을 관리하고 어플리케이션 배포 및 어플리케이션 지원 등과 같은 서비스를 제공하는 사용자를 지칭할 수 있다.
IT 관리자나 리셀러는 인증 과정을 거친 후, 어플리케이션 관리 및 배포 포털에 접속할 수 있다. IT 관리자나 리셀러는 관리하는 디바이스들(310, 330, 350)에 어플리케이션을 설치 또는 삭제할 수 있고, 그 어플리케이션의 설정값을 편집하여 배포할 수도 있다.
설정 에디터(130)는 어플리케이션 관리 및 배포 포털을 운용할 수 있다. 설정 에디터(130)는 어플리케이션 관리 및 배포 포털을 통해 어플리케이션의 원격 구성 기능을 제공할 수 있다.
설정 에디터(130)는 어플리케이션 관리 및 배포 포털을 통해 디바이스들(310, 330, 350)에 대한 원격 구성을 위한 편집 UI를 제공할 수 있다. 설정 에디터(130)는 어플리케이션의 설정 템플릿을 이용하여 편집 UI를 생성할 수 있다. 예시적으로, 편집 UI는 스캔 옵션, 인쇄 옵션, 기본 경로 등과 같이 어플리케이션 별로 입력이 가능한 설정값 항목 등으로 구성될 수 있다.
설정 에디터(130)는 도 5와 같은 편집 UI를 통해 IT 관리자 또는 리셀러가 선택 또는 입력한 배포할 어플리케이션과, 그 어플리케이션의 배포 대상인 디바이스들의 정보를 수신할 수 있다.
도 5를 참조하면, 편집 UI는 어플리케이션 UI(700) 및 디바이스 UI(800)를 포함한다. 어플리케이션 UI(700)는 어플리케이션 스토리지(110)에 등록된 어플리케이션들을 나열한 어플리케이션 리스트를 표시하고, 각 어플리케이션 별로 설치 요청 버튼, 설치 진행 상태, 어플리케이션 버전 등을 표시할 수 있다.
디바이스 UI(800)는 네트워크(200)에 연결된 디바이스들(310, 330, 350)들을 나열한 디바이스 리스트를 표시하고, 각 디바이스 별로 배포 요청 버튼 등을 표시할 수 있다. 이때, 디바이스 리스트는 개별 디바이스가 표시될 수도 있다. 또는 디바이스 리스트는 지역, 조직 등의 그룹 단위로 표시될 수도 있다.
IT 관리자 또는 리셀러가 어플리케이션 UI(700)에서 특정 어플리케이션의 설치 요청 버튼을 클릭하면, 설정 에디터(130)는 도 6과 같은 어플리케이션 설정 파일의 편집 UI를 제공할 수 있다.
설정 에디터(130)는 설치 요청 버튼이 클릭된 어플리케이션의 설정 템플릿을 기초로 도 6과 같은 편집 UI를 생성할 수 있다.
도 6을 참조하면, 편집 UI(900)는 설정 템플릿에 정의된 구성 항목과 각 구성 항목에 대한 설정값의 선택 또는 입력을 위한 항목을 제공할 수 있다. 예를 들어, 디바이스들(310, 330, 350)이 프린터 등과 같은 화상 형성 장치인 경우, 구성 항목은 스캔 옵션으로 정의될 수 있다. 각 스캔 옵션은 'scanResolution, 'scanFileType', 'scanSharpness', 'scanOriginalSides' 등을 포함할 수 있다. 이 경우, 어플리케이션 설정 파일은 스캔 옵션 설정값들로 구성될 수 있다.
설정 에디터(130)는 도 5의 어플리케이션 UI(700)에서 설치 요청 버튼이 클릭된 어플리케이션, 도 5의 디바이스 UI(800)에서 배포 요청 버튼이 클릭된 디바이스, 도 6의 편집 UI(900)를 통해 입력받은 정보들로 구성된 어플리케이션 설정 파일을 배포 엔진(150)으로 제공한다.
그런데, 어플리케이션이 업데이트되면서 어플리케이션 설정 템플릿이 변경되면, 어플리케이션 설정 파일의 내부 구조가 달라질 수 있다. 이 경우, 디바이스들(310, 330, 350)은 기존 버전의 어플리케이션을 가진 디바이스와, 업데이트 버전의 어플리케이션을 가진 디바이스가 공존할 수 있다.
이때, 편집된 업데이트 버전의 어플리케이션 설정 파일이 배포되면, 기존 버전의 어플리케이션을 가진 디바이스는 어플리케이션 설정 파일을 읽을 수 없는 호환성 문제가 발생한다. 이와 같은 호환성 문제를 해결하기 위해, 어플리케이션 설정 템플릿은 업데이트 버전의 어플리케이션 설정값들을 기존 버전의 어플리케이션 설정값들로 변환하는 룰을 포함한다. 변환 룰은 XSLT(Extensible Stylesheet Language Transformations) 또는 JSON(JavaScript Object Notation) 기반 변환 툴에 기초한 것일 수 있다.
어플리케이션 스토리지(110)에 버전 2의 어플리케이션 설정 템플릿이 등록되면, 설정 에디터(130)는 버전 2의 어플리케이션 설정 템플릿을 기초로 생성한 설정 편집 UI를 IT 관리자 또는 리셀러에게 제공한다. 이러한 설정 편집 UI를 통해 입력받은 어플리케이션 설정값들을 포함하는 버전 2의 어플리케이션 설정 파일을 배포 엔진(150)이 디바이스들(310, 330, 350)에게 배포한다.
이때, 디바이스 1(310)에는 버전 1의 어플리케이션이 설치되어 있고, 디바이스 2(330)에는 버전 2의 어플리케이션이 설치되어 있는 경우, 디바이스 1(310)의 어플리케이션은 새로운 구조의 어플리케이션 설정 파일(V2)을 읽을 수 없다. 따라서, 설정 에디터(130)는 사전에 알고 있는 디바이스들의 어플리케이션 버전 정보를 이용하여 버전 2의 어플리케이션 설정 파일을 대상 디바이스의 어플리케이션 버전에 맞게 변환한다. IT 관리자 또는 리셀러가 버전 2의 어플리케이션 설정 파일 대상으로 지정한 디바이스에 설치된 어플리케이션의 버전이 구 버전(V1)이면, 신 버전(V2)의 어플리케이션 설정 파일을 구 버전(V1)으로 변환한다.
설정 에디터(130)는 표 1과 같은 신 버전(V2)의 어플리케이션 설정 파일을 표 2와 같은 변환 룰을 이용하여 표 3과 같은 구 버전(V1)의 어플리케이션 설정 파일로 변환할 수 있다. 표 2의 변환 룰은 설정 템플릿에 포함되어 있다.
{
"result": {
"frames": [
"fidgets": [
{
"id": "ScanResolution",
"sets": [
{
"items": [
{
"value": "true",
"key": "DPI_300"
}
],
"key": "scanResolution"
}
]
},
{
"id": "scanFileType",
"sets": [
{
"items": [
{
"value": "true",
"key": "MTIFF"
}
],
"key": "scanFileType"
}
]
}
]
}
}
}
{
"scanConfig" : {for (.result.frames.fidgets)
.id : .sets.items.key
}
}
{
"scanConfig" : {
"scanResolution" : "DPI_300",
"scabFileType" : "MTIFF"
}
}
표 1을 참조하면, 'result' 항목 하위의 'frames' 항목 하위의 'fidgets' 객체에 설정된 'id'는 'scanResolution'과 'scabFileType' 두가지가 있다. 이 'id'별로 'sets'항목 하위의 'items' 항목 하위의 'key'에 설정된 값은 각각 'DPI_300', 'MTIFF'이다.
표 2를 참조하면, 표 1에서 'scanConfig' 옵션은 'result' 항목 하위의 'frames' 항목 하위의 'fidgets' 객체에 설정된 각 'id'별로 'sets' 하위의 'items' 하위의 'key' 값을 지정하도록 규정된다.
따라서, 표 2의 변환 룰을 이용해서 표 1의 'scanConfig' 옵션은 표 3와 같은 구조의 'scanConfig' 옵션으로 변경될 수 있다.
또한, 설정 에디터(130)는 편집 UI들을 통하여 디바이스 1(310)의 어플리케이션 설정을 디바이스 2(330)로 복제하도록 요청받을 수 있다. 복제 기능은, 디바이스2(330)가 새로 추가될 경우, 이미 디바이스 1(310)에 설정된 어플리케이션 설정 파일을 복제하는 동작만으로, 어플리케이션 설정 파일을 지정하게 할 수 있다.
또는 IT 관리자나 리셀러가 디바이스 2(330)의 어플리케이션 설정 파일을 변경하고 싶은 경우, 복제 기능을 통해 쉽게 어플리케이션 설정 파일을 변경할 수 있다. 이때, 디바이스 2(330)가 구 버전 어플리케이션이 설치된 디바이스이라면 구 버전 어플리케이션 설정 파일로의 변경도 앞서 설명한 바와 동일한 방식으로 이루어진다.
배포 엔진(150)은 어플리케이션 스토리지(110)에 등록된 어플리케이션을 디바이스들(310, 330, 350)에게 네트워크(200)를 통하여 배포한다.
이때, 배포 엔진(150)은 어플리케이션 배포 이전에 설정 에디터(130)에 의해 편집된 어플리케이션 설정 파일을 어플리케이션과 함께 디바이스들(310, 330, 350)에게 네트워크(200)를 통하여 배포할 수 있다.
또한, 배포 엔진(150)은 어플리케이션을 배포한 이후, 설정 에디터(130)에 의해 편집된 어플리케이션 설정 파일을 디바이스들(310, 330, 350)에게 네트워크(200)를 통하여 배포할 수 있다.
도 7은 본 발명의 한 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 과정을 나타낸 흐름도이다.
이때, 디바이스들(310, 330, 350)에 제1 어플리케이션(V1)이 배포되어 있는 것을 전제로 한다. 배포된 어플리케이션(V1)은 설정 파일(V1)을 포함하고, 각 디바이스(310, 330, 350)는 어플리케이션 설정 파일을 적용하여 어플리케이션을 실행한다.
도 7을 참조하면, 설정 에디터(130)는 어플리케이션 스토리지(110)로부터 업데이트된 설정 템플릿을 제공받는다(S201). 설정 에디터(130)는 설정 템플릿을 기초로 편집 UI를 생성한다(S203).
설정 에디터(130)는 편집 UI를 통해 IT 관리자 또는 리셀러의 설정값 입력을 수신한다(S205).
설정 에디터(130)는 편집 UI를 통해 IT 관리자 또는 리셀러가 선택한 배포 대상 디바이스들의 어플리케이션 버전을 확인한다(S207).
설정 에디터(130)는 설정 템플릿의 버전과 디바이스들의 어플리케이션 버전이 일치하는지 판단한다(S209).
S209 단계에서 불일치로 판단되면, 설정 에디터(130)는 설정 템플릿으로부터 변환 룰을 호출한다(S211). 설정 에디터(130)는 변환 룰을 이용하여 설정값을 디바이스의 어플리케이션 버전으로 변환한다(S213).
설정 에디터(130)는 배포 엔진(150)에게 변환된 설정값의 배포를 요청한다(S215).
S209 단계에서 일치로 판단되면, 설정 에디터(130)는 배포 엔진(150)에게 입력된 설정값의 배포를 요청한다(S217).
배포 엔진(150)은 S215 단계 또는 S217 단계에서 요청받은 설정값을 대상 디바이스들에게 배포한다(S219). 이때, 설정값 배포로 기재하였으나, 설정값은 파일 단위로 배포되므로, 설정값과 설정 파일은 동일한 의미로 사용될 수 있다.
도 7에서는 설정 템플릿이 업데이트된 경우의 과정을 설명하였으나, 제1 디바이스의 어플리케이션 설정값을 제2 디바이스로 설정하는 경우에도 본 발명의 실시예는 적용될 수 있다. 이에 대해 설명하면, 도 8과 같다.
도 8은 본 발명의 다른 실시예에 따른 어플리케이션 버전과 호환성을 보장하는 어플리케이션 설정 파일을 제공하는 과정을 나타낸 흐름도이다.
도 8을 참조하면, 설정 에디터(130)는 편집 UI를 통해 디바이스 1의 어플리케이션 설정값을 디바이스 2로 설정하도록 요청받을 수 있다(S301).
설정 에디터(130)는 디바이스 1과 디바이스 2 각각에 설치된 어플리케이션의 버전을 확인한다(S303).
설정 에디터(130)는 S303 단계에서 확인한 어플리케이션 버전이 서로 일치하는지 판단한다(S305).
S305 단계에서 일치로 판단되면, 설정 에디터(130)는 디바이스 1의 어플리케이션 설정값을 디바이스 2로 배포하도록 배포 엔진(150)에게 요청한다(S307).
S305 단계에서 불일치로 판단되면, 설정 에디터(130)는 디바이스 1에 설치된 설정 템플릿으로부터 변환 룰을 호출한다(S309).
설정 에디터(130)는 S309 단계에서 호출한 변환 룰을 이용하여 디바이스 1의 설정값을 디바이스 2의 어플리케이션 버전으로 변환한다(S311).
설정 에디터(130)는 S311 단계에서 변환된 디바이스 1의 설정값을 디바이스 2로 배포하도록 배포 엔진(150)에게 요청한다(S313).
배포 엔진(150)은 S307 단계 또는 S313 단계에서 요청받은 설정값을 디바이스 2에게 배포한다(S315). 이때, 설정값 배포로 기재하였으나, 설정값은 파일 단위로 배포되므로, 설정값과 어플리케이션 설정 파일은 동일한 의미로 사용된다.
또한, 본 발명의 다른 실시예로, 어플리케이션 관리 및 배포 포털의 원격 구성 기능을 통하여 설정값을 배포할 때 디바이스에 설치된 어플리케이션의 버전을 사전에 확인하지 않고도 어플리케이션 설정값을 배포할 수 있다. 신 버전과 구 버전의 어플리케이션 설정값을 모두 생성하여 한 묶음으로 배포하면, 어플리케이션은 읽을 수 없는 구조의 설정값은 무시한다. 따라서, 신 버전과 구 버전의 어플리케이션 설정값이 묶음으로 배포되더라도 각 어플리케이션 버전별로 설정값을 문제없이 읽을 수 있다.
즉, 도 1 내지 도 8에서 설명한 바와 같이, 제1 버전의 어플리케이션에서 제2 버전의 어플리케이션으로 업데이트 되면, 어플리케이션 센터(100)가 제2 버전 이전에 배포된 이전 버전의 어플리케이션이 있는지 확인한다. 제2 버전 이전에 배포된 제1 버전의 어플리케이션이 있으면, 제2 버전의 어플리케이션에 대한 제2 설정값을 제1 버전의 어플리케이션에 대한 제1 설정값으로 변환한다. 그리고 제1 설정값 및 제2 설정값을 모두 포함하는 설정 파일을 생성하고, 이를 디바이스들에게 배포할 수 있다. 그러면, 디바이스들은 자신들이 보유한 어플리케이션에서 읽을 수 있는 설정값을 읽어 어플리케이션에 적용할 수 있다. 제1 버전의 어플리케이션이 설치된 디바이스는 제2 설정값은 무시하고 제1 설정값을 적용한다. 제2 버전의 어플리케이션이 설치된 디바이스는 제1 설정값은 무시하고 제2 설정값을 적용한다.
도 9는 본 발명의 한 실시예에 따른 서버 장치의 하드웨어 구성도이다.
도 9를 참고하면, 도 1 내지 도 8에서 설명한 어플리케이션 센터(100), 설정 에디터(130), 배포 엔진(150)은 적어도 하나의 프로세서에 의해 동작하는 서버 장치(800)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다.
서버 장치(800)의 하드웨어는 적어도 하나의 프로세서(801), 메모리(803), 스토리지(805), 통신 인터페이스(807)를 포함할 수 있고, 버스(809)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다.
서버 장치(800)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(801)는 서버 장치(800)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(803)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(801)에 의해 처리되도록 해당 프로그램을 로드할 수 있다. 메모리(803)는 예를들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(805)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장할 수 있다. 통신 인터페이스(807)는 유/무선 통신 모듈일 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 어플리케이션이 업데이트되어 어플리케이션의 설정값 구조가 변경되더라도 업데이트된 어플리케이션의 설정값을 구 버전의 설정값 구조로 변환하여 배포하므로, 호환성 이슈를 극복할 수 있다. 또한, IT 관리자나 리셀러가 업데이트된 버전의 설정값을 편집하는 동작만으로, 디바이스들에 설치된 어플리케이션의 버전에 관계없이 그 설정값을 일괄 적용할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. 서버 장치로서,
    메모리, 그리고
    상기 메모리에 로드된 프로그램의 명령들(Instructions)을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 프로세서는,
    사용자 단말로부터 제1 버전의 어플리케이션에 적용할 제1 버전 설정값을 수신하는 단계,
    상기 설정값의 배포 대상인 적어도 하나의 디바이스를 결정하고, 상기 적어도 하나의 디바이스에 설치된 어플리케이션 버전을 확인하는 단계,
    상기 적어도 하나의 디바이스 중 상기 제1 버전의 어플리케이션과 다른 제2 버전의 어플리케이션이 설치된 디바이스가 확인된 경우, 변환 룰을 이용하여 상기 제1 버전 설정값을 상기 제2 버전의 어플리케이션에 적용할 제2 버전 설정값으로 변환하는 단계, 그리고
    상기 제2 버전 설정값을 포함하는 설정 파일을 상기 제2 버전의 어플리케이션이 설치된 디바이스에게 전송하는 단계
    를 실행하고,
    상기 변환 룰은 상기 제1 버전 설정값과 상기 제2 버전 설정값의 관계 정보를 포함하는, 서버 장치.
  2. 제1항에서,
    상기 수신하는 단계 이전에,
    상기 제1 버전의 어플리케이션에 적용할 설정값들에 관한 정보를 정의한 설정 템플릿을 수신하는 단계를 더 포함하고,
    상기 제1 버전 설정값은,
    상기 설정 템플릿에 정의된 정보 중에서 상기 사용자 단말에 의해 선택된 값들을 포함하는, 서버 장치.
  3. 제2항에서,
    상기 설정 템플릿은,
    상기 변환 룰을 포함하는, 서버 장치.
  4. 제2항에서,
    상기 수신하는 단계는,
    상기 설정 템플릿을 기초로 설정값 입력 화면을 생성하고, 상기 설정값 입력 화면을 상기 사용자 단말에게 제공하며, 상기 설정값 입력 화면에서 입력된 상기 제1 버전 설정값을 수신하는, 서버 장치.
  5. 제4항에서,
    상기 변환 룰은,
    XSLT(Extensible Stylesheet Language Transformations) 또는 JSON(JavaScript Object Notation) 포맷의 데이터를 변환하는 방법을 정의한, 서버 장치.
  6. 제1항에서,
    상기 제2 버전의 어플리케이션은
    상기 제1 버전의 어플리케이션 이전에 배포된 어플리케이션인, 서버 장치.
  7. 제1항에서,
    상기 확인하는 단계 이후,
    상기 적어도 하나의 디바이스 중 상기 제1 버전의 어플리케이션이 설치된 디바이스가 확인된 경우, 상기 제1 버전 설정값을 포함하는 설정 파일을 상기 제1 버전의 어플리케이션이 설치된 디바이스에게 전송하는 단계
    를 더 포함하는, 서버 장치.
  8. 적어도 하나의 프로세서에 의해 동작하는 서버 장치의 동작 방법으로서,
    사용자 단말로부터 제1 버전의 어플리케이션에 적용할 제1 설정값을 수신하는 단계,
    상기 제1 설정값의 배포 대상인 적어도 하나의 디바이스를 결정하는 단계,
    상기 제1 버전의 어플리케이션 이전에 배포된 제2 버전의 어플리케이션이 존재하면, 변환 룰을 이용하여 상기 제1 설정값을 상기 제2 버전의 어플리케이션에 적용할 제2 설정값으로 변환하는 단계, 그리고
    상기 제1 설정값 및 상기 제2 설정값을 포함하는 설정 파일을 상기 적어도 하나의 디바이스에게 전송하는 단계를 포함하고,
    상기 변환 룰은,
    상기 제1 설정값과 상기 제2 설정값 간의 관계 정보를 포함하는, 동작 방법.
  9. 제8항에서,
    상기 수신하는 단계 이전에,
    상기 제1 버전의 어플리케이션에 적용할 설정값들에 관한 정보를 정의한 설정 템플릿을 수신하는 단계를 더 포함하고,
    상기 변환 룰은,
    상기 설정 템플릿에 포함되는, 동작 방법.
  10. 제9항에서,
    상기 제1 설정값을 수신하는 단계는,
    상기 설정 템플릿을 기초로 생성한 사용자 인터페이스를 상기 사용자 단말에게 제공하고, 상기 사용자 인터페이스를 통하여 상기 제1 설정값을 수신하는, 동작 방법.
  11. 제9항에서,
    상기 결정하는 단계 이후,
    상기 설정 템플릿에 상기 변환 룰의 포함 여부를 판단하는 단계를 더 포함하고,
    상기 변환하는 단계는,
    상기 설정 템플릿에 상기 변환 룰이 포함된 경우, 상기 변환 룰을 이용하여 변환하는, 동작 방법.
  12. 적어도 하나의 프로세서에 의해 동작하는 서버 장치의 동작 방법으로서,
    사용자 단말로부터 제1 디바이스에 설정된 제1 설정값을 적어도 하나의 제2 디바이스로 설정하도록 요청받는 단계,
    상기 적어도 하나의 제2 디바이스에 설치된 어플리케이션의 버전 정보를 확인하는 단계, 그리고
    상기 적어도 하나의 제2 디바이스 중에서 상기 제1 디바이스에 설치된 어플리케이션과 다른 버전의 어플리케이션이 설치된 디바이스가 확인된 경우, 변환 룰에 의해 상기 제1 설정값으로부터 변환된 제2 설정값을 상기 다른 버전의 어플리케이션이 설치된 디바이스에게 전송하는 단계를 포함하고,
    상기 변환 룰은,
    상기 제1 설정값과 상기 제2 설정값 간의 관계 정보가 정의된, 동작 방법.
  13. 제12항에서,
    상기 확인하는 단계 이후,
    상기 적어도 하나의 제2 디바이스 중에서 상기 제1 디바이스에 설치된 어플리케이션과 같은 버전의 어플리케이션이 설치된 디바이스가 확인된 경우, 상기 제1 설정값을 상기 같은 버전의 어플리케이션이 설치된 디바이스에게 전송하는 단계
    를 더 포함하는, 동작 방법.
  14. 제12항에서,
    상기 요청받는 단계 이전에,
    상기 사용자 단말에게 제공한 사용자 인터페이스를 통하여 상기 사용자 단말에서 입력된 상기 제1 설정값을 수신하는 단계를 더 포함하고,
    상기 사용자 인터페이스는 설정 템플릿을 이용하여 생성되고,
    상기 설정 템플릿은 상기 제1 디바이스에 설치된 버전의 어플리케이션에 적용할 설정값들에 관한 정보가 정의된 파일인, 동작 방법.
  15. 제14항에서,
    상기 제1 설정값을 수신하는 단계 이전에,
    제1 버전의 어플리케이션을 복수의 디바이스에게 배포하여 설치한 후, 개발자 단말로부터 수신한 제2 버전의 어플리케이션을 등록하는 단계를 더 포함하고,
    상기 제2 버전의 어플리케이션은
    상기 제1 디바이스에 설치된 어플리케이션이며, 상기 제1 버전의 어플리케이션과 설정값의 구조가 다른 어플리케이션인, 동작 방법.
KR1020190159636A 2019-12-04 2019-12-04 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공 KR20210069861A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190159636A KR20210069861A (ko) 2019-12-04 2019-12-04 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공
US17/606,674 US20220201145A1 (en) 2019-12-04 2020-05-21 Providing application configuration file for backward compatible application
PCT/US2020/033986 WO2021112916A1 (en) 2019-12-04 2020-05-21 Providing application configuration file for backward compatible application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159636A KR20210069861A (ko) 2019-12-04 2019-12-04 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공

Publications (1)

Publication Number Publication Date
KR20210069861A true KR20210069861A (ko) 2021-06-14

Family

ID=76221123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159636A KR20210069861A (ko) 2019-12-04 2019-12-04 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공

Country Status (3)

Country Link
US (1) US20220201145A1 (ko)
KR (1) KR20210069861A (ko)
WO (1) WO2021112916A1 (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015890A1 (en) * 2001-05-11 2004-01-22 Windriver Systems, Inc. System and method for adapting files for backward compatibility
JP2003036152A (ja) * 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd 情報印刷システム
JP4261203B2 (ja) * 2003-01-16 2009-04-30 株式会社リコー 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム
US7318070B2 (en) * 2004-03-11 2008-01-08 International Business Machines Corporation Method and apparatus for maintaining compatibility within a distributed systems management environment with a plurality of configuration versions
KR100601711B1 (ko) * 2004-11-30 2006-07-18 삼성전자주식회사 짧은 메시지 서비스를 이용한 복합기 시스템 설정 상태제어 방법 및 장치와 상기 장치를 포함하는 복합기
WO2012093996A1 (en) * 2011-01-04 2012-07-12 Tranxition Corporation Virtualization of configuration settings
US9224072B2 (en) * 2011-11-29 2015-12-29 Google Inc. System and method for generating a user interface from a printer description
CN103186391B (zh) * 2011-12-29 2016-05-11 腾讯科技(深圳)有限公司 浏览器升级方法和系统以及一种升级服务器
US9161156B2 (en) * 2013-07-31 2015-10-13 Sap Se Tiles in a mobile application framework

Also Published As

Publication number Publication date
US20220201145A1 (en) 2022-06-23
WO2021112916A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
ES2212349T3 (es) Establecimiento de una interfaz de usuario de internet/intranet para una ubicacion remota.
US9398084B2 (en) Information processing system
CN101866292B (zh) 信息处理设备及控制方法
US20110131562A1 (en) Equipment management system, equipment managing apparatus, electronic equipment, software updating method, and computer-readable storage medium
US8863300B2 (en) License install support system, license install support method
US8472057B2 (en) Information processing apparatus, and information processing method
JP2004005607A (ja) ワークステーションにおけるプリンタインスタンスの遠隔作成
JP2010160579A (ja) 印刷システム、印刷サーバ及びその制御方法、プログラム
US9635207B2 (en) Management system and information processing apparatus managing installation and settings of an application
US10284734B2 (en) Information processing apparatus, method, and storage medium for managing an executable application
JP5608985B2 (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
KR20220132458A (ko) 반응형 또는 적응형 웹 구현을 위한 사용자 인터페이스 플랫폼 통합 개발 시스템 및 방법
JP2005165750A (ja) Webサーバ機能を有する組み込み機器
US20090257085A1 (en) Generation of a web page including menu items for web pages
US20090300478A1 (en) Image forming apparatus, information processing method and program
KR20210069861A (ko) 어플리케이션 버전의 호환성을 보장하는 어플리케이션 설정 파일 제공
US20100165391A1 (en) Information processing apparatus, information processing method, and information processing system
JP2009110050A (ja) 情報処理装置、情報処理システム、表示制御方法、表示制御プログラム及び記録媒体
KR101489049B1 (ko) 정보 처리 장치 및 그의 어플리케이션의 실행 방법
US20130258406A1 (en) User terminal apparatus, method of controlling user terminal apparatus, image forming apparatus, and method of controlling image forming apparatus
CN113032004A (zh) 在开发环境中管理开发作业的方法、设备和程序产品
US20210089290A1 (en) Application management service including package file
KR101405920B1 (ko) 잡 컨트롤 장치 및 복합장치 그리고 그들의 동작 방법
JP2013130985A (ja) プリンタードライバーインストール方法、システムおよびプログラム
JP6331455B2 (ja) 情報処理システム、及びその制御方法、並びに情報処理サーバ、その制御方法、及びプログラム