KR101391786B1 - 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법 - Google Patents

스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법 Download PDF

Info

Publication number
KR101391786B1
KR101391786B1 KR1020120067261A KR20120067261A KR101391786B1 KR 101391786 B1 KR101391786 B1 KR 101391786B1 KR 1020120067261 A KR1020120067261 A KR 1020120067261A KR 20120067261 A KR20120067261 A KR 20120067261A KR 101391786 B1 KR101391786 B1 KR 101391786B1
Authority
KR
South Korea
Prior art keywords
benchmarking
smart device
unit
workload
server
Prior art date
Application number
KR1020120067261A
Other languages
English (en)
Other versions
KR20140000410A (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 KR1020120067261A priority Critical patent/KR101391786B1/ko
Publication of KR20140000410A publication Critical patent/KR20140000410A/ko
Application granted granted Critical
Publication of KR101391786B1 publication Critical patent/KR101391786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06398Performance of employee with respect to a job function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0217Discounts or incentives, e.g. coupons or rebates involving input on products or services in exchange for incentives or rewards

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버는, 상기 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신하는 통신부; 상기 사용기록 데이터에 기초하여, 상기 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하는 워크로드 생성부; 및 상기 벤치마킹 워크로드에 따라 상기 스마트 기기에 대한 벤치마킹을 수행하여 결과 데이터를 획득하는 벤치마킹 수행부를 포함하여 구성됨으로써, 기존의 획일적인 벤치마킹 결과에서 벗어나 사용자 친화적이면서 높은 신뢰성 및 객관성을 가지는 벤치마킹 결과를 얻을 수 있어, 스마트 기기 소비자 및 개발자 모두에게 유용한 정보를 제공할 수 있다.

Description

스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법 {SERVER FOR BENCHMARKING BY USAGE PATTERN OF SMART DEVICE AND METHOD THEREOF}
본 발명은 벤치마킹 시스템에 관한 것으로서, 보다 상세하게는, 스마트 기기에 대한 벤치마킹을 수행하는 서버 및 그 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법에 관한 것이다.
최근 통신기술이 급속도로 발전하고 그와 관련된 인프라가 구축됨에 따라 다양한 스마트 기기 및 그 스마트 기기에서 실행되는 응용프로그램들이 새롭게 개발되고 있다. 이렇게 개발된 스마트 기기 및 응용프로그램들은 일반 사용자 또는 관련 업계 종사자들에 의해 직간접적인 평가를 받게 되고, 성능, 품질, 편리성, 안전성, 호환성 등에 따라 호평을 받기도 하고 때로는 외면을 받기도 한다.
특히, 스마트 폰, 태블릿 PC 등의 성능을 평가하기 위한 도구로서, 스마트 기기용 벤치마킹 프로그램이 사용자들에게 제공되고 있다.
이렇게 제공되는 기존의 스마트 기기용 벤치마킹 프로그램들은 CPU, MEMORY, GPU, IP 등과 같은 각각의 하드웨어 유닛에 독립적인 스트레스를 지속적으로 가하여 성능을 평가하는 방식으로 동작하였다.
다만, 실제로 스마트 기기에서 실행되는 대부분의 응용프로그램(혹은 어플리케이션, 앱)은 CPU, MEMORY, GPU, IP 등의 하드웨어 유닛을 종합적으로 이용하여 구동된다. 즉, 사용자가 스마트 기기의 특정 응용프로그램을 실행시킨 경우 복수의 하드웨어 유닛이 이용되므로, 기존의 스마트 기기용 벤치마킹 프로그램들을 통해서 정확한 성능 평가가 이루어질 수 없었다는 문제점이 있었다.
한편, 기존의 임베디드(embedded) 벤치마킹 프로그램들은 임베디드 마이크로프로세서 시스템 내에서 CPU의 연산속도, 메모리 대역폭, GPU의 그래픽 처리속도 등과 같은 특정 하드웨어 유닛의 성능만을 평가하는 방식으로 동작하였다.
특히, 'EEMBC(Embedded Micro processor Benchmark Consortium)', 'Mibench'등과 같은 임베디드 마이크로프로세서 시스템용 벤치마킹 프로그램들은 오피스, 네트워크, 보안, 원거리 통신 등의 분야 중 어느 하나의 분야에 대응되는 워크로드를 주어 성능을 평가하는 방식으로 동작하였다.
다만, 이들 벤치마킹 프로그램들은 'ARM', 'MIPS', 'ARC', 'xtensa', 'EISC' 등과 같은 임베디드 마이크로프로세서 시스템만을 벤치마킹 대상으로 하고 있으며, 특정 분야에 고립된 성능만을 평가하여 결과로 나타낸다는 한계가 있었다.
한편, 종래의 미국공개특허 US 2010/0261470(발명의 명칭: EMBEDDED WIRELESS BENCHMARKING SYSTEMS AND METHODS)은 서버 컴퓨터 시스템으로 통화품질, SNR, 단말기 위치 등의 데이터를 전송하는 이동통신 단말기에 대해 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예는 스마트 기기의 성능을 객관적으로 평가할 수 있는 벤치마킹 결과를 사용자에게 제공하는 데에 그 목적이 있다.
특히, 본 발명의 일부 실시예는 각 하드웨어 유닛의 단순 성능만을 고려한 획일적인 벤치마킹 결과를 제공하는 것이 아니라, 사용자의 스마트 기기 사용 패턴까지 고려한 높은 신뢰성의 벤치마킹 결과를 사용자에게 제공하는 데에 그 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면(일 실시예)에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버는, 상기 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신하는 통신부; 상기 사용기록 데이터에 기초하여, 상기 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하는 워크로드 생성부; 및 상기 벤치마킹 워크로드에 따라 상기 스마트 기기에 대한 벤치마킹을 수행하여 결과 데이터를 획득하는 벤치마킹 수행부를 포함하여 구성된다.
이때, 상기 사용기록 데이터는 미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 사용 기록을 기초로 추출되거나 생성되는 것을 특징으로 할 수 있다.
특히, 상기 워크로드 생성부는, 미리 설정된 복수의 평가 요소를 저장하는 평가 요소 저장부; 상기 사용기록 데이터에 포함된 어플리케이션과 관련된 카테고리 데이터를 기초로 하여, 상기 평가 요소 중에 각 카테고리 별로 수행할 평가 요소를 선택하는 평가 요소 선택부; 타 어플리케이션과의 동시 실행 정보를 기초로 하여 상기 카테고리를 순차적으로 조합하는 카테고리 조합부; 상기 수행할 평가 요소에 적용되는 연산 가중치 값을 결정하는 가중치 결정부; 및 상기 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는 유닛 결정부를 포함하여 구성될 수 있다.
또한, 본 발명의 제 2 측면(다른 실시예)에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법은, 상기 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신하는 단계; 상기 사용기록 데이터에 기초하여 상기 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하는 단계; 및 상기 생성한 벤치마킹 워크로드에 따라 상기 스마트 기기에 대한 벤치마킹을 수행하여 결과 데이터를 획득하는 단계를 포함하여 구성된다.
특히, 상기 벤치마킹 워크로드를 생성하는 단계는, 미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 카테고리 데이터를 기초로 하여, 미리 설정된 복수의 평가 요소 중에 각 카테고리 별로 수행할 평가 요소를 선택하는 단계; 타 어플리케이션과의 동시 실행 정보를 기초로 하여 상기 카테고리를 순차적으로 조합하는 단계; 상기 수행할 평가 요소에 적용되는 연산 가중치 값을 결정하는 단계; 및 상기 생성한 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는 단계를 포함하여 구성될 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나인 스마트 기기에 대한 벤치마킹을 수행하는 서버는 스마트 기기에서 수신한 사용기록 데이터를 이용하여 벤치마킹 워크로드를 구성 및 수행함으로써, 기존의 획일적인 벤치마킹 결과에서 벗어나 사용자의 입장에서 보다 객관적으로 바라본 벤치마킹 결과를 얻을 수 있다.
또한, 전술한 본 발명의 과제 해결 수단은 스마트 기기 내에서 실행되는 어플리케이션과 관련된 사용 기록을 기초로 추출 혹은 생성한 사용기록 데이터를 이용함으로써, 높은 신뢰성 및 객관성을 가지는 벤치마킹 결과를 얻을 수 있다.
또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나인 스마트 기기에 대한 벤치마킹을 수행하는 서버를 통해 획득한 벤치마킹 결과를 활용하면, 스마트 기기 제조업체 입장에서는 사용자의 사용 패턴을 고려한 최적의 모바일용 플랫폼을 설계할 수 있어, 불필요한 하드웨어 유닛의 설계/개발 비용을 절약할 수 있다.
아울러, 전술한 본 발명의 과제 해결 수단 중 어느 하나인 스마트 기기에 대한 벤치마킹을 수행하는 서버를 통해 획득한 벤치마킹 결과를 활용하면, 구매자 입장에서는 스마트 기기 구매 시에 도움을 받을 수 있다. 즉, 본 발명을 통해 구매자 자신의 사용 패턴 또는 타인의 사용 패턴이 반영된 벤치마킹 결과를 확인할 수 있으므로, 구매자는 보다 현명한 소비를 할 수 있다는 장점이 있다.
도 1은 본 발명에 따른 벤치마킹 수행과 관련된 전체 시스템에 대해 간략히 도시한 블록도,
도 2는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버의 구성을 나타내는 블록도,
도 3은 도 2의 워크로드 생성부를 구체적으로 설명하기 위한 블록도,
도 4는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버로 수신되는 사용기록 데이터의 생성 또는 추출과 관련된 예시,
도 5는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버를 이용하여 워크로드를 생성하는 예시,
도 6은 본 발명의 일 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법을 설명하기 위한 순서도,
도 7은 본 발명의 다른 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법을 설명하기 위한 순서도,
도 8은 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버에서 벤치마킹 워크로드를 생성 및 수행을 위해 필요한 정보에 대한 예시이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 따른 벤치마킹 수행과 관련된 전체 시스템에 대해 간략히 도시한 블록도이다.
본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버(100)는 복수의 스마트 기기(10)와 네트워크를 통해 각종 정보 및 데이터를 송수신한다.
특히, 본 발명의 일 실시예에 따른 서버(100)는 스마트 기기(10)로 벤치마킹의 결과 데이터를 전송할 수 있고, 스마트 기기(10)로부터 사용자의 사용 패턴과 관련된 사용기록 데이터를 수신할 수 있다. 본 발명의 일 실시예에 따른 서버(100)와 연결된 복수의 샘플 단말기(190)에서 각 플랫폼에 대한 벤치마킹을 수행할 수 있고, 벤치마킹 수행 결과가 서버(100)에서 수집될 수 있다.
이때, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
또한, 스마트 기기(10)는 네트워크를 통해 본 발명의 일 실시예에 따른 서버(100)에 접속할 수 있는 휴대용 단말기나 스마트 가전제품으로 구현될 수 있다. 여기서, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있고, 스마트 가전제품은 예를 들어, 각종 정보 및 데이터를 사용자에게 나타낼 수 있는 일정 크기의 디스플레이 장치를 구비한 냉장고, TV, 에어컨, 세탁기 등을 포함한다.
도 2는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버(100)는 통신부(110), 워크로드 생성부(120) 및 벤치마킹 수행부(130)를 포함하여 구성된다.
통신부(110)는 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신한다.
이때, 사용기록 데이터는 미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 사용 기록을 기초로 추출되거나 생성되는 것일 수 있고, 어플리케이션은 스마트 기기를 제작하는 단계에서부터 설치되어 있던 것이거나 사용자에 의해 다운로드되어 설치된 것일 수 있다.
이와 관련하여, 도 4를 참고하여 설명한다. 도 4는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버로 수신되는 사용기록 데이터의 생성 또는 추출과 관련된 예시이다.
도 4에서 스마트 기기 중 하나인 스마트 폰에서 사용기록 데이터는 스마트 폰을 활성화 시킨 시점으로부터 스마트 폰 내의 특정 구성을 통해 추출되거나 생성될 수 있다. 즉, 스마트 폰이 OFF 상태에서 ON 상태로 되도록 활성화 시킨 시점 혹은 스마트 폰의 화면이 전력 절약을 위해 꺼진 상태에서 켜진 상태로 되도록 활성화 시킨 시점 등이 미리 설정된 시점이 될 수 있다. 스마트 폰 내의 특정 구성은 본 발명의 일 실시예에 따른 서버(100)와 연동되고, 스마트 폰에 탑재된 벤치마킹 어플리케이션(미도시)에 의해 구동되는 형태일 수 있다. 이러한 벤치마킹 어플리케이션이 스마트 폰을 프로파일링하여 사용기록 데이터를 추출할 수 있다.
예를 들어, 리눅스 기반의 스마트 폰 운영체제 커널에서는 현재 활성화된 프로세스의 목록에 대한 검사를 수행하여, 프로세스의 상태 정보를 유지 및 기록하고 있다. 이와 같은 경우 현재 실행 중인 프로세스의 목록을 '/proc/' 폴더에서 'Process ID' 형태로 저장하고 있고, 관련 프로세스 상태를 모두 저장하고 있기 때문에 데이터 파싱(Parsing)을 통해 용이하게 프로세스의 정보를 획득할 수 있다. 즉, 리눅스 환경에서는 'ps' 명령어를 통해 프로세스의 정보를 정리된 형태로 확인할 수 있다. 이와 같이 확인할 수 있는 프로세스 목록 중 비활성화(Inactive) 상태에서 활성화(Active) 상태로의 변화가 발생한 프로세스 목록을 순차적으로 추출하는 방식을 통해, 사용기록 데이터를 추출할 수 있다. 덧붙여, CPU 상태 및 메모리 상태와 관련된 정보도 커널에서 제공해 주는 정보를 기초로 하여 추출해낼 수 있다.
도 4처럼 스마트 폰의 사용자가 전화 통화를 2회 하고, 카카오 톡 등과 같은 특정 어플리케이션을 실행시켜 사용하고, 인터넷 서핑 및 음악 플레이어를 동시에 실행시켜 사용한 경우를 가정한다.
만약 N = 3으로 상술한 벤치마킹 어플리케이션에 미리 설정되어 있다면, 사용기록 데이터는 '전화, 전화, 특정 어플리케이션'이라는 사용 기록을 포함하고 있게 된다. 이와 동일한 방식으로, 만약 N = 5으로 미리 설정되어 있으면, 사용기록 데이터는 '전화, 전화, 특정 어플리케이션, 인터넷, 음악'이라는 사용 기록을 포함하고 있게 된다.
구체적으로, 사용기록 데이터는 미리 설정된 복수의 카테고리 중에서 첫 번째 내지 N 번째 어플리케이션 각각이 해당되는 카테고리에 대한 카테고리 데이터, 타 어플리케이션과의 동시 실행 정보, 첫 번째 내지 N 번째 어플리케이션 각각의 사용 시간, 위 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛(Hardware IP) 정보를 포함할 수 있다. 여기서, 보조 하드웨어 유닛은 스마트 기기를 통해 구현되는 기능 중 사용자에 의해 빈번히 사용되는 기능(음악 재생 등)을 주로 처리하기 위해 제작된 SoC 타입의 칩을 의미하고, 스마트 기기 내에 장착되어 메인 CPU를 보조할 수 있다.
추가적으로, 카테고리 데이터는 도 8에 첨부된 표처럼 전화, 인터넷, 게임, 미디어(동영상, 음악, 이미지), 문서작업, 카메라, 기타 등으로 구분된 복수의 카테고리를 나타낼 수 있다. 도 8은 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버에서 벤치마킹 워크로드를 생성 및 수행을 위해 필요한 정보에 대한 예시이다. 즉, 도 4에서 N = 3인 경우, 상술한 벤치마킹 어플리케이션은 전화 통화 2회를 전화 카테고리와 매칭된다고 판단하고, 카카오 톡 등의 특정 어플리케이션 실행을 인터넷 카테고리 혹은 기타 카테고리와 매칭된다고 판단하여, '전화, 인터넷' 혹은 '전화, 기타'와 같은 카테고리에 대한 카테고리 데이터를 생성할 수 있다.
덧붙여, 사용기록 데이터는 스마트 기기의 사용자 동의를 얻은 상태에서 추출되거나 생성되는 것이 바람직하고, 사용자 동의와 관련된 작업은 상술한 벤치마킹 어플리케이션이 스마트 기기에 설치되는 때 이루어질 수 있다.
워크로드 생성부(120)는 상술한 사용기록 데이터에 기초하여, 스마트 기기에 대한 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성한다.
이하, 도 3을 참고하여 좀 더 상세히 설명한다. 도 3은 도 2의 워크로드 생성부를 구체적으로 설명하기 위한 블록도이다.
워크로드 생성부(120)는 평가 요소 저장부(121), 평가 요소 선택부(122), 카테고리 조합부(123), 가중치 결정부(124) 및 유닛 결정부(125)를 포함하여 구성될 수 있으며, 이들 구성이 서로 연동하여 벤치마킹 워크로드를 생성할 수 있다.
평가 요소 저장부(121)는 미리 설정된 복수의 평가 요소를 저장하고, 일종의 데이터 베이스 형태로 구현될 수 있다. 이들 평가 요소는 각 카테고리 별로 매칭된 상태로 저장될 수 있다.
구체적으로, 평가 요소 저장부(121)에 저장된 평가 요소는 도 8에 첨부된 표에 나타낸 항목일 수 있다.
예를 들어, 평가 요소 저장부(121)는 문서작업 카테고리에 매칭되는 평가 요소를 별도로 저장하고 있을 수 있고, 그 평가 요소로는 문서파일 지원여부 측정, 문서파일 인코딩/디코딩 관련 CPU 가속 알고리즘, 메모리 I/O 알고리즘 등이 있을 수 있다.
평가 요소 선택부(122)는 상술한 사용기록 데이터에 포함된 어플리케이션과 관련된 카테고리 데이터를 기초로 하여, 상술한 평가 요소 저장부(121)에 저장되어 있는 평가 요소 중에 각 카테고리 별로 수행할 평가 요소 또는 평가를 위한 쓰레드를 선택한다.
예를 들어, 평가 요소 저장부(121)에 평가 요소가 도 8에 첨부된 표처럼 각 카테고리 별로 매칭된 상태로 저장되면, 평가 요소 선택부(122)는 스마트 기기로부터 수신된 카테고리 데이터를 이용하여 수행할 평가 요소를 검색할 수 있다. 즉, 도 4에서 N = 3인 경우처럼 평가 요소 저장부(121)는 카테고리 데이터가 나타내는 카테고리인 '전화, 인터넷'을 평가 요소 저장부(121)에서 검색하고, 검색된 카테고리 결과를 이용하여 각 카테고리에 대해 수행할 평가 요소인 '모뎀 반응속도 측정, 통화 노이즈 수신율 측정, 통화 성공율 측정 및 영상통화 LTE/3G/Wi-Fi 수신 속도 측정 등' 및 'JavaScript 알고리즘, HTML5 알고리즘, XML 파싱 알고리즘, 브라우저 엔진 알고리즘, 브라우저 캐시와 메모리 I/O 알고리즘 및 데이터 수신 속도 등'을 결정할 수 있다.
카테고리 조합부(123)는 상술한 사용기록 데이터에 포함된 타 어플리케이션과의 동시 실행 정보를 기초로 하여 카테고리를 순차적으로 조합한다. 이렇게 조합한 카테고리마다 수행할 평가 요소를 각각 가지고 있다.
가중치 결정부(124)는 상술한 수행할 평가 요소에 적용되는 연산 가중치 값을 결정한다. 즉, 가중치 결정부(124)는 생성한 벤치마킹 워크로드에 사용자의 사용 패턴을 반영되도록 미리 설정된 만큼의 연산 가중치 값을 수행할 평가 요소에 적용시키는 구성이다.
구체적으로, 가중치 결정부(124)는 첫 번째 내지 N 번째 어플리케이션 각각의 사용 시간, 위 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛(Hardware IP) 정보를 기초로 연산 가중치 값을 결정할 수 있다. 여기서, 연산 가중치 값을 결정하는 방식은 특별히 제한되는 것은 아니다.
유닛 결정부(125)는 생성한 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정한다. 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛은 도 1에 도시된 복수의 샘플 단말기(190)에 장착되어 있을 수 있고, 보조 하드웨어 유닛(Hardware IP)일 수도 있다. 이미 상술한 것과 같이 보조 하드웨어 유닛은 스마트 기기를 통해 구현되는 기능 중 사용자에 의해 빈번히 사용되는 기능인 '미디어 카테고리 관련 기능 등'을 주로 처리하기 위해 제작된 SoC 타입의 칩을 의미하고, 스마트 기기 내에 장착되어 메인 CPU를 보조할 수 있다.
다시 도 2를 참고하면, 벤치마킹 수행부(130)는 워크로드 생성부(120)에서 생성한 벤치마킹 워크로드에 따라 스마트 기기에 대한 벤치마킹을 수행하고, 결과 데이터를 획득한다.
벤치마킹 수행부(130)는 도 1에 도시된 복수의 샘플 단말기(190)로 생성한 벤치마킹 워크로드를 전달할 수 있고, 샘플 단말기(190)의 하드웨어 유닛 혹은 보조 하드웨어 유닛에 의해 수행이 이루어질 수 있다. 혹은 벤치마킹 수행부(130)가 도 1에 도시된 복수의 샘플 단말기(190)의 하드웨어 유닛 혹은 보조 하드웨어 유닛 내에서 구현되어, 생성한 벤치마킹 워크로드를 수행할 수 있다.
또한, 벤치마킹 수행부(130)는 카테고리 조합부(123)의 조합 결과에 따라 순차적으로 벤치마킹을 수행할 수 있고, 멀티쓰레딩 프로그래밍 기법이 사용될 수 있다. 즉, 각 카테고리는 수행할 평가 요소를 복수 개 가지고 있고, 복수의 카테고리 중 어느 하나의 카테고리에 대한 벤치마킹이 수행되는 경우 그 하나의 카테고리 내 수행할 평가 요소는 멀티쓰레딩 프로그래밍 기법을 통해 동시에 처리될 수 있다.
최근 스마트 기기에서 동작하는 대부분의 어플리케이션이 멀티쓰레드를 이용하여 설계되기 때문에, 수행할 평가 요소에 대해 일반적인 프로그래밍 기법과는 다른 멀티쓰레딩 프로그래밍 기법을 통해 처리하는 것이 바람직하다.
또한, 멀티쓰레딩 프로그래밍 기법을 이용하면 복수의 워크로드를 동시에 구동시킬 수 있어, CPU를 비롯한 복수의 하드웨어 유닛에 대해 단위시간당 가할 수 있는 로드(스트레스)의 크기 및 범위를 증가시킬 수 있게 된다.
예를 들어, 듀얼코어 CPU를 갖는 하드웨어에서 멀티쓰레딩 프로그래밍 기법을 이용하여 A 알고리즘과 B 알고리즘을 동시에 구동시키면, 두 개의 코어에 모두 스트레스를 가할 수 있게 된다. 반면에, 단일쓰레드 워크로드에서는 하나의 두 개의 코어 중 하나에 대해 스트레스를 가할 수 있게 된다.
이렇게 벤치마킹 수행부(130)를 통해 획득된 결과 데이터는 상술한 통신부(110)에 의해 스마트 기기로 전송된다. 사용자는 사용 패턴이 반영된 높은 신뢰도의 결과 데이터를 참고하여 자신의 스마트 기기에 대한 객관적인 성능 평가를 할 수 있게 된다.
이때, 결과 데이터는 사용기록 데이터를 기초로 생성한 벤치마킹 워크로드를 통해 획득된 것이면서, 미리 설정된 만큼의 가중치 값이 반영된 것일 수 있다. 덧붙여, 결과 데이터는 가중치 값이 반영된 스코어 형태로 사용자에게 제공되는 것이 바람직하고, 막대 그래프, 원형 그래프, 꺾은 선형 그래프 등이 함께 사용될 수 있다.
상술한 것과 같이 통신부(110), 워크로드 생성부(120) 및 벤치마킹 수행부(130)를 포함하여 구성된 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버(100)에 대해 도 2, 도 3 및 도 5를 참고하여 더 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버를 이용하여 워크로드를 생성하는 예시이다.
본 발명의 일 실시예에 따른 서버(100)의 통신부(110)를 통해 수신되는 사용기록 데이터는 '전화 카테고리 사용 10분, 인터넷 및 미디어(음악) 카테고리 동시 사용 30분, 게임 카테고리 사용 30분, 미디어(동영상) 카테고리 사용 10분, 미디어(음악) 및 문서작업 카테고리 동시 사용 1시간, 문서작업 카테고리 사용 5분 등'과 같은 정보를 포함한다. 이 밖에도 '각 카테고리에 매칭된 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보'를 포함할 수 있다. 이러한 사용기록 데이터는 미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 사용 기록을 기초로 추출되거나 생성된 것일 수 있다.
본 발명의 일 실시예에 따른 서버(100)의 워크로드 생성부(120)는 상술한 사용기록 데이터에 기초하여 벤치마킹 워크로드를 생성한다. 워크로드 생성부(120)의 상세 구성인 평가 요소 선택부(122)는 사용기록 데이터에 포함된 전화(510), 인터넷+미디어(520), 게임(530), 미디어(540), 문서작업+미디어(550), 문서작업(560) 카테고리에 기초하여, 각 카테고리 별로 수행할 평가 요소를 선택한다. 즉, 평가 요소 선택부(122)는 도 8에 도시된 표처럼 전화 카테고리(510)에 대해 수행할 평가 요소인 모뎀 반응속도 측정, 통화 노이즈 수신율 측정, 통화 성공률 측정, 영상통화 LTE/3G/Wi-Fi 수신 속도 측정 등을 선택하고, 나머지 카테고리(520 내지 550)에 대해서도 각각 수행할 평가 요소를 선택한다.
또한, 워크로드 생성부(120)의 상세 구성인 카테고리 조합부(123)는 사용기록 데이터에 포함된 타 어플리케이션과의 동시 실행 정보에 기초하여, 각 카테고리를 순차적으로 조합한다. 즉, 인터넷+미디어(520) 카테고리는 동시 사용 기록이 있고, 문서작업+미디어(550) 카테고리 역시 동시 사용 기록이 있다. 카테고리 조합부(123)는 위 동시 사용 기록을 참고하여 전화(510), 인터넷+미디어(520), 게임(530), 미디어(540), 문서작업+미디어(550), 문서작업(560) 카테고리의 순서대로 카테고리를 조합하고, 각 카테고리에 대해 수행할 평가 요소도 순차적으로 조합한다.
또한, 워크로드 생성부(120)의 상세 구성인 가중치 결정부(124)는 사용기록 데이터에 포함된 각 카테고리 사용 시간인 '10분, 30분, 30분, 10분, 1시간, 5분', 각 카테고리에 매칭된 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보를 기초로 수행할 평가 요소에 적용되는 연산 가중치 값을 결정할 수 있다.
이때, 연산 가중치 값은 수행할 평가 요소 또는 평가 쓰레드를 몇 회 반복해서 실행시킬지를 의미할 수 있고, 연산 가중치 값에 따라 후술할 유닛 결정부(125)에서 결정되는 하드웨어 유닛에 대한 입력 데이터 사이즈가 변할 수 있다. 덧붙여, 연산 가중치 값에 따라 입력 데이터 사이즈 이외에도 동작시킬 쓰레드의 특성이 결정될 수 있다. 예를 들어, 추출된 사용 패턴이 메모리 I/O 위주의 사용 패턴을 가지고 있다면, 워크로드 조합 시에 연산 가중치 값을 조절하여 메모리 위주의 연산을 하는 쓰레드를 더 많이 조합시킬 수 있다.
아울러, 워크로드 생성부(120)의 상세 구성인 유닛 결정부(125)는 생성한 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는데, 하드웨어 유닛은 도 1에 도시된 복수의 샘플 단말기(190)에서 구현되는 것일 수 있고, 보조 하드웨어 유닛(Hardware IP)일 수도 있다.
나아가, 본 발명의 일 실시예에 따른 서버(100)의 벤치마킹 수행부(130)는 전화(510), 인터넷+미디어(520), 게임(530), 미디어(540), 문서작업+미디어(550), 문서작업(560) 카테고리 순서로 조합된 워크로드를 이용하여 벤치마킹을 수행하되, 전화 카테고리(510)에 대해 수행할 평가 요소인 '모뎀 반응속도 측정, 통화 노이즈 수신율 측정, 통화 성공률 측정, 영상통화 LTE/3G/Wi-Fi 수신 속도 측정 등'에 대한 벤치마킹이 멀티쓰레딩 기법을 통해 동시에 이루어진다. 다음 순서로 인터넷 카테고리(520)에 대해 수행할 평가 요소인 'JavaScript 알고리즘, HTML5 알고리즘, XML 파싱 알고리즘, 브라우저 엔진 알고리즘, 브라우저 캐시 및 메모리 I/O 알고리즘, 데이터 수신 속도 등'에 대한 벤치마킹 및 미디어(음악) 카테고리(520)에 대해 수행할 평가 요소인 'H.264 등과 같은 동영상 및 음악 파일 포맷 인코딩/디코딩 가능 및 지원여부 체크, 코덱 별 인코딩/디코딩 속도 측정, 각 이미지 재생 품질 측정 알고리즘 등'에 대한 벤치마킹이 멀티쓰레딩 기법을 통해 동시에 이루어진다. 그 다음 순서로 게임 카테고리(530)에 대해 수행할 평가 요소에 대한 벤치마킹이 동시에 이루어지고, 나머지 카테고리(540 내지 560)에 대해 수행할 평가 요소에 대한 벤치마킹도 위와 동일한 방식으로 동시에 이루어진다.
덧붙여, 벤치마킹 수행부(130)는 결과 데이터를 획득하는데, 결과 데이터는 총 스코어와 세부 항목에 따른 세부 스코어를 포함할 수 있다.
구체적으로, 도 8에 첨부된 표처럼 전화 카테고리(510)에 대한 세부 항목은 '모뎀 반응 속도(ms), 통화 시 수신 노이즈 측정(dB), 통화 성공률 측정(%), 영상통화 LTE/3G/Wi-Fi 수신 속도 측정(frame/sec)'일 수 있고, 전화 카테고리(510)는 10분 사용 시간 및 타 사용 패턴 기준에 대응하는 미리 설정된 만큼의 가중치 값이 반영된 세부 스코어를 획득할 수 있다. 인터넷+미디어(음악)카테고리(520)에 대한 세부 항목은 '알고리즘 수행시간(iteration/sec), 브라우저 엔진 반응속도(ms), 데이터 수신 속도(bps)와 함께 코텍 지원여부(개), 인코딩/디코딩 알고리즘 수행시간(iteration/sec), 이미지 재생능력(frame/sec)'일 수 있고, 인터넷+미디어(음악)카테고리(520)는 30분 사용 시간 및 타 사용 패턴 기준에 대응하는 미리 설정된 만큼의 가중치 값이 반영된 세부 스코어를 획득할 수 있다. 나머지 카테고리(530 내지 560)도 이미 상술한 것과 같은 사용 시간 정보, CPU 점유량, 메모리 사용량 및 보조 하드웨어 유닛 정보를 참고하여 미리 설정된 만큼의 가중치 값이 반영된 세부 스코어를 획득할 수 있고, 벤치마킹 수행부(130)는 이들 세부 스코어를 모두 합산한 총 스코어를 결과 데이터로 제공할 수 있다.
지금까지 설명한 본 발명의 일 실시예에 따른 스마트 기기에 대한 벤치마킹을 수행하는 서버는, 사용자의 스마트 기기에 대한 사용 패턴이 반영된 답변 데이터를 이용하여 벤치마킹 워크로드를 구성 및 수행함으로써, 기존의 획일적인 벤치마킹 결과에서 벗어나 사용자 친화적인 벤치마킹 결과를 제공할 수 있고, 개인정보 유출 우려를 최소화시킬 수 있다.
다시 말하자면, 기존의 벤치마킹 프로그램을 사용하여 벤치마킹을 수행하면, 사용자의 사용 패턴과는 상관없이 주로 스마트 기기의 하드웨어 성능 사양에 기반한 벤치마킹 결과만을 얻을 수 있었다. 본 발명의 일 실시예에 따른 서버를 통해 얻은 결과 데이터는 기존 방식을 통해 얻은 결과 데이터와는 다르게, 사용자의 사용 패턴이 반영된 것이므로, 소비자는 자신의 사용 패턴에 맞는 최적의 플랫폼을 갖춘 스마트 기기를 선택 및 구매할 수 있다는 장점이 있다.
한편, 본 발명의 일 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법에 대하여 도 6을 참고하여 설명한다. 도 6은 본 발명의 일 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 서버는 우선 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신한다(S610). 이때, 사용기록 데이터는 미리 설정된 복수의 카테고리 중에서 첫 번째 내지 N 번째 어플리케이션 각각이 해당되는 카테고리에 대한 카테고리 데이터, 타 어플리케이션과의 동시 실행 정보, 첫 번째 내지 N 번째 어플리케이션 각각의 사용 시간, 위 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛(Hardware IP) 정보를 포함할 수 있다.
수신한 사용기록 데이터에 기초하여, 본 발명의 일 실시예에 따른 서버는 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하고(S620), 그 생성한 벤치마킹 워크로드에 따라 스마트 기기에 대한 벤치마킹을 수행하여(S630) 결과 데이터를 획득하는 과정을 거친다(S640). 이때, 결과 데이터는 각 카테고리 별로 미리 설정된 만큼의 가중치 값이 반영된 스코어 형태로 사용자에게 제공되는 것이 바람직하고, 막대 그래프, 원형 그래프, 꺾은 선형 그래프 등이 함께 사용될 수 있다.
나아가, 도 7은 본 발명의 다른 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법을 설명하기 위한 순서도이다.
본 발명의 다른 실시예에 따른 서버는 우선 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신한다(S710).
이후에 본 발명의 다른 실시예에 따른 서버는 아래의 과정을 각각 수행함으로써, 벤치마킹 워크로드를 생성한다.
미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련되고, 수신한 사용 기록 데이터에 포함된 카테고리 데이터를 기초로 하여, 미리 설정된 복수의 평가 요소 중에 각 카테고리 별로 수행할 평가 요소를 선택한다(S721).
이어서 수신한 사용 기록 데이터에 포함된 타 어플리케이션과의 동시 실행 정보를 기초로 하여 각 카테고리를 순차적으로 조합하고(S722), 수행할 평가 요소에 적용되는 연산 가중치 값을 결정하여(S723), 벤치마킹 워크로드를 생성할 수 있다.
특히, 연산 가중치 값을 결정하는 경우 수신한 사용 기록 데이터에 포함된 첫 번째 내지 N 번째 어플리케이션 각각의 사용 시간, 위 어플리케이션 각각이 활성화된 시간 동안의 CPU 점유량, 위 어플리케이션 각각이 활성화된 시간 동안의 메모리 사용량 및 위 어플리케이션 각각이 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보를 활용할 수 있다.
추가적으로, 생성한 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는 과정을 거칠 수 있다(S724).
이어서 생성한 벤치마킹 워크로드가 포함하는 순차적으로 조합된 카테고리에 따라 스마트 기기에 대한 벤치마킹을 수행하되(S730), 멀티쓰레딩 프로그래밍 기법을 통해 각 카테고리 별로 수행할 평가 요소에 대한 벤치마킹이 동시에 이루어지도록 하는 것이 바람직하다.
위와 같은 벤치마킹 수행을 통해 결과데이터를 획득하고(S740), 본 발명의 다른 실시예에 따른 서버가 획득한 결과 데이터를 스마트 기기로 전송하여(S750), 사용자가 스마트 기기를 통해 벤치마킹 결과를 확인할 수 있다.
지금까지 설명한 본 발명의 각 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법은, 사용자의 스마트 기기에 대한 사용 패턴이 반영된 사용기록 데이터를 이용하여 벤치마킹 워크로드를 구성 및 수행함으로써, 기존의 획일적인 벤치마킹 결과에서 벗어나 사용자 친화적이면서 높은 신뢰성 및 객관성을 가지는 벤치마킹 결과를 사용자에게 제공할 수 있다는 장점이 있다.
즉, 사용자가 스마트 기기에서 특정 어플리케이션을 실행시키는 경우 사용자는 인지하지 못 하더라도 특정 어플리케이션과 함께 구동되는 어플리케이션(데몬 프로그램, 메일 동기화 등)에 대한 사용기록까지 사용기록 데이터에 반영될 수 있고, 결과적으로 본 발명의 각 실시예에 따른 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법은 보다 정확한 벤치마킹 결과를 사용자에게 제공할 수 있게 된다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 스마트 기기 100: 서버
110: 통신부 120: 워크로드 생성부
130: 벤치마킹 수행부

Claims (12)

  1. 스마트 기기에 대한 벤치마킹을 수행하는 서버에 있어서,
    상기 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신하는 통신부;
    상기 사용기록 데이터에 기초하여, 상기 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하는 워크로드 생성부; 및
    상기 벤치마킹 워크로드에 따라 상기 스마트 기기에 대한 벤치마킹을 수행하여 결과 데이터를 획득하는 벤치마킹 수행부를 포함하고,
    상기 워크로드 생성부는,
    미리 설정된 복수의 평가 요소를 저장하는 평가 요소 저장부;
    상기 사용기록 데이터에 포함된 어플리케이션과 관련된 카테고리 데이터를 기초로 하여, 상기 평가 요소 중에 각 카테고리 별로 수행할 평가 요소를 선택하는 평가 요소 선택부;
    타 어플리케이션과의 동시 실행 정보를 기초로 하여 상기 카테고리를 순차적으로 조합하는 카테고리 조합부;
    상기 수행할 평가 요소에 적용되는 연산 가중치 값을 결정하는 가중치 결정부; 및
    상기 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는 유닛 결정부를 포함하는 스마트 기기에 대한 벤치마킹을 수행하는 서버.
  2. 제 1 항에 있어서, 상기 통신부는 상기 결과데이터를 상기 스마트 기기로 전송하는
    스마트 기기에 대한 벤치마킹을 수행하는 서버.
  3. 제 1 항에 있어서, 상기 사용기록 데이터는 미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 사용 기록을 기초로 추출되거나 생성되는
    스마트 기기에 대한 벤치마킹을 수행하는 서버.
  4. 제 3 항에 있어서, 상기 사용기록 데이터는 미리 설정된 복수의 카테고리 중에서 상기 어플리케이션이 해당되는 카테고리에 대한 카테고리 데이터, 타 어플리케이션과의 동시 실행 정보, 상기 어플리케이션의 사용 시간, 상기 어플리케이션이 활성화된 시간 동안의 CPU 점유량, 상기 활성화된 시간 동안의 메모리 사용량 및 상기 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보를 포함하는
    스마트 기기에 대한 벤치마킹을 수행하는 서버.
  5. 삭제
  6. 제 1 항에 있어서, 상기 벤치마킹 수행부는
    상기 카테고리 조합부의 조합 결과에 따라 벤치마킹을 수행하되, 멀티쓰레딩 프로그래밍 기법을 통해 상기 수행할 평가 요소에 대한 벤치마킹이 동시에 이루어지도록 하는
    스마트 기기에 대한 벤치마킹을 수행하는 서버.
  7. 제 1 항에 있어서, 상기 가중치 결정부는 상기 어플리케이션의 사용 시간, 상기 어플리케이션이 활성화된 시간 동안의 CPU 점유량, 상기 활성화된 시간 동안의 메모리 사용량 및 상기 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보를 기초로 상기 연산 가중치 값을 결정하는
    스마트 기기에 대한 벤치마킹을 수행하는 서버.
  8. 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법에 있어서,
    상기 스마트 기기로부터 스마트 기기에 대한 사용자의 사용기록 데이터를 수신하는 단계;
    상기 사용기록 데이터에 기초하여 상기 벤치마킹 수행을 위한 벤치마킹 워크로드를 생성하는 단계; 및
    상기 생성한 벤치마킹 워크로드에 따라 상기 스마트 기기에 대한 벤치마킹을 수행하여 결과 데이터를 획득하는 단계를 포함하고,
    상기 벤치마킹 워크로드를 생성하는 단계는,
    미리 설정된 시점으로부터 사용자에 의해 실행된 첫 번째 내지 N 번째 어플리케이션과 관련된 카테고리 데이터를 기초로 하여, 미리 설정된 복수의 평가 요소 중에 각 카테고리 별로 수행할 평가 요소를 선택하는 단계;
    타 어플리케이션과의 동시 실행 정보를 기초로 하여 상기 카테고리를 순차적으로 조합하는 단계;
    상기 수행할 평가 요소에 적용되는 연산 가중치 값을 결정하는 단계; 및
    상기 생성한 벤치마킹 워크로드를 수행하기 위한 하드웨어 유닛을 결정하는 단계를 포함하는 서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법.
  9. 삭제
  10. 제 8 항에 있어서, 상기 연산 가중치 값을 결정하는 단계에서 상기 어플리케이션의 사용 시간, 상기 어플리케이션이 활성화된 시간 동안의 CPU 점유량, 상기 활성화된 시간 동안의 메모리 사용량 및 상기 활성화된 시간 동안에 사용한 보조 하드웨어 유닛 정보를 기초로 하여 상기 연산 가중치 값을 결정하는
    서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법.
  11. 제 8 항에 있어서, 상기 결과 데이터를 획득하는 단계에서 상기 카테고리를 순차적으로 조합한 결과에 따라 벤치마킹을 수행하되, 상기 수행할 평가 요소에 대한 벤치마킹은 멀티쓰레딩 프로그래밍 기법을 통해 동시에 이루어지도록 하는
    서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법.
  12. 제 8 항에 있어서, 상기 결과 데이터를 상기 스마트 기기로 전송하는 단계를 더 포함하는
    서버가 스마트 기기에 대한 벤치마킹을 수행하는 방법.
KR1020120067261A 2012-06-22 2012-06-22 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법 KR101391786B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120067261A KR101391786B1 (ko) 2012-06-22 2012-06-22 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120067261A KR101391786B1 (ko) 2012-06-22 2012-06-22 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법

Publications (2)

Publication Number Publication Date
KR20140000410A KR20140000410A (ko) 2014-01-03
KR101391786B1 true KR101391786B1 (ko) 2014-05-09

Family

ID=50138289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120067261A KR101391786B1 (ko) 2012-06-22 2012-06-22 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법

Country Status (1)

Country Link
KR (1) KR101391786B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585577B1 (ko) * 2005-11-30 2006-06-07 주식회사 퓨전소프트 테스트 시나리오 파일 자동 작성에 의거한 무선통신단말기테스트 방법
KR100985749B1 (ko) * 2006-12-05 2010-10-06 삼성전자주식회사 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585577B1 (ko) * 2005-11-30 2006-06-07 주식회사 퓨전소프트 테스트 시나리오 파일 자동 작성에 의거한 무선통신단말기테스트 방법
KR100985749B1 (ko) * 2006-12-05 2010-10-06 삼성전자주식회사 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법

Also Published As

Publication number Publication date
KR20140000410A (ko) 2014-01-03

Similar Documents

Publication Publication Date Title
US20230080722A1 (en) Automated local story generation and curation
US20210227016A1 (en) Story and sub-story navigation
KR20150063514A (ko) 애플리케이션의 개발, 컴파일링 및 디버그 방법과 장치
US10057336B2 (en) Dynamic load balancing between client and server
CN104584650B (zh) 计算机系统以及相关方法
US20190325490A1 (en) Utility-based price guidance
US10356650B2 (en) Method, system, device, and program for remotely communicating with and controlling laundry units
US20170149633A1 (en) Estimation of power consumption of individual websites
WO2013048381A1 (en) Managing data usage of a computing device
CN109729384A (zh) 视频转码的选择方法和装置
US20230281378A1 (en) Markdown data content with action binding
CN109364492A (zh) 实现游戏道具转移的方法及装置
KR101391786B1 (ko) 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법
US11144943B2 (en) Draft completion system
KR101404164B1 (ko) 스마트 기기에 대한 설문 데이터를 통해 벤치마킹을 수행하는 서버 및 그 수행방법
CN111104281A (zh) 一种游戏性能监控方法、装置、系统及存储介质
CN111782166B (zh) 多屏幕交互方法、装置、设备及存储介质
US20180374013A1 (en) Service architecture for dynamic block appointment orchestration and display
CN108668279A (zh) 网络连接方法及终端设备
KR102341731B1 (ko) 국내 거주 외국인 매칭 서비스와 온라인 쇼핑몰 서비스를 제공하는 온라인 플랫폼을 운용하는 장치 및 그 동작 방법
Pándi et al. Mobile performance metrics for resource management
EP4300388A1 (en) Large line item event processing system
US20230419251A1 (en) Large line item event processing system
CN109074581A (zh) 用于支付的方法和终端设备
KR20190021097A (ko) 사용자 정의 가챠 이벤트 제공 장치, 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee