KR101313715B1 - 클라이언트 제어와 감시 시스템 및 그 방법 - Google Patents

클라이언트 제어와 감시 시스템 및 그 방법 Download PDF

Info

Publication number
KR101313715B1
KR101313715B1 KR1020110028953A KR20110028953A KR101313715B1 KR 101313715 B1 KR101313715 B1 KR 101313715B1 KR 1020110028953 A KR1020110028953 A KR 1020110028953A KR 20110028953 A KR20110028953 A KR 20110028953A KR 101313715 B1 KR101313715 B1 KR 101313715B1
Authority
KR
South Korea
Prior art keywords
event
host
application
client
monitoring
Prior art date
Application number
KR1020110028953A
Other languages
English (en)
Other versions
KR20120110824A (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 (주)헬릭스테크
Priority to KR1020110028953A priority Critical patent/KR101313715B1/ko
Publication of KR20120110824A publication Critical patent/KR20120110824A/ko
Application granted granted Critical
Publication of KR101313715B1 publication Critical patent/KR101313715B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)

Abstract

클라이언트 제어 및 감시 시스템이 개시된다. 클라이언트 제어 및 감시 시스템은 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트, 및 상기 클라이언트를 제어하고 감시하기 위한 호스트를 포함하되, 상기 클라이언트의 상기 애플리케이션 계층에서 동작하는 에이전트는 상기 호스트로부터 전달된 애플리케이션 제어 명령에 대응하는 이벤트를 생성하고, 상기 생성된 이벤트를 상기 애플리케이션 계층의 제어 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 매니저에 등록한다. 이에 의해 안드로이드 플랫폼과 같이 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트를 원격 제어하는 것이 가능하다.

Description

