KR102302361B1 - 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템 - Google Patents

어플리케이션과 장치 간의 피처 매칭 방법 및 시스템 Download PDF

Info

Publication number
KR102302361B1
KR102302361B1 KR1020140195461A KR20140195461A KR102302361B1 KR 102302361 B1 KR102302361 B1 KR 102302361B1 KR 1020140195461 A KR1020140195461 A KR 1020140195461A KR 20140195461 A KR20140195461 A KR 20140195461A KR 102302361 B1 KR102302361 B1 KR 102302361B1
Authority
KR
South Korea
Prior art keywords
feature
features
electronic device
application
terminal group
Prior art date
Application number
KR1020140195461A
Other languages
English (en)
Other versions
KR20160081521A (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 KR1020140195461A priority Critical patent/KR102302361B1/ko
Priority to US14/953,903 priority patent/US10318264B2/en
Publication of KR20160081521A publication Critical patent/KR20160081521A/ko
Application granted granted Critical
Publication of KR102302361B1 publication Critical patent/KR102302361B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 실시예는 외부 장치와 통신하는 통신부와, 상기 통신부를 통해 피처들을 수집하고, 피처들 간의 상관관계를 고려하여 어플리케이션과 전자 장치 간의 공통 피처들을 나타내는 단말 군을 생성하고, 단말 군을 이용하여 어플리케이션과 전자 장치 간의 피처를 매칭하는 제어부와, 상기 수집된 피처 및 상기 단말 군을 저장하는 데이터베이스를 포함하는 시스템 및 방법을 제공한다. 또한, 다른 실시예도 가능하다.

Description

어플리케이션과 장치 간의 피처 매칭 방법 및 시스템{SYSTEM AND METHOD FOR MATCHING BETWEEN APPLICATION AND DEVICE}
본 실시예는 어플리케이션과 장치 간의 피처를 매칭하는 방법 및 시스템에 관한 것이다.
Google Andriod 나 Tizen 같은 개방형 플랫폼에서 기존의 어플리케이션과 장치 간의 피처 매칭 방법은 여러 제조사에서 만들어진 다양한 피처들을 포함하는 전자 장치들을 모두 확인하지 못하고, 플랫폼에서 정의한 참조단말(Reference Device)의 피처(Feature)들을 기준으로 어플리케이션과 장치를 매칭하고 있다. 여기서, 참조단말이란 특정 버전의 플랫폼에 포함하고자 하는 피처들을 플랫폼 제공자가 장치 제조사에 의뢰하여 생산한 단말을 의미한다(예, Google Nexus). 어플리케이션 개발자는 참조단말에서 어플리케이션이 정상동작 하는지 확인하고, 장치 제조사는 플랫폼에서 정의된 피처들을 구현하여 참조단말과 동일한 동작을 하는지 확인하는 방법으로 어플리케이션과 장치간의 호환성을 확인한다.
그런데, 컨텐츠 서비스 제공자는 플랫폼에서 확인한 호환성을 기준으로 전자 장치와 어플리케이션 간의 매칭을 수행한다. 이 과정에서 사용되는 참조단말은 다양한 제조사에서 구현한 '장치 차별화 피처'와 '제조사 피처'를 포함하지 않으므로, 이를 이용한 매칭 방법은 어플리케이션과 장치를 정확하게 매칭할 수 없다. 특히, IoT(Internet of Thing) 등으로 인해 동일한 플랫폼 상에서 구현된 전자 장치의 형태가 매우 다양해 질 수 있는데, 형태의 다양함은 피처 조합의 다양함을 의미하여, 단말 단편화가 심화된다. 다양한 기기를 지원하는 플랫폼에서 어플리케이션과 장치의 호환성 판단을 정확하고 효율적으로 하기 위해서는 종래의 기술로는 구분 가능한 피처가 제한적이므로 한계를 갖게 된다.
예를 들어, 제1 플랫폼 제공자는 최초 플랫폼(v1)에 피처 ‘X', ‘Y', ‘Z'를 포함하여 배포하고, 장치 제조사는 상기 플랫폼의 피처를 하드웨어와 소프트웨어를 이용하여 구현할 수 있다. 어플리케이션 개발자들은 상기 플랫폼의 SDK(Software Development Kit)를 이용하여 어플리케이션을 개발할 수 있다. 시간이 지남에 따라, 플랫폼 v1은 기술적 진화를 통해 피처 'T'를 추가하며 플랫폼 V2로 진화하게 된다. 장치 제조사들은 플랫폼 V2에서 구현되는 전자 장치 Manufacture-A(피처 Y, Z, T 포함)를 개발할 수 있다. 플랫폼의 진화 과정에서 기존의 피처(X, Y, Z)도 변경될 수도 있지만, 변경된 피처는 추가된 피처로 간주한다.
이 과정에서 여러 장치 제조사들 간의 경쟁이 심화되면, 동일한 피처를 구현한 전자 장치만으로는 경쟁사와 차별성이 없어지므로, 장치 제조사는 전자 장치 Manufacture-B에 장치 차별화를 위한 피처(예: 피처 'M')을 추가할 수 있다. 장치 제조사는 장치 차별화 피처가 플랫폼에서 배포하는 SDK에 포함되지 않더라도, 전자 장치의 활용도를 높이기 위해서 추가된 피처를 이용한 어플리케이션이 필요하다. 따라서, 장치 제조사는 해당 피처를 이용할 수 있는 ad-hoc 라이브러리를 어플리케이션 개발자들에게 배포할 수 있다. 어플리케이션 개발자(예: Developer-c)는 피처 'T' 및 'M'을 포함하는 어플리케이션을 개발할 수 있다. 또는, 다른 어플리케이션 개발자(예: Developer-a)는 피처 'Y' 및 'T'을 포함하는 어플리케이션을 개발할 수 있다.
이러한 상황에서 어플리케이션과 장치를 매칭하여 사용자에게 어플리케이션 목록을 보여주어야 하는 컨텐츠 서비스 제공자는 Developer-c가 개발한 어플리케이션이 피처 'T'만을 포함하고 있는 것으로 간주할 수 있다. 이 경우, 컨텐츠 서비스 제공자는 Developer-c가 개발한 어플리케이션이 전자 장치 Manufacture-B(피처 M, Z, T 포함)뿐 만 아니라 전자 장치 Manufacture-A(피처 Y, Z, T 포함)까지 호환되는 것으로 판단하는 매칭 오류를 발생할 수 있다. 이와 같이, 개방형 플랫폼에서 제공하는 피처만으로 어플리케이션과 장치를 매칭할 경우, 매칭 오류를 발생할 확률이 커지게 된다. 이 경우, 컨텐츠 서비스 제공자는 사용자의 전자 장치에서 실행할 수 없는 어플리케이션을 제공할 가능성이 높아질 수 있다.
다양한 실시예들은 공통 피처를 갖는 단말 군을 생성함으로써, 단말 군을 이용하여 효율적으로 어플리케이션과 장치 간의 피처를 매칭할 수 있는 방법 및 시스템을 목적으로 한다.
다양한 실시예들에 따른 피처 매칭 시스템은 외부 장치와 통신하는 통신부와, 상기 통신부를 통해 피처들을 수집하고, 피처들 간의 상관관계를 고려하여 어플리케이션과 전자 장치 간의 공통 피처들을 나타내는 단말 군을 생성하고, 단말 군을 이용하여 어플리케이션과 전자 장치 간의 피처를 매칭하는 제어부와, 상기 수집된 피처 및 상기 단말 군을 저장하는 데이터베이스를 포함할 수 있다.
다양한 실시예들에 따른 피처 매칭 방법은 피처들을 수집하는 동작과, 상기 수집된 피처들 간의 상관관계를 고려하여 어플리케이션과 전자 장치 간의 공통 피처들을 나타내는 단말 군을 생성하는 동작과, 상기 단말 군을 이용하여 상기 어플리케이션과 상기 전자 장치 간의 피처를 매칭하는 동작과, 상기 어플리케이션과 상기 전자 장치 간의 매칭되는 피처를 데이터베이스에 저장하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 공통 피처를 갖는 단말 군을 생성함으로써, 단말 군을 이용하여 효율적으로 어플리케이션과 장치 간의 피처를 매칭할 수 있다.
다양한 실시예들에 따르면, 플랫폼, 제조사, 지역, 전자 장치 등에 따라 각각 다르게 포함하고 있는 피처들을 공통의 저장소에 관리함으로써, 피처들을 효율적으로 관리할 수 있다.
다양한 실시예들에 따르면, 어플리케이션과 장치 간의 피처를 매칭하는 정확도를 높이고, 성능 손실을 최소화할 수 있다.
도 1은 다양한 실시예들에 따른 어플리케이션과 장치 간의 피처 매칭 시스템의 네트워크 환경을 도시한 도면이다.
도 2는 다양한 실시예들에 따른 피처 매칭 시스템의 구성을 도시한 블록도이다.
도 3은 다양한 실시예들에 따른 어플리케이션과 장치 간의 피처 매칭 방법을 도시한 흐름도이다.
도 4는 다양한 실시예들에 따른 피처들을 수집하여 피처 저장소에 저장하는 일례를 도시한 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치별 피처 테이블을 도시한 도면이다.
도 6은 다양한 실시예들에 따른 피처 트리를 구성하는 방법을 도시한 흐름도이다.
도 7a 및 도 7b는 다양한 실시예들에 따른 피처 트리의 일례를 도시한 도면이다.
이하, 첨부된 도면들을 참조하여 다양한 실시예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 개시의 다양한 실시예들에 따른 전자 장치는 통신 기능을 포함하는 모든 개념의 장치를 포함할 수 있다. 예를 들면, 전자 장치는 스마트폰 (smartphone), 홈 게이트웨이(Home Gateway), 홈 오토메이션(Home Automation), 건물 자동화(Building Automation), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device)(예: 스마트 안경, 머리 착용형 장치 (head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 오토매이션 컨트롤 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller’s machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
종래의 어플리케이션과 장치 간의 매칭 방법을 플랫폼 중심적 매칭 방법이라면, 본 실시예는 장치(또는 단말) 중심적 매칭 방법이라 할 수 있다. 플랫폼 중심적 매칭 방법 대비 장치 중심적 매칭 방법의 가장 큰 차이점은 서비스 제공 시스템에 접근하는 장치들의 피처를 플랫폼 피처로 제한하지 않는 것이다. 예를 들어, 어플리케이션과 장치를 정확하게 매칭하기 위해서는 서비스 대상으로 존재하는 모든 전자 장치와 어플리케이션의 피처를 세분화하고, 서로 호환되는 조합을 찾는 과정이 필요하다. 그런데, 종래의 플랫폼 중심적 매칭 방법은 서비스 대상을 전자 장치 내 플랫폼 피처로 제한하기 때문에, 전자 장치의 일부 피처들을 기준으로 어플리케이션 내 피처와 매칭하는 경우, 정확성이 떨어지게 된다. 그러나, 정확성을 높이기 위해서 전자 장치의 피처를 제한하지 않는다면, 전자 장치의 피처가 점점 더 다양해 질수록 전자 장치의 요청에 대한 응답 성능이 늦어져 서비스 품질이 저하된다. 따라서, 종래의 플랫폼 중심적 매칭 방법을 개선하여 매칭 정확도를 높이고 성능 손실을 최소화 할 수 있는 방법이 필요하다.
이하에서, 설명되는 피처(feature)는 어떤 시스템의 사용자에게 보여지는 특성 또는 사용자가 구분 가능한 가능한 특성으로 정의할 수 있다. 이러한, 피처는 사용자에게 외부의 특성으로 나타나지 않을 수도 있고, 사용자가 경험적으로 구분 가능하다. 본 실시예는 플랫폼 피처, 제조사 피처, 지역적 피처, 장치 차별화 피처로 구분하여 데이터베이스에 저장하고, 저장된 피처들은 공통성을 고려한 Frequent-Pattern Growth(FP Growth) 방법을 이용하여 피처 트리(Feature Tree)로 재구성하여, 피처 트리를 이용하여 공통성을 최대로 갖는 조합으로 단말 군(Device Group)을 구축할 수 있다. 본 실시예는 구축된 단말 군을 이용하여 어플리케이션과 전자 장치 간의 피처를 매칭하여 피처 매칭의 정확성과 성능 이득을 볼 수 있다.
도 1은 다양한 실시예들에 따른 어플리케이션과 장치 간의 피처 매칭 시스템의 네트워크 환경을 도시한 도면이다.
도 1을 참고하면, 참조번호 110은 플랫폼 제공자일 수 있다. 플랫폼 제공자 110은 개방형 플랫폼 환경에서, 플랫폼을 개발하고, 배포하는 주체일 수 있다. 예컨대, 플랫폼 제공자 110은 안드로이드 플랫폼을 제공하는 구글과 같은 주체일 수 있다. 플랫폼 제공자 110은 플랫폼에 새로운 기능을 추가하거나, 오류를 수정하는 등의 작업을 수행하여 피처를 추가할 수 있다.
참조번호 120은 어플리케이션 개발자일 수 있다. 어플리케이션 개발자 120은 특정 플랫폼 환경의 전자 장치에서 실행할 수 있는 어플리케이션을 개발하는 주체일 수 있다. 어플리케이션 개발자 120은 새로운 플랫폼이 나오거나, 새로운 전자 장치가 출시되면, 그에 맞게 어플리케이션을 수정하거나, 추가할 수 있다. 즉, 어플리케이션 개발자 120은 새로운 플랫폼 또는 새로운 전자 장치에 맞는 피처들이 어플리케이션에 포함되도록 어플리케이션을 수정하거나 추가하는 것이다.
참조번호 130은 장치 제조사일 수 있다. 장치 제조사 130은 상기에서 설명한 전자 장치를 만들어 판매하는 주체일 수 있다. 장치 제조사 130은 새로운 플랫폼이 나오면, 그에 맞게 전자 장치의 소프트웨어나 하드웨어를 수정하거나, 추가할 수 있다. 즉, 장치 제조사 130은 새로운 플랫폼에 맞게 전자 장치에 피처들을 포함시킬 수 있다. 또한, 장치 제조사 130은 지역(예: 나라) 또는 가격대별로 서로 다른 피처들을 포함하는 전자 장치를 개발할 수 있다.
참조번호 140은 전자 장치일 수 있다. 전자 장치 140은 다양한 장치 제조사 130에서 지역 또는 가격별로 다양한 플랫폼을 탑재한 기기이다. 따라서, 전자 장치 140는 장치 제조사 130나 플랫폼 버전에 따라 각각 상이한 피처들을 포함할 수 있다.
참조번호 150은 어플리케이션과 장치 간의 피처 매칭 시스템(이하, '피처 매칭 시스템'이라 함)을 나타내는 것일 수 있다. 피처 매칭 시스템 150은 어플리케이션 개발자 120과 전자 장치 140를 서로 연결하는 것으로, 어플리케이션 마켓 서비스 제공자일 수 있다. 피처 매칭 시스템 150은 전자 장치 140의 요청이 있는 경우, 전자 장치 140과 어플리케이션 간 호환성을 체크하여 전자 장치 140에서 실행 가능한 어플리케이션 목록을 제공하고 있다. 예컨대, 피처 매칭 시스템 150은 전자 장치 140으로부터 장치 정보를 수신할 수 있다. 상기 장치 정보는 전자 장치 140의 피처에 대한 정보를 포함하는 것으로, 예컨대, 전자 장치 140의 플랫폼 정보(예: 플랫폼 버전)와 전자 장치 140의 소프트웨어 및 하드웨어에 대한 정보를 포함할 수 있다. 피처 매칭 시스템 150은 전자 장치 140이 가속도 센서나 GPS 모듈을 포함하고 있는 경우, 가속도 센서나 GPS 모듈을 사용하여 구현되는 어플리케이션을 전자 장치 140에 제공할 수 있다. 즉, 피처 매칭 시스템 150은 특정 어플리케이션이 전자 장치의 GPS 기능을 사용하여 구현된 경우, GPS 모듈이 탑재된 전자 장치로만 상기 특정 어플리케이션을 제공할 수 있는 것이다.
상기에서 설명한 주체 이외에 어플리케이션 거래 과정의 금전 처리를 위한 전자 금융 시스템, 대량의 어플리케이션을 공급하는 브로커 등 다양한 구성원들이 피처 매칭 시스템에 추가될 수도 있다.
그런데, 종래의 피처 매칭 방법에 따르면, 플랫폼 제공자 110은 다양하게 분포되어 있는 플랫폼 버전들로 인하여, 상/하위 호환성을 유지하며 플랫폼 개발을 진행하기 어려울 수 있다. 또한, 어플리케이션 개발자 120은 개발 중이거나 개발이 완료된 어플리케이션이 어떤 전자 장치에서 정상 동작을 하는지, 비정상 동작을 하는지 확인하는데 어려움이 있다. 또한, 전자 장치 140을 사용하는 사용자는 자신의 전자 장치와 호환되는 어플리케이션을 찾는데 어려움을 겪을 수 있다. 그리고, 어플리케이션 마켓 서비스 제공자는 전자 장치 140의 요청이 있는 경우, 전자 장치 140과 호환되는 어플리케이션을 제공해야 하는데, 단말 단편화가 심화될 수록 전자 장치와 어플리케이션 간의 호환성을 판단하는 정확성이 떨어질 수 있다.
이러한, 종래의 문제점을 해결하기 위하여, 피처 매칭 시스템 150은 플랫폼 제공자 110의 플랫폼 피처, 어플리케이션 개발자 120의 어플리케이션에 포함된 피처, 장치 제조사 130의 제조사 피처, 전자 장치 140의 지역적 피처 또는 장치 차별화 피처를 데이터베이스 150a에 저장할 수 있다. 피처 매칭 시스템 150은 데이터베이스 150a에 저장된 피처들 간의 상관관계를 고려하여 어플리케이션과 전자 장치 간의 공통 피처들을 나타내는 단말 군을 구축하고, 구축된 단말 군을 이용하여 어플리케이션과 전자 장치 간의 피처를 매칭함으로써, 피처를 매칭하는 정확성을 높일 수 있도록 한다.
도 2는 다양한 실시예들에 따른 피처 매칭 시스템을 구성을 도시한 블록도이다.
도 2를 참고하면, 피처 매칭 시스템 200은 제어부 210, 통신부 220, 및 데이터베이스 230을 포함할 수 있다.
제어부 210은 피처 매칭 시스템 200의 전반적인 동작 및 내부 구성들 간의 신호 흐름을 제어하고, 데이터를 처리한다. 제어부 210은 피처 관리 모듈 211, 어플리케이션 관리 모듈 212, 장치 관리 모듈 213 및 피처 매칭 모듈 214를 포함할 수 있다.
피처 관리 모듈 211은 피처들을 수집하는 역할을 한다. 피처 관리 모듈 211은 어플리케이션 관리 모듈 212를 통해 전자 장치 140으로부터 어플리케이션 목록을 요청받는 경우, 전자 장치 140의 피처를 수집할 수 있다. 예컨대, 피처 관리 모듈 211은 전자 장치 140으로 상기 요청된 어플리케이션 목록을 제공하기 위해, 전자 장치 140으로 장치 정보를 요청할 수 있다. 피처 관리 모듈 211은 전자 장치 140으로부터 최초 어플리케이션 목록이 요청된 경우, 또는 상기 어플리케이션 목록을 요청할 때마다, 전자 장치 140으로 장치 정보를 요청할 수 있다. 상기 장치 정보는 전자 장치 140의 피처에 대한 정보를 포함하는 것으로, 예컨대, 전자 장치 140의 플랫폼 정보(예: 플랫폼 버전)와 전자 장치 140의 소프트웨어 및 하드웨어에 대한 정보를 포함할 수 있다. 피처 관리 모듈 211은 상기 장치 정보로부터 전자 장치 140의 피처들을 추출할 수 있다. 피처 관리 모듈 211은 상기 추출된 전자 장치 140의 피처들을 데이터베이스 230에 저장할 수 있다.
또는, 전자 장치 140이 어플리케이션 마켓 서비스를 접속하기 위한 어플리케이션인 서비스 클라이언트가 전자 장치 140의 피처를 직접 추출하여 통신부 220을 통해 피처 관리 모듈 211로 전달할 수도 있다. 또는, 피처 관리 모듈 211은 장치 피처를 포함하는 명세 파일(description file)을 활용하여 전자 장치 140의 피처들을 추출할 수도 있다. 명세 파일은 전자 장치를 생산할 때 장치 제조사 130이 필요한 정보를 어플리케이션 마켓 서비스 제공자가 정한 형식에 따라 기술한 것이다(예, UAProf).
피처 관리 모듈 211은 데이터베이스 230에 저장된 피처들을 분류할 수 있다. 피처 관리 모듈 211은 수집된 피처들을 그 성격에 따라 공통성을 기반으로 하여 분류할 수 있다. 피처 분류의 목적은 추후 단말 군 구축 과정에서 피처들의 상관 관계를 바탕으로 피처 트리를 구성하는 과정을 단순화 하기 위한 것이다. 피처 관리 모듈 211은 플랫폼 피처(platform feature), 제조사 피처(manufacturer feature), 지역적 피처(regional feature) 및 장치 차별화 피처(differentiated feature) 중 어느 하나로 피처들을 분류할 수 있다.
또한, 피처 관리 모듈 211은 통신부 220을 통해 플랫폼 제공자 110으로 피처를 요청하고, 플랫폼 제공자 110으로부터 플랫폼과 연관된 피처들을 수신하여 데이터베이스 230에 저장할 수 있다. 피처 관리 모듈 211은 플랫폼이 갱신되거나, 새로운 플랫폼이 출시되면, 또는 주기적으로 플랫폼 제공자 110으로 피처를 요청할 수 있다. 또는, 피처 관리 모듈 211은 플랫폼 제공자 110으로부터 갱신 또는 신규 플랫폼을 수신하고, 수신된 플랫폼으로부터 피처를 추출할 수도 있다. 피처 관리 모듈 211은 통신부 220을 통해 어플리케이션 개발자 120으로 피처를 요청하고, 어플리케이션 개발자 120으로부터 어플리케이션과 연관된 피처들을 수신하여 데이터베이스 230에 저장할 수 있다. 피처 관리 모듈 211은 어플리케이션이 갱신되거나, 새로운 어플리케이션이 추가되면, 또는 주기적으로 어플리케이션 개발자 120으로 피처를 요청할 수 있다. 또는, 피처 관리 모듈 211은 어플리케이션 개발자 120으로부터 갱신 또는 신규 어플리케이션을 수신하고, 수신된 어플리케이션으로부터 피처를 추출할 수도 있다.
또한, 피처 관리 모듈 211은 통신부 220을 통해 장치 제조사 130으로 피처를 요청하고, 장치 제조사 130으로부터 전자 장치와 연관된 피처들을 수신하여 데이터베이스 230에 저장할 수 있다. 피처 관리 모듈 211은 전자 장치가 갱신되거나, 새로운 전자 장치가 출시되면, 또는 주기적으로 장치 제조사 130으로 피처를 요청할 수 있다. 또는, 피처 관리 모듈 211은 장치 제조사 130으로부터 갱신 또는 신규 전자 장치의 장치 정보를 수신하고, 수신된 장치 정보로부터 피처를 추출할 수도 있다.
어플리케이션 관리 모듈 212는 통신부 220을 통해 어플리케이션 개발자 120으로부터 어플리케이션을 등록받을 수 있다. 어플리케이션 관리 모듈 212는 어플리케이션 개발자 120으로부터 등록된 어플리케이션을 데이터베이스 230에 저장할 수 있다. 어플리케이션 관리 모듈 212는 어플리케이션이 수정되는 경우, 데이터베이스 230에 저장된 어플리케이션을 수정된 어플리케이션으로 변경할 수 있다. 또한, 새로운 어플리케이션이 출시되면, 어플리케이션 관리 모듈 212는 새로운 어플리케이션을 등록받아, 데이터베이스 230에 저장할 수 있다. 어플리케이션 관리 모듈 212는 어플리케이션이 수정되거나, 새로운 어플리케이션을 등록받는 경우, 피처 관리 모듈 211로 어플리케이션 수정 또는 등록을 통보할 수 있다. 그래서, 피처 관리 모듈 211이 어플리케이션에 포함된 피처를 추출할 수 있도록 한다.
어플리케이션 관리 모듈 212는 상기 어플리케이션 등록 과정에서 어플리케이션이 배포될 대상(예, 지역(나라), 전자 장치)을 설정할 수 있다. 또한, 어플리케이션 관리 모듈 212는 상기 어플리케이션의 서비스 적정성을 확인하기 위한 테스트(예, 호환성 테스트, 기본 동작 테스트, 위해성 테스트)를 수행할 수도 있다. 어플리케이션 관리 모듈 212는 통신부 220을 통해 전자 장치 140으로부터 어플리케이션 목록을 요청받을 수 있다. 어플리케이션 관리 모듈 212는 상기 어플리케이션 목록을 요청한 전자 장치 140의 장치 정보에 매칭되는 어플리케이션을 데이터베이스 230에서 검색할 수 있다. 데이터베이스 230에는 이미 각 전자 장치별 피처 및 각 피처에 대응되는 어플리케이션 목록이 저장되어 있을 수 있다. 어플리케이션 관리 모듈 212는 전자 장치 140의 피처에 대응하는 어플리케이션 목록을 데이터베이스 230으로부터 검색하여, 전자 장치 140으로 검색된 어플리케이션 목록을 제공할 수 있다.
또는, 어플리케이션 목록을 요청한 전자 장치 140의 장치 정보가 데이터베이스 230에서 검색되지 않는 경우, 어플리케이션 관리 모듈 212는 장치 정보에 포함된 피처를 알기 위해, 상기 장치 정보를 피처 관리 모듈 211로 전달할 수 있다. 피처 관리 모듈 211에 의해 상기 장치 정보의 피처를 추출하여 데이터베이스 230에 저장되면, 피처 매칭 모듈 214는 추출된 피처에 매칭되는 어플리케이션이 무엇인지 파악할 수 있다. 이후, 어플리케이션 관리 모듈 212는 데이터베이스 230으로부터 전자 장치 140의 장치 정보에 매칭되는 어플리케이션을 검색할 수 있다.
장치 관리 모듈 213은 통신부 220을 통해 장치 제조사 130 또는 전자 장치 140으로부터 전자 장치의 장치 정보를 등록받을 수 있다. 장치 관리 모듈 213은 상기 등록된 전자 장치의 장치 정보를 데이터베이스 230에 저장할 수 있다. 장치 관리 모듈 213은 전자 장치가 업그레이드되는 경우, 데이터베이스 230에 저장된 장치 정보를 업그레이된 장치 정보로 변경할 수 있다. 또한, 새로운 전자 장치가 출시되면, 장치 관리 모듈 213은 새로운 전자 장치의 장치 정보를 등록받아, 데이터베이스 230에 저장할 수 있다. 장치 관리 모듈 213은 전자 장치가 업그레이드되거나, 신규 전자 장치의 장치 정보를 등록받는 경우, 피처 관리 모듈 211로 전자 장치의 수정 또는 등록을 통보할 수 있다. 그래서, 피처 관리 모듈 211이 전자 장치의 장치 정보에 포함된 피처를 추출할 수 있도록 한다.
피처 매칭 모듈 214는 피처들 간의 상관관계를 고려하여 어플리케이션과 전자 장치 간의 공통 피처들을 나타내는 단말 군을 구축하고, 구축된 단말 군을 이용하여 피처 트리를 구성함으로써, 피처 트리로부터 어플리케이션과 전자 장치 간의 피처를 매칭할 수 있다. 단말 군(device group)은 여러 종류의 단말들을 특정 기준을 마련하여 분류한 단말들의 집합이다. 피처 매칭 모듈 214는 단말 군을, 피처를 기준으로 분류할 수 있으며, 분류된 피처들을 분석하여 논리적 단말 군(logical device group), 즉 단말 군을 생성할 수 있다. 즉, 단말 군은 개별 전자 장치로부터 수집된 피처 목록을 분석하여 새롭게 정의된 단말 집합임과 동시에 피처들의 집합이다. 피처 매칭 모듈 214는 Frequent-Pattern Growth(FP Growth) 방법을 이용하여 분류된 피처들을 분석할 수 있다.
피처 매칭 모듈 214는 피처 테이블에서 분류된 각 피처들에 대한 출현 빈도를 도출하고, 도출된 출현 빈도를 기준으로 피처들을 내림차순으로 정렬할 수 있다. 피처 매칭 모듈 214는 정렬된 피처들을 참고하여 전자 장치별 피처 목록을 아이템 세트로 설정할 수 있다. 즉, 하나의 전자 장치에 포함된 하나 이상의 피처들을 피처 목록으로 하여 하나의 아이템 세트로 설정하는 것이다. 피처 매칭 모듈 214는 설정된 아이템 세트에 기준 지지도(support factor)를 설정하고, 기준 지지도를 기반으로 하나의 피처를 하나의 노드로 설정하는 피처 트리를 생성할 수 있다. 피처 매칭 모듈 214는 구성된 피처 트리를 탐색(traversing)하여 노드 간의 연관 규칙을 분석하여 피처 트리를 수정할 수 있다. 예컨대, 피처 매칭 모듈 214는 두 개의 피처들 간에 반드시 연관될 필요가 있는 경우, 두 개의 피처들이 서로 연관관계가 있다고 보고, 두 노드를 하나의 노드로 결합(concatenate)하고, 이를 반영하여 피처 트리를 수정할 수 있다. 피처 매칭 모듈 214는 수정된 피처 트리에서 말단 노드(leaf node)를 제외한 가지(branch) 노드를 단말 군으로 할당할 수 있다. 피처 매칭 모듈 214는 하나의 단말 군에 포함되는 피처들의 목록을 피처 매칭 테이블로 데이터베이스 230에 저장할 수 있다. 피처 매칭 모듈 214는 통신부 220을 통해 전자 장치 140에 할당된 단말 군을 전자 장치 140으로 통보할 수 있다.
통신부 220은 제어부 210의 제어 하에, 네트워크(예: 이동통신망(예: LTE), 무선 또는 유선 랜(Wireless LAN) 등)를 통해 외부 장치와 데이터 통신을 수행할 수 있다. 즉, 통신부 220은 플랫폼 제공자 110, 어플리케이션 개발자 120, 장치 제조사 130 및 전자 장치 140과 데이터 통신을 수행할 수 있다.
데이터베이스 230은 전자 장치별 피처들을 포함하는 피처 테이블을 포함할 수 있다. 예를 들어, 데이터베이스 230은 전자 장치에 포함된 피처를 플랫폼 피처, 제조사 피처, 지역적 피처, 장치 고유 피처로 구분한 피처 테이블을 저장할 수 있다. 또한, 데이터베이스 230은 단말 군에 포함된 피처들의 목록을 피처 매칭 테이블로 저장할 수 있다. 데이터베이스 230은 제어부 210의 제어에 따라 상기 피처 매칭 테이블을 갱신할 수 있다. 또한, 데이터베이스 230은 어플리케이션 및 전자 장치별 장치정보를 저장할 수 있다.
도 3은 다양한 실시예들에 따른 어플리케이션과 장치 간의 피처 매칭 방법을 도시한 흐름도이다.
도 2 및 도 3을 참고하면, 동작 310에서, 제어부 210은 피처들을 수집한다. 제어부 210의 피처 관리 모듈 211은 전자 장치 140으로부터 어플리케이션 목록을 요청받는 경우, 전자 장치 140으로 장치 정보를 요청할 수 있다. 이때, 피처 관리 모듈 211은 전자 장치 140으로부터 최초로 어플리케이션 목록이 요청된 경우, 또는 전자 장치 140이 상기 어플리케이션 목록을 요청할 때마다, 전자 장치 140으로 장치 정보를 요청할 수 있다. 상기 장치 정보는 전자 장치 140의 피처에 대한 정보를 포함하는 것으로, 예컨대, 전자 장치 140의 플랫폼 정보(예: 플랫폼 버전)와 전자 장치 140의 소프트웨어 및 하드웨어에 대한 정보를 포함할 수 있다. 피처 관리 모듈 211은 상기 장치 정보로부터 전자 장치 140의 피처들을 추출할 수 있다. 또는, 전자 장치 140 내부의 서비스 클라이언트가 전자 장치 140의 피처를 직접 추출하여 통신부 220을 통해 피처 관리 모듈 211로 전달할 수도 있다. 피처 관리 모듈 211은 상기 수집된 피처를 데이터베이스 230에 저장할 수 있다.
동작 320에서, 피처 관리 모듈 211은 데이터베이스 230에 저장된 피처들을 분류할 수 있다. 피처 관리 모듈 211은 데이터베이스 230에 저장된 피처들을 플랫폼 피처, 제조사 피처, 지역적 피처 및 장치 차별화 피처 중 어느 하나로 분류할 수 있다. 플랫폼 피처는 플랫폼 제공자 110에서 배포된 피처들을 의미하며, 플랫폼을 기반으로 개발된 모든 전자 장치들이 공통적으로 가질 수 있는 피처를 의미한다. 또한 플랫폼 피처는 전통적인 플랫폼 중심 어플리케이션-단말 매칭에 사용된 피처이다(예, 운영체제 버전, 화면 해상도). 제조사 피처는 장치 제조사 130에서 경쟁 제조사와의 차별을 위해 해당 제조사의 제품 군에 포함하는 피처들을 의미한다(예, Samsung Touch-wiz Home, Group play, LG Home).
지역적 피처는 모바일 환경의 특성을 반영한 것으로, 특정 국가에서만 사용되는 피처나 특정 네트워크 사업자 환경(network operator)을 위한 피처이다(예, 천지인 한글, LTE-A). 장치 차별화 피처는 특정 단말 군을 위한 고유한 특성을 위한 피처로서(예, IrDa, S-pen, 맥박 측정 센서, 방수, 지문 인식 등), 동일한 장치 제조사에서 개발된 전자 장치라 할 지라도, 장치 차별화 피처를 이용하여 제품 군을 나누어 가격 차별화, 소비 대상 차별화 등을 가능하게 하는 것이다. 이때, 플랫폼 피처는 필수 피처(mandatory feature)로 구성하고, 이외의 피처들은 선택적 피처로 분류할 수 있다.
동작 330에서, 제어부 210의 피처 매칭 모듈 214는 상기 분류된 피처를 이용하여 피처 트리를 구성할 수 있다. 피처 매칭 모듈 214는 피처 테이블에서 분류된 각 피처들에 대한 출현 빈도를 기준으로 피처들을 내림차순으로 정렬할 수 있다. 피처 매칭 모듈 214는 정렬된 피처들을 참고하여 전자 장치별 피처 목록을 아이템 세트로 설정할 수 있다. 피처 매칭 모듈 214는 설정된 아이템 세트에 기준 지지도(support factor)를 설정하고, 기준 지지도를 기반으로 하나의 피처를 하나의 노드로 설정하는 피처 트리를 구성할 수 있다. 피처 트리를 구성하는 더욱 자세한 사항은 도 6을 통해 후술하기로 한다.
동작 340에서, 피처 매칭 모듈 214는 상기 피처 트리를 이용하여 단말 군을 생성할 수 있다. 피처 매칭 모듈 214는 상기 피처 트리를 기반으로 피처 들 간의 연관 규칙을 분석하여 피처 트리를 수정할 수 있다. 피처 매칭 모듈 214는 수정된 피처 트리 내 말단 노드(leaf node)를 제외한 가지(branch) 노드를 단말 군으로 할당할 수 있다.
동작 350에서, 피처 매칭 모듈 214는 단말 군에 기초하여 피처 매칭 테이블을 갱신할 수 있다. 피처 매칭 테이블은 어플리케이션과 전자 장치 간의 매칭되는 피처들을 한눈에 파악할 수 있도록 매칭한 테이블이다. 예컨대, 피처 매칭 테이블은 각 어플리케이션별 매칭되는 단말 군에 대한 정보를 포함할 수 있다. 피처 매칭 테이블은 이미 데이터베이스 230에 저장되어 있을 수 있다. 피처 매칭 모듈 214는 플랫폼이 갱신 또는 추가되거나, 어플리케이션이 갱신 또는 신규 추가되거나, 전자 장치가 갱신 또는 신규 추가되는 등의 이벤트가 발생된 경우, 기존의 피처 매칭 테이블을 갱신할 수 있다.
동작 360에서, 통신부 220은 전자 장치 140으로 전자 장치 140에 해당하는 단말 군 정보를 전송할 수 있다. 단말 군 정보를 전자 장치 140에 전송하는 것은, 이후 전자 장치 140이 피처 매칭 시스템 200으로 어플리케이션 목록을 요청할 때, 단말 군 정보를 함께 전송하도록 하기 위한 것이다. 전자 장치 140이 피처 매칭 시스템 200으로 어플리케이션 목록을 요청할 때, 단말 군 정보를 함께 전송하는 경우, 피처 매칭 시스템 200은 상기 단말 군 정보를 이용하여 더욱 정확하고 신속하게 전자 장치 140에서 실행 가능한 어플리케이션을 검색하여 전자 장치 140으로 제공할 수 있다.
도 4는 다양한 실시예들에 따른 피처들을 수집하여 피처 저장소에 저장하는 일례를 도시한 도면이다.
도 4를 참고하면, 플랫폼 제공자 110는 최초 플랫폼(Platform v1) 410에 피처 ‘X', ‘Y', ‘Z' 410a를 포함하여 배포할 수 있다. 플랫폼 제공자 110는 Platform v1 410이 출시되었음을 통보하거나, Platform v1 410에 포함되는 피처들에 대하여 컨텐츠 서비스 제공자(Content Service Provider, 예: 피처 매칭 시스템 200) 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 Platform v1 410에 포함된 피처들을 추출하여 피처 저장소(Feature Repository) 480a(예: 데이터베이스 230)에 저장할 수도 있다.
장치 제조사들(Manufacture A, B) 430, 440은 Platform v1 410의 피처 410a를 기반으로 한 하드웨어와 소프트웨어를 포함하는 전자 장치를 개발할 수 있다. 제1 장치 제조사(Manufacture A) 430은 Platform v1 410의 피처 Y 및 Z를 포함하는 전자 장치 430a를 개발할 수 있다. 또한, 제2 장치 제조사(Manufacture B) 440은 Platform v1 410의 피처 X 및 Z를 포함하는 전자 장치 440a를 개발할 수 있다. 장치 제조사들(Manufacture A, B) 430, 440은 전자 장치 430a 및 전자 장치 440a이 출시되었음을 통보하거나, 전자 장치 430a 및 전자 장치 440a에 포함된 피처들을 컨텐츠 서비스 제공자 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 전자 장치 430a 및 전자 장치 440a에 포함된 피처들을 추출하여 피처 저장소 480a에 저장할 수도 있다.
어플리케이션 개발자들(Developer a, b) 450, 460은 Platform v1 410의 SDK(Software Development Kit)를 이용하여 어플리케이션을 개발할 수 있다. 예를 들어, 제1 어플리케이션 개발자(Developer a) 450은 Platform v1 410의 피처 Y, Z를 이용하여 어플리케이션 450a를 개발할 수 있다. 제2 어플리케이션 개발자(Developer b) 460은 Platform v1 410의 피처 Z를 이용하여 어플리케이션 460a를 개발할 수 있다. 어플리케이션 개발자들(Developer a, b) 450, 460은 어플리케이션 450a 및 어플리케이션 460a이 개발되었음을 또는 어플리케이션 450a 및 어플리케이션 460a에 포함된 피처들을 컨텐츠 서비스 제공자 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 어플리케이션 450a 및 어플리케이션 460a에 포함된 피처들을 추출하여 피처 저장소 480a에 저장할 수도 있다.
시간이 지남에 따라, Platform v1 410은 기술적 진화를 통해 피처 'T'를 추가하며 플랫폼 V2(Platform v2) 420로 진화하게 된다. 플랫폼의 진화 과정에서 기존의 피처(X, Y, Z)도 변경될 수도 있지만, 변경된 피처는 추가된 피처로 간주한다. 즉, Platform v2 420은 피처 X, Y, Z 및 새로운 피처 T를 포함할 수 있다. 플랫폼 제공자 110는 Platform v2 420이 출시되었음을 통보하거나, Platform v1 420에 포함되는 피처들에 대하여 컨텐츠 서비스 제공자 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 Platform v1 420에 포함된 피처들을 추출하여 피처 저장소 480a에 저장할 수도 있다.
이에, 장치 제조사들(Manufacture A, B) 430, 440은 Platform v2 420의 피처 420a를 기반으로 한 하드웨어와 소프트웨어를 포함하는 전자 장치를 개발할 수 있다. 제1 장치 제조사(Manufacture A) 430은 Platform v2 420의 피처 Y, Z, T를 포함하는 전자 장치 430b를 개발할 수 있다. 또한, 제2 장치 제조사(Manufacture B) 440은 Platform v2 420의 피처 Z, T를 포함하는 전자 장치 440b를 개발할 수 있다. 그런데, 여러 장치 제조사들 간의 경쟁이 심화되면, 동일한 피처를 구현한 전자 장치만으로는 경쟁사와 차별성이 없어지므로, 제2 장치 제조사 440은 전자 장치 440b에 장치 차별화를 위한 피처 'M'을 추가할 수 있다. 제2 장치 제조사 440은 장치 차별화 피처가 플랫폼에서 배포하는 SDK에 포함되지 않더라도, 전자 장치의 활용도를 높이기 위해서 추가된 피처를 이용한 어플리케이션이 필요하다. 따라서, 제2 장치 제조사 440은 피처 'M'를 이용할 수 있는 ad-hoc 라이브러리를 어플리케이션 개발자들에게 배포할 수 있다.
장치 제조사들(Manufacture A, B) 430, 440은 전자 장치 430b 및 전자 장치 440b이 출시되었음을 통보하거나, 전자 장치 430b 및 전자 장치 440b에 포함된 피처들을 컨텐츠 서비스 제공자 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 전자 장치 430b 및 전자 장치 440b에 포함된 피처들을 추출하여 피처 저장소 480a에 저장할 수도 있다.
이에, 어플리케이션 개발자들(Developer a, b, c) 450, 460, 470은 Platform v2 420의 SDK를 이용하여 어플리케이션을 개발할 수 있다. 즉, 제1 어플리케이션 개발자(Developer-a) 450는 피처 'Y' 및 'T'을 포함하는 어플리케이션 450b을 개발할 수 있다. 또한, 제3 어플리케이션 개발자(Developer-c) 470은 피처 'T' 및 'M'을 포함하는 어플리케이션 470a을 개발할 수 있다. 어플리케이션 개발자들(Developer a, c) 450, 470은 어플리케이션 450b 및 어플리케이션 470a가 개발되었음을 또는 어플리케이션 450b 및 어플리케이션 470a에 포함된 피처들을 컨텐츠 서비스 제공자 480에 통보할 수 있다. 또는, 컨텐츠 서비스 제공자 480은 어플리케이션 450b 및 어플리케이션 470a에 포함된 피처들을 추출하여 피처 저장소 480a에 저장할 수도 있다.
이러한, 컨텐츠 서비스 제공자 480은 전자 장치들 430a 내지 440b에 포함된 피처들과, 어플리케이션 450a 내지 470a에 포함된 피처들을 피처 저장소 480a에 모두 저장하고 있으므로, 전자 장치들 430a 내지 440b에 매칭되는 어플리케이션이 무엇인지 정확하게 찾아낼 수 있다. 따라서, 컨텐츠 서비스 제공자 480은 종래와 같이 어플리케이션과 전자 장치 간의 매칭 오류로 인해 전자 장치에서 실행할 수 없는 어플리케이션을 제공할 가능성이 줄어들게 되는 것이다.
예를 들어, 컨텐츠 서비스 제공자 480은 어플리케이션 마켓 서비스 서버로서, 전자 장치들 430a 내지 440b로부터 어플리케이션 목록을 요청받은 경우, 피처 저장소 480a를 참고하여 신속하게 어플리케이션 목록을 제공할 수 있다. 예를 들어, 컨텐츠 서비스 제공자 480은 어플리케이션 마켓 서비스에 접속한 전자 장치들 430a 내지 440b 중 피처 'M'을 포함한 전자 장치 440b로 제공하는 어플리케이션 목록에 어플리케이션 470a를 포함시켜 제공할 수 있다. 여기서, 피처 저장소 480a은 각 피처들을 포함하는 피처 테이블과, 어플리케이션과 전자 장치 간의 매칭되는 피처들을 구분한 피처 매칭 테이블을 포함할 수 있다.
피처 저장소 480a는 도 5와 같은 피처 테이블을 포함할 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치별 피처 테이블을 도시한 도면이다.
도 5를 참고하여, 피처 테이블은 전자 장치(560, 570, 580)별 분류된 피처들(510, 520, 530, 540)을 포함할 수 있다. 참조번호 510은 플랫폼 피처로서, 플랫폼 제공자 110에서 배포된 피처들을 의미하며, 플랫폼을 기반으로 개발된 모든 전자 장치들이 공통적으로 가질 수 있는 피처를 의미한다. 참조번호 520은 제조사 피처로서, 장치 제조사 130에서 경쟁 제조사와의 차별을 위해 해당 제조사의 제품 군에 포함하는 피처들을 의미한다. 참조번호 530은 지역적 피처로서, 모바일 환경의 특성을 반영한 것으로, 특정 국가에서만 사용되는 피처나 특정 네트워크 사업자 환경을 위한 피처이다. 참조번호 540은 장치 차별화 피처로서, 특정 단말 군을 위한 고유한 특성을 가진 피처를 의미한다. 즉, 동일한 장치 제조사에서 개발된 전자 장치라 할 지라도, 장치 차별화 피처를 이용하여 제품 군을 나누어 가격 차별화, 소비 대상 차별화 등을 가능하게 하는 것이다. 따라서, 피처 테이블을 참고하면, 전자 장치별로 포함되는 피처들이 각각 상이한 것을 알 수 있다.
도 6은 다양한 실시예들에 따른 피처 트리를 구성하는 방법을 도시한 흐름도이다.
도 2 및 도 6을 참고하면, 동작 610에서, 제어부 210의 피처 관리 모듈 211은 피처 테이블을 준비한다.
Figure 112014128572699-pat00001
표 1에서, D1 내지 D5는 전자 장치의 이름을 나타내며, PF1 내지 DF2는 분류된 피처들에 대한 이름을 나타낸다. 피처 테이블은 앞서 설명한 도 3의 310 및 320과 같은 동작을 처리하여 전자 장치들로부터 피처들을 수집하고, 수집된 피처들을 분류하는 동작에 의해 준비될 수 있다. 피처 테이블은 도 5와 같은 형태를 가지나, 이하 설명의 편의를 위해 표 1과 같이 간단하게 작성한 경우를 예로 들어 설명한다.
동작 620에서, 제어부 210의 피처 매칭 모듈 214는 피처 테이블에서 분류된 각 피처들에 대한 출현 빈도를 도출할 수 있다. 즉, 피처 매칭 모듈 214는 피처 PF1, PF2, MF1, MF2, RG1, RG2, DF1, DF2에 대해 각각 몇번씩 출현하는지 산출할 수 있다.
동작 630에서, 피처 매칭 모듈 214는 출현 빈도를 기준으로 피처들을 내림차순으로 정렬할 수 있다.
Figure 112014128572699-pat00002
표 2의 왼쪽은 각 피처들에 대한 출현 빈도(예: Count)를 나타내며, 오른쪽은 출현 빈도를 기준으로 내림차순으로 피처들을 정렬한 것이다.
동작 640에서, 피처 매칭 모듈 214는 정렬된 피처들을 참고하여 전자 장치별 피처 목록을 아이템 세트(item set)로 설정할 수 있다.
Figure 112014128572699-pat00003
표 3을 참고하면, 표 2의 내림차순으로 정렬된 오른쪽 표를 참고하여, 하나의 전자 장치가 포함하는 피처들을 하나의 아이템 세트로 설정할 수 있다. 피처 매칭 모듈 214는 아이템 세트(item set)의 빈도수(count)를 산출할 수 있다. 즉, 표 3을 참고하면, 피처 매칭 모듈 214는 피처 PF1, RG1, PF2를 포함하는 아이템 세트의 빈도수를 2회로 산출하고, 나머지 아이템 세트의 빈도수를 1회로 산출할 수 있다.
동작 650에서, 피처 매칭 모듈 214는 상기 아이템 세트를 탐색하여 피처 트리를 생성할 수 있다. 피처 매칭 모듈 214는 상기 아이템 세트의 빈도수를 기반으로 최소 지지도(support Factor)를 설정할 수 있다. 표 3을 참고하면, 트리를 생성하기 위한 데이터가 매우 적어, 생략할 아이템 세트가 없어, 피처 매칭 모듈 214는 최소 지지도를 1로 설정할 수 있다. 피처 매칭 모듈 214는 최소 지지도에 따라 피처 트리를 도 7a와 같이 생성할 수 있다.
도 7a 및 도 7b는 다양한 실시예들에 따른 피처 트리의 일례를 도시한 도면이다.
도 7a를 참고하면, 피처 매칭 모듈 214는 최초 노드 Root로부터 각 피처에 대하여 하나의 노드를 할당할 수 있다. 이때, 피처 매칭 모듈 214는 하나의 노드가 다른 하나의 노드에 반드시 연관될 필요가 있는 경우, 하나의 노드의 가지 노드로 다른 하나의 노드를 포함시킬 수 있다. 예컨대, 피처 MF2는 피처 PF1, RG2가 꼭 필요하므로, PF1의 가지 노드로 RG2를 연결하고, RG2의 가지 노드로 MF2를 연결할 수 있다.
다양한 실시예들에 따르면, 피처 매칭 모듈 214는 동작 610 내지 650에 대하여 Frequent-Pattern Growth(FP Growth) 방법을 이용하여 피처 트리를 생성할 수 있다.
동작 660에서, 피처 매칭 모듈 214는 상기 피처 트리로부터 연관 규칙을 분석하여 피처 트리를 수정할 수 있다. 즉, 피처 매칭 모듈 214는 두 개의 피처들 간에 반드시 연관될 필요가 있는 경우, 두 개의 피처들이 서로 연관관계가 있다고 보고, 두 노드를 하나의 노드로 결합(concatenate)할 수 있다. 예컨대, 도 7a를 참고하면, 피처 DF1 720은 피처 MF1 710이 반드시 필요하고, 피처 DF2 740은 피처 MF2 730이 반드시 필요하다.
이러한 연관 규칙을 참고하여, 피처 매칭 모듈 214는 도 7b와 같이, 피처 MF1 및 DF1 750을 하나의 노드로 결합하고, 피처 MF2 및 DF2 760을 하나의 노드로 결합하여 피처 트리를 수정할 수 있다.
수정된 피처 트리는 모두 9 개의 노드를 갖고 있어, 6 개의 피처로 구성된 6 개의 전자 장치와 비교했을 때는 전자 장치의 수 보다 노드 수가 늘어 복잡성이 증가 된 것으로 보이지만, 이는 전자 장치의 개수를 매우 작게 설정했기 때문이다. 전자 장치의 종류가 늘어나고 각 전자 장치별 공통으로 소유하는 피처의 수가 많을수록, 전자 장치의 종류 대비 노드의 수는 적어 효용성이 증대될 것이다.
피처 매칭 모듈 214는 도 7b와 같은 피처 트리의 각 노드에 단말 군을 할당할 수 있다. 예컨대, 피처 매칭 모듈 214는 PF1에 대해서는 단말군을 LDG1로 할당하고, PF1, RG1에 대해서는 단말군을 LDG1-1로 할당하고, PF1, RG1, PF2에 대해서는 단말군을 LDG1-1-1로 할당하고, PF1, RG1, PF2, RG2에 대해서는 단말군을 LDG1-1-1-1로 할당하고, PF1, RG1, PF2, RG2, MF2, DF2에 대해서는 단말군을 LDG1-1-1-1-1로 할당할 수 있다. 이와 같이, 피처 트리의 각 노드별 단말 군을 할당하면, 표 4와 같은 단말 군별 피처 및 전자 장치를 나타낸 단말 군 테이블을 획득할 수 있다.
Figure 112014128572699-pat00004
표 4는 단말 군(Device group name) 간의 피처 포함 관계(contrained features)를 나타낼 수 있다. 피처 매칭 모듈 214는 어플리케이션이 요구하는 피처는 전자 장치의 피처 중 일부분이 되므로, 표 4를 참고하여 단말 군 간의 포함 관계를 단말 군의 이름으로 판단할 수 있다. 피처 매칭 모듈 214는 어플리케이션과 전자 장치를 매칭하기 위해, 어플리케이션이 필요로 하는 피처들을 포함한 단말 군을 찾는 과정을 수행할 수 있다.
Figure 112014128572699-pat00005
표 5는 어플리케이션(예: application name)에 포함되는 피처들(Required features)을 나타낸 것이다.
피처 매칭 모듈 214는 표 4 및 표 5를 참고하여 어플리케이션과 전자 장치 간의 피처를 매칭한 피처 매칭 테이블을 생성할 수 있다.
Figure 112014128572699-pat00006
표 6의 피처 매칭 테이블은 어플리케이션(예: Application name)과 매칭되는 단말 군(Matched device group)을 포함하고 있다. T피처 매칭 모듈 214는 표 5의 어플리케이션 각각에 포함된 피처들을 포함하는 단말 군을 표 4에서 탐색하여 표 6과 같은 피처 매칭 테이블을 획득할 수 있다. 즉, 표 4 및 표 5에 의해서 어플리케이션별 적합성을 갖는 단말 군은 여러 개가 될 수 있음에도 불구하고(예: App1은 LDG1-1-1, LDG1-1-1-1, LDG1-1-1-1-1, LDG1-1-1-1-2), LDG1-1-1만을 표시한 이유는 어플리케이션이 요구하는 최소한의 피처를 갖춘 단말 군이 LDG1LDG1-1-1이기 때문이다. 그 이외의 단말 군들은 LDG1-1-1의 피처들을 모두 포함하고 포함하고 있으므로, 피처 매칭 테이블에는 명시할 필요가 없다.
따라서, 다양한 실시예에 따르면, 개별 피처를 나열하는 것에 비해 피처 매칭 테이블의 저장 공간을 절약할 수 있고, 전자 장치가 어플리케이션 목록을 요청할 경우, 피처의 조합 과정을 생략할 생략할 수 있어 요청에 대한 응답 시간을 줄일 수 있다.
그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 피처 매칭 시스템 210: 제어부
211: 피처 관리 모듈 212: 어플리케이션 관리 모듈
213: 장치 관리 모듈 214: 피처 매칭 모듈
220: 통신부 230: 데이터베이스

Claims (20)

  1. 어플리케이션과 전자 장치 간의 피처 매칭을 위한 피처 매칭 시스템에 있어서,
    통신부;
    데이터베이스; 및
    제어부를 포함하고, 상기 제어부는,
    상기 통신부를 이용하여 다양한 종류의 피처들을 수집하고, 상기 수집된 피처들을 상기 데이터베이스에 저장하고,
    상기 피처들 간의 공통성에 기반하여 상기 피처들을 분류하고,
    상기 분류된 피처들을 이용하여, 각 피처들에 대한 출현 빈도에 기반하여 피처들이 정렬된 피처 트리를 구성하고,
    상기 피처 트리를 이용하여 공통 피처들을 갖는 단말 군을 생성하고,
    상기 단말 군을 이용하여 어플리케이션과 전자 장치 간의 매칭되는 피처들을 포함하는 피처 매칭 테이블을 갱신하고, 및
    상기 전자 장치에 대응하는 단말 군에 관한 정보를 상기 전자 장치에 전송하도록 설정된 시스템.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 전자 장치로부터 어플리케이션 목록을 요청받은 경우, 상기 전자 장치로부터 상기 전자 장치와 연관된 피처들을 수집하는 피처 관리 모듈을 포함하는 시스템.
  3. 제2항에 있어서,
    상기 피처 관리 모듈은,
    상기 수집된 피처들을 플랫폼 피처(platform feature), 제조사 피처(manufacturer feature), 지역적 피처(regional feature) 및 장치 차별화 피처(differentiated feature) 중 어느 하나로 분류하는 시스템.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 전자 장치로부터 어플리케이션 목록을 요청받은 경우, 상기 전자 장치로 장치 정보를 요청하고, 상기 요청에 의해 상기 전자 장치로부터 장치 정보를 수신한 경우, 상기 장치 정보로부터 상기 전자 장치와 연관된 피처들을 추출하는 시스템.
  5. 제1항에 있어서,
    상기 제어부는,
    Frequent-Pattern Growth 방법을 이용하여 피처 트리를 생성하고, 피처 트리를 이용하여 단말 군을 생성하는 피처 매칭 모듈을 포함하는 시스템.
  6. 제1항에 있어서,
    상기 제어부는,
    상기 데이터베이스에 저장된 각 피처들에 대한 출현 빈도를 도출하고, 도출된 출현 빈도를 기반으로 출현 빈도가 가장 높은 피처를 상위 노드로 하여 피처 트리를 생성하는 피처 매칭 모듈을 포함하는 시스템.
  7. 제6항에 있어서,
    상기 피처 매칭 모듈은,
    상기 피처 트리를 탐색하여 노드 간의 연관 규칙을 분석하고, 연관 규칙이 있는 하나 이상의 노드들을 하나의 노드로 결합하여 상기 피처 트리를 수정하는 시스템.
  8. 제7항에 있어서,
    상기 피처 매칭 모듈은,
    상기 수정된 피처 트리에서 말단 노드(leaf node)를 제외한 가지(branch) 노드를 단말 군으로 할당하는 시스템.
  9. 제1항에 있어서,
    상기 제어부는,
    상기 통신부를 통해 어플리케이션 개발자로부터 어플리케이션의 등록 요청을 수신하고, 등록 요청된 상기 어플리케이션을 상기 데이터베이스에 저장하는 어플리케이션 관리 모듈을 포함하는 시스템.
  10. 제9항에 있어서,
    상기 제어부는,
    상기 어플리케이션에 포함된 피처들을 포함하는 단말 군을 검색하여, 검색된 단말군에 상기 어플리케이션을 매칭시켜 상기 데이터베이스에 저장하는 시스템.
  11. 어플리케이션과 전자 장치 간의 피처 매칭을 위한 피처 매칭 시스템의 피처 매칭 방법에 있어서,
    통신부를 이용하여 다양한 종류의 피처들을 수집하고, 상기 수집된 피처들을 데이터베이스에 저장하는 동작,
    상기 피처들 간의 공통성에 기반하여 상기 피처들을 분류하는 동작,
    상기 분류된 피처들을 이용하여, 각 피처들에 대한 출현 빈도에 기반하여 피처들이 정렬된 피처 트리를 구성하는 동작,
    상기 피처 트리를 이용하여 공통 피처들을 갖는 단말 군을 생성하는 동작,
    상기 단말 군을 이용하여 상기 어플리케이션과 상기 전자 장치 간의 매칭되는 피처들을 포함하는 피처 매칭 테이블을 갱신하는 동작,
    상기 전자 장치에 대응하는 단말 군에 관한 정보를 상기 전자 장치에 전송하는 동작을 포함하는 방법.
  12. 제11항에 있어서, 상기 수집하는 동작은,
    상기 전자 장치로부터 어플리케이션 목록을 요청받은 경우, 상기 전자 장치로부터 상기 전자 장치와 연관된 피처들을 수집하는 동작을 포함하는 방법.
  13. 제12항에 있어서, 상기 수집하는 동작은,
    상기 수집된 피처들을 플랫폼 피처, 제조사 피처, 지역적 피처 및 장치 차별화 피처 중 어느 하나로 분류하는 동작을 더 포함하는 방법.
  14. 제11항에 있어서, 상기 수집하는 동작은,
    상기 전자 장치로부터 어플리케이션 목록을 요청받은 경우, 상기 전자 장치로 장치 정보를 요청하는 동작과,
    상기 요청에 의해 상기 전자 장치로부터 장치 정보를 수신한 경우, 상기 장치 정보로부터 상기 전자 장치와 연관된 피처들을 추출하는 동작을 더 포함하는 방법.
  15. 제11항에 있어서, 상기 단말 군을 생성하는 동작은,
    Frequent-Pattern Growth 방법을 이용하여 피처 트리를 생성하는 동작과,
    상기 피처 트리를 이용하여 단말 군을 생성하는 동작을 포함하는 방법.
  16. 제11항에 있어서, 상기 단말 군을 생성하는 동작은,
    상기 데이터베이스에 저장된 각 피처들에 대한 출현 빈도를 도출하는 동작과,
    상기 도출된 출현 빈도를 기반으로 출현 빈도가 가장 높은 피처를 상위 노드로 하여 피처 트리를 생성하는 동작을 더 포함하는 방법.
  17. 제16항에 있어서, 상기 피처 트리를 생성하는 동작은,
    상기 피처 트리를 탐색하여 노드 간의 연관 규칙을 분석하는 동작과,
    상기 연관 규칙이 있는 하나 이상의 노드들을 하나의 노드로 결합하여 상기 피처 트리를 수정하는 동작을 포함하는 방법.
  18. 제17항에 있어서, 상기 단말 군을 생성하는 동작은,
    상기 수정된 피처 트리에서 말단 노드를 제외한 가지 노드를 단말 군으로 할당하는 동작을 포함하는 방법.
  19. 제11항에 있어서,
    어플리케이션 개발자로부터 어플리케이션의 등록 요청을 수신하는 동작,
    등록 요청된 상기 어플리케이션을 상기 데이터베이스에 저장하는 동작을 더 포함하는 방법.
  20. 제19항에 있어서, 상기 피처를 매칭하는 동작은,
    상기 어플리케이션에 포함된 피처들을 포함하는 단말 군을 검색하는 동작과,
    상기 검색된 단말군에 상기 어플리케이션을 매칭시켜 상기 데이터베이스에 저장하는 동작을 포함하는 방법.
KR1020140195461A 2014-12-31 2014-12-31 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템 KR102302361B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140195461A KR102302361B1 (ko) 2014-12-31 2014-12-31 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템
US14/953,903 US10318264B2 (en) 2014-12-31 2015-11-30 Method and system for matching features between application and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140195461A KR102302361B1 (ko) 2014-12-31 2014-12-31 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20160081521A KR20160081521A (ko) 2016-07-08
KR102302361B1 true KR102302361B1 (ko) 2021-09-15

Family

ID=56164423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140195461A KR102302361B1 (ko) 2014-12-31 2014-12-31 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템

Country Status (2)

Country Link
US (1) US10318264B2 (ko)
KR (1) KR102302361B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015211036A1 (de) * 2015-06-16 2016-12-22 Siemens Healthcare Gmbh Überprüfen einer Verträglichkeit von Gerätekomponenten eines medizinischen Geräts
WO2018000429A1 (zh) * 2016-07-01 2018-01-04 华为技术有限公司 一种防水指纹识别模组和电子设备
JP7216883B2 (ja) * 2019-02-05 2023-02-02 日本電信電話株式会社 解析装置、解析方法、および解析プログラム
US10768952B1 (en) 2019-08-12 2020-09-08 Capital One Services, Llc Systems and methods for generating interfaces based on user proficiency
US11966896B1 (en) * 2020-04-30 2024-04-23 G4S Retail Solutions (USA) Inc. Systems and methods for expanded cash management functionality via a cash handling device
US11341021B2 (en) * 2020-05-31 2022-05-24 Microsoft Technology Licensing, Llc Feature deployment readiness prediction
CN114564624A (zh) * 2022-02-11 2022-05-31 中国银联股份有限公司 特征匹配规则构建、特征匹配方法、装置、设备及介质
CN117812112B (zh) * 2024-01-09 2024-08-09 中科物栖(南京)科技有限公司 物联网应用推荐方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120129503A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Management of Mobile Applications
US20140155090A1 (en) 2012-11-30 2014-06-05 Qualcomm Incorporated Provision of positioning data based on device capability

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035595B1 (en) * 2002-01-10 2006-04-25 Berkana Wireless, Inc. Configurable wireless interface
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
CA2387328C (en) * 2002-05-24 2012-01-03 Diversinet Corp. Mobile terminal system
US7506048B1 (en) * 2002-06-05 2009-03-17 Ricoh Co. Ltd. Method and system for monitoring network connected devices and displaying device status
US8417808B2 (en) * 2002-07-19 2013-04-09 Panasonic Corporation Device linkage control apparatus
US7780439B2 (en) * 2004-11-17 2010-08-24 Duncan Enterprises Kilns for the processing ceramics and methods for using such kilns
DE102006021376A1 (de) 2006-05-08 2007-11-15 Combots Product Gmbh & Co. Kg Verfahren und Vorrichtung zum Bereitstellen von angepassten Kommunikationsfenstern zur Kommunikation mit einem Kommunikationspartner in einer Anwendung auf einem Endgerät eines Benutzers
US7818641B2 (en) * 2006-10-18 2010-10-19 Texas Instruments Incorporated Interface to full and reduce pin JTAG devices
CN102934077A (zh) * 2010-02-25 2013-02-13 凡瓦尔公司 用于针对移动环境和其他环境的企业品牌应用框架的系统和方法
US8515979B2 (en) * 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
NL2006818A (en) * 2010-07-02 2012-01-03 Asml Netherlands Bv A method of adjusting speed and/or routing of a table movement plan and a lithographic apparatus.
KR101861318B1 (ko) * 2011-06-09 2018-05-28 삼성전자주식회사 터치 스크린을 구비한 기기의 인터페이스 제공 장치 및 방법
KR101326896B1 (ko) * 2011-08-24 2013-11-11 주식회사 팬택 단말기 및 이를 이용하는 어플리케이션의 위험도 제공 방법
US9030186B2 (en) * 2012-07-12 2015-05-12 Freescale Semiconductor, Inc. Bandgap reference circuit and regulator circuit with common amplifier
US20140278723A1 (en) * 2013-03-13 2014-09-18 Xerox Corporation Methods and systems for predicting workflow preferences
US9323936B2 (en) * 2013-03-15 2016-04-26 Google Inc. Using a file whitelist
US20150061829A1 (en) * 2013-09-05 2015-03-05 At&T Intellectual Property I, Lp System and method for managing functional features of electronic devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120129503A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Management of Mobile Applications
US20140155090A1 (en) 2012-11-30 2014-06-05 Qualcomm Incorporated Provision of positioning data based on device capability

Also Published As

Publication number Publication date
US10318264B2 (en) 2019-06-11
KR20160081521A (ko) 2016-07-08
US20160188695A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
KR102302361B1 (ko) 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템
US10324987B2 (en) Application search using device capabilities
CA2919904C (en) Method and system for obtaining a configuration profile
KR102613774B1 (ko) 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법
US10942972B2 (en) Query processing method, electronic device, and server
US9299098B2 (en) Systems for generating a global product taxonomy
US20160175710A1 (en) Electronic apparatus, cloud server, game service providing system and game service providing method thereof
US11150892B2 (en) Software versioning for network connected devices
US20160062732A1 (en) Method for providing additional functions based on information
US11966384B2 (en) Generating external identifiers for data entities using a data catalog system
KR20180060457A (ko) 콘텐트 추천 방법 및 이를 위한 장치.
CN108432213B (zh) 电子设备及其控制方法
KR20230014802A (ko) 지정 항목 추천 방법
US20190108086A1 (en) Diagnostic model generating method and diagnostic model generating apparatus therefor
CN108604362B (zh) 用于控制显示的电子设备和方法、以及用于其的服务器和方法
KR20190072648A (ko) 크라우드 지원 질의 시스템
CN113039768A (zh) 针对网络连接设备的显式交互合约
US20160162972A1 (en) Systems and methods of curation and recommendation of applications and accessory devices to provide expanded user experience
KR20170075591A (ko) 사용자의 선호도에 따라 사용자에게 컨텐트들을 제공하는 방법 및 이를 위한 전자 장치
US20160125084A1 (en) Electronic device, search server, and data search method therefor
US20230297861A1 (en) Graph recommendations for optimal model configurations
US20230274195A1 (en) Time-varying features via metadata
JP2018064906A (ja) 位置特定システム、及びそれに用いられるコンピュータプログラム
KR20150086572A (ko) 애플리케이션 실행 품질 서비스 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant