앱의 기능 단위 사용량을 분석하는 방법 및 장치
METHOD AND DEVICE FOR ANALYZING FEATURE-LEVEL USAGE OF APP
특허 요약
앱의 기능 단위 사용량을 분석하는 방법 및 장치가 제공된다. 앱의 기능 단위 사용량을 분석하는 방법은, 사용자 단말에서 발생하는 이벤트를 검출하는 단계; 상기 검출한 이벤트에 대한 사용자 인터페이스 컴포넌트를 레이아웃 요소로 추출하는 단계; 상기 추출한 레이아웃 요소에 기반하여 상기 앱의 기능을 검출하는 단계; 및 상기 검출한 기능 단위로 사용량을 분석하는 단계를 포함할 수 있다.
청구항
번호청구항
1

사용자 단말에서 발생하는 이벤트를 검출하는 단계;상기 검출한 이벤트에 대한 사용자 인터페이스 컴포넌트를 레이아웃 요소(Layout Element)로 추출하는 단계;앱 별로 정해지며, 상기 레이아웃 요소에 기반하여 상기 앱에서 사용자가 사용하는 기능(feature)을 검출하는 기준을 제공하는 앱 별 방침을 제공받는 단계;상기 추출한 레이아웃 요소 및 상기 앱 별 방침에 기반하여 상기 앱에서 사용자가 현재 사용하는 기능(feature)을 검출하는 단계; 및상기 검출한 기능 단위로 사용량(usage)을 분석하는 단계를 포함하고,상기 기능을 검출하는 단계는,상기 검출된 기능과 윈도우 ID를 매치하는 해시 맵에 기반하여, 정의되지 않은 레이아웃이 검출된 경우 상기 정의되지 않은 레이아웃에 대해 상기 검출한 기능이 사용되는 것으로 간주하는 단계를 포함하는앱의 기능 단위 사용량(feature-level usage)을 분석하는 방법.

2

제1항에 있어서,상기 앱 별 방침을 제공받기 위해 상기 사용자 단말에서 사용 중인 앱에 대한 기능 검출기(Feature Detector)를 선택하는 단계를 더 포함하고,상기 앱에서 사용자가 현재 사용하는 기능을 검출하는 단계는,상기 선택한 기능 검출기를 이용하여 상기 앱에서 사용자가 현재 사용하는 기능을 검출하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

3

제2항에 있어서,상기 앱은 제1 앱 및 제2 앱을 포함하고,상기 기능 검출기를 선택하는 단계는,상기 제1 앱의 세션이 종료되고 상기 제2 앱의 세션이 시작된 경우, 상기 제1 앱에 대한 기능 검출기의 사용을 종료하고 상기 제2 앱에 대한 기능 검출기의 사용을 시작하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

4

제1항에 있어서,상기 사용자 인터페이스 컴포넌트를 레이아웃 요소로 추출하는 단계는,상기 사용자 인터페이스 컴포넌트에 대한 정보를 트리(tree) 구조의 상기 레이아웃 요소로 저장하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

5

제4항에 있어서,상기 앱에서 사용자가 현재 사용하는 기능을 검출하는 단계는,상기 트리 구조의 상기 레이아웃 요소를 순회(traverse)하면서 선택되는 요소(element)를 검출하는 단계;상기 요소를 분석하여 뷰 정보를 결정하는 단계;상기 뷰 정보와 연관된 텍스트를 분석하여 콘텐츠 정보를 결정하는 단계; 및상기 뷰 정보 및 상기 콘텐츠 정보의 조합에 기반하여 상기 앱에서 사용자가 현재 사용하는 기능을 검출하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

6

제5항에 있어서,상기 뷰 정보를 결정하는 단계는,상기 선택되는 요소의 위치, 크기 또는 인덱스 정보에 따라 상기 뷰 정보를 결정하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

7

제5항에 있어서,상기 뷰 정보를 결정하는 단계는,상기 선택되는 요소에 대한 루트 뷰(Root view)의 클래스명(class name)에 따라 상기 뷰 정보를 결정하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

8

제5항에 있어서,상기 뷰 정보를 결정하는 단계는,상기 선택되는 요소에 대한 콘텐츠 설명(content description) 및 텍스트의 존재 여부에 따라 상기 뷰 정보를 결정하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

9

제5항에 있어서,상기 뷰 정보를 결정하는 단계는,상기 선택되는 요소에 대한 viewIdResourceName 정보에 따라 상기 뷰 정보를 결정하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

10

제1항에 있어서,상기 이벤트를 검출하는 단계는,스크롤 이벤트, 클릭 이벤트, 포커스 이벤트, 윈도우 전환 이벤트 및 윈도우 상태 전환 이벤트 중 적어도 하나를 검출하는 단계를 포함하는, 앱의 기능 단위 사용량을 분석하는 방법.