클라이언트 제어와 감시 시스템 및 그 방법{System for controlling and monitoring client and method thereof}
호스트에서 클라이언트를 제어하거나 감시하기 위한 기술에 관한 것이다.
안드로이드 플랫폼은 구글(Google)사가 주도하는 OHA(Open Handset Alliance)에서 공개한 소프트웨어 스택으로, 리눅스(Linux) 커널, 가상 머신(virtual machine, VM), 프레임워크(framework), 애플리케이션(application)을 모두 포함하는 소프트웨어 패키지를 의미한다. 안드로이드 플랫폼은 주로 해상도 800×400의 WVGA(wide VGA)급의 큰 화면의 디스플레이와 터치스크린 입력을 제공하는 고사양의 스마트 단말에만 적용이 가능하다. 안드로이드 애플리케이션을 실행시키기 위해서는 스마트 단말에 안드로이드 전체 소프트웨어 스택을 적용해야 한다. 안드로이드 소프트웨어 스택은 리눅스 커널을 포함하고, 있으며, 시스템 데몬과 같은 기본 서비스를 다수 포함하고 있기 때문에, 고사양의 하이-엔드(high-end) 스마트폰에 적합한 플랫폼이다.
한편, 현재 안드로이드 스마트폰에서는 일반적으로 애플리케이션 계층(Application Layer)에 상주하는 하나의 애플리케이션이 그와 동등한 위상을 가지는 다른 애플리케이션을 제어하거나 동작 상태를 확인할 수 있는 방법이 없다. 왜냐하면, 안드로이드 플랫폼은 애플리케이션 계층 상에 존재하는 각각의 애플리케이션들이 서로 다른 애플리케이션과 독립적으로 동작하도록 설계되어 있기 때문이다. 따라서, 기본적으로 애플리케이션 개발자가 특별히 자신이 개발한 애플리케이션 간의 정보교환을 위해 별도의 인터페이스를 만드는 설계를 하지 않는 한, 하나의 애플리케이션은 다른 애플리케이션의 동작을 감시하거나 제어할 수 없다.
이러한 안드로이드 플랫폼 구조는 다양하고 수많은 안드로이드 애플리케이션의 정상 동작 여부를 검사하고 평가 검사 프로그램을 개발하는 데 있어서 결정적인 장애요소가 된다. 더욱이, 안드로이드 스마트폰에 설치되는 응용 소프트웨어들이 서로 다른 개발자들로부터 자유롭게 개발되고 그 수가 기하급수적으로 늘어남에 따라, 응용 소프트웨어 품질의 신뢰성 확보에 대한 문제 의식과 관리 방안이 강력하게 요구되고 있는 실정이다. 또한 안드로이드 스마트폰의 하드웨어 제어, 예를 들어 LCD on/off, 진동 on/off 등 다양한 하드웨어의 테스트를 위한 외부 제어도 함께 요구되고 있다.
본 발명은 애플리케이션 계층에 위치하는 애플리케이션들이 서로 독립적으로 동작하며 서로에게 직접적으로 어떠한 명령을 주거나 받을 수 없도록 설계된 플랫폼이 탑재된 통신 단말의 클라이언트 동작을 제어하고 감시할 수 있는 기술적 방안을 제공함을 목적으로 한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 클라이언트 제어 및 감시 시스템은 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트, 및 상기 클라이언트를 제어하고 감시하기 위한 호스트를 포함하되, 상기 클라이언트의 상기 애플리케이션 계층에서 동작하는 에이전트는 상기 호스트로부터 전달된 애플리케이션 제어 명령에 대응하는 이벤트를 생성하고, 상기 생성된 이벤트를 상기 애플리케이션 계층의 제어 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 매니저에 등록한다.
여기서 상기 에이전트는 상기 호스트로부터 전달된 감시 명령에 따라 라이브러리 계층의 이벤트 드라이버 혹은 상기 프레임워크 계층의 매니저로부터 직접 이벤트를 획득하여 상기 호스트로 전달하며, 상기 호스트는 상기 전달된 이벤트에 대응하는 동작을 수행한다. 그리고 상기 에이전트는 상기 획득된 이벤트 유형이 기지정된 유형에 속하는 경우에만 상기 획득된 이벤트를 상기 호스트로 전달한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 클라이언트 감시 시스템은 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트, 및 상기 클라이언트를 감시하기 위한 호스트를 포함하되, 상기 클라이언트의 상기 애플리케이션 계층에서 동작하는 에이전트는 라이브러리 계층의 이벤트 드라이버에 직접 접근하여 상기 이벤트 드라이버에 집적된 이벤트를 획득하고 상기 호스트로 전달하며, 상기 호스트는 전달된 이벤트에 대응하는 동작을 수행한다.
여기서 상기 에이전트는 프레임워크 계층의 매니저에 직접 접근하여 상기 매니저에 등록된 상기 애플리케이션 계층에서 발생하는 이벤트를 획득하고 상기 호스트로 전달한다. 그리고 상기 에이전트는 상기 획득된 이벤트 유형이 기지정된 유형에 속하는 경우에만 상기 획득된 이벤트를 상기 호스트로 전달한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트 내 상기 애플리케이션 계층에서 동작하는 에이전트의 클라이언트 제어 및 감시 방법은 호스트로부터 애플리케이션을 제어하기 위한 암호화된 제어 명령을 전달받는 단계, 상기 암호화된 제어 명령을 복호화하는 단계, 상기 복호화된 제어 명령에 대응하는 이벤트를 생성하는 단계, 및 상기 생성된 이벤트를 상기 제어 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 매니저에 등록하는 단계를 포함한다.
나아가 상기 에이전트의 클라이언트 제어 및 감시 방법은 상기 호스트로부터 상기 애플리케이션 계층에 전달되는 키 이벤트 및 터치 이벤트에 대한 감시 명령을 수신하는 단계, 상기 감시 명령에 따라 라이브러리 계층의 이벤트 드라이버에 직접 접근하여 상기 이벤트 드라이버에 집적된 이벤트를 획득하는 단계, 및 상기 획득된 이벤트 유형이 키 이벤트 혹은 터치 이벤트인 경우에 상기 획득된 이벤트를 상기 호스트로 전달하는 단계를 더 포함한다.
나아가 상기 에이전트의 클라이언트 제어 및 감시 방법은 상기 호스트로부터 상기 애플리케이션 계층에서 발생하는 이벤트에 대한 감시 명령을 수신하는 단계, 상기 감시 명령에 따라 프레임워크 계층의 매니저에 직접 접근하여 상기 매니저에 등록된 상기 애플리케이션 계층에서 발생하는 이벤트를 획득하는 단계, 및 상기 획득된 이벤트 유형이 기지정된 이벤트 유형인 경우에 상기 획득된 이벤트를 상기 호스트로 전달하는 단계를 더 포함한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트 내 상기 애플리케이션 계층에서 동작하는 에이전트의 애플리케이션 감시 방법은 호스트로부터 상기 클라이언트에 대한 암호화된 감시 명령을 수신하는 단계, 상기 암호화된 감시 명령을 복호화하는 단계, 상기 복호화된 감시 명령에 따라 라이브러리 계층의 이벤트 드라이버에 직접 접근하여 상기 이벤트 드라이버에 집적된 이벤트를 획득하거나 프레임워크 계층의 매니저에 직접 접근하여 상기 매니저에 등록된 상기 애플리케이션 계층에서 발생하는 이벤트를 획득하는 단계, 및 상기 획득된 이벤트 유형이 기지정된 이벤트 유형인 경우에 상기 획득된 이벤트를 상기 호스트로 전달하는 단계를 포함한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 통신 단말은 하드웨어 제어 함수들로 하드웨어를 제어하는 라이브러리 계층에 위치한 이벤트 드라이버, 상기 이벤트 드라이버의 하드웨어 제어 함수들과 일대일 대응되는 함수들을 가지며, 상기 이벤트 드라이버에 액세스하여 상기 함수들 중 호출 요청된 함수에 대응되는 하드웨어 제어 함수의 호출을 지시하는 상기 라이브러리 계층에 위치한 통신 모듈, 및 호스트의 명령에 따른 하드웨어 제어를 위한 함수를 확인하고, 상기 통신 모듈에 액세스하여 상기 확인된 함수의 호출을 요청하는 애플리케이션 계층에 위치한 에이전트를 포함한다. 여기서 상기 통신 모듈은 표준화된 통신 모듈이다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트 내 상기 애플리케이션 계층에서 동작하는 에이전트의 클라이언트 제어 방법은 호스트의 제어 명령을 분석하는 단계, 상기 분석된 제어 명령이 하드웨어 제어 명령인 경우, 이벤트 드라이버에 액세스 가능하며 상기 이벤트 드라이버의 하드웨어 제어 함수들과 일대일 대응되는 함수들을 갖는 통신 모듈의 상기 함수들 중 상기 하드웨어 제어 명령에 대응하는 함수를 확인하는 단계, 상기 통신 모듈로 하여금 상기 이벤트 드라이버로 상기 확인된 함수에 대응되는 하드웨어 제어 함수의 호출을 지시하도록 하기 위해, 상기 통신 모듈에 액세스하여 상기 확인된 함수의 호출을 요청하는 단계를 포함한다.
여기서 상기 확인된 함수의 호출을 요청하는 단계는 상기 통신 모듈과의 인터페이스를 제공하는 프레임워크 계층을 통하여 상기 통신 모듈에 액세스하여 상기 확인된 함수의 호출을 요청한다.
본 발명은 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼(예를 들어, 안드로이드 플랫폼)이 탑재된 통신 단말(예를 들어, 스마트폰)의 애플리케이션에 대한 제어 및 감시를 가능하게 한다. 또한 본 발명에 따른 클라이언트 제어 및 감시를 위한 에이전트는 애플리케이션으로 만들어지기 때문에, 필요한 경우 스마트폰에 설치해서 사용하고, 사용이 끝나면 제거(uninstall)할 수 있는 장점이 있다. 따라서 평소에는 에이전트를 스마트폰에 설치할 필요가 없기 때문에, 에이전트의 오동작이나 해킹 등에 악용될 소지를 원천 차단할 수 있다. 이에 반해 기존의 테스트 프로그램은 스마트폰 출하시 탑재되어야 하는 불편함이 있으며, 필요에 따라 설치하고 제거할 수 있는 것이 아니므로 해킹 등에 악용될 소지가 있다.
또한 본 발명은 라이브러리 계층의 통신 모듈을 표준화하고 이벤트 드라이버의 하드웨어 제어 함수들과 통신 모듈의 함수들이 엘리어스(alias)되도록 하며, 에이전트가 드라이버를 액세스하는 데 표준화되어 있는 통신 모듈까지만 JNI(JUAVA Native Interface)를 통해 액세스하여 하드웨어 제어 함수들을 호출할 수 있도록 한다. 이에 따라 에이전트를 이용하여 스마트폰의 하드웨어를 원격 제어하는 것이 가능해진다. 즉, 애플리케이션 개발자는 하드웨어 드라이버를 몰라도 JNI를 통하여 표준화된 통신 모듈에 액세스할 수 있으므로, 결과적으로 하드웨어 드라이버로의 액세스가 가능해지는 것이다.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 제어 및 감시 시스템 구성도.
도 2는 본 발명의 일 실시예에 따른 통신 단말 블록도.
도 3은 본 발명의 일 실시예에 따른 애플리케이션 제어를 설명하기 위한 참조도.
도 4는 도 3에 따른 애플리케이션 제어를 순차적으로 표현한 도면.
도 5는 본 발명의 일 실시예에 따른 애플리케이션 감시 설명을 위한 참조도.
도 6은 도 5에 따른 제어 대상 애플리케이션에 대한 키/터치 이벤트 감시를 설명하기 위한 참조도.
도 7은 도 5에 따른 애플리케이션 계층에서 발생하는 이벤트 감시를 설명하기 위한 참조도.
도 8은 본 발명의 일 실시예에 따른 하드웨어 제어를 설명하기 위한 참조도.
도 9는 본 발명의 일 실시예에 따른 에이전트에서 수행되는 하드웨어 제어 방법 흐름도.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 제어 및 감시 시스템 구성도이다.
이 시스템은 호스트(110)와 클라이언트(120)를 포함한다. 호스트(110)는 클라이언트(120)와 통신 연결되어 클라이언트(120)를 원격 제어하거나 감시하기 위한 구성이다. 일 실시예에 있어서, 호스트(100)는 클라이언트(120)를 원격 제어하거나 감시하기 위한 역할만을 위해 필요한 하드웨어 및 소프트웨어로 이루어지는 더미 패드(Dummy PAD)임이 바람직하다. 일 실시예에 있어서, 호스트(110)는 LCD와 터치 인터페이스를 포함하며, 정전식 터치 정합 및 LCD HDMI(High Definition Multimedia Interface) 정합을 지원한다. 또한 호스트(110)는 고출력 사운드 기능을 지원한다. 나아가 호스트(110)는 독립적으로는 전자 액자 기능을 제공할 수 있다.
클라이언트(120)는 통신 단말이며, 바람직하게 스마트폰일 수 있다. 이 클라이언트(120)에는 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된다. 일 실시예에 있어서, 클라이언트(120)에 탑재되는 플랫폼은 안드로이드 플랫폼이다. 일 실시예에 있어서, 클라이언트(120)는 논리적으로 ADB(Android Debug Bridge), 물리적으로 USB를 이용하여 호스트(110)와 통신한다. 그리고 패킷 전송을 위해 TCP(Transmission Control Protocol) Bridge가 적용될 수 있다. 또한 물리적인 통신 방식으로는 USB 대신에 I2C가 적용될 수도 있다. Inter-IC라고도 불리는 I2C는 집적회로들 간의 통신 링크를 제공하는 두 가닥 선의 양방향 직렬 버스이다. 이와 달리 무선 방식인 WiFi 등이 물리적인 통신 방식 대신에 이용될 수도 있다. 또한 클라이언트(120)는 멀티미디어 정보를 호스트로 전달하기 위한 멀티미디어 인터페이스를 지원하며, 일 예로 HDMI일 수 있다. 이 같은 클라이언트(120)의 애플리케이션 계층에는 설치 및 제거 가능한 에이전트가 위치하며, 이 에이전트는 호스트(110)의 클라이언트 제어 및 감시 명령에 따른 동작을 수행한다.
도 2는 본 발명의 일 실시예에 따른 통신 단말 블록도이다.
통신 단말(120)은 멀티미디어 인터페이스(210)와 통신부(220) 및 제어부(230)를 포함한다. 멀티미디어 인터페이스(210)는 호스트(110)로의 비디오/오디오 전송을 위한 인터페이스로, HDMI(High Definition Multimedia Interafce)를 예로 들 수 있다. 스마트폰의 경우, HDMI는 기본적으로 제공된다. 통신부(220)는 호스트(110)와의 통신을 지원하기 위한 구성이다. 일 실시예에 있어서, 통신부(220)는 논리적으로 ADB(Android Debug Bridge), 물리적으로 USB 인터페이스를 제공한다. 통신부(220)는 USB 인터페이스 대신에 I2C 인터페이스를 제공할 수도 있다. 또한 통신부(220)는 USB 인터페이스 대신에 무선 방식인 WiFi 인터페이스를 제공할 수도 있다. 나아가 통신부(220)는 패킷 전송을 위해 TCP(Transmission Control Protocol) Bridge를 제공할 수 있다.
제어부(230)는 통신 단말(120)을 제어하기 위한 컨트롤러로서, 애플리케이션 제어 및 감시를 위한 프로그램인 에이전트(AATAgent)(240)를 로딩하여 실행함으로써 클라이언트 제어 및 감시 기능을 활성화한다. 이 같은 제어부(230)는 클라이언트 제어 기능을 위해 명령 분석부(310), 이벤트 생성부(320), 및 이벤트 등록부(330)를 포함한다. 명령 분석부(310)는 호스트(110)로부터 통신부(220)를 통해 수신된 애플리케이션 제어 명령을 분석한다. 명령 분석부(310)에 의해 제어 명령이 분석되면, 이벤트 생성부(320)는 분석된 제어 명령에 대응하는 이벤트를 생성한다. 이벤트 생성부(320)에 의해 이벤트가 생성되면, 이벤트 등록부(330)는 애플리케이션 프레임워크 계층(Application Framework Layer)의 매니저(Manager)에 이벤트를 등록한다. 매니저에 등록된 이벤트는 제어 대상 애플리케이션으로 전달되며, 이에 따라 제어 대상 애플리케이션은 전달된 이벤트를 정상적으로 받아들여야 할 이벤트로 인식하여 그에 대한 일련의 결과(반응)를 출력한다. 또한 제어부(230)는 그 일련의 결과가 멀티미디어 정보인 비디오/오디오로 출력되는 것이면, 그 출력 비디오/오디오를 멀티미디어 인터페이스(210)를 통해 호스트(110)로 전달한다. 이에 호스트(110)는 멀티미디어 인터페이스를 통해 전달된 비디오/오디오를 수신하여 LCD 및 스피커로 출력하게 된다.
한편, 제어부(230)는 클라이언트 감시 기능을 위해 이벤트 획득부(340)와 이벤트 분석부(350) 및 이벤트 추출부(360)를 더 포함한다. 호스트(110)로부터 감시 명령이 있는 경우, 명령 분석부(310)는 감시 명령을 분석하여 제어 대상 애플리케이션에 전달되는 키/터치 이벤트를 감시하라는 명령인지 아니면 애플리케이션 계층에서의 이벤트 발생을 감시하라는 명령인지를 확인한다. 키/터치 이벤트를 감시하라는 명령일 경우, 이벤트 획득부(340)는 리눅스 라이브러리 계층(Library Layer)의 이벤트 드라이버(Event Driver)에 직접 접근하여 이벤트들을 가져온다. 여기서 이벤트 드라이버로부터 획득 가능한 이벤트에는 키 데이터와 터치 데이터 외에 통신 단말 내부적으로 발생하는 이벤트도 포함된다. 통신 단말 내부적으로 발생하는 이벤트로는 자이로 센서나 근접 센서 등에 의해 발생하는 센싱 데이터를 예로 들 수 있다. 그리고 키 이벤트와 터치 이벤트는 현재 실행중인 제어 대상 애플리케이션에 대한 사용자의 조작을 의미하므로, 이 키 이벤트와 터치 이벤트가 제어 대상 애플리케이션에 해당하는 이벤트가 된다.
감시 명령이 애플리케이션 계층에서 발생하는 이벤트를 감시하라는 명령일 경우, 이벤트 획득부(340)는 프레임워크 계층의 매니저(Manager)에 직접 접근하여 이벤트를 가져온다. 애플리케이션 계층에서는 다수의 애플리케이션에 의해 다양한 이벤트들이 발생한다. 호 착신, 문자메시지 수신, 신규 메일 수신 등을 애플리케이션 계층에서 발생하는 이벤트들로 예를 들 수 있다. 애플리케이션 계층에서 발생하는 이 같은 이벤트들은 프레임워크 계층의 매니저에 등록된다. 그리고 매니저는 등록된 이벤트들을 관리하며 스케줄링한다. 예를 들어, 호 착신 이벤트가 발생하여 통화 연결이 된 상태에서는 메일이 수신된다 하더라도 그 메일 수신 이벤트를 곧바로 사용자에게 알리지 않고 통화가 종료된 후에 메일 수신되었음을 알리는 것과 같은 스케줄링을 수행하는 것이다. 또는 게임 중에 호 착신 혹은 문자메시지가 수신되면 곧바로 사용자에게 알리도록 스케줄링하는 것을 예로 들 수 있다.
이벤트 분석부(350)는 이벤트들의 유형(type)을 분석하여 유형별로 분류한다. 이벤트 추출부(360)는 분석된 이벤트 중 기지정된 유형의 이벤트만을 추출하고, 추출된 이벤트를 통신부(220)를 통해 호스트(110)로 전달한다. 만일 감시 대상이 라이브러리 계층에 위치한 이벤트 드라이버인 경우, 이벤트 추출부(360)는 이벤트 드라이버로부터 획득된 이벤트들 중 기지정된 이벤트인 키 이벤트와 터치 이벤트만을 추출하여 호스트(110)로 전달한다. 감시 대상이 프레임워크 계층에 위치한 매니저인 경우, 이벤트 추출부(360)는 매니저로부터 획득된 이벤트들 중 기지정된 이벤트만을 추출하여 호스트(110)로 전달한다. 여기서 기지정된 이벤트로는 호 착신 이벤트, 문자메시지 수신 이벤트 등을 예로 들 수 있다.
도 3은 본 발명의 일 실시예에 따른 클라이언트 제어 설명을 위한 참조도이다.
도 3에 도시된 플랫폼은 안드로이드 플랫폼이다. 안드로이드 플랫폼의 애플리케이션 계층(Application Layer)에 위치하는 애플리케이션들은 서로 독립적으로 동작하며, 서로에게 직접적으로 어떠한 명령을 주거나 받을 수 없다. 따라서 애플리케이션의 동작 상태를 검사하기가 어렵다. 이러한 기술적 제약을 극복하기 위하여, 애플리케이션 프레임워크 계층에 위치한 매니저(420)를 이용하여 제어 대상 애플리케이션(Target Application)(410)에 명령을 전달할 수 있는 에이전트(AATAgent)(300)를 애플리케이션 계층에 구현한다. 여기서 프레임워크 계층에 위치하는 매니저(420)는 윈도우 매니저(Window Manager)나 뷰어 매니저(Viewer Manager) 등으로 불리는 매니저로서, 그 용어는 다양하게 정해질 수 있으므로 특정 용어를 뜻하는 것으로 한정하지 않는다.
호스트(110) 사용자가 제어 대상 애플리케이션(410)을 제어하기 위해서 호스트(110)의 사용자 인터페이스를 통해 키 입력이나 터치 입력을 행하면, 호스트(110)는 그 제어 명령을 통신 단말(120)로 전송한다. 바람직하게 호스트(110)는 제어 명령을 암호화한 후 통신 단말(120)로 전송한다. 호스트(110)로부터 전송된 제어 명령은 ADB(440)를 통해 에이전트(300)로 전달된다. 에이전트(300)는 전달된 제어 명령을 복호화한 후, 복호화된 제어 명령을 분석하여 분석된 명령에 대응하는 이벤트를 확인하고, 매니저(420)가 이벤트 드라이버(430)로부터 전달되어 제어 대상 애플리케이션(410)으로 이벤트를 주는 것과 동일한 형식의 이벤트를 생성한 후, 생성된 이벤트를 매니저(420)에 등록한다. 매니저(420)에 등록되어 제어 대상 애플리케이션(410)에 해당 이벤트가 전달되면, 제어 대상 애플리케이션(410)은 이를 정상적으로 받아들여야 할 이벤트로 인식하여 이벤트에 대응하는 일련의 결과를 출력한다. 한편, 그 일련의 결과가 멀티미디어 정보인 비디오/오디오이면, 그 출력 비디오/오디오는 멀티미디어 인터페이스를 통해 호스트(110)로 전달된다. 호스트(110)로 전달된 비디오/오디오는 LCD 및 스피커를 통해 출력된다.
도 4는 도 3에 따른 클라이언트 제어를 순차적으로 표현한 도면이다.
호스트(110)로부터 암호화된 제어 명령이 전달되면, 이 명령은 ADB(440)를 통해 에이전트(300)로 전달된다. 에이전트(300)의 명령 분석부(310)는 ADB(440)를 통해 전달된 제어 명령을 복호화한 후 분석한다. 이벤트 생성부(320)는 명령 분석부(310)에 의해 분석된 제어 명령에 따라 제어 대상 애플리케이션(410)을 제어하기 위한 이벤트를 생성한다. 여기서 이벤트 생성부(320)는 매니저(420)가 이벤트 드라이버로부터 전달되어 제어 대상 애플리케이션(410)으로 주는 이벤트와 동일한 형식의 이벤트를 생성해야 한다. 이벤트 생성부(320)에 의해 이벤트가 생성되면, 이벤트 등록부(330)는 생성된 이벤트를 매니저(420)에 등록한다. 이에 매니저(420)는 등록된 이벤트를 제어 대상 애플리케이션(410)으로 전달하고, 제어 대상 애플리케이션(410)은 전달된 이벤트에 대응하는 결과를 출력한다.
도 5는 본 발명의 일 실시예에 따른 클라이언트 감시 설명을 위한 참조도이다.
일반적으로 안드로이드 스마트폰을 조작하거나 안드로이드 스마트폰 내부의 동작에 따라 발생하는 어떠한 이벤트가 해당 애플리케이션에 전달되기 위해서는 안드로이드 스마트폰 내부 및 외부에서 발생한 모든 이벤트들이 수집되는 리눅스 라이브러리(340)의 이벤트 드라이버(430)에서부터 안드로이드 애플리케이션 프레임워크 계층의 매니저(420)를 거쳐 전달되는 과정이 요구된다. 이때 같은 애플리케이션 계층에서 동작하는 에이전트(300)가 제어 대상 애플리케이션(410)으로 전달되는 이벤트를 가로채거나 이벤트의 내용을 알 수 있는 일반적인 방법은 없다. 이는 모든 애플리케이션들이 서로 영향을 주거나 받지 않고 완전히 독립적으로 작동하게 되는 OS 구조와 관련이 있다.
이러한 문제 해결을 위해, 본 발명은 안드로이드 플랫폼 구조가 애플리케이션 계층에 위치하는 프로그램이 라이브러리 계층의 이벤트 드라이버(430)에 직접 접근하는 것을 일부 허용하는 점을 이용한다. 에이전트(300)는 리눅스 라이브러리(340)의 이벤트 드라이버(430)에 직접 접근하여 이벤트를 가져온다. 에이전트(300)는 이벤트 드라이버(430)로부터 가져온 이벤트를 분석하고 유형별로 분류한다. 그 다음, 에이전트(300)는 분류된 이벤트 중 기지정된 유형의 이벤트만을 추출하여 ADB(440)를 통해 호스트(110)로 전달한다. 이 같은 방식에 따라 제어 대상 애플리케이션(410)에 전달되는 키/터치 이벤트를 획득하여 호스트(110)로 전달하는 것이 가능하다. 한편, 호스트(110)는 이벤트를 수신하고, 수신된 이벤트에 대응하는 동작을 수행한다. 예를 들어, 수신된 이벤트가 소리 줄임과 같은 키 이벤트 혹은 터치 이벤트인 경우, 호스트(110)는 출력 오디오의 레벨을 낮추기 위한 동작을 수행하는 것이다.
한편, 애플리케이션 계층에서도 이벤트가 발생한다. 예를 들어, 애플리케이션 계층의 애플리케이션들 중 동영상 재생을 위한 애플리케이션이 실행 중인 상태에서, 호(call) 착신에 의해 해당 애플리케이션이 활성화되어 호 착신 이벤트가 발생하게 되며, 그 호 착신 이벤트는 애플리케이션 프레임워크 계층의 매니저(420)에 전달된다. 그리고 매니저(420)는 전술한 바와 같이 애플리케이션 계층에서 발생하는 이벤트들을 관리하고 그 동작에 대해 스케줄링하는 역할을 수행한다. 따라서 이러한 점을 이용하여, 에이전트(300)는 애플리케이션 프레임워크 계층의 매니저(420)에 직접 접근하여 애플리케이션 계층에서 발생하는 이벤트를 가져온다. 에이전트(300)는 매니저(420)로부터 획득한 이벤트 유형 중 기지정된 유형의 이벤트만을 추출하여 ADB(440)를 통해 호스트(110)로 전달한다. 이에 호스트(110)는 이벤트를 수신하고, 수신된 이벤트에 대응하는 동작을 수행한다. 예를 들어, 현재 동영상 재생중인 상태에서 호 착신 이벤트가 수신되었다면, 호스트(110)는 동영상 재생을 잠시 멈춘 후, 호 착신이 있음을 알리거나 통신 연결된 통신 단말(120)과 바로 통화 채널을 형성할 수도 있다.
도 6은 도 5에 따른 제어 대상 애플리케이션에 대한 키/터치 이벤트 감시를 설명하기 위한 참조도이다.
호스트(110) 사용자가 키 이벤트나 터치 이벤트를 감시하기 위해서 사용자 인터페이스를 통해 명령을 행하면, 호스트(110)는 그 감시 명령을 통신 단말(120)로 전송한다. 바람직하게 호스트(110)는 감시 명령을 암호화한 후 통신 단말(120)로 전송한다. 에이전트(300)는 ADB(440)를 통해 전달된 감시 명령을 수신한다. 에이전트(300)의 명령 분석부(310)는 감시 명령을 복호화하고 분석하여 어떤 감시 명령인지를 확인한다. 감시 명령이 애플리케이션에 대한 키/터치 이벤트 감시 명령인 것으로 확인되면, 이벤트 획득부(340)는 HID(Human Interface Device)를 통해 전달된 이벤트가 집적되는 이벤트 드라이버(430)에 직접 접근하여 이벤트를 가져온다. 이벤트 분석부(350)는 이벤트 획득부(340)에 의해 획득된 이벤트들의 유형을 분석하고 분석된 유형별로 분류한다. 이벤트 추출부(360)는 유형별로 분류된 이벤트들 중 터치 이벤트와 키 이벤트만을 추출하거나 그 터치 이벤트와 키 이벤트의 내용만을 추출하여 ADB(440)를 통해 호스트(110)로 전달한다. 이에 호스트(110)는 전달된 이벤트를 확인하고, 확인된 바에 따라 해당 동작을 수행한다.
도 7은 도 5에 따른 애플리케이션 계층에서 발생하는 이벤트 감시를 설명하기 위한 참조도이다.
호스트(110) 사용자가 애플리케이션 계층에서 발생하는 이벤트를 감시하기 위해서 호스트(110)의 사용자 인터페이스를 통해 명령을 행하면, 호스트(110)는 그 감시 명령을 통신 단말(120)로 전송한다. 바람직하게 호스트(110)는 감시 명령을 암호화한 후 통신 단말(120)로 전송한다. 에이전트(300)는 ADB(440)를 통해 전달된 감시 명령을 수신한다. 에이전트(300)의 명령 분석부(310)는 감시 명령을 복호화하고 분석하여 어떤 감시 명령인지를 확인한다. 감시 명령이 애플리케이션 계층에서 발생하는 이벤트 감시 명령인 것으로 확인되면, 이벤트 획득부(340)는 매니저(420)에 직접 접근하여 이벤트를 가져온다. 이벤트 분석부(350)는 이벤트 획득부(340)에 의해 획득된 이벤트들의 유형을 분석하고 분석된 유형별로 분류한다. 이벤트 추출부(360)는 유형별로 분류된 이벤트들 중 기지정된 이벤트만을 추출하여 ADB(440)를 통해 호스트(110)로 전달한다. 이에 호스트(110)는 전달된 이벤트를 확인하고, 확인된 바에 따라 해당 동작을 수행한다.
도 8은 본 발명의 일 실시예에 따른 통신 단말 하드웨어 제어를 설명하기 위한 참조도이다.
도시된 바와 같이, 통신 단말(120)은 라이브러리 계층에 위치한 이벤트 드라이버(430)와 통신 모듈(510) 및 애플리케이션 계층에 위치한 에이전트(300)를 포함한다. 이벤트 드라이버(430)는 하드웨어 제어를 위한 다수의 하드웨어 드라이버(H/W Driver)들, 즉 하드웨어 제어 함수들을 가진다. 이벤트 드라이버(430)는 이 하드웨어 제어 함수들을 이용하여 하드웨어를 제어한다. 통신 모듈(510)은 이벤트 드라이버(430)로 액세스 가능하며, 프레임워크 계층에 위치한 인터페이스를 통해 접근 가능하도록 설계된다. 여기서 인터페이스는 JAVA가 제공하는 JNI(JUAVA Native Interface)(520)이다. 그리고 통신 모듈(510)은 표준화됨이 바람직하다. 본 발명의 일 양상에 따라 표준화된 통신 모듈(510)은 이벤트 드라이버(430)의 하드웨어 제어 함수들과 사상(mapping)되는 함수들을 가진다. 즉, 이벤트 드라이버(430)의 하드웨어 제어 함수들은 통신 모듈(510)의 함수들과 엘리어스(Alias) 되는 것이다. 이 같은 통신 모듈(510)은 에이전트(300)로부터의 함수 호출 요청에 따라 이벤트 드라이버(430)에 액세스하여 요청된 함수에 대응되는 하드웨어 제어 함수의 호출을 지시한다. 이에 이벤트 드라이버(430)가 해당 하드웨어 제어 함수를 호출함으로써 실질적으로 하드웨어를 제어하게 된다.
한편, 에이전트(300)는 JNI(520)를 통해 통신 모듈(510)에 액세스할 수 있도록 설계된다. 이러한 에이전트(300)는 호스트(110)로부터의 명령을 ADB(440)를 통해 수신하고 그 명령을 분석한다. 분석 결과 그 명령이 하드웨어 제어 명령으로 확인되면, 에이전트(300)는 하드웨어 제어 명령에 대응하는 함수를 확인한다. 일 실시예에 있어서, 에이전트(300)는 하드웨어 제어 명령들에 일대일 대응되는 함수들에 대한 정보를 가진 룩업 테이블을 참조하여 해당 함수를 확인할 수 있다. 여기서 하드웨어 제어 명령들에 대응되는 함수들이라 함은 통신 모듈(510)의 함수들을 의미한다. 하드웨어 제어 명령에 대응하는 함수가 확인되면, 에이전트(300)는 JNI(520)를 통해 통신 모듈(510)에 액세스하여 확인된 함수의 호출을 요청한다. 이에 따라 통신 모듈(510)이 이벤트 드라이버(430)에 액세스하여 해당 하드웨어 제어 함수의 호출을 지시하게 되는 것이다.
도 9는 본 발명의 일 실시예에 따른 에이전트에서 수행되는 하드웨어 제어 방법 흐름도이다.
우선, 호스트(110) 사용자가 통신 단말(120)의 하드웨어를 제어하기 위해서 사용자 인터페이스를 통해 명령을 행하면, 호스트(110)는 그 제어 명령을 통신 단말(120)로 전송한다. 바람직하게 호스트(110)는 제어 명령을 암호화한 후에 통신 단말(120)로 전송한다. 에이전트(300)는 ADB(440)를 통해 전달된 명령을 수신한다(S910). 에이전트(300)는 수신된 명령을 복호화한 후 어떠한 명령인가를 분석한다(S920). 분석 결과 하드웨어 제어 명령이면, 에이전트(300)는 그 하드웨어 제어 명령에 대응하는 통신 모듈(510)의 함수 정보를 확인한다(S930)(S940). 일 실시예에 있어서, 에이전트(300)는 하드웨어 제어 명령들에 대응하는 통신 모듈(510)의 함수들에 대한 정보를 가진 룩업 테이블을 참조하여 호스트(110)의 하드웨어 제어 명령에 대응하는 함수 정보를 확인할 수 있다. 함수 정보가 확인되면, 에이전트(300)는 JNI(520)를 통해 통신 모듈(510)에 액세스하여 확인된 함수의 호출을 요청한다(S950). 이에 따라 통신 모듈(510)이 이벤트 드라이버(430)에 액세스하여 해당되는 하드웨어 제어 함수의 호출을 지시하게 되고, 이벤트 드라이버(430)가 지시된 하드웨어 제어 함수를 호출하여 하드웨어를 제어하게 된다. 한편, S920의 분석 결과 하드웨어 제어 명령이 아니면, 에이전트(300)는 해당 명령에 따른 지정된 동작을 수행한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
110 : 호스트(더미 패드) 120 : 클라이언트(통신 단말)
210 : 멀티미디어 인터페이스 220 : 통신부
230 : 제어부 300 : 에이전트
310 : 명령 분석부 320 : 이벤트 생성부
330 : 이벤트 등록부 340 : 이벤트 획득부
350 : 이벤트 분석부 360 : 이벤트 추출부
410 : 제어 대상 애플리케이션 420 : 매니저
430 : 이벤트 드라이버 440 : ADB(Android Debug Bridge)
510 : 통신 모듈 520 : JNI(JUAVA Native Interface)

