KR20090098872A - 수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법 - Google Patents

수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법 Download PDF

Info

Publication number
KR20090098872A
KR20090098872A KR1020097014355A KR20097014355A KR20090098872A KR 20090098872 A KR20090098872 A KR 20090098872A KR 1020097014355 A KR1020097014355 A KR 1020097014355A KR 20097014355 A KR20097014355 A KR 20097014355A KR 20090098872 A KR20090098872 A KR 20090098872A
Authority
KR
South Korea
Prior art keywords
usage data
computing device
collected
list
peripheral device
Prior art date
Application number
KR1020097014355A
Other languages
English (en)
Other versions
KR101455424B1 (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 마이크로소프트 코포레이션
Publication of KR20090098872A publication Critical patent/KR20090098872A/ko
Application granted granted Critical
Publication of KR101455424B1 publication Critical patent/KR101455424B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Digital Computer Display Output (AREA)

Abstract

컴퓨팅 장치 및/또는 주변 장치와 같은 장치를 위한 수신된 수집된 이용 데이터를 포함하는 수집된 이용 데이터를 사용해서 사용자 경험을 향상시키기 위한 방법이다. 장치에 대한 현재 사용자 컨텍스트가 식별되고, 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초하여 향상된 사용자 인터페이스가 생성된다.
수집된 이용 데이터, 향상된 사용자 인터페이스, 사용자 경험

Description

수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법{ENHANCING USER EXPERIENCES USING AGGREGATED DEVICE USAGE DATA}
컴퓨터는 우리 삶의 모든 영역에서 실질적으로 일상적인 것이 되었다. 광범위한 종류의 상이한 컴퓨터들이 존재하고 애플리케이션, 주변 장치 등과 함께 여러가지 상이한 방식으로 구성되고 사용된다. 때때로, 컴퓨터의 동작 동안 컴퓨터가 상이한 방식으로 응답할 수 있는 경우가 발생한다. 예를 들어, 애플리케이션이 실행될 때나, 주변 장치가 컴퓨터와 연결될 때 등의 경우에 컴퓨터에 의해서 상이한 동작이 행해질 수 있다. 이와 같은 상이한 동작은 때때로 그 또는 그녀가 어떤 동작을 행할지 선택할 수 있는 옵션의 리스트로서 사용자에게 제공된다. 그러나, 컴퓨터의 사용자는 사용자가 옵션을 이해하지 못하거나, 그 또는 그녀의 요구를 컴퓨터에 어떻게 전달하는지 알지 못해서 어떠한 동작을 행하도록 선택하는데 어려움을 겪을 수 있다. 따라서, 이와 같은 옵션이 사용자에게 제공되는 방식을 향상시키는 방법을 제공하는 것이 도움이 된다.
본 요약은 아래의 실시예에서 더 자세히 개시되는 본 발명의 개념의 일부를 단순화된 형식으로 제공한다. 이와 같은 요약은 청구되는 주요 발명의 중요한 태양 또는 핵심적인 태양을 특정하는 것으로 해석되지 않으며 청구된 주요 발명의 범위를 한정하는 것으로 해석되지 않는다.
수집된 장치 이용 데이터(aggregated device usage data)를 사용해서 사용자 경험을 향상시키는 특정한 태양에 따라서, 장치에 대한 수집된 이용 데이터가 수신되고 현재 사용자 컨텍스트가 식별된다. 본 수집된 이용 데이터에 기초해서 현재 사용자 컨텍스트, 향상된 사용자 경험이 생성된다.
동일한 번호는 전 도면에 걸쳐서 동일한 구성요소를 참조하기 위해서 사용된다.
도 1은 사용될 수 있는 수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 예시적인 시스템이 도시되는 도면.
도 2는 예시적인 주변 장치의 블록도.
도 3은 예시적인 컴퓨팅 장치의 블록도.
도 4는 예시적인 수집 서버의 블록도.
도 5는 가능한 동작의 리스트에 기초하는 자동적인 동작 선택을 채용하는 예시적인 시스템을 도시하는 도면.
도 6은 사용자 경험을 향상시키기 위해서 수집된 장치 이용 데이터를 사용하기 위한 예시적인 과정을 도시하는 도면.
도 7은 본 명세서에서 논의되는 수집된 장치 이용 데이터를 사용하는 사용자 경험의 향상을 구현하기 위해서 사용될 수 있는 일반적인 컴퓨팅 장치의 예시.
수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법이 본 명세서에 개시된다. 컴퓨팅 장치 및 주변 장치와 같은 복수의 장치를 위한 장치 이용 데이터가 컴퓨팅 장치에 의해서 모아진다. 컴퓨팅 장치는 이용 데이터를 수집하고 수집된 이용 데이터를 컴퓨팅 장치에 송신하는 서버에 이용 데이터를 전송한다. 컴퓨팅 장치의 현재 컨텍스트가 주어지면, 수집된 이용 데이터는 현재 컨텍스트와 함께 장치의 사용자의 경험을 향상시키기 위해서 사용된다. 사용자의 경험은, 사용자를 위한 가능한 동작의 리스트로부터의 선택, 사용자 인터페이스 구성요소의 정렬, 색상 태그 추가, 포함된 하이퍼링크 수정 등과 같은 다양한 방식으로 향상될 수 있다.
도 1은 사용될 수 있는 수집된 장치 이용 데이터를 사용하여 사용자 경험이 향상되는 예시적인 시스템(100)을 도시한다. 일반적으로, 주변 장치(102)는 사용자에 의해서 사용되는 장치(102)로서 이용 데이터를 모은다. 주변 장치는 컴퓨팅 장치(104)와 (예를 들어, 유선 또는 무선 연결에 의해서) 직접적으로 또는 (예를 들어, 플래시 메모리 카드의 전송 또는 휴대용 하드 디스크에 의해서) 간접적으로 컴퓨팅 장치(104)와 연결될 수 있는 다양한 임의의 상이한 장치들을 포함한다. 주변 장치(102)는 예시로서 디지털 카메라로 도 1에 도시되며, 장치(102)는 또한 캠코더, 저장 장치, 휴대용 음악 및/또는 비디오 플레이어, 프린터, 스캐너, 다중-기능 머신 등과 같은 다른 종류의 주변 장치가 될 수 있다는 것을 이해할 수 있다.
모아진 이용 데이터는 주변장치(102)로부터 컴퓨팅 장치(104)로 전송된다. 컴퓨팅 장치(104)는, 데스크탑 컴퓨터, 휴대용 컴퓨터, 랩탑 컴퓨터, 서버 컴퓨터, 게임 콘솔, 엔터테인먼트 시스템 등과 같은 다양한 임의의 상이한 유형의 컴퓨팅 장치가 될 수 있다. 주변 장치(102)로부터 모아진 이용 데이터뿐만 아니라, 각 컴퓨팅 장치(104)는 또한 사용자가 사용하는 컴퓨팅 장치(104) 그 자체에 대한 이용 데이터를 모을 수 있다. 이는, 예를 들어 사용자 선택, 실행되는 프로그램, 사용자와 컴퓨팅 장치 사이의 상호 작용(예를 들어, 키보드, 마우스, 리모컨, 음성 명령 등에 의함) 등을 포함할 수 있다.
컴퓨팅 장치(104)는 이와 같은 이용 데이터를 서버(106)로 전송한다. 서버(106)는 임의의 다양한 상이한 종류의 컴퓨팅 장치이고, 컴퓨팅 장치(104)로 부터 수신된 이용 데이터를 수집하기 위해서 동작한다. 추가적으로, 장치(102, 103)와 같은 일부 주변 장치(102)는 선택적으로 이용 데이터를 컴퓨팅 장치(104)를 통해서가 아니라 직접 서버(106)에 업로드할 수 있다.
상이한 유형의 주변 장치가 상이한 컴퓨팅 장치(104)와 연결될 수 있고, 상이한 유형의 주변 장치가 동일한 컴퓨팅 장치(104)와 연결될 수 있다. 추가적으로, 상이한 유형의 컴퓨팅 장치(예를 들어, 랩탑 컴퓨터, 데스크 탑 컴퓨터 등)가 있을 수 있다. 주변 장치와 컴퓨팅 장치에 대한 상이한 유형의 이용 데이터가 장치 유형별로 함께 수집될 수 있도록 주변 장치와 컴퓨팅 장치의 상이한 유형에 대한 이용 데이터가 서버(106)에 의해서 분리된다. 구체적인 실시예에서, 서버(106)는 유형, 벤더 및 장치의 모델별로 데이터를 함께 수집한다. 예를 들어, 디지털 카메라는 주변 장치의 일유형이고, 이는 벤더 및 벤더에 의해서 사용되는 모델 번호별로 함께 수집될 수 있다. 다른 실시예에서, 서버(106)는 장치의 모델과 관계 없이 유형별로 함께 수집된다. 예를 들어, 디지털 카메라에 대한 이용 데이터는 벤더 또는 디지털 카메라의 모델에 관계없이 함께 수집될 수 있다. 또는 노트북 컴퓨터에 대한 이용 데이터는 벤더 또는 노트북 컴퓨터의 모델에 관계없이 함께 수집될 수 있다.
추가적으로, 추상 장치 명세서(abstract device description)가 장치의 특정한 유형의 장치에 대한 이용 데이터를 저장하기 위해서 컴퓨팅 장치(104) 및/또는 서버(106)에 의해서 사용될 수 있다. 이와 같은 추상 장치 명세서는 표준적인 용어로 특정한 유형의 장치에 대한 이용 데이터를 저장한다(예를 들어, 추상 데이터 명세서는 스키마(schema)일 수 있음). 상이한 추상 장치 명세서는 통상적으로 상이한 유형의 장치를 위해서 사용된다. 예를 들어, 디지털 카메라 유형 장치에 대하여, 추상 장치 명세서는 셔터 버튼이 눌러지는 매 회의 카메라 설정을 저장하기 위한 "셔터 버튼" 요소, (존재한다면) 카메라의 메뉴에 액세스하는 매 회의 선택된 메뉴 아이템을 기술하기 위한 데이터를 저장하기 위한 "메뉴" 요소, 카메라의 플래시의 설정(예를 들어, 켬, 끔, 적목 제거(red-eye reduction))을 기술하는 데이터를 저장하기 위한 "플래시" 요소, 사용자에 의해서 선택된 미리 설정된 노출 설정 또는 촬영 모드 등을 기술하는 데이터를 저장하기 위한 "프리-셋" 요소 등을 포함할 수 있다.
수집 서버(106)는 또한 수집된 이용 데이터를 컴퓨팅 장치(104)에 반환한다. 컴퓨팅 장치(104)에 수집된 데이터를 반환하는 것은 컴퓨팅 장치(104)가 모든 컴퓨팅 장치에 의해서 수신된 이용 데이터로부터 도움을 받도록 한다. 표준화된 모델 에 개시된 공통 인자에 따르는 수집에 의해서, 수집된 데이터는 이용 데이터의 개개의 데이터 포인트의 넓은 배열로부터 생성된다. 데이터는 또한 동일한 추상 인자를 공유하는 상이한 유형의 장치를 거쳐서 수집될 수 있다. 주어진 사용자에 대해서, 수집은 사용의 상이한 세션 및 사용자와 관련된 상이한 장치에 걸쳐서 수행될 수 있다. 더 나아가, 데이터는 데이터 포인트, 복수의 사용자에 걸쳐서 공통되는 것으로부터 기인하는 샘플화된 사용자 집단에 걸쳐 수집될 수 있다. 최종 데이터 포인트의 분석적인 처리 및 획득은 장치(102) 및 서버(106) 사이에서 분산될 수 있다. 이는, 아래에서 더 자세히 논의하는 바와 같이 컴퓨팅 장치(104)에 더 넓은 범위의 데이터를 제공한다.
컴퓨팅 장치(104)는 주변 장치(102) 및/또는 컴퓨팅 장치(104)를 사용하는 사용자 경험의 자동적인 향상을 위한 기준으로서 이용 데이터를 사용한다. 사용자의 경험은, 사용자에 대한 가능한 동작의 리스트로부터 자동으로 선택, UI 구성요소의 자동적인 정렬, 자동적인 색상 태그를 추가, 자동적인 포함된 하이퍼링크 수정, 자동적인 사용자 선택 재-우선순위화 등과 같은 다양한 방식으로 향상될 수 있다. 예를 들어, 사용자가 주변 장치(102)를 컴퓨팅 장치(104)와 연결할 때, 컴퓨팅 장치(104)는 자동으로 수행될 동작을 선택할 수 있고, 컴퓨팅 장치(104)는 수행될 수 있는 가능한 동작의 리스트에서 동작을 재정렬해서 사용자가 더 많이 원할 가능성이 있는 동작을 사용자에게 (예를 들어, 리스트의 가장 상위에, 더 큰 또는 상이한 폰트로, 상이한 색상 등으로) 더 두드러지게 표시할 수 있다. 이와 같은 자동 선택을 수행하기 위한 특정한 컴퓨팅 장치(104)에 의해서 사용되는 이용 데이 터는 단지 특정한 컴퓨팅 장치(104)가 (그 자체의 사용으로부터 또는 이와 연결된 주변 장치(102)로부터 모두) 모으는 이용 데이터일 수 있고, 또는 대안적으로 (예를 들어, 수집 서버(106)로부터 컴퓨팅 장치(104)로 반환된) 수집된 이용 데이터일 수 있다.
도 2는 예시적인 주변 장치(200)의 블록도이다. 주변 장치(200)는 도 1의 임의의 주변 장치(102)일 수 있다. 주변 장치(200)는 제어기(202), 펌웨어 또는 소프트웨어(204) 및 메모리(206)를 포함할 수 있다. 메모리(206)는 동작하는 동안 주변 장치(200)에 의해 사용되는 데이터(예를 들어, 찰영된 사진의 데이터, 인쇄하기 위해서 또는 저장되기 위해서 수신된 데이터 등)인 장치 데이터(208)를 포함한다. 메모리(206)는 (플래시 메모리 카드, 휴대용 하드 드라이브 등과 같은 주변 장치(200)로부터 쉽게 제거될 수 있도록 설계된) 착탈식 메모리 및/또는 (주변 장치(200) 내에 위치하도록 설계된) 비착탈식 메모리를 포함할 수 있다.
펌웨어 또는 소프트웨어(204)는 장치(200)의 기능을 수행하기 위해서 제어기(202)에 의해서 실행되는 명령어의 세트이다. 분리되어서 도시되었지만, 펌웨어 또는 소프트웨어(204)는 선택적으로 메모리(206)의 일부로서 포함될 수 있다. 구체적인 기능은 특정한 유형의 주변 장치 및 장치의 벤더의 요구에 따라서 변경된다. 펌웨어 또는 소프트웨어(204)의 일부는 이용 데이터 관리자(210)이다. 이용 데이터 관리자(210)는 장치(200)의 사용을 모니터링하고 이용 데이터(212)로서 사용을 설명하는 데이터를 저장한다. 임의의 다양한 상이한 데이터가 주변 장치의 유형 및 장치의 벤더의 요구에 따라 이용 데이터(212)로서 저장될 수 있다. 예를 들어, 주변 장치(200)가 디지털 카메라라면, 이용 데이터(212)는, 사용자가 액세스한 메뉴, 메뉴에 액세스할 때 사용자가 설정을 변경하였는지 여부 등의 촬영된 각 사진을 설명하는 데이터(예를 들어, 플래시 설정, 셔터 스피드, 사용자가 기본 설정을 오버라이드 하였는지 여부 등)를 포함할 수 있다.
모아진 이용 데이터는 공통 스키마에 따라서 모아진 포괄적인 데이터 및/또는 특정한 벤더 및/또는 모델에 대한 이용 데이터를 포함한다. 예를 들어, 플래시 설정과 같은 일반적인 이용 데이터는 모든 디지털 카메라에 대한 공통적인 스키마에 따라서 모아질 수 있다. 다른 예시에서, 특정한 벤더 및/또는 디지털 카메라의 모델에 대한 특정한 메뉴 설정이 또한 모아질 수 있다. 수집된 이용 데이터로서 컴퓨팅 장치(104)에 반환된 특정한 벤더 및/또는 모델에 대한 임의의 이용 데이터는 그 특정한 벤더 및/또는 모델이 아닌 장치에 대한 사용자 경험을 향상시킬 때 컴퓨팅 장치에 의해서 단순히 무시된다.
도 3은 예시적인 컴퓨팅 장치(300)의 블록도이다. 컴퓨팅 장치(300)는 도 1의 임의의 컴퓨팅 장치(104)일 수 있다. 컴퓨팅 장치(300)는 이용 데이터 제어 모듈(302), 적응 모듈(adaptation module; 304), 익명 모듈(anonymization module; 306) 및 수집된 이용 데이터(308)를 포함한다. 모듈(302 내지 306)은 통상적으로 프로세서(도 3에 도시되지 않음)에 의해서 실행되는 소프트웨어 또는 펌웨어 명령어들을 사용하여 구현된다.
이용 데이터 제어 모듈(302)은 컴퓨팅 장치(300)와 연결된 주변 장치(102)로부터 이용 데이터를 수신하고 수신된 이용 데이터를 수집 서버(예를 들어, 도 1의 서버(106))로 업로드한다. 이용 데이터가 수신되는 방식은 주변 장치가 컴퓨팅 장치(300)에 연결되는 방식에 따라서 변경될 수 있다. 주변 장치는, 무선 연결, IEEE 1394 케이블 연결, USB 케이블 연결 등에 의해서 컴퓨팅 장치(300)와 직접 연결될 수 있다. 주변 장치는 또한 주변 장치로부터 분리되며 컴퓨팅 장치(300)와 직접 연결되고 이에 데이터가 저장되는 플래시 메모리 카드를 가짐으로써와 컴퓨팅 장치(300)와 간접적으로 연결될 수 있다. 주변 장치가 컴퓨팅 장치(300)와 어떻게 연결되었는지와 관계없이, 주변 장치의 이용 데이터는 이용 데이터 제어 모듈(302)에 의해 액세스할 수 있게 된다.
추가적으로, 특정한 실시예에서 이용 데이터 제어 모듈(302)은 벤더 및/또는 모델 전용 이용 데이터로부터 포괄적인 이용 데이터를 분리한다. 포괄적인 이용 데이터(동일한 또는 상이한 종류의 장치에 공통정인 이용데이터 및 상이한 벤더로부터의 이용 데이터 및/또는 상이한 모델의 이용 데이터)는 임의의 장치(또는 임의의 유형의 장치)가 사용될 때 사용자 경험을 수정하기 위해서 사용된다. 벤더 및/또는 모델 전용 이용 데이터는 오직 특정한 벤더 및/또는 특정한 모델의 사용자 경험을 수정하기 위해서 사용된다.
특정한 실시예에서, 주변 장치는, (시리얼 번호에 의한 또는 인증서 제공과 같은) 고유의 자신의 식별 수단 및 (제조자 및 모델 번호에 의한) 일반적인 자신의 식별수단 모두를 포함하는 자신의 식별 정보를 저장하고, 이용 데이터 제어 모듈(302)은 수신된 이용 데이터를 정확한 장치의 유형과 연결시킬 수 있다. 이는 포괄적인 이용 데이터와 벤더 및/또는 모델 전용 이용 데이터의 분리를 지원하기 위한 기초로서 사용될 수 있다. 대안적으로, 주변 장치는 컴퓨팅 장치(300)와 직접 연결될 때 자신을 컴퓨팅 장치(300)에 식별시킬 수 있다. 주변 장치가 시리얼 번호에 의해서 자신을 식별시키는 상황에서, 이용 데이터 제어 모듈(302)은 시리얼 번호를 주변 장치의 유형과 매핑시키는 데이터베이스 또는 다른 레코드에의 액세스 권한을 가진다. 대안적으로, 매핑은 컴퓨팅 장치(300)가 아닌 도 1의 수집 서버(106)에 의해서 수행될 수 있다. 또 다른 대안으로, 매핑은 장치 벤더 또는 펌웨어 제공자에 의해서 펌웨어 기술자(firmware descriptor)에 배치되는 "인스턴스(instance)" 데이터에 의해서 수행될 수 있다.
수신된 이용 데이터는 또한, 적어도 일시적으로 수집 서버에 업로드되기 전에 저장될 수 있다. 이용 데이터 제어 모듈(302)은 주변 장치(102)로부터 수신된 이용 데이터로서 이용 데이터(308)를 수집 서버에 업로드할 수 있고, 또는 대안적으로 주변 장치(102)로부터 모아진 이용 데이터를 업로드하기 전에 복수의 주변 장치(102)(또는 동일한 주변 장치로부터의 이용 데이터의 복수의 집합)로부터 이용 데이터를 모을 수 있다. 일실시예에서, 이용 데이터는 이용 데이터의 통합된 샘플을 제공하기 위해서 상이한 장치를 연결(span)할 수 있다. 예를 들어, "복사" 이용의 별개의 스캐너 및 프린터 척도가 이용 데이터 제어 모듈(302)에 의해서 제공될 수 있다. 이용 데이터 수집의 이와 같은 유형은, 복수의 상이한 주변 장치를 연결하지만 특정한 컴퓨팅 장치와 관련된다.
이용 데이터 제어 모듈(302)은 또한 컴퓨팅 장치(300) 및/또는 주변 장치(102)의 사용에 관한 이용 데이터를 모을 수 있다. 예를 들어, 제어 모듈(302) 은 주변 장치(102)가 컴퓨팅 장치(300)와 연결되었을 때의 사용자의 동작(예를 들어, 사진이 즉시 인쇄됨, 파일이 하드 디스크로 전송됨, 파일이 광 저장 매체(예를 들어, CD 또는 DVD)에 기록됨(burned) 등)에 관한 이용 데이터를 모을 수 있다. 추가적으로, 사용자의 컴퓨팅 장치(300)와의 상호작용에 관한 이용 데이터는 주변 장치가 포함되어 있는지와 관계없이 모아질 수 있다. 예를 들어, 제어 모듈(302)은 특정한 프로그램이 실행될 때의 사용자의 동작, 컴퓨팅 장치가 시작되거나 또는 재시작될 때 실행되는 프로그램에 대한 사용자의 선택, 기본 장치(예를 들어, 프린터)로서의 특정한 주변 장치에 대한 사용자의 선택 등과 관련된 이용 데이터를 모을 수 있다. 컴퓨팅 장치 또는 주변 장치에 의해서 모아진 이와 같은 모든 이용 데이터는 이용 데이터 제어 모듈(302)에 의해서 수집 서버로 업로드된다.
수집 서버로 업로드되는 이용 데이터는 컴퓨팅 장치(300) 및/또는 주변 장치(102)의 사용자를 위한 개인 데이터를 포함하거나 또는 포함하지 않을 수 있다. 이와 같은 개인용 데이터는, 예를 들어 주변 장치(102) 또는 컴퓨팅 장치(300)의 일련 번호, 사용자의 이름, 사용자의 이메일 주소, 다른 사용자의 고유의 식별정보 등을 포함한다. 업로드된 이용 데이터에 포함되는 개인용 데이터는 (존재한다면) 주변 장치(102) 또는 컴퓨팅 장치(300)의 사용자 입력에 기초하여 결정된다. 사용자는, 그 또는 그녀가 선택한 프라이버시 레벨을 선택함으로써 공개하고자 하는 개인용 데이터의 양을 선택할 수 있다. 프라이버시 레벨의 레코드는 컴퓨팅 장치(300) 및/또는 주변 장치(102)에 보유될 수 있다. 다른 실시예에서, 컴퓨팅 장치(300)는 장치 및 데이터 포인트의 일반적인 식별정보에 의한 집중화된 정책에 기 초하여 이용 데이터 수집을 필터링 또는 제한하도록 구성된다.
익명 모듈(306)은 선택적으로 컴퓨팅 장치(300)에 포함된다. 익명 모듈(306)은 사용자가 선택한 프라이버시 레벨에 기초하여 주변 장치(102)로부터 수신된 이용 데이터로부터 임의의 개인용 데이터를 제거한다. 예를 들어, 프라이버시 레벨이 주변 장치(102)의 일련 번호와 사용자의 이름이 벤더에게 업로드될 수 있다고 표시하면, 익명 모듈(306)은 일련 번호와 사용자의 이름이 이용 데이터에 남아 있도록 한다. 다른 예시에서, 프라이버시 레벨이 개인용 데이터가 벤더에게 전달될 수 없다는 것을 나타내면, 익명 모듈(306)은 이용 데이터로부터 모든 개인용 데이터를 제거한다. 대안적으로, 개인용 데이터는 익명 모듈(306)이 아닌 수집 서버에 의해서 제거될 수 있다.
컴퓨팅 장치(300)는 또한 수집된 이용 데이터(308)를 저장한다. 수집 서버는 (예를 들어, 추상 스키마에 따라서) 복수의 컴퓨팅 장치(300)로부터 수신된 복수의 주변 장치(102)에 대한 이용 데이터를 수집하고, 데이터를 수집된 이용 데이터(308)로서 저장하는 컴퓨팅 장치(300)에 수집된 이용 데이터를 반환한다. 따라서 수집된 이용 데이터(308)는 복수의 상이한 사용자에 의해서 사용되는 복수의 주변 장치로부터 수집된다. 대안적으로, 컴퓨팅 장치(300)는 이용 데이터가 오직 컴퓨팅 장치(300)와 연결된 주변 장치(102)로부터 수신되었거나, 오직 컴퓨팅 장치(300)의 사용자로부터 컴퓨팅 장치(300)에 의해서 모아졌거나, 오직 컴퓨팅 장치(300)의 특정한 사용자로부터 컴퓨팅 장치(300)에 의해서 모아졌거나, 특정한 사용자에 의해서만 사용되는 주변 장치(102)로부터 수신된 이용 데이터와 같은 수집 된 이용 데이터(308)를 보유할 수 있다. 데이터의 수집은, 이것이 많은 상이한 주변 장치 및/또는 사용자로 퍼지지는 않지만 수집 서버에 관해 아래에서 논의하는 것과 동일한 방식으로 수행된다.
수집된 이용 데이터(308)는 통상적으로 상이한 장치 유형과 관련된 상이한 부분을 포함한다. 상이한 장치 모델에 대한 상이한 부분으로 수집된 이용 데이터(308)를 분리하는 것은, 아래에서 더 상세하게 논의하는 바와 같이 적응 모듈(304)에 의한 장치의 사용자 경험의 더욱 세밀한 향상을 가능하도록 한다. 이는 상이한 부분이 사용될 수 있는 상이한 장치와 관련되기 때문이다.
적응 모듈(304)은 도 1의 컴퓨팅 장치(300) 및/또는 주변 장치(102)의 사용자 경험을 향상시키기 위한 기초로서 수집된 이용 데이터(308)를 사용한다. 이와 같은 향상은, 예를 들어 컴퓨팅 장치(300)의 사용자 및/또는 주변 장치(102)의 사용자에 대한 가능한 동작의 리스트로부터 자동으로 선택하는 것을 포함한다. 예를 들어, 사용자가 주변 장치(102)를 컴퓨팅 장치(300)와 연결할 때, 적응 모듈(304)은 자동으로 수행될 동작을 선택한다. 이와 같은 향상 과정은 아래에서 더 자세히 논의된다.
도 4는 예시적인 수집 서버(400)의 블록도이다. 수집 서버(400)는, 예를 들어 도 1의 수집 서버(106)일 수 있다. 수집 서버(400)는 이용 데이터 제어 모듈(402), 익명 모듈(404), 수집 모듈(406) 및 이용 데이터 데이터베이스(408)를 포함한다. 모듈(402 내지 406)은 통상적으로 프로세서(도 4에 도시되지 않음)에 의해서 실행되는 소프트웨어 또는 펌웨어 명령어를 사용해서 구현된다.
이용 데이터 제어 모듈(402)은 도 1의 컴퓨팅 장치(104)로부터 이용 데이터를 수신한다. 수신된 이용 데이터가 이로부터 사용자의 개인용 정보를 제거하지 않았으면, 익명 모듈(404)이 사용자가 선택한 프라이버시 레벨에 따라서 개인용 데이터를 제거한다. 프라이버시 레벨은 통상적으로 컴퓨팅 장치(104)에 의해서 수집 서버(400)로 전달된다.
수집 모듈(406)은 이용 데이터 제어 모듈(402)에 의해서 수신된 이용 데이터를 수집하고, 수집된 이용 데이터를 이용 데이터 데이터베이스(408)에 저장한다. 수집 모듈(406)은 장치 유형(통상적으로 제조자 및 모델)에 따라서 이용 데이터를 수집한다. 데이터는 또한 일반적인 장치 분류에 의해서 수집될 수 있다. 이용 데이터와 관련되는 특정한 장치 유형은 통상적으로 수집 서버(400)에 의해서 이용 데이터와 함께 수신된다. 특정한 장치 유형에 대한 이용 데이터의 수집은 서버(400)에 의해서 수집되는 이용 데이터로부터 모든 사용자에 걸쳐서 사용되는 장치의 유형이 관리되는 방법을 참조한다. 수집된 이용 데이터는, 예를 들어 사진 촬영을 위해서 액세스되는 메뉴 옵션 및 설정, 노출 사전-설정(exposure pre-sets)의 선택 여부, 주변 장치가 컴퓨팅 장치와 연결될 때 컴퓨팅 장치로 전송되는 데이터로 수행되는 동작(예를 들어, 사진이 즉시 인쇄됨, 파일이 하드 디스크로 전송됨, 파일이 광 저장 매체(예를 들어, CD 또는 DVD)에 기록됨(burned) 등)을 포함할 수 있다. 따라서 수집 서버에 의해서 수신되는 모든 이용 데이터는 각 데이터 유형에 대한 이용 데이터의 단일 집합(single collection)으로 통합된다.
이용 데이터 제어 모듈(402)은 또한 데이터 베이스(408)로부터 특정한 장치 유형에 대해서 수집된 이용 데이터를 도 1의 컴퓨팅 장치(102)로 반환한다. 컴퓨팅 장치로 반환되는 수집된 이용 데이터는 변경될 수 있다. 일실시예에서, 수집 서버(400)는 서버(400)가 특정한 컴퓨팅 장치(102)로부터 이용 데이터를 수신하기 위하여 특정한 이용 데이터에 대하여 수집된 이용 데이터를 특정한 컴퓨팅 장치(102)로 반환한다. 대안적으로, 수집 서버(400)는 각 컴퓨팅 장치(102)로 송신하는 수집된 이용 데이터의 기본 집합을 가질 수 있다. 대안적으로, 컴퓨팅 장치(102)는 그들이 수신하기를 원하는 특정한 이용 데이터를 요청할 수 있다(예를 들어, 컴퓨팅 장치(102)는 새로운 주변 장치가 컴퓨팅 장치에 연결되었다는 것을 감지해서, 서버로부터 새로운 주변 장치의 장치 유형에 대한 수집된 이용 데이터를 요청할 수 있다).
도 5는 가능한 동작의 리스트에 기초한 동작의 자동적인 선택을 채용하는 예시적인 시스템(500)을 도시한다. 시스템(500)은, 도 3의 컴퓨팅 장치(300)와 같은 컴퓨팅 장치 상에 구현된다. 예를 들어, 시스템은 도 3의 적응 모듈(304)로서 구현될 수 있다.
시스템(500)은 다양한 상이한 방식으로 시동될(invoked) 수 있다. 일실시예에서, 운영 체제 또는 다른 애플리케이션이 시스템(500)을 시동시킬 수 있다. 다른 실시예에서, 시스템(500)은 사용자의 요청에 의해서 시동될 수 있다. 추가적으로, 시스템(500)은 컨텍스트 변화가 있을 때마다 시동될 수 있다. 컨텍스트는 시스템(500)을 구현하는 컴퓨팅 장치 상에서 현재 일어나는 일을 지칭한다. 예를 들어, 어떠한 주변 장치가 컴퓨팅 장치에 연결되었는지, 최근에 임의의 주변 장치가 컴퓨팅 장치에 연결되었는지, 어떠한 애플리케이션이 컴퓨팅 장치 상에서 실행되는지, 어떠한 애플리케이션이 최근에 컴퓨팅 장치 상에서 실행을 시작하는 지, 어떠한 애플리케이션이 컴퓨팅 장치 상에서 실행을 종료하는지 등이다. 일실시예에서, 시스템(500)은 컨텍스트 변화가 있을 때마다 시동된다(예를 들어, 애플리케이션이 실행될 때마다, 주변 장치가 컴퓨팅 장치와 연결될 때마다 등).
수집된 이용 데이터(502)와 컨텍스트(504)는, 가능한 동작의 리스트(508)를 생성하는 리스트 생성 모듈(506)의 입력이다. 수집된 이용 데이터(502)는, 예를 들어 도 3의 컴퓨팅 장치(300) 상에 저장된 수집된 이용 데이터(308)이다. 컨텍스트(504)는 시스템(500)을 구현하는 컴퓨팅 장치 상에서 현재 발생되는 사건을 지칭한다. 컨텍스트(504)는 통상적으로 운영 체제 또는 시스템(500)을 구현하는 컴퓨팅 장치의 컨텍스트를 모니터링하는 다른 애플리케이션에 의해서 제공된다.
리스트 생성 모듈(506)은, 수집된 이용 데이터(502) 및 컨텍스트(504)를 기초로 하여 가능한 동작의 리스트(508)를 결정한다. 모듈(506)은 임의의 다양한 방식으로 가능한 동작의 리스트(508)를 생성할 수 있다. 상기에서 논의한 바와 같이, 수집된 이용 데이터(502)는 사용자에 의해서 장치가 사용되는 방식을 식별한다. 예를 들어, 수집된 이용 데이터(502)는, 디지털 카메라가 컴퓨팅 장치에 연결될 때 사용자가 컬러 프린터로 직접 사진을 인쇄한다는 것, 사진을 내장형 하드 드라이브에 복사한다는 것, 사진을 외장형 저장 장치에 저장 또는 사진을 온라인 사진-인쇄 서비스로 전송한다는 것을 나타낼 수 있다. 이와 같은 이용 데이터가 주어지면, 디지털 카메라가 시스템(500)을 구현하는 컴퓨팅 장치에 연결되었다는 컨 텍스트가 발생할 때, 리스트 생성 모듈(506)은 다음의 가능한 동작의 리스트(508)를 생성할 수 있다. 사진을 컴퓨팅 장치에 연결된 컬러 프린터로 직접 인쇄, 사진을 컴퓨팅 장치의 내장형 하드 드라이브에 저장, 사진을 컴퓨팅 장치와 연결된 외장형 저장 장치 상에 저장 및 사진을 온라인 사진-인쇄 서비스로 전송.
동작 선택 모듈(510)은 가능한 동작의 리스트(508)를 수신하고, 가능한 동작의 리스트(508)를 기초로 하여 선택된 동작(512)을 출력한다. 동작 선택 모듈(510)은, 가능한 동작의 리스트로부터 어떠한 동작이 선택될지 결정하기 위해서 임의의 다양한 방식으로 동작할 수 있다. 추가적으로, 일실시예에서 리스트(508)의 복수의 동작이 선택된 동작(512)이 될 수 있다(예를 들어, 상기의 디지털 카메라의 예시에 이어서, 선택된 동작은 사진을 외장형 저장 장치에 저장하기와 사진을 컴퓨팅 장치에 연결된 컬러 프린터로 직접 인쇄하기 둘 다가 될 수 있음).
일실시예에서, 동작 선택 모듈(510)은 동작(512)을 선택하기 위한 인공 지능 과정(artificial intelligence process)을 채용한다. 인공 지능 과정은, 예를 들어 수집된 이용 데이터(502)로부터 학습할 수 있다. 인공 지능 과정은 수집된 이용 데이터(502)를 수신하고, 수집된 이용 데이터(502)에 반영된 다른 사용자의 행동으로부터 학습할 수 있다. 전문가 시스템, 베이지안 네트워크(Bayesian network), 신경망(neural network) 등과 같은 임의의 다양한 인공 지능 과정이 사용될 수 있다.
따라서, 시스템(500)은 시스템(500)을 구현하는 장치의 컨텍스트와 수집된 이용 데이터에 기초해서 자동으로 수행될 동작을 선택한다. 수집된 이용 데이터의 사용에 의해서, 시스템은 복수의 상이한 사용자로부터 모아진 이용 데이터로부터 도움을 받는다. 추가적으로, 새로운 장치를 위한 학습 시간은 통상적으로 요구되지 않는다(새로운 사용자에 대해 특정한 컨텍스트가 처음으로 발생하면 이는 수집된 이용 데이터에 기초해서 자동으로 동작을 선택한다).
도 6은 사용자 경험을 향상시키기 위한 수집된 장치 이용 데이터의 사용을 위한 예시적인 과정(600)을 도시한다. 과정(600)은, 예를 들어 도 3의 적응 모듈(304)에 의해서 수행될 수 있고 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다.
최초에, 수집된 이용 데이터가 수신된다(동작 602). 상기에서 논의한 바와 같이, 이와 같은 수집된 이용 데이터는 복수의 컴퓨팅 장치의 복수의 사용자로부터, 또는 대안적으로 단일 컴퓨팅 장치의 사용자(또는 사용자들)로부터 수집될 수 있다. 수집된 이용 데이터는 장치가 다양한 상이한 컨텍스트에서 사용되는 방식을 반영한다. 수집된 이용 데이터는 컴퓨팅 장치뿐만 아니라 하나 이상의 주변 장치에 대한 이용 데이터를 포함할 수 있다.
또한 현재 사용자 컨텍스트가 식별된다(동작 604). 현재 사용자 컨텍스트는, 상기에서 논의한 바와 같이 과정(600)을 구현하는 장치 상에 현재 어떠한 사건이 발생하는지를 지칭한다. 향상된 사용자 경험은 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초해서 생성된다(동작 606).
향상된 사용자 경험은 임의의 다양한 상이한 방식을 취할 수 있다. 일실시예에서, 도 5와 관련하여 상기에서 논의한 바와 같이 가능한 동작의 리스트가 생성 되고, 가능한 동작의 리스트로부터 가장 원할 가능성이 높은 동작들이 선택되고 수행된다. 동작의 리스트는, 상기에서 논의한 바와 같이 다양한 상이한 방식으로 생성될 수 있다. 원할 가능성이 가장 높은 동작은 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초하며, 과정(600)을 구현하는 시스템은 시스템의 사용자가 발생하기를 원할 가능성이 가장 높은 동작을 결정한다. 예를 들어, 이는 도 5의 선택된 동작(512)이다.
추가적으로, 일실시예에서 동작 606에서 생성된 가능한 동작의 리스트의 표시 및/또는 선택되고 수행되는 원하는 동작의 표시가 수집 서버로 송신된다(즉, 도 1의 서버(106)). 이는 수집 서버에 전달되고 수집 서버에 의해 수집된 이용 데이터에 통합될 수 있는 추가적인 이용 데이터이다.
향상된 사용자 경험은 또한 다른 형식을 취할 수 있다. 예를 들어, 가능한 동작의 리스트의 동작 중 하나를 자동으로 선택하고 수행하기보다, 사용자에게 제공될 가능한 동작의 리스트가 재정렬될 수 있다. 이와 같은 재정렬은, 예를 들어 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초하여 사용자가 원할 가능성이 가장 높은 것으로 결정된 동작을 사용자가 원할 가능성이 덜 높은 것으로 결정된 동작보다 리스트의 더 높은 위치에 (또는 리스트에서 가장 두드러지게) 배치시킨다.
예시적으로, 사용자 경험은 사용자 인터페이스의 특정한 태양의 색상을 변경하여서 향상될 수 있다. 예를 들어, 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초해서 상이한 바탕 또는 텍스트 색상이 사용될 수 있고, 동작의 리스트의 상 이한 동작이 상이한 색상을 사용해서 표시될 수 있고, 상이한 하이라이트 색상이 선택될 수 있다.
예시적으로, 사용자 경험은 포함된 하이퍼링크의 변경에 의해서 향상될 수 있다. 예를 들어, 수집된 이용 데이터 및 현재 사용자 컨텍스트에 기초해서 링크는 가장 원할 가능성이 높은 소스(특정한 도움말 또는 정보 소스와 같은)를 가리키도록 변경될 수 있고, 링크는 사용자에 의해 원할 가능성이 가장 높은 것으로 결정된 링크가 사용자가 원할 가능성이 덜 높은 것을 결정된 링크보다 상위에 위치하도록(또는 더 두드러지게) 순서가 재정렬될 수 있다.
도 7은 본 명세서에서 논의되는 수집된 이용 데이터를 사용해서 사용자 경험의 향상을 구현하기 위해서 사용되는 일반적인 컴퓨팅 장치(700)의 예시를 도시한다. 컴퓨팅 장치(700)는 도 1의 장치(104) 또는 서버(106)가 될 수 있고, 또는 도 1의 주변 장치(102)가 될 수 있다. 컴퓨팅 장치(700)는 단지 컴퓨팅 장치의 일예시일 뿐이고, 컴퓨팅 장치 및 네트워크 아키텍쳐의 사용이나 기능의 범위를 제한하는 의도로 해석되지 않는다. 또한 컴퓨팅 장치(700)가 예시적인 컴퓨팅 장치(700)에 도시되는 임의의 컴포넌트의 포함(또는 제외) 또는 컴포넌트의 연결 또는 조합과 관련한 요건을 가지는 것으로 해석되지 않는다.
컴퓨팅 장치(700)는, 이에 한정되지는 않지만 하나 이상의 프로세서 또는 프로세싱 유닛(704), 시스템 메모리(706) 및 프로세서(704)와 시스템 메모리(706)를 포함하는 다양한 시스템 컴포넌트를 연결하는 버스(702)를 포함할 수 있는 범용 컴퓨팅 장치이다.
버스(702)는, 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속 그래픽 포트 및 임의의 다양한 버스 아키텍쳐를 사용하는 프로세서 또는 로컬 버스를 포함하는 하나 이상의 임의의 여러가지 유형의 버스 구조를 나타낸다. 예시적으로, 이와 같은 아키텍쳐는 ISA(Industry Standard Architecture) 버스, MCS(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스 및 메자닌(Mezzanine) 버스로서도 알려진 PCI(Peripheral Component Interconnects) 버스를 포함할 수 있다.
시스템 메모리(706)는, RAM(random access memory)와 같은 휘발성 메모리 및/또는 ROM(read only memory)과 같은 비-휘발성 메모리 형식의 컴퓨터 판독가능 매체를 포함한다.
컴퓨팅 장치(700)는 또한 다른 착탈식/비착탈식, 휘발성/비-휘발성 컴퓨터 저장 장치(708)를 포함할 수 있다. 예시적으로, 저장 장치(708)는 비-착탈식, 비-휘발성 마그네틱 매체로부터 판독하고 여기에 기록하기 위한 하나 이상의 하드 디스크, 착탈식, 비-휘발성 마그네틱 디스크(예를 들어, "플로피 디스크")로부터 판독하고 여기에 기록하기 위한 마그네틱 디스크, CD, DVD 또는 다른 광 매체, 플래시 메모리 등과 같은 착탈식, 비-휘발성 광 디스크로부터 판독하거나 또는 여기에 기록하기 위한 광 디스크 드라이브 중 하나 이상이 될 수 있다. 이와 같은 저장 장치 및 이들의 관련된 컴퓨터-판독가능 매체는 컴퓨팅 장치를 위한 컴퓨터 판독가능 명령어들, 데이터 구조, 프로그램 모듈 및/또는 다른 데이터의 저장을 제공한다.
사용자 명령 및 다른 정보는, 키보드, 포인팅 장치(예를 들어, "마우스"), 마이크로폰, 조이스틱, 게임 패드, 위성 접시(satellite dish), 직렬 포트, USB(universal serial bus), IEEE 1394 버스, 스캐너, 네트워크 인터페이스 또는 아답터, 모뎀 등과 같은 하나 이상의 I/O(input/output) 장치(710)를 통해 컴퓨팅 장치(700)에 입력될 수 있다. 정보 및 데이터는, 모니터, 프린터, 네트워크 인터페이스 또는 아답터, 모뎀, 스피커 등과 같은 하나 이상의 I/O 장치(710)를 통해 컴퓨팅 장치(700)에 의한 출력이 될 수 있다.
본 명세서에 개시된 자원과 연결하기 위한 문서 용어의 구현은, 하나 이상의 컴퓨팅 장치에 의해서 실행되는 프로그램 모듈과 같은 프로세서-실행가능 명령어 또는 컴퓨터-실행가능 명령어의 일반적인 컨택스트에서 개시될 수 있다. 일반적으로, 프로그램 모듈은 특정한 작업을 수행하거나 또는 특정한 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능은 다양한 실시예에서 요구되는 대로 결합되거나 분산될 수 있다.
자원과 연결하기 위한 문서 용어의 구현은 저장되거나 컴퓨터 판독가능 매체의 일부 형식을 통해서 전송될 수 있다. 컴퓨터 판독가능 매체 또는 프로세서-판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 사용가능한 매체일 수 있다. 한정이 아닌 예시적으로, 컴퓨터 판독 가능 매체 또는 프로세서 판독가능 매체는 "컴퓨터 저장 매체" 또는 "통신 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는, 컴퓨터 판독가능 매체, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비-휘발성, 착탈식 및 비-착탈식 매체를 포함한다. 컴퓨터 저장 매체는, 이에 한정되지는 않지만 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD, DVD(digital versatile disks) 또는 다른 광 저장 매체, 마그네틱 카셋트, 마그네틱 테잎, 마그네틱 디스크 저장 매체 또는 다른 마그네틱 저장 매체 또는 원하는 정보를 저장하기 위해서 사용될 수 있고 컴퓨터에 의해서 액세스될 수 있는 임의의 다른 매체가 될 수 있다.
"통신 매체"는 통상적으로, 반송파(carrier wave) 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현한다. 통신 매체는 또한 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 자신의 특성 집합의 하나 이상을 가지는 신호 또는 정보를 신호로 인코딩하기 위한 방식으로 변경된 신호를 의미한다. 한정이 아닌 예시적으로, 통신 매체는 유선 네트워크 또는 직접-유선 연결 및 어쿠스틱, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 또한 상기의 임의의 조합이 컴퓨터 판독가능 매체의 범위에 포함된다.
대안적으로, 이와 같은 모듈과 기술의 전부 또는 일부는 하드웨어, 또는 하드웨어의 조합, 소프트웨어 및/또는 펌웨어로 구현될 수 있다. 예를 들어, 하나 이상의 ASIC(application specific integrated circuit) 또는 PLD(programmable logic device)가 프레임워크의 하나 이상의 부분을 구현하기 위해서 설계되거나 프로그램될 수 있다.
주요 발명이 구조적인 태양 및/또는 방법론적인 동작에 대한 언어로 개시되었지만, 첨부된 청구항에 정의된 주요 발명은 상기에 개시된 특정한 태양 또는 동작에 한정될 필요가 없다는 것을 이해할 수 있다. 더 나아가, 상기에 개시된 특정한 태양 및 동작은 청구항을 구현하는 예시적인 형식으로서 기술되었다.

Claims (20)

  1. 하나 이상의 컴퓨터 판독 가능 매체로서,
    상기 컴퓨터 판독 가능 매체에는 복수의 명령어가 저장되고,
    상기 복수의 명령어는 하나 이상의 프로세서에 의해서 실행될 때 상기 하나 이상의 프로세서가,
    장치에 관하여 수집된 이용 데이터(aggregated usage data for a device)를 수신하는 동작;
    현재 사용자 컨텍스트를 식별하는 동작; 및
    상기 수집된 이용 데이터 및 상기 현재 사용자 컨텍스트에 기초해서, 향상된 사용자 경험(enhanced user experience)을 생성하는 동작
    을 수행하게 하는 하나 이상의 컴퓨터 판독 가능 매체.
  2. 제1항에 있어서,
    상기 향상된 사용자 경험을 생성하는 동작은,
    상기 수집된 이용 데이터 및 상기 현재 사용자 컨텍스트에 기초해서, 가능한 동작들의 리스트(a list of possible actions)를 생성하는 동작; 및
    상기 가능한 동작들의 리스트로부터, 가장 원할 가능성이 높은 동작(a most likely desired action)을 선택하는 동작인 하나 이상의 컴퓨터 판독 가능 매체.
  3. 제2항에 있어서,
    상기 복수의 명령어는 상기 수집된 이용 데이터에 포함시키기 위하여 상기 하나 이상의 프로세서가 상기 가능한 동작들의 리스트의 표시를 상기 수집된 이용 데이터의 소스로 송신하는 동작을 더 수행하도록 하는 하나 이상의 컴퓨터 판독 가능 매체.
  4. 제2항에 있어서,
    상기 복수의 명령어는 상기 수집된 이용 데이터에 포함시키기 위하여 상기 하나 이상의 프로세서가 상기 선택된 원할 가능성이 가장 높은 동작의 표시를 상기 수집된 이용 데이터의 소스로 송신하는 동작을 더 수행하도록 하는 하나 이상의 컴퓨터 판독 가능 매체.
  5. 제1항에 있어서,
    상기 향상된 사용자 경험을 생성하는 동작은,
    상기 수집된 이용 데이터 및 상기 현재 사용자 컨텍스트에 기초해서, 가능한 동작들의 리스트를 생성하는 동작; 및
    상기 사용자가 원할 가능성이 더 높은 것으로 결정된 동작들이 사용자가 원할 가능성이 더 낮은 것으로 결정된 동작들보다 더 두드러지게(prominently) 제공 되도록 상기 가능한 동작들의 리스트를 재정렬하는 동작인 하나 이상의 컴퓨터 판독 가능 매체.
  6. 제1항에 있어서,
    상기 향상된 사용자 경험을 생성하는 동작은 사용자 인터페이스에서 사용되는 하나 이상의 색상을 변경하는 동작인 하나 이상의 컴퓨터 판독 가능 매체.
  7. 제1항에 있어서,
    상기 향상된 사용자 경험을 생성하는 동작은 사용자 인터페이스에 포함된 하이퍼링크들을 변경하는 동작인 하나 이상의 컴퓨터 판독 가능 매체.
  8. 제1항에 있어서,
    상기 수집된 이용 데이터는 복수의 장치의 복수의 사용자로부터의 이용 데이터를 포함하는 하나 이상의 컴퓨터 판독 가능 매체.
  9. 제1항에 있어서,
    상기 장치에 관하여 수집된 이용 데이터를 모으는 동작은 수집 서버로부터 상기 수집된 이용 데이터를 수신하는 동작인 하나 이상의 컴퓨터 판독 가능 매체.
  10. 제1항에 있어서,
    상기 장치는 컴퓨팅 장치를 포함하는 하나 이상의 컴퓨터 판독 가능 매체.
  11. 제1항에 있어서,
    상기 장치는 주변 장치를 포함하는 하나 이상의 컴퓨터 판독 가능 매체.
  12. 제1항에 있어서,
    상기 명령어들은 상기 하나 이상의 프로세서가,
    상기 장치와 연결된 주변 장치로부터, 상기 주변 장치의 정상 동작 동안 캡쳐된 상기 주변 장치에 대한 이용 정보를 나타내는 데이터를 수신하는 동작; 및
    상기 수집된 이용 데이터에 포함시키기 위하여 상기 장치에 관한 상기 이용 정보를 서버로 전송하는 동작을 더 수행하도록 하는 하나 이상의 컴퓨터 판독 가능 매체.
  13. 제1항에 있어서,
    상기 장치는 주변 장치이고, 상기 복수의 명령어는 컴퓨팅 장치의 하나 이상의 프로세서에 의해서 실행되고, 상기 복수의 명령어는 상기 주변 장치가 상기 컴퓨팅 장치에 첫번째로 연결될 때 상기 하나 이상의 프로세서가 식별, 생성 및 선택을 더 수행하도록 하는 하나 이상의 컴퓨터 판독 가능 매체.
  14. 수집된 이용 데이터 및 현재 컨텍스트를 수신하고, 적어도 부분적으로 상기 수집된 이용 데이터 및 상기 현재 컨텍스트에 기초해서 가능한 동작들의 리스트를 생성하도록 구성되는 리스트 생성 모듈; 및
    상기 가능한 동작들의 리스트를 수신하고 상기 가능한 동작들의 리스트로부터 하나 이상의 동작을 선택하도록 구성되는 동작 선택 모듈
    을 포함하는 시스템.
  15. 제14항에 있어서,
    상기 수집된 이용 데이터는 복수의 장치의 복수의 사용자로부터의 이용 데이터를 포함하는 시스템.
  16. 제15항에 있어서,
    상기 복수의 장치는 컴퓨팅 장치와 주변 장치를 모두 포함하는 시스템.
  17. 제14항에 있어서,
    상기 시스템에 연결된 주변 장치로부터, 상기 주변 장치의 정상 동작 동안 캡쳐된 상기 주변 장치에 대한 이용 정보를 나타내는 데이터를 수신하도록 구성되고,
    상기 수집된 이용 데이터에 포함시키기 위하여 상기 이용 정보를 서버로 전송하도록 더 구성되는 이용 데이터 제어 모듈을 더 포함하는 시스템.
  18. 제14항에 있어서,
    상기 시스템은 컴퓨팅 장치로 구현되고, 상기 리스트 생성 모듈은 주변 장치가 상기 컴퓨팅 장치에 첫번째로 연결될 때 상기 가능한 동작들의 리스트를 생성하도록 더 구성되고, 상기 동작 제어 모듈은 상기 주변 장치가 상기 컴퓨팅 장치에 첫번째로 연결될 때 상기 하나 이상의 동작을 선택하도록 더 구성되는 시스템.
  19. 복수의 상이한 사용자에 의한 동일한 장치 유형의 복수의 상이한 장치의 이용에 관한 수집된 이용 데이터를 수신하는 단계;
    상기 장치 유형의 장치에 관한 현재 컨텍스트를 식별하는 단계; 및
    상기 수신된 수집된 이용 데이터 및 상기 현재 컨텍스트에 적어도 부분적으로 기초해서 자동으로 향상된 사용자 인터페이스를 생성하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    상기 자동으로 향상된 사용자 인터페이스를 생성하는 단계는 적어도 부분적으로 상기 수신된 수집된 이용 데이터 및 상기 현재 컨텍스트에 기초해서 자동으로 하나 이상의 동작을 선택하고 수행하는 단계를 포함하는 방법.
KR1020097014355A 2006-12-15 2007-12-17 수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법 KR101455424B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/611,730 US8713090B2 (en) 2006-12-15 2006-12-15 Enhancing user experiences using aggregated device usage data
US11/611,730 2006-12-15
PCT/US2007/087828 WO2008076997A1 (en) 2006-12-15 2007-12-17 Enhancing user experiences using aggregated device usage data

Publications (2)

Publication Number Publication Date
KR20090098872A true KR20090098872A (ko) 2009-09-17
KR101455424B1 KR101455424B1 (ko) 2014-10-27

Family

ID=39528828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014355A KR101455424B1 (ko) 2006-12-15 2007-12-17 수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법

Country Status (7)

Country Link
US (1) US8713090B2 (ko)
EP (1) EP2115614A4 (ko)
JP (1) JP5256209B2 (ko)
KR (1) KR101455424B1 (ko)
CN (1) CN101573702B (ko)
BR (1) BRPI0720152A2 (ko)
WO (1) WO2008076997A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210011028A (ko) * 2018-05-25 2021-01-29 텐센트 뮤직 엔터테인먼트 테크놀로지 (센젠) 컴퍼니 리미티드 어휘 데이터베이스를 처리하는 방법 및 장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958142B2 (en) * 2007-09-20 2011-06-07 Microsoft Corporation User profile aggregation
US8005786B2 (en) * 2007-09-20 2011-08-23 Microsoft Corporation Role-based user tracking in service usage
US20090138292A1 (en) * 2007-11-26 2009-05-28 International Business Machines Corporation Driving software product changes based on usage patterns gathered from users of previous product releases
US9703659B2 (en) * 2007-12-10 2017-07-11 Dell Products L.P. Customer support using virtual machines
US8340633B1 (en) * 2009-04-09 2012-12-25 Mobile Iron, Inc. Mobile activity intelligence
US9280391B2 (en) * 2010-08-23 2016-03-08 AVG Netherlands B.V. Systems and methods for improving performance of computer systems
US9087213B2 (en) 2011-02-22 2015-07-21 Fedex Corporate Services, Inc. Systems and methods for rule-driven management of sensor data across geographic areas and derived actions
US9011316B2 (en) 2011-11-04 2015-04-21 Ohmea Medical Technologies, Inc. Systems and methods for therapeutic treatments of various conditions of a female person
EP2788926A1 (en) * 2011-12-05 2014-10-15 Pharmasecure, Inc System and method for verifying and managing distribution of products
US9898620B2 (en) * 2012-09-28 2018-02-20 Panasonic Intellectual Property Management Co., Ltd. Information management method and information management system
US8925066B2 (en) * 2012-11-15 2014-12-30 Red Hat Israel, Ltd. Provisioning proxy for provisioning data on hardware resources
JP6184585B2 (ja) * 2013-04-25 2017-08-23 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 無線ドッキング装置
US10715611B2 (en) * 2013-09-06 2020-07-14 Adobe Inc. Device context-based user interface
US9692665B2 (en) * 2014-07-30 2017-06-27 Microsoft Technology Licensing, Llc Failure analysis in cloud based service using synthetic measurements
US9444708B2 (en) * 2014-07-30 2016-09-13 Microsoft Technology Licensing, Llc Detection of outage in cloud based service using synthetic measurements and anonymized usage data
US9998912B2 (en) 2016-03-25 2018-06-12 International Business Machines Corporation Policy-driven aggregated network data use in mobile devices
US10956603B2 (en) * 2016-04-07 2021-03-23 Samsung Electronics Co., Ltd. Private dataaggregation framework for untrusted servers
US10614517B2 (en) 2016-10-07 2020-04-07 Bank Of America Corporation System for generating user experience for improving efficiencies in computing network functionality by specializing and minimizing icon and alert usage
US10460383B2 (en) 2016-10-07 2019-10-29 Bank Of America Corporation System for transmission and use of aggregated metrics indicative of future customer circumstances
US10621558B2 (en) 2016-10-07 2020-04-14 Bank Of America Corporation System for automatically establishing an operative communication channel to transmit instructions for canceling duplicate interactions with third party systems
US10476974B2 (en) 2016-10-07 2019-11-12 Bank Of America Corporation System for automatically establishing operative communication channel with third party computing systems for subscription regulation
US10510088B2 (en) 2016-10-07 2019-12-17 Bank Of America Corporation Leveraging an artificial intelligence engine to generate customer-specific user experiences based on real-time analysis of customer responses to recommendations
US11233671B2 (en) * 2018-11-28 2022-01-25 Motorola Mobility Llc Smart internet of things menus with cameras
CN113841172A (zh) * 2019-05-28 2021-12-24 瑞典爱立信有限公司 用于处置消息的网络节点以及在其中执行的方法
US11477615B2 (en) * 2020-10-30 2022-10-18 Hewlett Packard Enterprise Development Lp Alerting mobile devices based on location and duration data

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056019A (en) 1989-08-29 1991-10-08 Citicorp Pos Information Servies, Inc. Automated purchase reward accounting system and method
US5901287A (en) * 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
JPH10150523A (ja) * 1996-11-20 1998-06-02 Fuji Photo Film Co Ltd デジタルカメラにより撮影された写真画像データの保管活用システム
US7607147B1 (en) * 1996-12-11 2009-10-20 The Nielsen Company (Us), Llc Interactive service device metering systems
US6026370A (en) 1997-08-28 2000-02-15 Catalina Marketing International, Inc. Method and apparatus for generating purchase incentive mailing based on prior purchase history
US6026380A (en) * 1997-10-21 2000-02-15 On-Site Sourcing, Inc. System and methods for tracking copy count information from a plurality of photocopy machines
US6450407B1 (en) 1998-04-17 2002-09-17 Viztec, Inc. Chip card rebate system
US6298348B1 (en) 1998-12-03 2001-10-02 Expanse Networks, Inc. Consumer profiling system
US7107539B2 (en) 1998-12-18 2006-09-12 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US6055573A (en) 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
WO2000065509A2 (en) 1999-04-22 2000-11-02 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scanned bar code
US6868525B1 (en) * 2000-02-01 2005-03-15 Alberti Anemometer Llc Computer graphic display visualization system and method
WO2001059625A1 (en) 2000-02-10 2001-08-16 Involve Technology, Llc System for creating and maintaining a database of information utilizing user opinions
AU2001247409A1 (en) 2000-03-16 2001-10-03 Conxia, Inc. Internet based warranty and repair service
US20020049816A1 (en) 2000-03-24 2002-04-25 Costin William Gilmore System and method for raising funds and establishing user affinity over a distributed network
US6601086B1 (en) * 2000-06-06 2003-07-29 Emware, Inc. Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US7171670B2 (en) * 2001-02-14 2007-01-30 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols with verification of formats and protocols
US20020133408A1 (en) 2001-03-15 2002-09-19 Walker Jay S. Process and product for promoting a product
US7149704B2 (en) * 2001-06-29 2006-12-12 Claria Corporation System, method and computer program product for collecting information about a network user
EP1440402A1 (en) * 2001-10-22 2004-07-28 Apple Computer, Inc. Intelligent synchronization for a media player
US6691155B2 (en) 2002-06-20 2004-02-10 Linda Gottfried Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats
US7003522B1 (en) 2002-06-24 2006-02-21 Microsoft Corporation System and method for incorporating smart tags in online content
WO2004057057A1 (en) 2002-12-23 2004-07-08 Council Of Scientific And Industrial Research Process for manufacture of proton conductive polymer gel useful as backfill for sacrificial and impressed current anode systems
US6963826B2 (en) * 2003-09-22 2005-11-08 C3I, Inc. Performance optimizer system and method
JP2005315682A (ja) 2004-04-28 2005-11-10 Nissan Motor Co Ltd 情報提供システム、情報センタ、車載端末および情報提供方法
JP4698281B2 (ja) 2005-05-09 2011-06-08 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 携帯端末、情報推奨方法及びプログラム
US7831321B2 (en) * 2005-06-09 2010-11-09 Whirlpool Corporation Appliance and accessory for controlling a cycle of operation
US7461043B2 (en) * 2005-12-14 2008-12-02 Siemens Aktiengesellschaft Methods and apparatus to abstract events in software applications or services
US9021041B2 (en) * 2006-06-29 2015-04-28 Nextpat Limited System to provide integrated on-line support

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210011028A (ko) * 2018-05-25 2021-01-29 텐센트 뮤직 엔터테인먼트 테크놀로지 (센젠) 컴퍼니 리미티드 어휘 데이터베이스를 처리하는 방법 및 장치

Also Published As

Publication number Publication date
BRPI0720152A2 (pt) 2014-02-04
JP5256209B2 (ja) 2013-08-07
US8713090B2 (en) 2014-04-29
EP2115614A4 (en) 2013-03-27
CN101573702B (zh) 2016-01-20
US20080147684A1 (en) 2008-06-19
KR101455424B1 (ko) 2014-10-27
EP2115614A1 (en) 2009-11-11
CN101573702A (zh) 2009-11-04
WO2008076997A1 (en) 2008-06-26
JP2010514013A (ja) 2010-04-30

Similar Documents

Publication Publication Date Title
KR101455424B1 (ko) 수집된 장치 이용 데이터를 사용해서 사용자 경험을 향상시키는 방법
US8745139B2 (en) Configuring channels for sharing media
KR101247054B1 (ko) 구성 파일들을 가져오기 위한 방법, 휴대용 장치 및 컴퓨터 메모리
US8704914B2 (en) Apparatus to automatically tag image and method thereof
JP2015060247A (ja) 情報処理システム、情報処理装置、プログラムおよび情報処理方法
JP2010506297A (ja) 画像レコードアクセス用異分類クラスタランキング
US9250838B2 (en) Terminal device, output system, and output method
US8630009B2 (en) Systems and methods for providing content to a peripheral device
US9967473B2 (en) Information processing apparatus, information processing method, and program
US11831822B2 (en) Information processing apparatus and control method thereof setting a rule for property information based on a drag and drop operation
JP2007215054A (ja) 会議情報を記録できる電子装置
JP2016110253A (ja) 情報処理システム、情報処理装置、情報提供方法及びプログラム
US20120271911A1 (en) Program, information processing apparatus and information processing method to change location information of slideshow
CN104424006A (zh) 装置及控制方法
CN113890872B (zh) 一种数据集合上传方法、装置、电子设备和存储介质
US11523061B2 (en) Imaging apparatus, image shooting processing method, and storage medium for performing control to display a pattern image corresponding to a guideline
US11240384B2 (en) Information processing apparatus, method for information processing, and storage medium
US20240143243A1 (en) System and method
US20240045006A1 (en) Information processing apparatus, control method thereof, and storage medium
JP4986728B2 (ja) 撮像システム、管理サーバ及び撮像装置
JP2015036893A (ja) ファイル記録装置及びファイル管理装置
JP2024003704A (ja) 管理装置、プログラムおよび管理方法
US20140324921A1 (en) Electronic device, method, and storage medium
JP2020123167A (ja) 情報処理システム、情報処理方法、情報処理装置及びプログラム
JP2024079500A (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム

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
FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 6