KR20210021514A - 모바일 애플리케이션 운영 방법 - Google Patents

모바일 애플리케이션 운영 방법 Download PDF

Info

Publication number
KR20210021514A
KR20210021514A KR1020210022080A KR20210022080A KR20210021514A KR 20210021514 A KR20210021514 A KR 20210021514A KR 1020210022080 A KR1020210022080 A KR 1020210022080A KR 20210022080 A KR20210022080 A KR 20210022080A KR 20210021514 A KR20210021514 A KR 20210021514A
Authority
KR
South Korea
Prior art keywords
mobile application
virtual machine
mobile
operating
client device
Prior art date
Application number
KR1020210022080A
Other languages
English (en)
Other versions
KR102369345B1 (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
Priority claimed from KR1020150148731A external-priority patent/KR102233246B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020210022080A priority Critical patent/KR102369345B1/ko
Publication of KR20210021514A publication Critical patent/KR20210021514A/ko
Application granted granted Critical
Publication of KR102369345B1 publication Critical patent/KR102369345B1/ko

Links

Images

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 관점에 따른 클라우드 상의 가상 머신이 수행하는 모바일 애플리케이션 운영 방법은, 클라우드 상의 가상 머신에 설치된 모바일 프레임워크에서 실행되는 모바일 애플리케이션에게 클라이언트 장치를 통한 입력 신호를 전송하는 단계와, 상기 가상 머신에 설치된 운영 체제의 상기 모바일 프레임워크에 대한 운영 데이터를 수집하는 단계와, 상기 수집된 운영 데이터를 상기 클라이언트 장치로 전송하는 단계를 포함하고, 상기 운영 데이터를 수집하는 단계는, 상기 운영 체제의 파일 입출력 함수에 삽입한 후킹 코드가 함수 이름과 인자를 운영 패턴 로그 파일로 생성하고, 상기 후킹 코드가 생성한 상기 운영 패턴 로그 파일을 상기 운영 데이터로서 수집한다.

Description

모바일 애플리케이션 운영 방법{METHOD FOR MANAGING MOBILE APPLICATIONS IN VIRTUAL MACHINE}
본 발명은 모바일 애플리케이션 운영 방법에 관한 것으로, 더욱 상세하게는 클라우드의 가상 머신 상에서 모바일 애플리케이션을 운영 및 실행하는 방법에 관한 것이다.
주지하고 있는 바와 같이, 모바일 애플리케이션을 실행(예컨대, 기능 사용을 위한 실행 혹은 디버깅 용도로 사용하기 위한 실행 등)하는 경우에는 전용 모바일 장치에서 실행하거나 개인 데스크탑 환경에서 에뮬레이션 한다.
따라서 모바일 애플리케이션을 실행하기 위해서는 모바일 프레임워크(예컨대, 안드로이드 또는 iOS)가 실행 가능한 장치를 필요로 한다. 이를 위해 사용자 혹은 모바일 애플리케이션 개발자는 모바일 프레임워크가 실행 가능한 장치를 구입하여 사용한다.
하지만, 모바일 전용 기기가 없거나 혹은 모바일 애플리케이션의 특성(예컨대, 디버깅 혹은 모바일 애플리케이션이 어떤 파일을 읽고 쓰는지에 대한 특성 등)을 파악하고 모바일 애플리케이션의 결과물을 테스트(예컨대, 모바일 애플리케이션에 바이러스가 숨겨져 있는지를 검사하는 경우 등)하기 위해서는 일련의 테스트 장비가 필요하며, 이러한 테스트 장비를 위해 개인 장치를 이용하려면 비용 발생을 감수해야 할 뿐만 아니라 악의적 목적의 모바일 애플리케이션을 실행함에 따른 위험성까지 감수하여야 하는 문제점이 있었다.
또한, 모바일 전용 장치는 모바일 애플리케이션과 모바일 프레임워크가 출력하는 각종 운영 데이터와 로그 데이터를 확인하는데 한계가 있으며, 이를 해소하기 위해서는 전용 디버깅 프로그램이 설치된 고가의 데스크탑 컴퓨터 등과 같은 시스템이 필요하였다.
대한민국 공개특허공보 제10-2012-0116771호, 등록일자 2012년 10월 23일.
본 발명의 실시예에 따르면, 모바일 애플리케이션을 클라우드 환경의 가상 머신에서 운영 및 실행하고 그 결과를 클라이언트 장치로 전송할 수 있는 가상 머신의 모바일 애플리케이션 운영 방법을 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 관점에 따른 클라우드 상의 가상 머신이 수행하는 모바일 애플리케이션 운영 방법은, 클라우드 상의 가상 머신에 설치된 모바일 프레임워크에서 실행되는 모바일 애플리케이션에게 클라이언트 장치를 통한 입력 신호를 전송하는 단계와, 상기 가상 머신에 설치된 운영 체제의 상기 모바일 프레임워크에 대한 운영 데이터를 수집하는 단계와, 상기 수집된 운영 데이터를 상기 클라이언트 장치로 전송하는 단계를 포함하고, 상기 운영 데이터를 수집하는 단계는, 상기 운영 체제의 파일 입출력 함수에 삽입한 후킹 코드가 함수 이름과 인자를 운영 패턴 로그 파일로 생성하고, 상기 후킹 코드가 생성한 상기 운영 패턴 로그 파일을 상기 운영 데이터로서 수집한다.
본 발명의 실시예에 따르면, 사용자는 모바일 애플리케이션을 필요에 따라 모바일 장치가 아닌 클라우드에서 실행할 수 있다. 그리고 그 결과를 웹과 같은 표준화된 인터넷 장치로 확인할 수 있다. 예컨대, 입출력이 많은 애플리케이션을 키보드가 장착된 데스크탑 컴퓨터 등에서 편리하게 사용할 수 있다.
또한, 개발자의 경우는 개발과 디버깅을 고가의 개인 장치가 아닌 클라우드 기반으로 진행할 수 있으며, 클라우드 기반이기 때문에 다수의 개발자 혹은 테스터가 하나의 모바일 애플리케이션을 대상으로 하여 동시에 협업하여 테스트 할 수도 있다.
그리고, 모바일 애플리케이션과 모바일 프레임워크의 운영 패턴을 손쉽게 파악할 수 있다. 예컨대, 제 3자가 구현한 모바일 애플리케이션이 시스템의 어떠한 파일을 읽는지 확인하는 것은 모바일 전용 장치에서는 파악하기 힘들었으나, 본 발명의 실시예에 의하면 클라우드 기반의 모바일 프레임워크를 모니터링하는 장치를 통해서 쉽게 파악할 수 있다. 파일 뿐만 아니라, 모바일 애플리케이션이 이용하는 각종 센서 장치의 파악도 가능하다.
아울러, 모니터링 기능을 넘어 샌드박스(sandbox) 기능도 지원한다. 예컨대, 악의적 모바일 애플리케이션을 점검하는 경우, 실제 모바일 장치에서 실행하여 테스트하기에는 위험성이 있으나 클라우드에서 실행하면 그 파괴력이 클라우드에서 생성된 가상 머신에 국한되기에 피해 확산 없이 테스트를 할 수 있다.
도 1은 본 발명의 일 실시예에 따라 클라우드 상에 생성된 가상 머신과 클라이언트 장치의 구성도이다.
도 2은 본 발명의 일 실시예에 따른 가상 머신의 모바일 애플리케이션 운영 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따라 클라우드 상에 생성된 가상 머신과 클라이언트 장치의 구성도이다.
이에 나타낸 바와 같이 클라우드(1) 상에 생성된 가상 머신(100)은 운영 체제(110), 모바일 프레임워크(120), 모바일 애플리케이션(130), 원격 접속 도구(140)의 서버 모듈(141), 로그 데이터 수집기(150), 운영 데이터 수집기(160)를 포함하며, 클라이언트 장치(2)는 원격 접속 도구(140)의 클라이언트 모듈(142)을 포함한다.
운영 체제(110)는 모바일 애플리케이션(130)이 필요로 하는 모바일 프레임워크(120)를 운영해 주는 시스템이다. 예컨대, 운영 체제(110)는 리눅스(linux)일 수 있다.
모바일 프레임워크(120)는 모바일 애플리케이션(130)을 운영 및 실행하기 위한 기반을 제공한다. 예컨대, 안드로이드 또는 iOS일 수 있으며, 클라우드(1)가 x86 시스템으로 구성된 경우에 Android for x86일 수 있다.
원격 접속 도구(140)는 모바일 프레임워크(120)에서 운영 및 실행되는 모바일 애플리케이션(130)과 모바일 프레임워크(120)의 출력 신호를 클라이언트 장치(2)로 전송하고, 클라이언트 장치(2)의 입력 신호를 전송 받아 모바일 애플리케이션(130)에게 전달한다.
로그 데이터 수집기(150)는 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)가 생성하는 로그 데이터를 수집하며, 수집된 로그 데이터를 클라이언트 장치(2)에게 원격 접속 도구(140)를 통해 전송하거나 별도의 네트워크를 통해 클라이언트 장치(2)에게 전송한다.
운영 데이터 수집기(160)는 운영 체제(110)로부터 운영 데이터를 수집하며, 수집된 운영 데이터를 클라이언트 장치(2)에게 원격 접속 도구(140)를 통해 전송하거나 로그 데이터 수집기(150)에게 전달하여 별도의 네트워크를 통해 클라이언트 장치(2)에게 전송되도록 한다.
도 2은 본 발명의 일 실시예에 따른 가상 머신의 모바일 애플리케이션 운영 방법을 설명하기 위한 흐름도이다.
도 1 및 도 2를 참조하면 일 실시예에 따른 모바일 애플리케이션 운영 방법은, 클라우드(1) 상의 가상 머신(100)에 설치된 모바일 프레임워크(120)에서 실행되는 모바일 애플리케이션(130)에게 클라이언트 장치(2)를 통한 입력 신호를 전송하는 단계(S210)를 포함한다. 사용자가 가상 머신(100)에 입력하고자 하는 신호를 클라이언트 장치(2)에 입력하면 원격 접속 도구(140)의 클라이언트 모듈(142)과 서버 모듈(141)을 통해 가상 머신(100)으로 전송된다.
그리고, 가상 머신(100)에 설치된 운영 체제(110)의 운영 데이터를 수집하는 단계(S220)를 더 포함한다. 운영 체제(110)의 파일 입출력 함수를 후킹(Hooking)하여 운영 데이터를 수집할 수 있다. 파일 입출력 함수에 후킹 코드를 삽입한 후에, 후킹 코드가 함수 이름과 인자를 운영 패턴 로그 파일로 생성하면, 생성된 운영 패턴 로그 파일을 운영 데이터로서 수집할 수 있다. 또는, 운영 체제(110)의 시스템 콜 로그를 운영 데이터로서 수집할 수 있다.
아울러, 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)로부터 로그 데이터를 수집하는 단계(S230)를 더 포함한다. 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)가 생성하는 로그 데이터 저장소로부터 로그 데이터가 수집될 수 있다.
더불어, 모바일 애플리케이션(130)의 출력 신호, 수집된 운영 데이터 또는 수집된 로그 데이터를 클라이언트 장치(2)로 전송하는 단계(S240)를 더 포함한다. 모바일 애플리케이션(130)의 출력 신호는 원격 접속 도구(140)를 통해 클라이언트 장치(2)로 전송된다. 운영 데이터 수집기(160)에 의해 수집된 운영 데이터는 로그 데이터 수집기(150)로 전달되어 별도의 네트워크를 통해 클라이언트 장치(2)로 전송되거나 원격 접속 도구(140)를 통해 클라이언트 장치(2)에게 전달된다. 로그 데이터 수집기(150)에 의해 수집된 로그 데이터는 별도의 네트워크를 통해 클라이언트 장치(2)로 전송되거나 원격 접속 도구(140)를 통해 클라이언트 장치(2)에게 전달된다.
이하, 도 1 및 도 2를 참조하여 본 발명의 실시예에 따라 클라우드 상에 가상 머신이 설치되는 과정과 가상 머신과 클라이언트 장치 사이에 데이터가 전송되는 과정에 대해 설명하기로 한다.
먼저, 클라우드(1) 상에 가상 머신(100)을 생성하며, 생성된 가상 머신(100)에 가상 머신용의 운영 체제(110)를 설치한다. 그리고 모바일 애플리케이션(130)을 운영 및 실행할 수 있는 모바일 프레임워크(120)를 물리 머신에 맞게 선택하여 가상 머신(100)에 설치한다.
이어서, VNC(Virtual Network Computing) 등과 같은 원격 접속 도구(140)를 클라우드(1)와 클라이언트 장치(2)에 설치한다. 원격 접속 도구(140)는 클라우드(1)에서 실행되는 시스템 화면과 맵핑되는 화면을 클라이언트 장치(2)로 전송할 수 있고, 가상 머신(100)과 클라이언트 장치(2)가 네트워크를 통해 데이터를 주고 받을 수 있도록 지원한다. 이를 위해, 원격 접속 도구(140)를 이루는 서버 모듈(141)과 클라이언트 모듈(142) 중에서 서버 모듈(141)을 클라우드(1) 상에 설치하며, 클라이언트 모듈(142)을 클라이언트 장치(2)에 설치한다.
그리고, 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)가 생성하는 로그 데이터를 수집하는 로그 데이터 수집기(150)를 클라우드(1) 상에 설치하고, 운영 체제(110)로부터 운영 데이터를 수집하는 운영 데이터 수집기(160)를 클라우드(1) 상에 설치한다.
이후, 사용자는 모바일 애플리케이션(130)을 클라우드(1) 상의 가상 머신(100)으로 전송하여 설치한다. 그리고 가상 머신(100)에 입력하고자 하는 신호가 있는 경우에는 클라이언트 장치(2)에 입력하면 원격 접속 도구(140)에 의해 사용자의 입력 신호가 가상 머신(100)으로 전송된다. 이렇게 사용자는 클라이언트 장치(2)를 이용하여 가상 머신(100)에 설치된 모바일 애플리케이션(130)을 실행할 수 있다(S210).
가상 머신(100)의 모바일 애플리케이션(130)이 운영 및 실행 중일 때에 운영 데이터 수집기(160)는 가상 머신(100)에 설치된 운영 체제(110)의 운영 데이터를 수집한다(S220).
운영 데이터가 수집되는 과정을 살펴보면, 운영 체제(110)와 모바일 프레임워크(120)는 응용 레벨에서 다양하게 기능 및/또는 센서 장치를 사용하여도 내부적으로는 파일 입출력 함수(예컨대, READ, WRITE, OPEN, CLOSE)로 맵핑 된다. 즉, 파일을 읽을 경우도 파일 함수로 이뤄지고 가속 센서를 읽을 때도 가속 센서에 대해 파일 함수로 이뤄진다. 결과적으로 시스템의 다양한 자원을 읽고 쓰고 확인함에 있어 모든 것이 파일 입출력 함수 형태로 이뤄진다. 따라서, 리눅스 등과 같은 운영 체제(110)에서 파일 입출력 함수를 후킹하면 해당 장치나 파일 등과 같은 전반적 자원에 대한 사용 패턴을 파악할 수 있다. 즉, 입출력 파일 함수의 함수 실행 도입 부분에 로그를 저장하는 후킹 코드를 삽입하면 후킹 코드가 함수 이름과 인자를 텍스트로 변환하여 로그 디렉토리에 운영 패턴 로그 파일로 저장한다. 예컨대, 가속 장치에 대해 READ를 할 경우, "장치: 가속장치, 행위: 읽기, 파라미터: ??"와 같은 유형의 운영 패턴 로그 파일을 저장한다. 그러면 운영 데이터 수집기(160)가 운영 패턴 로그 파일을 운영 데이터로서 수집한다.
또는, 운영 데이터 수집기(160)는 운영 체제(110)의 시스템 콜 로그를 운영 데이터로서 수집할 수 있다. 예컨대, 운영 체제(110)가 리눅스일 경우라면 strace 명령어를 이용하면 사용자가 모바일 애플리케이션(130)을 실행 시에 strace를 수행하여 시스템 콜 로그를 수집한다.
그리고, 운영 데이터 수집기(160)는 수집된 운영 데이터를 로그 데이터 수집기(150)로 전달하거나 원격 접속 도구(140)를 통해 클라이언트 장치(2)에게 전달한다.
아울러, 가상 머신(100)의 모바일 애플리케이션(130)이 운영 및 실행 중일 때에 로그 데이터 수집기(150)는 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)로부터 로그 데이터를 수집한다(S230).
로그 데이터 수집기(150)는 모바일 애플리케이션(130) 또는 모바일 프레임워크(120)가 생성하는 자체의 로그 데이터 저장소로부터 로그 데이터를 수집할 수 있다. 예컨대, 모바일 프레임워크(120)가 안드로이드일 경우에 Log 패키지를 통해 로그 데이터를 수집하며, 리눅스의 경우에는 syslog 기능을 통해 로그를 수집한다. 이렇게 로그 데이터는 패키지와 기능을 통해 실시간으로 수집할 수 있다.
그리고, 로그 데이터 수집기(150)는 운영 데이터 수집기(160)로부터 전달받은 운영 데이터와 함께 별도의 네트워크 연결을 통해 클라이언트 장치(2)에게 직접 전달하거나 원격 접속 도구(140)를 통해 클라이언트 장치(2)에게 전달한다.
아울러, 가상 머신(100)에서 운영 및 실행되는 모바일 애플리케이션(130)의 출력 신호는 원격 접속 도구(140)를 통해 클라이언트 장치(2)로 전송되어 사용자가 화면 데이터를 볼 수 있도록 한다. 이로써, 사용자는 클라우드 서비스를 이용하여 모바일 전용 장치가 아닌 환경에서 모바일 애플리케이션(130)을 에뮬레이션 할 수 있다(S240).
이렇게 함으로써 사용자는 모바일 애플리케이션(130)을 실행함에 있어 모바일 전용 장치가 아닌 클라우드 서비스를 이용하여 데스크탑 컴퓨터 등을 통해 확인하게 된다. 이럴 경우, 사용자는 데스크탑 컴퓨터를 통해 모바일 서비스를 이용할 수 있으며, 모바일 개발 업체는 해당 모바일 서비스를 데스크탑용으로 다시 개발하지 않아도 된다.
또한, 개발자의 경우에는 디버깅의 도움을 받을 수 있다. 모바일 애플리케이션(130)을 실행하면서 발생하는 각종 로그 데이터, 시스템 데이터를 로그 데이터 수집기(150)를 통해 받아서 이를 확인할 수 있어 디버깅이 용이해진다.
테스터의 경우에는 모바일 애플리케이션(130)의 소스 없이도 어떤 파일을 입력 또는 출력하는 지를 파악할 수 있고, 어떤 센서 장치를 이용하는지를 운영 패턴 데이터를 통해 파악 할 수 있다. 그리고, 해당 모바일 애플리케이션(130)이 악의를 갖고 시스템을 파괴하려고 하여도 그 대상은 실제 모바일 장치가 아니라 클라우드에서 실행되는 가상 머신이기 때문에 악의적 행위의 결과는 가상 머신에만 국한되는 일종의 샌드박스와 같은 기능도 제공된다.
이러한 서비스는 클라우드 중에서 PaaS(Platform as a service) 시스템의 한 응용으로 실현될 경우 유용성이 매우 크다. PaaS에서 본 발명이 하나의 응용 타입으로 등록될 경우에 개발자는 자바 응용을 생성하듯이 안드로이드 프레임워크를 웹 서비스 형태로 생성한다. 그리고 개발자는 이렇게 생성된 안드로이드 프레임워크에 특정 모바일 애플리케이션을 설치하여 사용자들에게 이용하게 할 수 있다. 결국 특정 모바일 애플리케이션이 설치된 인스턴스를 웹 서비스 형태로 사용자에게 제공할 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 의하면, 모바일 애플리케이션을 필요에 따라 모바일 장치가 아닌 클라우드에서 실행할 수 있다. 이러한 본 발명은 모바일 애플리케이션을 개발하거나 테스트하는 기술분야에 이용할 수 있을 뿐만 아니라 모바일 애플리케이션을 데스크탑 컴퓨터 등과 같이 비모바일 환경에서 사용하고자 할 때에도 이용할 수 있다.
100 : 가상 머신 110 : 운영 체제
120 : 모바일 프레임워크 130 : 모바일 애플리케이션
140 : 원격 접속 도구 150 : 로그 데이터 수집기
160 : 운영 데이터 수집기