Claims (24)

  1. 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트; 및
    상기 클라이언트를 제어하고 감시하기 위한 호스트;를 포함하되,
    상기 클라이언트의 상기 애플리케이션 계층에서 동작하는 에이전트는 상기 호스트로부터 전달된 애플리케이션 제어 명령에 대응하는 이벤트를 생성하고, 상기 생성된 이벤트를 상기 애플리케이션 계층의 제어 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 매니저에 등록하며,
    상기 매니저는 상기 생성된 이벤트를 해당 제어 대상 애플리케이션으로 전달함을 특징으로 하는 클라이언트 제어 및 감시 시스템.
  2. 제1항에 있어서,
    상기 클라이언트는 상기 제어 대상 애플리케이션에 의해 발생하는 멀티미디어 정보를 멀티미디어 인터페이스를 통해 상기 호스트로 전송함을 특징으로 하는 클라이언트 제어 및 감시 시스템.
  3. 제1항에 있어서,
    상기 에이전트는 상기 호스트로부터 전달된 감시 명령에 따라 라이브러리 계층의 이벤트 드라이버 혹은 상기 프레임워크 계층의 매니저로부터 직접 이벤트를 획득하여 상기 호스트로 전달하며, 상기 호스트는 상기 전달된 이벤트에 대응하는 동작을 수행함을 특징으로 하는 클라이언트 제어 및 감시 시스템.
  4. 제3항에 있어서,
    상기 에이전트는 상기 획득된 이벤트 유형이 기지정된 유형에 속하는 경우에만 상기 획득된 이벤트를 상기 호스트로 전달함을 특징으로 하는 클라이언트 제어 및 감시 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 플랫폼은 안드로이드 플랫폼임을 특징으로 하는 클라이언트 제어 및 감시 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 클라이언트 내 상기 애플리케이션 계층에서 동작하는 에이전트의 클라이언트 제어 및 감시 방법에 있어서,
    호스트로부터 애플리케이션을 제어하기 위한 암호화된 제어 명령을 전달받는 단계;
    상기 암호화된 제어 명령을 복호화하는 단계;
    상기 복호화된 제어 명령에 대응하는 이벤트를 생성하는 단계;
    상기 생성된 이벤트를 제어 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 매니저에 등록하는 단계; 및
    상기 매니저가 상기 생성된 이벤트를 해당 제어 대상 애플리케이션으로 전달하는 단계
    를 포함하는 것을 특징으로 하는 에이전트의 클라이언트 제어 및 감시 방법.
  11. 제10항에 있어서,
    상기 호스트로부터 상기 애플리케이션 계층에 전달되는 키 이벤트 및 터치 이벤트에 대한 감시 명령을 수신하는 단계;
    상기 감시 명령에 따라 라이브러리 계층의 이벤트 드라이버에 직접 접근하여 상기 이벤트 드라이버에 집적된 이벤트를 획득하는 단계; 및
    상기 획득된 이벤트 유형이 키 이벤트 혹은 터치 이벤트인 경우에 상기 획득된 이벤트를 상기 호스트로 전달하는 단계;
    를 더 포함하는 것을 특징으로 하는 에이전트의 클라이언트 제어 및 감시 방법.
  12. 제10항에 있어서,
    상기 호스트로부터 상기 애플리케이션 계층에서 발생하는 이벤트에 대한 감시 명령을 수신하는 단계;
    상기 감시 명령에 따라 프레임워크 계층의 매니저에 직접 접근하여 상기 매니저에 등록된 상기 애플리케이션 계층에서 발생하는 이벤트를 획득하는 단계; 및
    상기 획득된 이벤트 유형이 기지정된 이벤트 유형인 경우에 상기 획득된 이벤트를 상기 호스트로 전달하는 단계;
    를 더 포함하는 것을 특징으로 하는 에이전트의 클라이언트 제어 및 감시 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 플랫폼은 안드로이드 플랫폼임을 특징으로 하는 에이전트의 클라이언트 제어 및 감시 방법.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020110028953A 2011-03-30 2011-03-30 클라이언트 제어와 감시 시스템 및 그 방법 KR101313715B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110028953A KR101313715B1 (ko) 2011-03-30 2011-03-30 클라이언트 제어와 감시 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110028953A KR101313715B1 (ko) 2011-03-30 2011-03-30 클라이언트 제어와 감시 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120110824A KR20120110824A (ko) 2012-10-10