11

사용자 단말에서 발생하는 이벤트를 검출하는 이벤트 검출 모듈;상기 검출한 이벤트에 대한 사용자 인터페이스 컴포넌트를 레이아웃 요소로 추출하는 레이아웃 요소 추출 모듈;상기 추출한 레이아웃 요소 및 앱 별 방침에 기반하여 상기 앱에서 사용자가 현재 사용하는 기능을 검출하는 레이아웃 요소 기반 기능 검출 모듈; 및상기 검출한 기능 단위로 사용량을 분석하는 기능 단위 사용량 분석 모듈을 포함하고,상기 앱 별 방침은,앱 별로 정해지며, 상기 레이아웃 요소에 기반하여 상기 앱에서 사용자가 사용하는 기능을 검출하는 기준을 제공하고,상기 레이아웃 요소 추출 모듈은 상기 검출된 기능과 윈도우 ID를 매치하는 해시 맵을 사용하고,정의되지 않은 레이아웃이 검출된 경우, 상기 해시 맵에 기반하여 상기 정의되지 않은 레이아웃에 대해 상기 검출한 기능이 사용되는 것으로 간주되는,앱의 기능 단위 사용량을 분석하는 장치.

12

제11항에 있어서,상기 앱 별 방침을 제공받기 위해 상기 사용자 단말에서 사용 중인 앱에 대한 기능 검출기를 선택하는 기능 검출기 선택 모듈을 더 포함하고,상기 레이아웃 요소 기반 기능 검출 모듈은, 상기 선택한 기능 검출기를 이용하여 상기 앱에서 사용자가 현재 사용하는 기능을 검출하는, 앱의 기능 단위 사용량을 분석하는 장치.

13

제12항에 있어서,상기 앱은 제1 앱 및 제2 앱을 포함하고,상기 기능 검출기 선택 모듈은, 상기 제1 앱의 세션이 종료되고 상기 제2 앱의 세션이 시작된 경우, 상기 제1 앱에 대한 기능 검출기의 사용을 종료하고 상기 제2 앱에 대한 기능 검출기의 사용을 시작하는, 앱의 기능 단위 사용량을 분석하는 장치.

14

제11항에 있어서,상기 레이아웃 요소 추출 모듈은,상기 사용자 인터페이스 컴포넌트에 대한 정보를 트리 구조의 상기 레이아웃 요소로 저장하는, 앱의 기능 단위 사용량을 분석하는 장치.

15

제14항에 있어서,상기 레이아웃 요소 기반 기능 검출 모듈은,상기 트리 구조의 상기 레이아웃 요소를 순회하면서 선택되는 요소를 검출하고,상기 요소를 분석하여 뷰 정보를 결정하고,상기 뷰 정보와 연관된 텍스트를 분석하여 콘텐츠 정보를 결정하고,상기 뷰 정보 및 상기 콘텐츠 정보의 조합에 기반하여 상기 앱에서 사용자가 현재 사용하는 기능을 검출하는, 앱의 기능 단위 사용량을 분석하는 장치.

16

제15항에 있어서,상기 레이아웃 요소 기반 기능 검출 모듈은,상기 선택되는 요소의 위치, 크기 또는 인덱스 정보에 따라 상기 뷰 정보를 결정하는, 앱의 기능 단위 사용량을 분석하는 장치.

17

제15항에 있어서,상기 레이아웃 요소 기반 기능 검출 모듈은,상기 선택되는 요소에 대한 루트 뷰의 클래스명에 따라 상기 뷰 정보를 결정하는, 앱의 기능 단위 사용량을 분석하는 장치.

18

제15항에 있어서,상기 레이아웃 요소 기반 기능 검출 모듈은,상기 선택되는 요소에 대한 콘텐츠 설명 및 텍스트의 존재 여부에 따라 상기 뷰 정보를 결정하는, 앱의 기능 단위 사용량을 분석하는 장치.

19

제15항에 있어서,상기 레이아웃 요소 기반 기능 검출 모듈은,상기 선택되는 요소에 대한 viewIdResourceName 정보에 따라 상기 뷰 정보를 결정하는, 앱의 기능 단위 사용량을 분석하는 장치.

20

제11항에 있어서,상기 이벤트 검출 모듈은,스크롤 이벤트, 클릭 이벤트, 포커스 이벤트, 윈도우 전환 이벤트 및 윈도우 상태 전환 이벤트 중 적어도 하나를 검출하는, 앱의 기능 단위 사용량을 분석하는 장치.