Claims (4)

  1. 클라우드 상의 가상 머신이 수행하는 모바일 애플리케이션 운영 방법으로서,
    클라우드 상의 가상 머신에 설치된 모바일 프레임워크에서 실행되는 모바일 애플리케이션에게 클라이언트 장치를 통한 입력 신호를 전송하는 단계와,
    상기 가상 머신에 설치된 운영 체제의 상기 모바일 프레임워크에 대한 운영 데이터를 수집하는 단계와,
    상기 수집된 운영 데이터를 상기 클라이언트 장치로 전송하는 단계를 포함하고,
    상기 운영 데이터를 수집하는 단계는,
    상기 운영 체제의 파일 입출력 함수에 삽입한 후킹 코드가 함수 이름과 인자를 운영 패턴 로그 파일로 생성하고, 상기 후킹 코드가 생성한 상기 운영 패턴 로그 파일을 상기 운영 데이터로서 수집하는
    가상 머신 상에서 수행되는 모바일 애플리케이션 운영 방법.
  2. 제 1 항에 있어서,
    상기 모바일 애플리케이션 또는 상기 모바일 프레임워크가 생성하는 로그 데이터 저장소로부터 상기 로그 데이터를 수집하여 상기 클라이언트 장치로 전송하는 단계를 더 포함하는
    가상 머신 상에서 수행되는 모바일 애플리케이션 운영 방법.
  3. 제 1 항 또는 제 2 항의 모바일 애플리케이션 운영 방법을 프로세서가 수행하도록 하기 위하여
    컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  4. 제 1 항 또는 제 2 항의 모바일 애플리케이션 운영 방법을 프로세서가 수행하도록 하는
    컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