KR101313715B1 true KR101313715B1 (ko) 2013-10-01

Family

ID=47281601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110028953A KR101313715B1 (ko) 2011-03-30 2011-03-30 클라이언트 제어와 감시 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101313715B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872976A (en) * 1997-04-01 1999-02-16 Landmark Systems Corporation Client-based system for monitoring the performance of application programs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872976A (en) * 1997-04-01 1999-02-16 Landmark Systems Corporation Client-based system for monitoring the performance of application programs

Also Published As

Publication number Publication date
KR20120110824A (ko) 2012-10-10

Similar Documents

Publication Publication Date Title
WO2020238425A1 (zh) 一种应用程序启动方法及装置
WO2019174472A1 (zh) 画质参数调节方法、装置、终端及存储介质
KR101027971B1 (ko) 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법
US20190273737A1 (en) Method, system, and device for communicating data between devices to control one of the devices
WO2021036706A1 (zh) 可信应用的运行方法、信息处理和内存分配方法及装置
CA2910249C (en) Synchronizing device association data among computing devices
EP2911342A1 (en) Home gateway and intelligent terminal integrated system and communication method therefor
CN114286165B (zh) 一种显示设备、移动终端、投屏数据传输方法及系统
WO2019057089A1 (zh) 网卡镜像抓包方法、终端以及可读存储介质
WO2019228340A1 (zh) 程序优化方法、装置、终端及存储介质
US20140310741A1 (en) System for sharing data via cloud server and method thereof
US20170346792A1 (en) System and method for kernel level video operations
US10728486B2 (en) Smart television playing method and device
CN106027631B (zh) 一种数据传输方法及装置
US11010213B2 (en) Electronic device and method for providing event management service
WO2018090720A1 (zh) 实现即插即用传屏的方法及装置
CN112316417B (zh) 控制设备连接方法、装置、设备及计算机可读存储介质
CN110084035B (zh) 用于在发生拒绝时建议响应指南的电子设备和方法
KR20150128256A (ko) 실제 스마트기기의 디바이스에서 발생하는 이벤트에 따라 응용프로그램을 실행하는 가상 안드로이드 장치를 구비한 서버 시스템
US20100287362A1 (en) Information processing apparatus, information processing system, computer program and information processing method
US10418132B2 (en) Method for connecting a mobile operator terminal to a device to be operated
KR102140294B1 (ko) 전자 장치의 광고 방법 및 그 전자 장치
KR101313715B1 (ko) 클라이언트 제어와 감시 시스템 및 그 방법
KR20130108952A (ko) 안드로이드 플랫폼 상에서 별도 어플리케이션 패키지를 이용한 화면 분할 방법
CN112134855B (zh) Cookie加密方法和显示设备

Legal Events

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

Payment date: 20160926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170922

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 7