KR20170061993A - 업데이트 상태 제공 방법 및 장치 - Google Patents

업데이트 상태 제공 방법 및 장치 Download PDF

Info

Publication number
KR20170061993A
KR20170061993A KR1020150167267A KR20150167267A KR20170061993A KR 20170061993 A KR20170061993 A KR 20170061993A KR 1020150167267 A KR1020150167267 A KR 1020150167267A KR 20150167267 A KR20150167267 A KR 20150167267A KR 20170061993 A KR20170061993 A KR 20170061993A
Authority
KR
South Korea
Prior art keywords
software update
update
progress
native
server
Prior art date
Application number
KR1020150167267A
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 KR1020150167267A priority Critical patent/KR20170061993A/ko
Publication of KR20170061993A publication Critical patent/KR20170061993A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

원격의 사용자 단말에서 수행하는 소프트웨어 업데이트 상태를 실시간으로 제공할 수 있는 업데이트 상태 제공 방법 및 장치에 관한 것이다. 상기 소프트웨어 업데이트 상태 제공 장치는, 원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하고, 단말에서의 소프트웨어 업데이트를 진행하고, 소프트웨어 업데이트의 진행상황을 나타내는 진행상황 메시지를 형성하며, 진행상황 메시지를 사용자 컴퓨터로 전송한다.

Description

업데이트 상태 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING OF UPDATE STATE}
본 발명은 이동통신 분야에 관한 것으로, 특히 원격의 사용자 단말에서 수행하는 소프트웨어 업데이트 상태를 실시간으로 제공할 수 있는 업데이트 상태 제공 방법 및 장치에 관한 것이다.
통신기술이 발달하고, 사용자의 필요에 따라서 사용자 단말의 사양은 점차 높아지고, 이동 통신사는 종래에 제공하지 않았던 다양한 서비스를 제공하고 있으며, 사용자 단말에서는 지속적인 소프트웨어(예컨대, 펌웨어)의 업데이트가 수반되고 있다.
도 1은 사용자 컴퓨터의 브라우저를 통해 단말에서 시스템 소프트웨어를 업데이트 하는 방법을 보이는 예시도이다. 사용자 컴퓨터(10)의 브라우저(30)에서 시스템 소프트웨어 업데이트 시작 명령이 단말(20)의 웹 서버(40)를 통해 업데이트 데몬(50)으로 전달되면 업데이트 데몬(50)은 시스템 소프트웨어 업데이트를 수행하게 된다. 사용자가 브라우저(30)를 통해 시스템 소프트웨어를 업데이트 하는 경우는 대부분 원격제어 용도로 많이 사용하게 되며, 원격에서 제어되기 때문에 단말(20)이 정상적으로 소프트웨어 업데이트를 수행하고 있는지 확인이 어려운 문제점이 있다.
종래 기술에 의하면, 사용자 컴퓨터(10)의 브라우저(30)로부터 시스템 소프트웨어 업데이트 명령을 수신한 업데이트 데몬(50)은 업데이트를 수행하지만 진행사항을 실시간으로 사용자 컴퓨터(10)의 브라우저(30)로 알려주지 않으며 또한 업데이트 이력도 남기지 않는다. 따라서 사용자 컴퓨터(10)에서 원격에 있는 단말(20)에서 시스템 소프트웨어가 정상적으로 설치 완료되었는지 확인하기 위해서는 일정시간 경과 후에 브라우저(30)를 이용해 단말(20)에 접속하고, 시스템 소프트웨어 버전을 확인하여 단말(20)에 정상적으로 시스템 소프트웨어의 업데이트가 수행되었는지 확인하여야만 한다. 만약 시스템 소프트웨어의 업데이트가 단말(20)에서 정상적으로 이루어지지 않은 경우 즉시 조치를 취할 수 없게 됨으로써 단말(20)에 대한 유지보수를 효과적으로 수행할 수 없는 문제점이 있다.
한국 공개특허공보 제10-2013-0068524호(2013.06.26 공개)
일 실시예에 따라서 원격의 사용자 단말에서 수행하는 소프트웨어 업데이트 상태를 실시간으로 제공할 수 있는 업데이트 상태 제공 방법 및 장치를 제공한다.
일 실시예에 따른 단말에서의 소프트웨어 업데이트 상태를 제공하는 방법은, 원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하는 단계와, 단말에서의 상기 소프트웨어 업데이트를 진행하는 단계와, 상기 소프트웨어 업데이트의 진행상황을 나타내는 진행상황 메시지를 형성하는 단계와, 상기 진행상황 메시지를 상기 사용자 컴퓨터로 전송하는 단계를 포함한다.
또한 일 실시예에 따른 소프트웨어 업데이트 상태를 제공하는 장치는, 원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하고, 상기 소프트웨어 업데이트를 진행하며, 상기 소프트웨어 업데이트의 진행상황을 나타내는 진행상황 메시지를 형성하는 처리부와, 상기 진행상황 메시지를 상기 사용자 컴퓨터로 전송하는 통신부와, 상가 소프트웨어 업데이트 진행상황에 대한 정보를 저장하는 저장부를 포함한다.
본 발명에 따르면, 원격에 위치한 단말에서의 소프트웨어 업데이트 상황을 실시간으로 모니터링할 수 있어서 업데이트 도중 오류가 발생할 경우 신속한 조치를 취할 수 있고, 업데이트 결과를 데이터베이스에 저장하여 업데이트 이력을 효율적으로 관리할 수 있다.
도 1은 사용자 컴퓨터의 브라우저를 통해 단말에서 시스템 소프트웨어를 업데이트 하는 방법을 보이는 예시도.
도 2는 본 발명의 실시예에 따른 소프트웨어 업데이트 환경의 구성을 보이는 예시도.
도 3은 본 발명의 실시예에 따른 소프트웨어 업데이트를 시작하기 위한 과정을 나타내는 예시도.
도 4는 본 발명의 실시예에 따른 소프트웨어 업데이트 진행상황을 사용자 컴퓨터의 브라우저와 안드로이드 액티비티로 디스플레이하기 위한 과정을 나타내는 예시도.
도 5는 본 발명의 실시예에 따른 업데이트 진행상황이 사용자 컴퓨터의 브라우저(BR)에 디스플레이되는 형태를 보이는 예시도.
도 6은 본 발명의 실시예에 따른 소프트웨어 업데이트 이력조회 과정을 나타내는 예시도.
도 7은 본 발명의 실시예에 따른 사용자 컴퓨터에 디스플레이된 소프트웨어 업데이트 목록을 나타내는 예시도.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
본 발명은 원격에 위치한 사용자 컴퓨터에서 안드로이드 OS(Operating System)를 사용하는 단말의 소프트웨어 업데이트 수행 시 진행상황을 실시간으로 디스플레이하고, 업데이트 이력관리를 위한 데이터 저장방법에 관한 것으로 안드로이드 프레임워크에 대한 자세한 설명은 생략한다.
도 2는 본 발명의 실시예에 따른 소프트웨어 업데이트 환경의 구성을 보이는 예시도이다. 도 2에 도시한 바와 같이, 소프트웨어 업데이트 환경은 소프트웨어 업데이트 장치(200) 및 소프트웨어 업데이트 장치(200)로부터 원격에 위치한 사용자 컴퓨터(RC)를 포함할 수 있다. 일 실시예로서, 소프트웨어 업데이트 장치(200)는 안드로이드 OS를 사용하는 단말(예컨대, 도 1에서의 단말(20)) 내부에 구비될 수 있다. 소프트웨어 업데이트 장치(200)는 자바 언어(Java Language) 기반의 프레임워크(210) 및 C/C++ 언어 기반의 라이브러리(220)를 포함할 수 있다. 라이브러리(220)는 네이티브 서비스 클라이언트(221), 네이티브 서비스(222), API 모듈(Application Programmable Interface Module)(223), CGI 프로그램(Common Gateway Interface Program)(224) 및 웹서버(225)를 포함할 수 있다.
소프트웨어 업데이트 장치(200)의 프레임워크(210)에서 실행되는 소프트웨어 업데이트 어플리케이션(211)은 시스템 소프트웨어 업데이트를 제어하며 업데이트 진행상황을 안드로이드 액티비티(216)를 이용하여 디스플레이하는 동시에 사용자 컴퓨터(RC)의 브라우저(BR)에서 업데이트 진행상황을 디스플레이할 수 있도록 하는 메시지를 형성하여 사용자 컴퓨터(RC)의 브라우저(BR)로 전송할 수 있다. 소프트웨어 업데이트 어플리케이션(211)의 소프트웨어 업데이트 과정은 소프트웨어 다운로드, 소프트웨어 압축해제, 소프웨어 설치 및 설치된 소프트웨어 검증의 단계를 포함하고, 각각의 단계별로 수행되는 업데이트 진행상황을 안드로이드 액티비티(216)를 통해 디스플레이 할 수 있고, 마찬가지로 사용자 컴퓨터(RC)의 브라우저(BR)를 통해서도 디스플레이 할 수 있다. 안드로이드 액티비티(216)는 소프트웨어(어플리케이션)를 구성하는 기본 단위로서 업데이트 진행상황 등의 각종 뷰들을 담는 컨테이너 역할을 하는 안드로이드 컴포넌트 중 하나이다.
다른 실시예로서, 소프트웨어 업데이트 장치(200)는 처리부(도시하지 않음), 통신부(도시하지 않음) 및 저장부(도시하지 않음)를 포함할 수 있다. 처리부는 원격의 사용자 컴퓨터로부터 소프트웨어 업데이트 요청을 수신하여 소프트웨어 업데이트 진행상황에 대한 정보를 디스플레이하고, 상기 소프트웨어 업데이트 진행상황에 대한 정보를 상기 사용자 컴퓨터에서 디스플레이하기 위한 진행상황 메시지를 형성할 수 있다. 통신부는 소프트웨어 업데이트 진행상황, 소프트웨어 업데이트 이력, 소프트웨어 업데이트 이력에 대한 편집 등을 수행하기 위하여 사용자 컴퓨터(RC)와 각종 신호를 송수신할 수 있다. 통신부는 사용자 컴퓨터(RC)로부터 소프트웨어 업데이트 요청, 소프트웨어 업데이트 이력 요청 및 소프트웨어 업데이트 이력에 대한 편집 요청을 수신하고, 처리부에서 형성한 진행상황 메시지, 소프트웨어 업데이트 이력에 대한 정보를 사용자 컴퓨터로 전송할 수 있다. 저장부는 소프트웨어 업데이트 진행상황에 대한 정보 및 소프트웨어 업데이트 이력에 대한 정보를 저장할 수 있다. 일 실시예로서, 저장부는 ROM(Read Only Memory), RAM(Random Access Memory), CD(Compact Disc)-ROM, 자기 테이프(Magnetic Tape), 플로피 디스크(Floppy Disc), 광데이터(Optical Data) 저장장치 또는 캐리어 웨이브(Carrier Wave)(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것 등을 포함할 수 있으나, 이러한 구현에 한정되는 것은 아니다.
네이티브 서비스 클라이언트(221)는 소프트웨어 업데이트 어플리케이션(211)으로부터의 요청을 네이티브 서비스(222)로 전달하며, 반대로 네이티브 서비스(222)로부터의 요청을 소프트웨어 업데이트 어플리케이션(211)으로 전달하는 기능을 수행한다. 소프트웨어 업데이트 어플리케이션(211)은 자바 언어로 구현되는 영역이고, 네이티브 서비스 클라이언트(221)는 C/C++ 언어로 구현되는 영역이기 때문에 소프트웨어 업데이트 어플리케이션(211)와 네이티브 서비스 클라이언트(221) 간 통신을 위해서는 JNI(Java Native Interface)가 사용될 수 있다.
네이티브 서비스(222)는 안드로이드 부팅 시 시작되는 프로세스로서 네이티브 서비스 클라이언트(221)와의 연동을 위한 네이티브 서비스 서버(222c)와 API 모듈(223)을 이용하는 CGI 프로그램(224)과의 연동을 위한 네이티브 어플리케이션 서버(222b)를 기동시키고, 데이터베이스 관리 서비스(214)로부터 수신된 소프트웨어 업데이트 이력을 메모리에 보관하고 있으며, CGI 프로그램(224)으로부터 소프트웨어 업데이트 이력 요청 수신 시 관련 정보를 전달해주는 역할을 수행한다. 네이티브 어플리케이션 서버(222b)와 네이티브 서비스 서버(222c)간 통신은 메인서버(222a)가 포함하는 메시지 큐를 이용할 수 있다.
API 모듈(223)은 CGI 프로그램(224)이 네이티브 어플리케이션 서버(222b)와 원활하게 통신하기 위한 인터페이스를 제공한다. API 모듈(223)과 네이티브 어플리케이션 서버(222b)간 통신은 소켓을 이용하고, API 모듈(223)은 소켓 클라이언트로 동작하며 네이티브 어플리케이션 서버(222b)는 소켓 서버로 동작할 수 있다.
CGI 프로그램(224)은 API 모듈(223)을 이용하여 소프트웨어 업데이트 시작을 네이티브 어플리케이션 서버(222b)로 요청하거나 소프트웨어 업데이트 이력을 요청하여 그 결과를 웹서버(225)에게 HTML(Hypertext Mark-up Language) 데이터로 전송하는 역할을 수행할 수 있다. 사용자 컴퓨터(RC)의 브라우저(BR)는 웹서버(225)로부터 수신한 HTML 데이터를 화면에 디스플레이하고, 화면에 디스플레이하는 정보는 소프트웨어 업데이트 진행 상황 및 업데이트 이력을 포함할 수 있다.
도 3은 본 발명의 실시예에 따른 소프트웨어 업데이트를 시작하기 위한 과정을 나타내는 예시도이다. 도 3에 도시한 바와 같이, 사용자 컴퓨터(RC)의 브라우저(BR)는 소프트웨어 업데이트 장치(200)에서 구동중인 웹서버(225)로 소프트웨어 업데이트 시작을 위한 웹 페이지 요청을 전송할 수 있다(S311). 웹 페이지 요청을 수신한 웹서버(225)는 CGI를 이용하여 CGI 프로그램(224)을 실행시킬 수 있다(S312). 구동된 CGI 프로그램(224)은 API 모듈(223)을 사용하여(S313) 네이티브 어플리케이션 서버(222b)로 소프트웨어 업데이트 시작 명령을 전송할 수 있다(S314). 전송된 소프트웨어 시작 명령은 메인서버(222a)의 메시지 큐를 통해(S315) 네이티브 서비스 서버(222c)로 전달된다(S316). 네이티브 서비스 서버(222c)는 안드로이드의 기본 통신 방법인 바인더(Binder)를 이용하여 소프트웨어 업데이트 시작 명령을 네이티브 서비스 클라이언트(221)로 전달한다(S317). 네이티브 서비스 클라이언트(221)는 JNI를 통해 프레임워크(210)에서 동작중인 소프트웨어 업데이트 서비스(212)로 업데이트 시작 명령을 전송할 수 있다(S318). 업데이트 시작 명령을 수신한 소프트웨어 업데이트 서비스(212)는 안드로이드 액티비티(216)를 기동시키고(S319), 업데이트 진행상황을 안드로이드 액티비티(216)로 전송함과 동시에 네이티브 서비스 클라이언트(221)로 전송하여 사용자 컴퓨터(RC)의 브라우저(BR)에서 업데이트 진행상황을 디스플레이할 수 있도록 한다.
도 4는 본 발명의 실시예에 따른 소프트웨어 업데이트 진행상황을 사용자 컴퓨터의 브라우저와 안드로이드 액티비티로 디스플레이하기 위한 과정을 나타내는 예시도이다. 도 4에 도시한 바와 같이, 소프트웨어 업데이트 절차는 소프트웨어 다운로드, 압축해제, 소프트웨어 설치 및 설치된 소프트웨어 검증 단계로 구성되어 있으며 각 단계별로 진행상황을 % 단위로 디스플레이할 수 있다. 일 실시예로서, 소프트웨어 업데이트 서비스(212)가 전달받은 업데이트 시작 명령을 실행하면, 이는 네이티브 서비스 클라이언트(221)를 거처 네이티브 서비스 서버(222c)로 전달되어 소프트웨어의 업데이트를 수행하고, 소프트웨어 업데이트에 사용되는 총 파일 크기에 대한 업데이트 진행중인 파일 크기를 계산하여 업데이트 진행상황을 % 단위로 산출할 수 있다. 산출된 % 단위의 업데이트 진행상황은 안드로이드 액티비티(216)를 이용하여 디스플레이할 수 있고, 아울러 산출된 % 단위의 업데이트 진행상황에 대한 정보는 네이티브 서비스 클라이언트(221)를 통해 소프트웨어 업데이트 서비스(212)로 전송하고, 소프트웨어 업데이트 서비스(212)가 업데이트 진행상황을 사용자 컴퓨터(RC)의 브라우저(BR)와 안드로이드 액티비티(216)로 보여줄 수 있도록 한다. 도 5는 본 발명의 실시예에 따른 업데이트 진행상황이 사용자 컴퓨터의 브라우저(BR)에 디스플레이되는 형태를 보이는 예시도이다.
또한, 소프트웨어 업데이트 절차가 시작되면 소프트웨어 업데이트 서비스(212)는 안드로이드 액티비티(216)를 기동시킨 후 소프트웨어 업데이트 진행상황에 대한 정보를 안드로이드 액티비티(216)로 안드로이드 기본 통신 방식인 바인더를 이용하여 전송하고(S411), 동시에 동일한 정보를 데이터베이스 관리 서비스(214)로 바인더를 이용하여 전송하게 되면(S412) 데이터베이스 관리 서비스(214)는 수신한 소프트웨어 업데이트 정보를 데이터베이스(218)에 저장할 수 있다(S413). 소프트웨어 업데이트 서비스(212)는 업데이트 진행상황을 실시간으로 사용자 컴퓨터(RC)의 브라우저(BR)에서 디스플레이하기 위해 산출된 % 단위의 업데이트 진행상황에 대한 정보를 이용하여 상황 정보 메시지를 형성하고, 형성된 상황 정보 메시지를 네이티브 서비스 클라이언트(221)로 전송할 수 있다(S414). 네이티브 서비스 클라이언트(221)는 수신한 상황 정보 메시지를 네이티브 서비스 서버(222c)로 전송하고(S415), 네이티브 서비스 서버(222c)는 메인서버(222a)의 메시지 큐를 통해 네이티브 어플리케이션 서버(222b)로 상황 정보 메시지를 전송할 수 있다(S416, S417). 네이티브 어플리케이션 서버(222b)는 API 모듈(223)에서 제공되는 콜백을 통해(S418) 상황 정보 메시지를 CGI 프로그램(224)으로 전송할 수 있다(S419). CGI 프로그램(224)은 콜백으로 수신된 상황 정보 메시지를 HTML 형태로 변환하여 웹서버(225)를 통해(S420) 사용자 컴퓨터(RC)의 브라우저(BR)로 전송할 수 있다(S421). 이렇게 함으로써 사용자는 브라우저(BR)를 이용하여 업데이트 진행상황을 실시간으로 모니터링 할 수 있게 된다. 데이터베이스 관리 서비스(212)의 제어에 의해 데이터베이스(218)에 저장된 업데이트 이력들은 네이티브 서비스 클라이언트(221)로 전송되고(S422), 업데이트 이력들을 전달받은 네이티브 서비스 클라이언트(221)는 바인더를 통해 네이티브 서비스 서버(222c)로 업데이트 이력들을 전송하며(S423), 해당 업데이트 이력들은 최종적으로 메인서버(222a)의 메모리(도시하지 않음)에 저장될 수 있다(S424). 업데이트 이력들을 메인서버(222a)의 메모리에 저장시키는 목적은 사용자 컴퓨터(RC)의 브라우저(BR)로부터 업데이트 이력 조회 요청 수신시 보다 빠르게 조회가 이루어지도록 하기 위함이다.
도 6은 본 발명의 실시예에 따른 소프트웨어 업데이트 이력조회 과정을 나타내는 예시도이다. 도 6에 도시한 바와 같이, 사용자 컴퓨터(RC)의 브라우저(BR)는 소프트웨어 업데이트 장치(200)에서 구동중인 웹서버(225)로 소프트웨어 업데이트 이력 조회를 위한 웹 페이지를 디스플레이하기 위하여 이력 조회 요청을 전송할 수 있다(S611). 이력 조회 요청을 수신한 웹서버(225)는 소프트웨어 업데이트 이력을 디스플레이하기 위한 웹 페이지 형성을 수행하는 CGI 프로그램(224)을 기동시키고(S612), CGI 프로그램(224)은 API 모듈(223)을 이용하여(S613) 네이티브 어플리케이션 서버(222b)로 소프트웨어 업데이트 이력 요청을 전송할 수 있다(S614). 이력 요청을 수신한 네이티브 어플리케션 서버(222b)는 메인서버(222a)의 메시지 큐로 이력 요청을 전송하여 메인서버(222a)로 전송하고(S615), 메인서버(222a)는 메모리에 저장된 소프트웨어 업데이트 이력들에 대한 정보를 네이티브 어플리케이션 서버(222b)로 전송한다(S616). 네이티브 어플리케이션 서버(222b)는 업데이트 이력들을 API 모듈(223)을 통해(S617) CGI 프로그램(224)으로 전달하고(S618), CGI 프로그램(224)은 소프트웨어 업데이트 이력들을 HTML 형태로 변환하여(S619) 사용자 컴퓨터(RC)의 브라우저(BR)로 전송할 수 있다(S620). 사용자는 사용자 컴퓨터(RC)의 브라우저(BR)를 이용하여 소프트웨어 업데이트 이력들을 확인하고, 자세히 보기, 삭제 등을 포함하는 소프트웨어 업데이트 이력에 대한 편집 요청을 소프트웨어 업데이트 장치(200)로 전송할 수 있다. 소프트웨어 업데이트 장치(200)는 사용자 컴퓨터(RC)로부터의 소프트웨어 업데이트 이력에 대한 편집 요청을 수신하여 각각의 소프트웨어 업데이트 이력들에 대해 자세히 보기, 삭제 등의 편집을 수행할 수 있다. 일 실시예로서, 사용자 컴퓨터(RC)로부터 특정 소프트웨어 업데이트 이력에 대한 자세히 보기 요청을 수신할 경우 소프트웨어 업데이트 장치(200)는 해당 소프트웨어 업데이트 진행 시 발생했던 모든 관련 메시지들을 사용자 컴퓨터(RC)로 전송하여 원격의 사용자 컴퓨터(RC)에서 해당 소프트웨어 업데이트 진행 시 발생했던 모든 관련 메시지들을 확인할 수 있다.
도 7은 본 발명의 실시예에 따른 사용자 컴퓨터(RC)에 디스플레이된 소프트웨어 업데이트 목록을 나타내는 예시도이다. 도 7에서 좌에서 우측 방향으로, 펌웨어(Firmware)들의 이름과 업데이트 날자(Date) 및 시간(Time)와 업데이트 결과(Result)를 표시하고 있다.
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
10, RC: 사용자 컴퓨터 20: 단말
30, BR: 브라우저 40: 웹서버
50: 업데이트 데몬 200: 소프트웨어 업데이트 장치
210: 프레임워크 220: 라이브러리
211: 소프트웨어 업데이트 어플리케이션 222a: 메인서버
212: 소프트웨어 업데이트 서비스 214: 데이터베이스 관리 서비스 216: 액티비티 218: 데이터베이스
221: 네이티브 서비스 클라이언트 222: 네이티브 서비스 222b: 네이티브 어플리케이션 서버 222c: 네이티브 서비스 서버
223: API 모듈 224: CGI 프로그램
225: 웹서버

Claims (12)

  1. 단말에서의 소프트웨어 업데이트 상태를 제공하는 방법으로서,
    원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하는 단계와,
    단말에서의 상기 소프트웨어 업데이트를 진행하는 단계와,
    상기 소프트웨어 업데이트의 진행상황을 나타내는 진행상황 메시지를 형성하는 단계와,
    상기 진행상황 메시지를 상기 사용자 컴퓨터로 전송하는 단계
    를 포함하는, 업데이트 상태 제공 방법.
  2. 제1항에 있어서,
    상기 소프트웨어 업데이트에 사용되는 총 파일 크기에 대한 업데이트 진행중인 파일 크기를 계산하여 업데이트 진행상황을 % 단위로 산출하는 단계와,
    산출된 % 단위의 업데이트 진행상황을 안드로이드 액티비티(Android activity)를 이용하여 디스플레이하는 단계
    를 더 포함하는, 업데이트 상태 제공 방법.
  3. 제1항에 있어서,
    소프트웨어 업데이트 이력에 대한 정보를 자바 언어(Java Language) 기반의 프레임워크 및 C/C++ 언어 기반의 라이브러리에 각각 저장하는 단계와,
    상기 소프트웨어 업데이트 이력에 대한 요청 수신 시 상기 라이브러리에 저장된 상기 소프트웨어 업데이트 이력에 대한 정보를 상기 사용자 컴퓨터로 전송하는 단계
    를 더 포함하는, 업데이트 상태 제공 방법.
  4. 제3항에 있어서,
    상기 원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하는 단계는,
    상기 단말 내의 웹서버에 의해 소프트웨어 업데이트 시작을 위한 웹 페이지 요청을 수신하는 단계와,
    상기 웹 페이지 요청을 수신한 상기 웹서버가 CGI(Common Gateway Interface)를 이용하여 CGI 프로그램을 실행시키는 단계와,
    상기 CGI 프로그램에 의해 API 모듈(Application Programmable Interface Module)을 사용하여 네이티브 어플리케이션 서버로 소프트웨어 업데이트 시작 명령을 전송하는 단계와,
    전송된 소프트웨어 업데이트 시작 명령을 메인서버의 메시지 큐를 통해 네이티브 서비스 서버로 전달하는 단계와,
    상기 네이티브 서비스 서버에 의해 바인더(Binder)를 이용하여 상기 소프트웨어 업데이트 시작 명령을 네이티브 서비스 클라이언트로 전달하는 단계와,
    상기 네이티브 서비스 클라이언트에 의해 JNI(Java Native Interface)를 통해 상기 프레임워크에서 동작중인 소프트웨어 업데이트 서비스로 업데이트 시작 명령을 전송하는 단계
    를 포함하는, 업데이트 상태 제공 방법.
  5. 제4항에 있어서,
    상기 단말에서의 상기 소프트웨어 업데이트를 진행하는 단계는,
    상기 프레임워크에서 동작중인 상기 소프트웨어 업데이트 서비스가 상기 업데이트 시작 명령을 수신하여 안드로이드 액티비티를 기동시키는 단계
    를 포함하는, 업데이트 상태 제공 방법.
  6. 제2항에 있어서,
    상기 진행상황 메시지를 상기 사용자 컴퓨터로 전송하는 단계는,
    상기 소프트웨어 업데이트 서비스에 의해 상기 % 단위의 업데이트 진행상황에 대한 정보를 이용하여 상황 정보 메시지를 형성하여 네이티브 서비스 클라이언트로 전송하는 단계와,
    상기 네이티브 서비스 클라이언트에 의해 상기 상황 정보 메시지를 네이티브 서비스 서버로 전송하는 단계와,
    상기 네이티브 서비스 서버에 의해 메인서버의 메시지 큐를 통해 네이티브 어플리케이션 서버로 상기 상황 정보 메시지를 전송하는 단계와,
    상기 네이티브 어플리케이션 서버에 의해 API 모듈에서 제공되는 콜백을 통해 상기 상황 정보 메시지를 CGI 프로그램으로 전송하는 단계와,
    상기 CGI 프로그램에 의해 상기 상황 정보 메시지를 HTML 형태로 변환하여 웹서버를 통해 상기 사용자 컴퓨터로 전송하는 단계
    를 포함하는, 업데이트 상태 제공 방법.
  7. 소프트웨어 업데이트 상태를 제공하는 장치로서,
    원격의 사용자 컴퓨터로부터 소프트웨어 업데이트에 대한 요청을 수신하고, 상기 소프트웨어 업데이트를 진행하며, 상기 소프트웨어 업데이트의 진행상황을 나타내는 진행상황 메시지를 형성하는 처리부와,
    상기 진행상황 메시지를 상기 사용자 컴퓨터로 전송하는 통신부와,
    상가 소프트웨어 업데이트 진행상황에 대한 정보를 저장하는 저장부
    를 포함하는, 업데이트 상태 제공 장치.
  8. 제7항에 있어서,
    상기 처리부는,
    상기 소프트웨어 업데이트에 사용되는 총 파일 크기에 대한 업데이트 진행중인 파일 크기를 계산하여 업데이트 진행상황을 % 단위로 산출하고, 산출된 % 단위의 업데이트 진행상황을 안드로이드 액티비티(Android activity)를 이용하여 디스플레이하는, 업데이트 상태 제공 장치.
  9. 제7항에 있어서,
    상기 처리부는,
    소프트웨어 업데이트 이력에 대한 정보를 자바 언어(Java Language) 기반의 프레임워크 및 C/C++ 언어 기반의 라이브러리에 각각 저장하도록 하고, 상기 소프트웨어 업데이트 이력에 대한 요청 수신 시 상기 라이브러리에 저장된 상기 소프트웨어 업데이트 이력에 대한 정보를 상기 사용자 컴퓨터로 전송하도록 하는, 업데이트 상태 제공 장치.
  10. 제7항에 있어서,
    상기 처리부는,
    상기 단말 내의 웹서버에 의해 소프트웨어 업데이트 시작을 위한 웹 페이지 요청을 수신하고, 상기 웹 페이지 요청을 수신한 상기 웹서버가 CGI(Common Gateway Interface)를 이용하여 CGI 프로그램을 실행시키며, 상기 CGI 프로그램에 의해 API 모듈(Application Programmable Interface Module)을 사용하여 네이티브 어플리케이션 서버로 소프트웨어 업데이트 시작 명령을 전송하고, 전송된 소프트웨어 업데이트 시작 명령을 메인서버의 메시지 큐를 통해 네이티브 서비스 서버로 전달하며, 상기 네이티브 서비스 서버에 의해 바인더(Binder)를 이용하여 상기 소프트웨어 업데이트 시작 명령을 네이티브 서비스 클라이언트로 전달하고, 상기 네이티브 서비스 클라이언트에 의해 JNI(Java Native Interface)를 통해 상기 프레임워크에서 동작중인 소프트웨어 업데이트 서비스로 업데이트 시작 명령을 전송하도록 하는, 업데이트 상태 제공 장치.
  11. 제10항에 있어서,
    상기 처리부는,
    상기 프레임워크에서 동작중인 상기 소프트웨어 업데이트 서비스가 상기 업데이트 시작 명령을 수신하여 안드로이드 액티비티를 기동시키도록 하는, 업데이트 상태 제공 장치.
  12. 제8항에 있어서,
    상기 처리부는,
    상기 소프트웨어 업데이트 서비스에 의해 상기 % 단위의 업데이트 진행상황에 대한 정보를 이용하여 상황 정보 메시지를 형성하여 네이티브 서비스 클라이언트로 전송하고, 상기 네이티브 서비스 클라이언트에 의해 상기 상황 정보 메시지를 네이티브 서비스 서버로 전송하며, 상기 네이티브 서비스 서버에 의해 메인서버의 메시지 큐를 통해 네이티브 어플리케이션 서버로 상기 상황 정보 메시지를 전송하고, 상기 네이티브 어플리케이션 서버에 의해 API 모듈에서 제공되는 콜백을 통해 상기 상황 정보 메시지를 CGI 프로그램으로 전송하며, 상기 CGI 프로그램에 의해 상기 상황 정보 메시지를 HTML 형태로 변환하여 웹서버를 통해 상기 사용자 컴퓨터로 전송하도록 하는, 업데이트 상태 제공 장치.
KR1020150167267A 2015-11-27 2015-11-27 업데이트 상태 제공 방법 및 장치 KR20170061993A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150167267A KR20170061993A (ko) 2015-11-27 2015-11-27 업데이트 상태 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150167267A KR20170061993A (ko) 2015-11-27 2015-11-27 업데이트 상태 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170061993A true KR20170061993A (ko) 2017-06-07

Family

ID=59223706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150167267A KR20170061993A (ko) 2015-11-27 2015-11-27 업데이트 상태 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20170061993A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828772A (zh) * 2019-02-19 2019-05-31 百度在线网络技术(北京)有限公司 热更新方法、操作系统、终端设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828772A (zh) * 2019-02-19 2019-05-31 百度在线网络技术(北京)有限公司 热更新方法、操作系统、终端设备和存储介质
CN109828772B (zh) * 2019-02-19 2022-03-11 百度在线网络技术(北京)有限公司 热更新方法、操作系统、终端设备和存储介质

Similar Documents

Publication Publication Date Title
US20150220245A1 (en) Branded computer devices and apparatus to connect user and enterprise
JP5130073B2 (ja) 情報処理システム、サーバ装置、ユーザ管理装置、情報処理方法、およびプログラム
US9864736B2 (en) Information processing apparatus, control method, and recording medium
CN110597595A (zh) 多语言信息的提供方法、配置方法、装置、设备和介质
KR101913346B1 (ko) 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치
US20110173606A1 (en) Information processing apparatus, control method thereof, and program
JP2012238208A (ja) ネットワークプリントシステムのクライアント装置、印刷データ生成サーバ、及び画像形成装置
US7584300B2 (en) Information processing system, mobile phone and information processing server
EP2652635B1 (en) Providing a customized application to a user terminal
KR20170061993A (ko) 업데이트 상태 제공 방법 및 장치
CN113596087A (zh) 应用升级方法、装置及计算机可读存储介质
JP2012089110A (ja) 情報提供装置および情報処理装置および制御方法およびプログラム
KR20120092433A (ko) 프로세싱 디바이스에서의 컨텐트 관리 방법 및 그 장치
CN112395096A (zh) 远程函数调用的处理方法、装置、电子设备及存储介质
US9250888B2 (en) Migration package for updating multiple software products
KR20150109720A (ko) 프로그램 일괄배포방법 및 이를 이용하는 서버-클라이언트 시스템
JP2020140432A (ja) ファームウェアアップグレードシステム、モバイルデバイス及びファームウェアアップグレードプログラム
US20150067854A1 (en) Apparatus and method for multi-checking for mobile malware
JP2015172881A (ja) 配信方法、装置、プログラム、及びリソース取得方法、装置、プログラム
CN114356348A (zh) 一种运行引擎系统及其应用
JP2009123097A (ja) 資産管理システム、携帯端末、サーバ及びプログラム
TWI531910B (zh) 資料管理方法、電腦程式產品及管理伺服器端
WO2020166374A1 (ja) 処理システム、処理方法、上位システム、下位システム、上位プログラムおよび下位プログラム
JP7436847B2 (ja) 情報処理装置
JP6785489B1 (ja) 情報処理方法、情報処理装置、情報処理システム及びコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application