KR1020210022080A 2015-10-26 2021-02-18 모바일 애플리케이션 운영 방법 KR102369345B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210022080A KR102369345B1 (ko) 2015-10-26 2021-02-18 모바일 애플리케이션 운영 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150148731A KR102233246B1 (ko) 2015-10-26 2015-10-26 모바일 애플리케이션 운영 방법
KR1020210022080A KR102369345B1 (ko) 2015-10-26 2021-02-18 모바일 애플리케이션 운영 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148731A Division KR102233246B1 (ko) 2015-10-26 2015-10-26 모바일 애플리케이션 운영 방법

Publications (2)

Publication Number Publication Date
KR20210021514A true KR20210021514A (ko) 2021-02-26
KR102369345B1 KR102369345B1 (ko) 2022-03-02

Family

ID=80815113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022080A KR102369345B1 (ko) 2015-10-26 2021-02-18 모바일 애플리케이션 운영 방법

Country Status (1)

Country Link
KR (1) KR102369345B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032873B1 (ko) * 2009-07-14 2011-05-06 한양대학교 산학협력단 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법
KR20120046807A (ko) * 2010-10-27 2012-05-11 주식회사 엘지유플러스 가상화 플랫폼 제공 방법 및 장치
KR20120081873A (ko) * 2011-01-12 2012-07-20 에스케이플래닛 주식회사 모바일 어플리케이션 검증 방법 및 이를 적용한 단말
KR20120116771A (ko) 2011-04-13 2012-10-23 주식회사 케이티 단말의 다중 운영체제 구동장치 및 운영체제 전환방법
KR101418373B1 (ko) * 2013-01-24 2014-07-11 (주)아펙스플랫폼 클라우드 환경 기반 가상 휴대 단말 제공 장치
KR20140090503A (ko) * 2013-01-09 2014-07-17 (주)누스코 앱 미리보기 수행 및 자동 인증 가능한 앱스토어 시스템
KR101423030B1 (ko) * 2013-12-31 2014-07-23 주식회사 비디 컴퓨터 실행 가능한 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체
KR20150115238A (ko) * 2014-04-03 2015-10-14 주식회사 엘지씨엔에스 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 서버 및 이를 저장하는 기록매체

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032873B1 (ko) * 2009-07-14 2011-05-06 한양대학교 산학협력단 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법
KR20120046807A (ko) * 2010-10-27 2012-05-11 주식회사 엘지유플러스 가상화 플랫폼 제공 방법 및 장치
KR20120081873A (ko) * 2011-01-12 2012-07-20 에스케이플래닛 주식회사 모바일 어플리케이션 검증 방법 및 이를 적용한 단말
KR20120116771A (ko) 2011-04-13 2012-10-23 주식회사 케이티 단말의 다중 운영체제 구동장치 및 운영체제 전환방법
KR20140090503A (ko) * 2013-01-09 2014-07-17 (주)누스코 앱 미리보기 수행 및 자동 인증 가능한 앱스토어 시스템
KR101418373B1 (ko) * 2013-01-24 2014-07-11 (주)아펙스플랫폼 클라우드 환경 기반 가상 휴대 단말 제공 장치
KR101423030B1 (ko) * 2013-12-31 2014-07-23 주식회사 비디 컴퓨터 실행 가능한 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체
KR20150115238A (ko) * 2014-04-03 2015-10-14 주식회사 엘지씨엔에스 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 서버 및 이를 저장하는 기록매체

Also Published As

Publication number Publication date
KR102369345B1 (ko) 2022-03-02

Similar Documents

Publication Publication Date Title
RU2653985C2 (ru) Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию
Bierma et al. Andlantis: Large-scale Android dynamic analysis
US9411702B2 (en) Flexible and modular load testing and monitoring of workloads
US20120110551A1 (en) Simulating black box test results using information from white box testing
US10452435B2 (en) Dynamic build pipeline execution
Shahriar et al. Testing of memory leak in android applications
US10042744B2 (en) Adopting an existing automation script to a new framework
CN111382048B (zh) 真机测试平台上移动设备的管理方法和装置
Kim et al. Industrial application of concolic testing on embedded software: Case studies
Kim et al. Prof-gen: Practical study on system call whitelist generation for container attack surface reduction
Kupsch et al. Bad and good news about using software assurance tools
Jiang et al. Pandora: A cyber range environment for the safe testing and deployment of autonomous cyber attack tools
KR102369345B1 (ko) 모바일 애플리케이션 운영 방법
KR102233246B1 (ko) 모바일 애플리케이션 운영 방법
Liu et al. RealDroid: Large-Scale Evasive Malware Detection on" Real Devices"
US9703676B2 (en) Testing application internal modules with instrumentation
Rashid et al. Automatic Android Malware Analysis
Choi et al. API tracing tool for android-based mobile devices
Ly et al. eDSDroid: a hybrid approach for information leak detection in android
Bytes et al. Post-exploitation and persistence techniques against programmable logic controller
Iyer Cloud testing: an overview
US20230221975A1 (en) Methods, systems, and computer readable media for customizing data plane pipeline processing using berkeley packet filter (bpf) hook entry points
US20240168792A1 (en) Detecting security exceptions across multiple compute environments
Nasiri et al. A case study for a novel framework for cloud testing
Burke et al. How to tame your android malware

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant