KR20140090194A - 애플리케이션별 자원 사용 정보의 제공 기법 - Google Patents

애플리케이션별 자원 사용 정보의 제공 기법 Download PDF

Info

Publication number
KR20140090194A
KR20140090194A KR1020147012448A KR20147012448A KR20140090194A KR 20140090194 A KR20140090194 A KR 20140090194A KR 1020147012448 A KR1020147012448 A KR 1020147012448A KR 20147012448 A KR20147012448 A KR 20147012448A KR 20140090194 A KR20140090194 A KR 20140090194A
Authority
KR
South Korea
Prior art keywords
data
user
application
usage information
usage
Prior art date
Application number
KR1020147012448A
Other languages
English (en)
Other versions
KR101980286B1 (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 KR20140090194A publication Critical patent/KR20140090194A/ko
Application granted granted Critical
Publication of KR101980286B1 publication Critical patent/KR101980286B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • H04M15/84Types of notifications
    • H04M15/846Types of notifications optical, e.g. icon
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • H04L12/1407Policy-and-charging control [PCC] architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/141Indication of costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/141Indication of costs
    • H04L12/1421Indication of expected costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/28Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/43Billing software details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/44Augmented, consolidated or itemized billing statement or bill presentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/58Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on statistics of usage or network monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/61Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on the service used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/62Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on trigger specification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/745Customizing according to wishes of subscriber, e.g. friends or family
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8083Rating or billing plans; Tariff determination aspects involving reduced rates or discounts, e.g. time-of-day reductions or volume discounts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

처리 시스템이 애플리케이션 레벨 사용 정보를 사용자들에게 제공하는 환경이 설명된다. 예를 들어, 하나의 시나리오에서, 처리 시스템은 사용자 장치를 조작하고 있는 사용자에게 개인 사용 정보를 제공할 수 있다. 개인 사용 정보는 사용자 장치에 의해 실행된 각각의 애플리케이션에 의해 소비된 데이터(및/또는 다른 자원들)의 양을 항목별로 나눈다. 다른 시나리오에서, 처리 시스템은 시장 시스템에 의해 제공되는 적어도 하나의 후보 애플리케이션과 관련된 예상 사용 정보를 제공할 수 있다. 예상 사용 정보는 사용자 장치에 의한 후보 애플리케이션의 실행시에 후보 애플리케이션에 의한 데이터(및/또는 다른 자원들)의 예상 소비를 설명한다. 처리 시스템은 사용자 프로필 데이터에 기초하여 특정 사용자에게 전송하는 예상 사용 정보를 맞춤화할 수 있다. 사용자 프로필 데이터는 사용자들이 애플리케이션들을 조작하는 방식을 설명한다.

Description

애플리케이션별 자원 사용 정보의 제공 기법{PROVIDING PER-APPLICATION RESOURCE USAGE INFORMATION}
사용자 장치들은 상이한 타입의 계약 데이터 계획들에 따르는 것을 조건으로 무선 통신을 통해 원격 엔티티들과 통신할 수 있다. 제1 타입의 데이터 계획에서, 무선 통신 제공자("제공자(provider)")는 사용자가 사용 관련 추가요금의 지불 없이 과금 사이클 내에서 제한된 양의 데이터를 소비하는 것을 허가할 수 있다. 본 명세서에서 사용되는 바와 같이, 애플리케이션은 무선 통신 기반구조를 통해 데이터가 송신 또는 수신되게 할 때 데이터를 "소비(consume)"한다고 지칭된다. 제2 타입의 데이터 계획에서, 제공자는 사용자가 과금 사이클 동안에 식별된 임계치까지 데이터를 소비하거나 트랜잭션별로 데이터를 소비하는 것을 허가할 수 있다.
제2 타입의 데이터 계획을 이용하는 환경들에서, 제공자는 사용자가 과금 사이클 내의 임의의 지점에서 그 사용자가 소비한 데이터의 전체 양을 결정하는 것을 가능하게 하는 다양한 도구들을 제공할 수 있다. 예를 들어, 일례에서, 사용자는 사용 관련 질문을 제공자와 관련된 서버로 전송할 수 있다. 서버는 과금 사이클에서 지금까지 사용자의 장치에 의해 소비된 데이터의 전체 양을 사용자에게 통지함으로써 응답한다.
전술한 도구는 사용자가 그의 데이터 소비를 조절하는 것을 돕는다. 그러나, 사용 관련 정보를 사용자들에게 전달하기 위한 공지 시스템들에는 개선할 여지가 있다.
본 명세서에서는 처리 시스템이 애플리케이션 레벨 사용 정보를 사용자들에게 제공하는 환경이 설명된다. 예를 들어, 하나의 시나리오에서, 처리 시스템은 사용자 장치를 조작하고 있는 사용자에게 개인 사용 정보를 제공할 수 있다. 개인 사용 정보는 정의된 기간 내에 사용자 장치에 의해 실행된 각각의 애플리케이션에 의해 소비된 데이터(및/또는 다른 자원(들))의 양을 항목별로 나눈다. 처리 시스템은 사용자 장치로부터 실제 사용 데이터를 수집함으로써 개인 사용 정보를 생성할 수 있다.
다른 시나리오에서, 처리 시스템은 시장 시스템에 의해 제공되는 적어도 하나의 후보 애플리케이션과 관련된 예상 사용 정보를 제공할 수 있다. 예상 사용 정보는 후보 애플리케이션이 사용자 장치에 의해 실행된 후에 소비할 것으로 예상되는 데이터(및/또는 다른 자원(들))의 양을 설명한다. 처리 시스템은 후보 애플리케이션을 이전에 수행했던 사용자 장치들의 그룹으로부터 실제 사용 데이터를 수집하고 이 실제 사용 데이터를 다양한 방식으로 (예로서, 평균 값 등을 생성함으로써) 처리함으로써 예상 사용 정보를 생성할 수 있다. 대안으로 또는 추가로, 처리 시스템은 시뮬레이션된 사용 데이터에 기초하여 예상 사용 정보를 생성할 수 있다.
다른 예시적인 특징에 따르면, 처리 시스템은 그가 특정 사용자에게 전송하는 예상 사용 정보를 사용자 프로필 데이터에 기초하여 맞춤화할 수 있다. 일례에서, 사용자 프로필 데이터는 특정 사용자는 물론, 다른 사용자들의 그룹 내의 각각의 사용자의 소비 관련 거동을 특성화한다. 구체적으로, 처리 시스템은 적어도 하나의 사용 관련 특성을 특정 사용자와 공유하는 다른 사용자들의 서브세트로부터 수신된 실제 사용 데이터에 기초하여 예상 사용 정보를 생성하기 위해 사용자 프로필 데이터를 이용할 수 있다.
위의 접근 방법은 다양한 타입의 시스템, 컴포넌트, 방법, 컴퓨터 판독 가능 매체, 데이터 구조, 제조물 등에서 명백해질 수 있다.
이 요약은 개념들의 발췌를 간단한 형태로 소개하기 위해 제공되며; 이러한 개념들은 아래의 상세한 설명에서 더 설명된다. 이 요약은 청구 발명의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 한정하는 데 사용되는 것도 의도하지 않는다.
도 1은 처리 시스템이 사용자 장치에 의해 처리 시스템으로 전송되는 실제 사용 데이터에 기초하여 애플리케이션 레벨 사용 정보를 사용자 장치로 전송하는 예시적인 환경을 나타낸다.
도 2는 도 1의 환경의 하나의 예시적인 구현을 나타낸다.
도 3은 도 1의 환경에서 사용될 수 있는 보고 모듈의 하나의 예시적인 구현을 나타낸다.
도 4는 도 1의 환경에서 사용될 수 있는 사용 분석 모듈의 하나의 예시적인 구현을 나타낸다.
도 5는 도 1의 환경에서 사용될 수 있는 시장 시스템의 하나의 예시적인 구현을 나타낸다.
도 6은 도 1의 환경에서 사용될 수 있는 사용 관리 모듈의 하나의 예시적인 구현을 나타낸다.
도 7은 도 1의 환경에서 사용될 수 있는 분석 논리 및 사용 프레젠테이션 논리의 하나의 예시적인 구현을 나타낸다.
도 8-15는 도 1의 환경이 사용자 또는 다른 엔티티에게 제공할 수 있는 사용 정보의 상이한 타입들의 예들을 나타낸다.
도 16은 도 1의 환경의 하나의 예시적인 동작 방식을 설명하는 흐름도이다.
도 17은 도 3의 보고 모듈의 하나의 예시적인 동작 방식을 설명하는 흐름도이다.
도 18은 도 6에 도시된 장치 수정 모듈의 하나의 예시적인 동작 방식을 설명하는 흐름도이며; 장치 수정 모듈은 사용자 장치 상에 설치된 (또는 사용자 장치에 의해 액세스될 수 있는) 애플리케이션을 애플리케이션에 의해 소비된 데이터(또는 다른 자원(들))의 양에 기초하여 수정함으로써 동작한다.
도 19는 사용자 프로필 데이터에 부분적으로 기초하여 예상 사용 정보를 제공하는 하나의 예시적인 방식을 설명하는 흐름도이다.
도 20은 전술한 도면들에 도시된 특징들의 임의의 양태를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 기능을 나타낸다.
명세서 및 도면들 전반에서 동일한 컴포넌트들 및 특징들을 참조하기 위해 동일한 참조번호들이 사용된다. 100 계열 참조번호들은 도 1에서 처음 발견되는 특징들을 나타내고, 200 계열 참조번호들은 도 2에서 처음 발견되는 특징들을 나타내고, 300 계열 참조번호들은 도 3에서 처음 발견되는 특징들을 나타내는 등등이다.
본 명세서는 다음과 같이 구성된다. 섹션 A는 각각의 사용자 장치 상에서 애플리케이션들을 조작하는 사용자들에게 애플리케이션 레벨 사용 정보를 제공하기 위한 예시적인 환경을 설명한다. 섹션 B는 섹션 A의 환경의 동작을 설명하는 예시적인 방법들을 설명한다. 섹션 C는 섹션 A 및 B에서 설명되는 특징들의 임의의 양태를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 기능을 설명한다.
예비적인 내용으로서, 도면들 중 일부는 기능, 모듈, 특징, 요소 등으로서 다양하게 지칭되는 하나 이상의 구조 컴포넌트와 관련된 개념들을 설명한다. 도면들에 도시된 다양한 컴포넌트들은 임의의 물리적이고 실체적인 메커니즘들에 의해, 예컨대 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능), 펌웨어 등 및/또는 이들의 임의 조합에 의해 임의의 방식으로 구현될 수 있다. 일례에서, 도면들 내의 다양한 컴포넌트들의 개별 유닛들로의 도시된 분리는 실제 구현에서의 대응하는 개별적인 물리적, 실체적 컴포넌트들의 사용을 반영할 수 있다. 대안으로 또는 추가로, 도면들에 도시된 임의의 단일 컴포넌트는 복수의 실제의 물리적 컴포넌트에 의해 구현될 수 있다. 대안으로 또는 추가로, 도면들 내의 임의의 둘 이상의 개별 컴포넌트의 도시는 단일의 실제의 물리적 컴포넌트에 의해 수행되는 상이한 기능들을 반영할 수 있다. 다음에 설명될 도 20은 도면들에 도시된 기능들의 하나의 예시적인 물리적 구현에 관한 추가적인 상세들을 제공한다.
다른 도면들은 개념들을 흐름도 형태로 설명한다. 이러한 형태에서, 소정의 동작들은 소정의 순서로 수행되는 개별 블록들을 구성하는 것으로서 설명된다. 그러한 구현들은 예시적이며, 한정이 아니다. 본 명세서에서 설명되는 소정의 블록들은 함께 그룹화되고 단일 동작에서 수행될 수 있으며, 소정의 블록들은 복수의 컴포넌트 블록으로 분리될 수 있고, 소정의 블록들은 (블록들의 병렬 수행 방식을 포함하여) 본 명세서에서 예시되는 것과 다른 순서로 수행될 수 있다. 흐름도들에 도시된 블록들은 임의의 물리적이고 실체적인 메커니즘들에 의해, 예컨대 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능), 펌웨어 등 및/또는 이들의 임의 조합에 의해 임의의 방식으로 구현될 수 있다.
용어와 관련하여, "구성되는(configured to)"이라는 표현은 임의 종류의 물리적이고 실체적인 기능이 식별되는 동작을 수행하도록 구성될 수 있는 임의의 방식을 포함한다. 기능은 예컨대 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능), 펌웨어 등 및/또는 이들의 임의 조합을 이용하여 동작을 수행하도록 구성될 수 있다.
"논리(logic)"라는 용어는 작업을 수행하기 위한 임의의 물리적이고 실제적인 기능을 포함한다. 예를 들어, 흐름도들에 도시된 각각의 동작은 그 동작을 수행하기 위한 논리 컴포넌트에 대응한다. 동작은 예를 들어 예컨대 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능), 펌웨어 등 및/또는 이들의 임의 조합을 이용하여 수행될 수 있다. 컴퓨팅 시스템에 의해 구현될 때, 논리 컴포넌트는 컴퓨팅 시스템의 물리적 요소이지만 구현되는 전기 컴포넌트를 나타낸다.
청구항들에서 사용되는 경우에 "~하기 위한 수단(means for)"이라는 표현은 35 U.S.C§112, 제6 단락의 규정을 발동하도록 의도한다. 이 특정 표현 외의 어떠한 다른 표현도 그 법령의 그 부분의 규정을 발동하도록 의도하지 않는다.
아래의 설명은 하나 이상의 특징을 "옵션으로(optional)" 식별할 수 있다. 이러한 타입의 설명은 옵션으로 간주될 수 있는 특징들의 포괄적인 지시로서 해석되지 않아야 하는데, 즉 다른 특징들이 본 명세서에서 명확히 식별되지 않더라도 옵션으로서 간주될 수 있다. 마지막으로, "예시적인(exemplary or illustrative)"이라는 용어는 잠재적으로 많은 구현 중 하나의 구현을 지칭한다.
A. 예시적인 환경
도 1은 특정 사용자 장치(102)를 조작하고 있는 특정 사용자에게 개인 사용 정보를 제공하는 예시적인 환경(100)을 나타낸다. 사용자 장치(102)는 그 위에 설치되거나 사용자에 의해 액세스될 수 있는 복수의 애플리케이션(104)을 포함한다. 일례에서, 개인 사용 정보는 규정된 기간 내에 애플리케이션들(104) 각각이 소비한 데이터의 양을 식별한다. 예를 들어, 환경(100)은 특정 시간에 제1 애플리케이션("Appln 1")이 X의 데이터 양을 소비하였고, 제2 애플리케이션("Appln 2")이 Y의 데이터 양을 소비하였고, 제3 애플리케이션("Appln 3")이 Z의 데이터 양을 소비하였으며, 기타 등등으로 지정할 수 있다. 본 명세서에서 사용될 때, 사용자 장치(102)에 의해 실행되는 애플리케이션은 예를 들어 임의의 원격 엔티티로부터 데이터를 수신하거나 임의의 원격 엔티티로 데이터를 전송함으로써 데이터가 무선 통신 기반구조를 통해 통신되게 할 때 데이터를 "소비"한다. 예를 들어, 비디오 아이템을 수신하고 처리하는 미디어 관련 애플리케이션은 그러한 경우에 비디오 아이템의 크기에 대응하는 데이터의 양을 소비한다.
환경(100)은 사용자가 사용자 장치(102 상에 아직 설치하지 않았거나 다른 방식으로 실행되는 후보 애플리케이션에 관한 예상 사용 정보도 사용자에게 제공한다. 본 명세서에서 사용될 때, 예상 사용 정보는 후보 애플리케이션이 실행될 때 소비할 것으로 예상되는 데이터의 양을 설명한다. 환경(100)은 후보 애플리케이션이 (후보 애플리케이션을 사용한) 사용자들의 그룹에 의해 사용될 때 얼마나 많은 데이터를 소비하는지를 모니터링함으로써 예상 사용 정보를 도출할 수 있다. 대안으로 또는 추가로, 환경(100)은 시뮬레이션된 사용 데이터에 기초하여 예상 사용 정보를 도출할 수 있다. 환경(100)은 후보 애플리케이션이 상당한 수의 사용자들에 의해 (또는 임의의 사용자들에 의해) 아직 사용되지 않은 때 애플리케이션의 사용을 시뮬레이션하기로 결정할 수 있다. 대안으로 또는 추가로, 애플리케이션을 개발하는 개발자가 애플리케이션에 대한 예상 사용 정보를 제공할 수 있다.
위에 요약된 개인 및 예상 사용 정보의 애플리케이션 레벨 살포는 임의의 타입의 데이터 계획과 관련된 유용한 모니터링 서비스를 제공할 수 있다. 그러나, 환경(100)은 무선 통신 제공자("제공자")가 사용자가 (추가적인 사용 관련 요금을 지불하지 않고서) 소비할 수 있는 데이터의 양을 제한하는 시나리오들에서 특별한 이익을 제공할 수 있다. 예를 들어, 일부 데이터 계획들에서, 제공자는 사용자가 추가적인 요금을 지불하지 않고서 과금 사이클 내에 데이터의 임계량까지 소비하는 것을 허가할 수 있다. 더 트랜잭션 기반인 데이터 계획에서, 제공자는 사용자에게 데이터가 소비되는 각각의 개별 트랜잭션에 대해 지불하도록 요청할 수 있다.
구체적으로, 사용자는 개인 사용 정보를 이용하여, 애플리케이션들(104)의 이전의 데이터 소비 수요들에 관한 통찰력을 얻을 수 있다. 이어서, 이러한 정보를 가진 사용자는 애플리케이션들(104)의 그의 미래 사용에 관하여 지능적인 결정을 행할 수 있다. 예를 들어, 사용자는 사용자의 데이터 계획에 의해 할당된 데이터의 총량의 고갈을 피하기 위해 (즉, 과금 사이클의 종료 전에) 고소비 애플리케이션의 사용을 줄이기로 결정할 수 있다.
사용자는 예상 사용 정보를 이용하여, 후보 애플리케이션이 사용되는 경우에 얼마나 많이 소비할지에 관한 통찰력을 얻을 수 있다. 사용자는 이러한 정보를 이용하여, 또는 소정의 고소비 애플리케이션들을 현명하고 신중한 방식으로 사용함으로써 소정의 애플리케이션들의 사용을 보류할 수 있다.
위의 예들에서, 환경(100)은 애플리케이션들이 소비하는 데이터의 양에 기초하여 그들의 사용을 평가한다. 그러나, 더 일반적으로, 환경(100)은 애플리케이션들이 소비하는 임의의 자원 또는 자원들의 양에 기초하여 애플리케이션들의 사용을 평가할 수 있다. 예를 들어, 애플리케이션들의 사용은 또한 (또는 대안으로) 그들이 소비하는 (예를 들어, 배터리 자원들의 애플리케이션들 각각의 사용과 상관될 수 있는) 에너지의 양에 기초하여 평가될 수 있다. 이와 관련하여, 개인 사용 정보는 또한 (또는 대안으로) 특정 사용자에 의해 사용될 때 특정 애플리케이션에 의해 소비된 에너지의 양을 반영하는 에너지 관련 개인 사용 정보를 포함할 수 있다. 그리고, 예상 사용 정보는 또한 (또는 대안으로) 후보 애플리케이션에 의해 소비될 것으로 예상되는 에너지의 양을 반영하는 에너지 관련 예상 사용 정보를 포함할 수 있다. 그러나, 설명을 간소화하고 용이하게 하기 위해, 아래의 설명은 주로 (명확히 달리 설명되지 않는 한) 개인 사용 정보가 데이터 관련 개인 사용 정보에 대응하고, 예상 사용 정보가 데이터 관련 예상 사용 정보에 대응하는 것으로 가정할 것이다.
소정 구현들에서, 환경(100)은 사용자 장치(102) 자체 및 처리 시스템(106)에 의해 제공되는 기능을 이용하여 전술한 서비스들을 사용자에게 제공할 수 있다. 소정의 물리적 구현들에서, 처리 시스템(106)은 사용자 장치(102)와 관련하여 원격 위치에서 제공되는 기능을 나타낸다. 예를 들어, 사용자 장치(102)는 통신 도관(108)을 통해 처리 시스템(106)과 통신할 수 있다. 후술하는 도 2는 환경(100)의 물리적 구현에 관한 추가적인 상세를 제공한다.
다른 물리적 구현들에서, 처리 시스템(106)에 의해 수행되는 기능들 중 적어도 일부는 사용자 장치(102) 자치에 의해 수행될 수 있다(그 반대도 가능하다). 즉, 도 1은 처리 시스템(106)과 사용자 장치(102)를 상이한 각각의 엔티티로서 도시하지만, 처리 시스템(106)의 소정의 기능들은 사용자 장치(102)의 컴포넌트들로서 간주될 수 있다(그 반대도 가능하다). 그러나, 설명을 용이하게 하기 위해, 아래의 예들의 대부분은 처리 시스템(106)이 사용자 장치(102)에 대한 원격 엔티티를 나타내는 것으로 단순하게 가정한다.
위의 개요와 함께, 아래의 설명은 사용자 장치(102)로부터 시작하여 도 1에 도시된 컴포넌트들 각각을 설명할 것이다.
애플리케이션들(104)은 임의의 각각의 작업을 수행하기 위한 임의 타입의 기능을 나타낸다. 일부 예들에서, 애플리케이션들(104)은 고레벨 작업들을 수행한다. 대표적인 예들로서, 제1 애플리케이션은 날씨 보고 작업을 수행할 수 있고, 제2 애플리케이션은 비디오 프레젠테이션 작업을 수행할 수 있고, 제3 애플리케이션은 텍스트 편집 작업을 수행할 수 있으며, 기타 등등일 수 있다. 다른 예들에서, 애플리케이션들(104)은 저레벨 관리 또는 지원 작업들을 수행한다. 예를 들어, 애플리케이션들(104) 중 일부는 사용자 장치(102)의 장치 운영 체제(110)의 컴포넌트들을 나타낼 수 있다. 애플리케이션들(104)은 임의의 방식으로, 예를 들어 실행 가능 코드, 스크립트 콘텐츠 등 또는 이들의 임의 조합에 의해 구현될 수 있다.
도 1은 애플리케이션들(104)이 사용자 장치(102) 상에서 실행될 수 있다는 것을 보여준다. 이러한 구현에서, 애플리케이션들(104)을 실행하기 위해, 사용자 장치(102)는 장치 운영 체제(110)에 의해 제공되는 자원들에 의존할 수 있다. 다른 구현에서, 애플리케이션들(104)은 (처리 시스템(106)과 같은 원격 시스템에 의해 적어도 부분적으로 제공되는 원격 기능을 나타낼 수 있다. 예를 들어, 애플리케이션들(104) 중 적어도 일부는 웹사이트, 웹페이지 또는 웹 애플리케이션 등을 나타낼 수 있다. 사용자 장치(102)는 이러한 타입의 애플리케이션에 액세스하고 그의 기능들을 개시함으로써 그를 실행한다. 그러한, 설명을 용이하게 하기 위해, 설명은 일반적으로 애플리케이션들(104)이 사용자 장치(102) 상에 설치되는 것으로 단순하게 가정할 것이다.
또한, 일부 예들에서, 애플리케이션은 주요 애플리케이션 작업과 관련된 모든 작업들을 수행하는 기능의 전체 보디(entire body)를 지칭한다. 그러나, 다른 예들에서, 애플리케이션은 기능의 더 총괄적인 보디의 일부를 지칭할 수 있다. 예를 들어, 부동산 검색 기능을 수행하는 애플리케이션을 고려한다. 그러한 주요 애플리케이션 내의 하나의 서브-애플리케이션은 저당 계산 기능을 수행할 수 있다. 그러한 주요 애플리케이션 내의 다른 서브-애플리케이션은 지도 검색 기능을 수행할 수 있으며, 기타 등등일 수 있다.
사용자 장치(102)는 보고 모듈(112)도 포함할 수 있다. 보고 모듈(112)은 각각의 애플리케이션이 임의의 주어진 시간에 소비하고 있는 데이터의 양을 반영하는 이벤트들을 캡처한다. 본 명세서에서 사용되는 용어법에 따르면, 이러한 이벤트들은 실제 사용 데이터를 구성하며, 여기서 "실제"라는 수식어는 사용 데이터가 애플리케이션의 시뮬레이션된 사용이 아니라 애플리케이션의 실제 사용을 반영한다는 것을 지시한다. 보고 모듈(112)은 실제 사용 데이터를 임시 저장소(114) 내에 저장할 수 있다. 이어서, 보고 모듈(112)은 실제 사용 데이터를 분석을 위해 처리 시스템(106)으로 주기적으로 전송할 수 있다. 본 명세서는 아래의 도 3의 설명과 관련하여 보고 모듈(112)에 관한 추가적인 상세들을 제공한다.
사용자 장치(102)는 사용 관리 모듈(116)도 포함한다. 사용 관리 모듈(116)은 아래의 도 6의 설명과 관련하여 상세히 설명되는 다양한 기능들을 수행한다. 하나의 기능으로서, 사용 관리 모듈(116)은 트리거링 이벤트의 발생시에 사용자에게 개인 사용 정보를 제공한다. 예를 들어, 하나의 타입의 트리거링 이벤트로서, 사용자는 개인 사용 정보를 명시적으로 요청할 수 있다. 또는, 사용자는 애플리케이션들(104) 중 하나를 활성화할 수 있으며, 이는 개인 사용 정보를 요청하도록 사용 관리 모듈(116)을 프롬트프(prompt)한다. 위에 요약된 바와 같이, 개인 사용 정보는 각각의 애플리케이션이 지정된 기간 내에 소비한 데이터의 양을 항목별로 나눈다. 대안으로 또는 추가로, 처리 시스템(106)은 사용 관리 모듈(116)을 구현할 수 있다. 사용자는 그의 사용자 장치(102)(또는 임의의 다른 장치, 예를 들어 개인용 컴퓨팅 장치)를 이용하여, 원격적으로 위치하는 사용 관리 모듈(116)과 관련된 서비스들에 액세스할 수 있다.
이제, 처리 시스템(106)을 참조하면, 이러한 기능은 대표적인 사용자 장치(102)를 포함하는 복수의 사용자 장치로부터 실제 사용 데이터를 수신하기 위한 수신 모듈(118)을 포함한다. 수신 모듈(118)은 실제 사용 데이터를 분석하고, 실제 사용 데이터를 이벤트 저장소(120)에 저장한다. 애플리케이션들(104)이 원격 자원들(예로서, 웹페이지 등)에 대응하는 경우에, 수신 모듈(118)은 애플리케이션들(104)을 실행하는 임의의 시스템으로부터 실제 사용 데이터를 수신할 수 있다.
사용 분석 모듈(122)이 이벤트 저장소(120)로부터 실제 사용 데이터를 검색하고, 이 데이터에 대한 분석을 수행한다. 예를 들어, 많은 분석 기능 가운데 특히, 사용 분석 모듈(122)은 사용자에 대한 개인 사용 정보를 생성한다. 추가로 또는 대안으로, 사용 분석 모듈(122)은 사용자가 다운로드하여 그의 사용자 장치에 설치할 수 있는 각각의 후보 애플리케이션에 대한 예상 사용 정보를 도출할 수 있다. 일 구현에서, 사용 분석 모듈(122)은 개인 사용 정보 및 예상 사용 정보를 주문 방식으로, 예를 들어 사용자가 이러한 정보를 요청할 때 생성할 수 있다. 대안으로 또는 추가로, 사용 분석 모듈(122)은 개인 사용 정보 및 예상 사용 정보를 배경 작업으로서, 즉 이러한 정보가 사용자에 의해 요청되는 시점 전에 생성할 수 있다. 본 명세서는 사용 분석 모듈(122)에 의해 수행되는 기능들에 관한 추가적인 상세들을 아래의 도 4의 설명과 관련하여 제공한다.
처리 시스템(106)은 시장 시스템(124)도 포함할 수 있다. 시장 시스템(124)은 사용자들에 의한 요청시에 사용자들에 의해 다운로드(또는 사용)될 수 있는 복수의 후보 애플리케이션을 저장하는 애플리케이션 저장소(126)를 제공한다. 시장 시스템(124)은 또한 후보 애플리케이션들 각각에 관한 설명 상세들을 제공한다. 사용자는 특정 후보 애플리케이션에 관한 설명 상세들을 검토하여, 그 애플리케이션을 다운로드(또는 사용)하는 것이 적절한지를 결정할 수 있다. 설명 상세들의 일부는 후보 애플리케이션에 대한 예상 사용 정보를 식별한다. 시장 시스템(124)은 사용 분석 모듈(122)로부터 예상 사용 정보를 얻을 수 있다. 사용자는 사용 관리 모듈(116)을 통해 또는 (사용 관리 모듈(116) 외에) 소정의 다른 액세스 메커니즘을 통해 시장 시스템(124)에 액세스할 수 있다. 본 명세서는 사용 시장 시스템(124)에 의해 수행되는 기능들에 관한 추가적인 상세들을 아래의 도 5의 설명과 관련하여 제공한다.
도 2는 도 1의 환경(100)을 구현하는 하나의 시스템(200)을 나타낸다. 시스템(200)은 임의 타입의 복수의 사용자 장치(202)를 포함한다. 임의의 사용자 장치는 무선 통신을 통해 원격 엔티티와 통신하는 능력을 갖는 임의 타입의 컴퓨팅 기능을 나타낼 수 있다. 예를 들어, 임의의 사용자 장치는 임의 타입의 셀룰러 전화(예로서, 스마트폰), 개인 휴대 단말 장치, 전자 서적 판독기 장치, 휴대용 게임 콘솔 장치, 임의 크기의 랩탑 또는 넷북 타입 컴퓨팅 장치, 태블릿 타입 장치, 차량 탑재 내비게이션 장치 등을 포함하는, 무선 통신 인터페이스를 갖는 임의 타입의 휴대용 장치를 나타낼 수 있다. 대안으로, 사용자 장치는 개인용 컴퓨터, 게임 콘솔 장치, 셋톱 박스 장치 등과 같은, 무선 통신 인터페이스를 갖는 임의 타입의 전통적 고정식 컴퓨팅 장치를 나타낼 수 있다.
통신 도관(108)은 사용자 장치들(202)이 원격 엔티티들과 통신하는 (그리고 서로 통신하는) 것을 가능하게 하는 임의의 메커니즘 또는 메커니즘들의 조합을 나타낼 수 있다. 일반적으로, 통신 도관(108)은 임의의 근거리 네트워크, 임의의 광역 네트워크(예로서, 인터넷) 또는 이들의 임의 조합을 나타낼 수 있다. 통신 도관(108)은 임의의 프로토콜 또는 프로토콜들의 조합에 의해 관리될 수 있다.
통신 도관(108)의 적어도 일부는 무선 통신 기반구조(204)에 의해 구현될 수 있다. 일례에서, 무선 통신 기반구조(204)는 셀 타워, 기지국, 위성 등의 집합을 나타낼 수 있다. 무선 통신 기반구조(204)는 하나 이상의 무선 통신 제공자에 의해 관리될 수 있다. 각각의 제공자는 규정된 프로토콜들 및 포맷들을 이용하여 그의 고객들과 상호작용할 수 있다. 통신 도관(108)은 또한 유선 네트워크 기반구조를 포함할 수 있다.
일 구현에서, 처리 시스템(106)은 하나 이상의 서버 컴퓨팅 장치 및 관련 데이터 저장소(및 다른 전자 장비)를 나타낼 수 있다. 처리 시스템(106)은 단일 사이트에 구현될 수 있거나, 다수의 사이트에 분산될 수 있다. 또한, 처리 시스템(106)은 단일 엔티티에 의해 또는 다수의 엔티티에 의해 관리될 수 있다. 예를 들어, 일례에서, 단일 물리 시스템이 사용 분석 모듈(122) 및 시장 시스템(124) 양자를 구현할 수 있다. 다른 예에서, 2개의 이상의 시스템이 사용 분석 모듈(122) 및 시장 시스템(124)을 구현할 수 있다. 또한, 전술한 바와 같이, 원격 처리 시스템(106)에 의해 수행되는 것으로 설명되는 임의의 기능들은 사용자 장치들(202)에 의해 대신 (또는 추가로) 수행될 수 있으며, 그 반대도 가능하다.
시스템(200)은 또한 처리 시스템(106) 및/또는 사용자 장치들(202)과 상호작용할 수 있는 하나 이상의 다른 시스템(206)을 포함할 수 있다. 예를 들어, 다른 시스템들(206)은 애플리케이션 개발자에 의해 유지되는 컴퓨터 기반구조를 포함할 수 있다. 개발자는 그의 컴퓨터 기반구조를 이용하여 처리 시스템(106)에 액세스하여, 개발되는 애플리케이션의 사용 관련 거동에 관한 상세한 사용 정보를 얻을 수 있다. 이러한 통찰력에 기초하여, 개발자는 그의 애플리케이션을 임의의 방식으로 수정하기로 결정할 수 있다. 예를 들어, 개발자는 애플리케이션의 데이터 소비 효율을 개선하도록 애플리케이션을 수정할 수 있다.
마지막으로, 도 2는 임의의 사용자가 임의의 개별 사용자 장치(208)를 이용하여, 예를 들어 처리 시스템(106)에 의해 제공되는 원격 서비스에 액세스함으로써, 처리 시스템(106)에 의해 제공되는 사용 정보에 액세스할 수 있다는 것을 보여준다. 예를 들어, 사용자 장치(208)는 사용자가 온라인 사용 데이터에 액세스하는 데 사용하는 개인용 컴퓨팅 장치를 나타낼 수 있는 반면, 사용자는 스마트폰을 이용하여, 애플리케이션들을 실제로 실행하고, 그의 계획하에 데이터를 소비한다. 이러한 시나리오에서, 사용자 장치(208)는 그 위에 설치된 사용 관리 모듈(116)을 갖지 않을 수 있다.
도 3은 도 1의 설명과 관련하여 소개된 보고 모듈(112)의 하나의 예시적인 구현을 나타낸다. 보고 모듈(112)은 예를 들어 풀 방식으로, 푸시 방식으로 또는 이들의 조합 방식으로 하나 이상의 이벤트 소스(304)로부터 실제 사용 데이터를 수집하기 위한 이벤트 수집 모듈(302)을 포함한다. 이벤트 소스들(304)은 사용자 장치(102)에 의한 데이터의 소비를 입증하는 정보를 캡처하는 사용자 장치(102) 내의 임의의 타입의 메커니즘들에 대응한다. 예를 들어, 일부 예들에서, 이벤트 소스들(304)은 애플리케이션들, 운영 체제 기능 및/또는 사용자 장치(102)의 다른 컴포넌트들에 추가되는 이벤트 생성 계측 코드와 관련될 수 있다.
수집되는 실제 사용 데이터는 상이한 데이터 타입들을 포함할 수 있다. 일 타입의 실제 사용 데이터는 사용자 장치(102)에 의해 수행되는 소켓 관련 활동을 설명한다. 다른 타입의 실제 사용 데이터는 (주어진 시간에 실행되고 있는 각각의 애플리케이션을 식별하는) 애플리케이션 정보를 전달한다. 다른 타입의 실제 사용 데이터는 (각각의 애플리케이션이 원격 엔티티와 상호작용하는 데 사용하고 있는 네트워크 인터페이스 모드의 타입, 예를 들어 3G 또는 와이파이를 식별하는) 네트워크 인터페이스 정보를 전달한다. 다른 실제 사용 데이터 타입들은 푸시 통지 활동, 배경 전송 서비스 활동, 비디오 스트리밍 활동 등을 설명할 수 있다. 전술한 실제 사용 데이터 타입들은 포괄적이 아니라 대표적이며, 다른 구현들은 추가적인 실제 사용 데이터 타입들을 수집하거나, 전술한 하나 이상의 실제 사용 데이터 타입을 생략할 수 있다.
전술한 구현에서, 이벤트 수집 모듈(302)은 사용자 장치(102) 내에서 발생하는 활동에만 기초하여 실제 사용 데이터를 수집한다. 추가로 또는 대안으로, 환경(100) 내의 다른 엔티티들이 사용자 장치 상에서 실행되는 애플리케이션에 의한 데이터의 소비를 반영하는 정보를 수집할 수 있다. 예를 들어, 무선 통신 기반구조(204)의 일부인 임의의 엔티티도 실제 사용 데이터를 수집할 수 있다. 대안으로 또는 추가로, 처리 시스템(106)은 애플리케이션이 사용자 장치(102)에서가 아니라 처리 시스템(106) 상에서 실제로 실행되는 원격 애플리케이션인 사례들에서 실제 사용 데이터를 수집할 수 있다. 그러나, 설명을 용이하게 하기 위해, 이제부터는 환경(100)이 사용자 장치들로부터 실제 사용 데이터를 수집하는 것으로 가정한다.
도 1과 관련하여 전술한 바와 같이, 이벤트 수집 모듈(302)은 실제 사용 데이터를 임시 저장소(114)에 저장한다. 이벤트 전송 모듈(306)은 (데이터의 저장 전에 또는 후에) 임시 저장소(114)에 저장되는 실제 사용 데이터를 압축할 수 있다. 이어서, 규정된 보고 시간에 (예로서, 단지 하나의 대표적인 예에서 30분마다), 이벤트 전송 모듈(306)은 압축된 실제 사용 데이터를 처리 시스템(106)으로 전송할 수 있다. 이벤트 전송 모듈(306)은 전술한 바와 같이 무선 통신 기반구조(204)의 서비스들에 의존할 수 있는 통신 도관(108)을 통해 이러한 전송을 수행할 수 있다.
관리 모듈(308)은 일반적으로 보고 모듈(112)의 동작을 관리한다. 예를 들어, 보고 모듈(112)은 이용 가능한 이벤트 소스들(304)의 레지스트리를 유지할 수 있다. 이어서, 구성 정보에 기초하여, 보고 모듈(112)은 개별 이벤트 소스들을 활성화 또는 비활성화할 수 있다. 비활성화되는 경우, 이벤트 소스는 임시 저장소(114)에 저장되는 실제 사용 데이터에 기여하지 않을 것이다.
보고 모듈(112)은 다양한 메커니즘들을 이용하여 보고 모듈(112)을 구현할 수 있다. 예를 들어, 하나의 비한정적인 구현에서, 보고 모듈(112)은 워싱턴 레드몬드의 마이크로소프트(등록상표) 사에 의해 제공되는 ETW(Event Tracing for Windows®)를 이용하여 보고 모듈(112)을 구현할 수 있다. ETW는 통상적으로 애플리케이션들을 디버깅하거나 그들의 성능을 테스트하는 데 사용되는 이벤트들을 기록하기 위한 커널 레벨 기능을 나타낸다.
도 4는 처리 시스템(106)에 의해 제공되는 사용 분석 모듈(122)의 하나의 예시적인 구현을 나타낸다. 사용 분석 모듈(122)은 사용 데이터를 저장하는 사용 데이터 저장소(402)를 유지할 수 있다. 본 명세서에서 사용될 때, 사용 데이터는 사용 분석 모듈(122)이 개인 사용 정보 또는 예상 사용 정보(및 다른 타입의 사용 정보)를 생성하는 데 사용할 수 있는 임의의 정보를 지칭한다. 예를 들어, 각각의 사용자 장치의 보고 모듈(112)은 사용 데이터 저장소(402)에 저장되는 사용 데이터에 기여하는 실제 사용 데이터를 제공할 수 있다.
추가로 또는 대안으로, 사용 시뮬레이터(404)는 애플리케이션의 사용을 시뮬레이션할 수 있다. 이러한 동작은 사용 데이터 저장소(402)에 저장되는 사용 데이터에 기여하는 시뮬레이션된 사용 데이터를 제공한다. 일 구현에서, 사용 시뮬레이터(404)는 처리 시스템(106) 상에서 실행되는 에뮬레이터에 대응할 수 있다. 대안으로 또는 추가로, 사용 시뮬레이터(404)는 하나 이상의 실제 사용자 장치 상에서 실행되는 테스트 기능에 대응할 수 있다(이러한 상황에서 사용자 장치들은 시뮬레이션 동작 모드에서 기능한다). 어느 경우에나, 사용 시뮬레이터(404)는 애플리케이션에 의해 제공되는 기능을 자동으로 호출하여 실제 사용자가 애플리케이션을 수동으로 사용하는 방식을 시뮬레이션함으로써 동작할 수 있다. 사용 시뮬레이터(404)는 사전 정의된 활성화들의 시퀀스를 적용하는 루틴, 활성화들의 임의 선택을 적용하는 루틴 또는 이들의 조합을 포함하는, 애플리케이션을 시뮬레이션하기 위한 임의의 시뮬레이션 루틴을 사용할 수 있다. 이어서, 보고 모듈(도시되지 않음)은 시뮬레이션 동작 동안 소비된 데이터를 표현하는 시뮬레이션된 사용 데이터를 수집할 수 있다. 후술하는 바와 같이, 사용 분석 모듈(122)은 실제 사용 데이터가 이용 가능하지 않거나 적절히 풍부하게 이용 가능하지 않은 사례들에서는 시뮬레이션된 사용 데이터에 의존할 수 있다.
다른 수집 모듈(406)은 보조 사용 데이터를 수집하고, 그 데이터를 사용 데이터 저장소(402)에 추가할 수 있다. 구체적으로, 보조 사용 데이터는 개인 및 예상 사용 정보(및 다른 사용 정보)의 계산과 관련된 정보를 제공하지만, 데이터의 소비를 직접 표현하지는 않는다. 예를 들어, 수집 모듈(406)은 사용자 장치들(202)을 조작하는 사용자들에 대한 사용자 프로필 데이터를 수집할 수 있다. 각각의 사용자에 대해, 사용자 프로필 데이터는 사용자가 통상적으로 애플리케이션들과 상호작용하는 방식을 표현한다. 후술하는 바와 같이, 사용 분석 모듈(122)은 사용자 프로필 데이터를 이용하여, 개별적인 각각의 사용자의 거동에 특히 관련된 사용 정보를 생성할 수 있다.
일례에서, 수집 모듈(406)은 (예를 들어, 도 3을 참조하여 설명되는 바와 같이) 전술한 방식으로 수집된 실제 사용 데이터로부터 사용자 프로필 데이터를 수집할 수 있다. 예를 들어, 실제 사용 데이터에 기초하여, 수집 모듈(406)은 사용자가 애플리케이션과 상호작용하는 동안에 통상적으로 수행하는 액션들의 타입들, 사용자가 그러한 액션들을 수행하는 빈도, 및 그러한 액션들에 의해 소비되는 데이터의 양을 결정할 수 있다. 이어서, 수집 모듈(406)은 이러한 타입의 증거에 기초하여 사용자의 거동을 분류하는 사용자 프로필 데이터를 형성할 수 있다. 수집 모듈(406)은 예를 들어 사용자가 데이터를 소비한 데이터 계획의 조건을 식별함으로써 각각의 사용자의 소비 관련 거동을 제한하는 정보도 제공할 수 있다.
구체적으로, 수집 모듈(406)은 임의의 입도 레벨에서 사용자에 대한 사용자 프로필 데이터를 형성할 수 있다. 일례에서, 수집 모듈(406)은 상이한 애플리케이션 타입들을 구별하지 않고서 사용자가 애플리케이션들을 이용하는 동안에 통상적으로 소비하는 데이터의 양을 분류하는 사용자 프로필 데이터를 제공한다. 예를 들어, 사용자에 대한 사용자 프로필 데이터는 사용자를 고소비 데이터 사용자로서 분류할 수 있는데, 그 이유는 사용자가 애플리케이션들을 일반적으로 사용하는 동안에 (비디오 아이템들과 같은) 대형 콘텐츠 아이템들을 소비하는 입증된 경향을 갖기 때문이며; 추가로 또는 대안으로 그러한 사용자는 애플리케이션들을 일반적으로 사용하는 동안에 대량의 메시지들을 송신 및/또는 수신하는 것 등으로 인해 고소비 데이터 사용자로서 간주될 수 있다.
다른 예에서, 수집 모듈(406)은 상이한 타입의 애플리케이션들과 상호작용하는 동안에 사용자의 소비 관련 거동을 결정할 수 있다. 예를 들어, 수집 모듈(406)은 사용자가 뉴스 관련 애플리케이션들이 아니라 소셜 네트워킹 애플리케이션들을 사용하는 동안에 대형 콘텐츠 아이템들을 다운로드하는 빈도를 결정할 수 있다. 이러한 통찰력에 기초하여, 수집 모듈(406)은 상이한 타입의 애플리케이션들과 관련하여 사용자의 거동을 분류할 수 있다. 예를 들어, 사용자의 프로필 데이터는 사용자가 소셜 네트워킹 애플리케이션들과 관련해서는 고소비 데이터 사용자이지만 모든 다른 타입의 애플리케이션들과 관련해서는 중간 소비 데이터 사용자인 것을 지시할 수 있다. 수집 모듈(406)은 임의의 다른 기준 또는 기준들을 이용하여, 각각의 사용자의 소비 관련 거동의 소정 양태를 분류할 수 있다.
위의 예들에서, 수집 모듈(406)은 사용자가 애플리케이션들을 사용하는 동안에 소비하는 데이터의 양의 직접 증거에 기초하여 사용자에 대한 사용자 프로필 데이터를 도출한다. 대안으로 또는 추가로, 수집 모듈(406)은 간접 팩터들을 이용하여, 애플리케이션을 사용하는 동안에 데이터를 소비하는 사용자의 경향을 판단할 수 있다. 대표적인 팩터들은 사용자가 소셜 네트워킹 사이트 상에서 유지하는 지인들의 수, 사용자가 소정 애플리케이션들을 사용하는 동안에 함께 동기화하는 이메일 계정들의 수, 사용자에 관한 인구학적 정보(예를 들어, 나이, 거주지, 조직 가입 등) 등을 포함한다.
수집 모듈(406)은 또한 사용자의 데이터 소비를 좌우하는 데이터 계획의 성질을 표현하는 각각의 사용자에 대한 계획 데이터를 수집할 수 있다. 예를 들어, 특정 사용자에 대한 계획 데이터는 그 사용자에 대한 과금 사이클, 그 사용자에 대한 데이터 한도 등을 설명할 수 있다. 수집 모듈(406)은 계획 데이터를 상이한 방식들로 얻을 수 있다. 일 접근 방법에서, 수집 모듈(406)은 사용자가 계획 데이터를 수동으로 제공할 때 사용자로부터 이러한 정보를 얻을 수 있다. 다른 접근 방법에서, 수집 모듈(406)은 계획을 관리하는 임의의 엔티티, 예를 들어 사용자에게 서비스를 제공하는 무선 통신 제공자로부터 사용자의 계획 데이터를 얻을 수 있다. 예를 들어, 수집 모듈(406)은 특정 요청 메시지를 전송함으로써 무선 통신 제공자에 조회할 수 있다. 그러한 요청 메시지는 예를 들어 SMS 메시지 등으로서 형성될 수 있다. 무선 통신 제공자는 사용자에 대한 계획 데이터를 제공함으로써 응답한다. 다른 접근 방법에서, 수집 모듈(406)은 무선 통신 제공자의 과금 시스템과 직접 통신할 수 있다. 후술하는 바와 같이, 사용 분석 모듈(122)은 계획 데이터와 관련된 사용 정보를 형성할 수 있다. 이것은 사용자의 데이터 계획에 의해 부과되는 제약들과 관련된 사용자의 데이터 사용의 결과들의 평가를 사용자에게 제공한다.
위에서 제공되는 보조 사용 데이터의 예들은 포괄적이 아니라 대표적이다. 즉, 수집 모듈(406)은 사용 분석 모듈(122)에 의해 수행되는 분석과 관련된 추가적인 타입의 보조 데이터를 수집할 수 있다.
에너지 모니터 모듈(408)은 옵션으로서 에너지 관련 실제 사용 데이터도 제공할 수 있다(반면에 지금까지 설명된 사용 데이터는 데이터 관련 실제 사용 데이터와 관련된다). 구체적으로, 애플리케이션은 디스플레이의 파워 업, CPU의 사용 및 네트워크를 통한 정보 전송과 같은 다양한 기능들을 수행할 수 있다. 에너지 모니터 모듈(408)은 이러한 기능들 각각이 소비하는 에너지의 양을 측정한 후에 이러한 에너지 소비들 모두를 합산하여, 애플리케이션에 의해 소비된 에너지의 총량의 지시를 제공할 수 있다. 에너지 모니터 모듈(408)은 에너지 소비를 다양한 방식으로, 예를 들어 배터리 전압 레벨 또는 소정의 다른 배터리 관련 측정 기준을 모니터링함으로써 측정할 수 있다. 대안으로 또는 추가로, 에너지 모니터 모듈은 모델들을 이용하여, 이동 장치(102)의 상이한 컴포넌트들 상에 배치된 부하들을 에너지 소비들로 변환할 수 있다. 사용 분석 모듈(116)은 에너지 관련 사용 정보를 이용하여, 에너지 관련 개인 사용 정보 및 에너지 관련 예상 사용 정보를 제공할 수 있다. (그러나, 설명을 용이하게 하기 위해, 도 1의 환경(100)은 주로 실제 사용 데이터가 에너지가 아니라 데이터의 소비를 측정한다는 가정에 기초하여 계속 설명된다).) 애플리케이션의 에너지 소비는 네트워크를 통한 데이터의 전송뿐만 아니라 애플리케이션이 수행하는 모든 프로세스들에 영향을 미친다는 점에 유의한다. 그러나, 애플리케이션이 네트워크를 통해 데이터를 송신 및 수신할 때 소비하는 에너지의 양을 정확히 지시하는 에너지 측정치를 생성하는 것도 가능하다.
사용 분석 모듈(122)은 또한 전술한 사용 데이터에 기초하여 개인 사용 정보 및/또는 예상 사용 정보를 도출하기 위한 분석 모듈(410)을 포함한다. 분석 모듈(408)이 이러한 기능을 수행하는 방식은 도 7의 설명과 관련하여 아래에 설명된다.
마지막으로, 사용 분석 모듈(122)은 엔티티 인터페이스 모듈(412)을 포함할 수 있다. 엔티티 인터페이스 모듈(412)은 임의의 엔티티가 사용 분석 모듈(122)과 상호작용하는 것을 허가하는 인터페이스 기능을 제공한다. 그러한 엔티티들은 임의의 사용자 장치, (개발자에 의해 관리되는) 개발자 시스템 등을 포함할 수 있다.
도 5는 환경(100) 내의 처리 시스템(106) 또는 소정의 다른 컴포넌트에 의해 제공되는 시장 시스템(124)의 하나의 예시적인 구현을 나타낸다. 시장 시스템(124)은 하나 이상의 서버 컴퓨터 및 관련 데이터 저장소를 나타낼 수 있다.
시장 시스템(124)은 애플리케이션 수신 및 전처리 모듈(502)(이하, 간략화를 위해 간단히 "수신 모듈"(502))을 포함한다. 수신 모듈(502)은 애플리케이션 저장소(126) 내의 저장을 위해 임의의 소스들로부터 임의 타입의 애플리케이션들을 수신할 수 있다. 예를 들어, 수신 모듈(502)은 통상의 최종 사용자, 전문 애플리케이션 개발자 등으로부터 애플리케이션들을 수신할 수 있다. 수신 모듈(502)은 또한 저장 전에 애플리케이션들에 대해 옵션인 전처리를 수행할 수 있으며, 예를 들어 수신 모듈(502)은 애플리케이션들을 분석하여 이들이 보안 위협을 제기하는지를 결정할 수 있다. 애플리케이션 저장소(1260에 의해 저장되는 애플리케이션들은 후보 애플리케이션들로서 지칭될 수 있는데, 그 이유는 이러한 애플리케이션들이 사용자들에 의한 다운로딩(및/또는 사용자들에 의한 온라인 사용)을 위한 후보들이기 때문이다. 시장 시스템(124)은 또한 각각의 후보 애플리케이션과 관련된 설명 메타데이터를 저장할 수 있다.
시장 시스템(124)은 또한 애플리케이션 검색 모듈(504)을 포함한다. 검색 모듈(504)은 사용자가 애플리케이션 저장소(126) 내부를 내비게이션하여 그의 요구를 충족시키는 후보 애플리케이션을 발견하는 것을 가능하게 한다. 그러한 내비게이션은 후보 애플리케이션들과 관련된 설명 메타데이터에 기초하여 수행된다. 예를 들어, 사용자는 애플리케이션 검색 모듈(504)을 이용하여, 상이한 카테고리의 애플리케이션들을 통해 브라우징할 수 있다. 대안으로 또는 추가로, 사용자는 애플리케이션 검색 모듈(504)을 이용하여, 지정된 검색 용어 등을 충족시키는 애플리케이션들을 식별할 수 있다. 잠재적으로 적합한 후보 애플리케이션을 식별한 때, 애플리케이션 검색 모듈(504)은 후보 애플리케이션에 관한 임의 레벨의 설명 상세를 사용자에게 제공할 수 있다.
예를 들어, 하나의 상세 카테고리로서, 사용 프레젠테이션 모듈(506)은 후보 애플리케이션과 관련된 예상 사용 정보를 표시할 수 있다. 전술한 바와 같이, 예상 사용 정보는 애플리케이션이 특정 사용자에 의해 사용될 때 소비할 것으로 예상되는 데이터의 양을 설명한다. 아래의 예들은 환경(100)이 예상 사용 정보를 도출하고 이용할 수 있는 방식을 명료하게 한다.
애플리케이션 획득 모듈(508)은 사용자가 사용자의 요구를 충족시키는 애플리케이션을 획득하는 것을 가능하게 한다. 예를 들어, 사용자는 애플리케이션 획득 모듈(508)과 상호작용하여, 애플리케이션을 구매 및 다운로드하거나 (또는 애플리케이션에 대한 액세스를 획득하거나), 애플리케이션이 무료로 이용 가능한 경우에는 애플리케이션을 단순히 다운로드하거나 그에 액세스할 수 있다.
마지막으로, 엔티티 인터페이스 모듈(510)은 임의의 엔티티가 시장 시스템(124)과 상호작용하는 것을 가능하게 하는 인터페이스를 제공한다. 하나의 그러한 엔티티는 자신의 사용자 장치를 조작하고 있는 개별 사용자에 대응할 수 있다.
도 6은 도 1의 대표적인 사용자 장치(102)와 같은 각각의 사용자 장치에 의해 제공되는 사용 관리 모듈(116)의 하나의 예시적인 구현을 나타낸다. 사용 관리 모듈(116)은 일반적으로 사용 정보의 프레젠테이션과 관련된 사용자 장치(102)의 모든 기능들을 수행한다. 대안으로, 사용 관리 모듈(116)의 하나 이상의 양태는 처리 시스템(106)에 의해 수행될 수 있다. 이것은 예를 들어 사용 관리 기능이 온라인 서비스로서 구현될 때 그러하다.
사용 관리 모듈(116)은 사용자와 상호작용하기 위한 사용자 인터페이스 모듈(602)을 포함한다. 예를 들어, 사용자 인터페이스 모듈(602)은 장치 스크린 및/또는 다른 출력 메커니즘(들)을 통해 사용자에게 정보를 표시하기 위한 기능을 포함할 수 있다. 사용자 인터페이스 모듈(602)은 또한 예를 들어 키패드, 터치 감지 입력 스크린, 마우스 장치 및/또는 다른 출력 메커니즘(들)을 통해 사용자로부터 정보를 수신하기 위한 기능을 포함할 수 있다.
처리 시스템 인터페이스 모듈(604)은 사용 관리 모듈(116)이 환경(100) 내의 처리 시스템(106) 및/또는 임의의 다른 엔티티와 정보를 교환하는 것을 가능하게 한다. 예를 들어, 사용 관리 모듈(116)은 처리 시스템 인터페이스 모듈(604)을 통해 처리 시스템(106)으로부터 개인 사용 정보 및/또는 예상 사용 정보를 수신할 수 있다.
일반적으로, 사용 관리 모듈(116)은 SMS 전송 메커니즘과 같은, 그러나 이에 한정되지 않는 임의의 전송 메커니즘을 통해 처리 시스템(106)과 데이터를 교환할 수 있다. 또한, 사용 관리 모듈(116)을 처리 시스템(106)에 결합하는 무선 통신 기반구조(204)는 소정 포맷들 및 프로토콜들의 사용을 지정할 수 있다. 그에 비추어, 처리 시스템(106)은 적절한 제공자 고유 방식으로 그가 사용 관리 모듈(116)로 전송하는 정보를 분석 및 구조화할 수 있다.
사용 관리 모듈(116)은 사용 프레젠테이션 트리거링 모듈(606)을 포함할 수 있다. 명칭이 시사하는 바와 같이, 사용 프레젠테이션 트리거링 모듈(606)은 사용 정보의 프레젠테이션을 트리거링하는 이벤트가 발생한 시기를 검출한다. 일례에서, 사용 프레젠테이션 트리거링 모듈(606)은 사용자가 개인 사용 정보를 명시적으로 요청할 때 또는 사용자가 애플리케이션을 활성화할 때 이러한 정보의 프레젠테이션을 트리거링한다. 다른 예에서, 처리 시스템(106)은 사용자가 시장 시스템(124)에 액세스할 때 예상 사용 정보를 제공한다.
프레젠테이션 모듈(608)은 사용 정보가 사용자에게 표시되는 (또는 사용자에게 소정의 다른 형태로 제공되는) 방식을 제어한다. 예를 들어, 아래에 더 상세히 설명되는 바와 같이, 프레젠테이션 모듈(608)은 사용 정보를 텍스트 형태, 그래픽 형태 또는 이들의 소정 조합의 형태로 제공할 수 있다.
구성 모듈(610)은 사용자가 사용 관리 모듈(116)이 동작하는 방식을 구성하는 것을 가능하게 한다. 일 옵션에 따르면, 예를 들어, 구성 모듈(610)은 사용자가 상이한 애플리케이션들에 대한 개별 애플리케이션 고유 할당치들을 설정하는 것을 가능하게 할 수 있다. 애플리케이션 고유 할당치는 주어진 애플리케이션이 과금 사이클 내에 얼마나 많이 소비하는 것이 허가되는지를 설명한다. 사용 관리 모듈(116)은 사용자가 과금 사이클 동안 애플리케이션 고유 할당치를 초과할 때 경고 또는 다른 정보 메시지를 발하거나 애플리케이션의 사용을 금지하는 것 등에 의해 다양한 환경 고유 액션들을 수행할 수 있다.
마지막으로, 옵션인 장치 수정 모듈(612)은 사용 정보에 기초하여 (그리고/또는 원시 실제 사용 데이터에 기초하여) 애플리케이션의 동작을 관리할 수 있다. 예를 들어, 장치 수정 모듈(612)은 특정 애플리케이션이 소비한 데이터의 양을 모니터링할 수 있다. 사용이 규정된 임계치를 초과하거나, 다른 임계 거동을 나타내는 경우, 장치 수정 모듈(612)은 애플리케이션이 그의 데이터 소비에 있어서 더 효율적이게 하기 위해 애플리케이션이 동작하는 방식을 변경할 수 있다. 예를 들어, 장치 수정 모듈(612)은 사용자에게 제공되고 있는 비디오 아이템들의 해상도를 줄일 수 있다. 대안으로 또는 추가로, 장치 수정 모듈(612)은 상당한 양의 데이터를 소비하는 소정의 애플리케이션 특징들의 사용을 불능화하거나 제한할 수 있다. 예를 들어, 장치 수정 모듈(612)은 사용 동안 사용자에게 광고들을 제공하는 애플리케이션의 능력을 불능화 또는 제한할 수 있다. 구체적으로, 일부 예들에서, 장치 수정 모듈(612)은 애플리케이션 자체를 수정함으로써 변경을 행할 수 있다. 대안으로 또는 추가로, 장치 수정 모듈(612)은 애플리케이션이 의존하는 사용자 장치(102)에 의해 제공되는 다른 자원들을 수정함으로써 변경을 행할 수 있다.
각주로서, 도 1은 보고 모듈(112) 및 사용 관리 모듈(116)이 개별 컴포넌트들을 나타낸다는 것을 보여준다. 그러나, 다른 구현에서, 보고 모듈(112)은 사용 관리 모듈(116) 내의 컴포넌트를 나타낼 수 있다.
도 7은 분석 논리(702) 및 사용 프레젠테이션 논리(704)의 고레벨 뷰를 나타낸다. 분석 논리(702)는 사용 데이터에 대한 분석을 수행하여 사용 정보(예로서, 개인 사용 정보 또는 예상 사용 정보)를 도출한다. 사용 프레젠테이션 논리(704)는 사용 정보를 사용자에 대한 프레젠테이션을 위한 특정 형태로 형성한다. 도 1의 환경(100) 내의 상이한 컴포넌트들은 분석 논리(702) 및 사용 프레젠테이션 논리(704)를 구현할 수 있다. 예를 들어, 도 4는 사용 분석 모듈(122)이 분석 논리(702)의 양태들을 구현할 수 있는 분석 모듈(410)을 이용할 수 있다는 것을 보여준다. 도 5는 사용 프레젠테이션 논리(704)의 양태들을 구현할 수 있는 프레젠테이션 모듈(506)을 이용할 수 있다는 것을 보여준다. 그리고 도 5는 사용 관리 모듈(116)이 사용 프레젠테이션 논리(704)의 양태들을 또한 이용하는 프레젠테이션 모듈(608)을 이용할 수 있다. 더 일반적으로, 환경(100)은 임의의 환경 고유 사항들에 기초하는 임의의 방식으로 분석 논리(702) 및 사용 프레젠테이션 논리(704)를 환경(100)의 상이한 컴포넌트들에 분산시킬 수 있다. 따라서, 본 명세서에서 설명되는 분석 및 프레젠테이션 기능들 중 임의의 기능은 사용자 장치와 관련하여 국지적으로 그리고/또는 원격적으로 수행될 수 있다. 아래의 설명에서, "특정 사용자"라는 용어는 사용 정보(예로서, 개인 사용 정보 또는 예상 사용 정보)가 제공되는 사용자를 지칭한다. 특정 사용자 외의 다른 사용자들은 "다른 사용자들"이다.
도 7은 분석 논리(702)의 동작을 관리하는 다양한 옵션들을 식별한다. 예를 들어, 도 7은 분석 논리(702)가 다양한 타입의 입력 데이터에 기초하여 사용 정보를 생성할 수 있다는 것을 지시한다. 일 타입의 입력 데이터는 실제 사용 데이터에 대응한다. 아래의 예들의 대부분에서, 실제 사용 데이터는 데이터 관련 실제 사용 데이터에 대응하지만, 대안으로 또는 추가로 에너지 관련 사용 데이터에 대응할 수 있다. 다른 타입의 입력 데이터는 시뮬레이션된 사용 데이터에 대응한다. 열거되지는 않지만, 분석 논리(702)는 또 다른 타입의 입력 데이터에 의존할 수 있다.
도 7은 또한 다양한 타입의 제한 사항들에 기초하여 사용 정보를 생성할 수 있다는 것을 나타낸다. 일 타입의 제한 사항은 계약 데이터 계획에 기초하여 사용자가 데이터를 소비하는 것이 허가되는 방식을 지정하는 계획 데이터에 대응한다. 다른 타입의 제한 사항은 사용자들이 애플리케이션들을 사용하는 동안에 통상적으로 데이터를 소비하는 방식을 특성화하는 사용자 프로필 데이터에 대응한다. 열거되지는 않지만, 분석 논리(702)는 또 다른 타입의 제한 사항들에 의존할 수 있다.
도 7은 분석 논리(702)가 상이한 타입의 사용 정보를 생성할 수 있다는 것을 또한 지시한다. 일례에서, 예를 들어, 분석 논리(702)는 사용자 장치(102) 상에 설치된 각각의 애플리케이션이 규정된 기간 내에 소비한 데이터의 양을 반영하는 개인 사용 정보를 생성할 수 있다. 다른 예에서, 분석 논리(702)는 개인 사용 정보를 계획된 사용 정보와 연계하여 제공할 수 있다. 분석 논리(702)는 사용자의 미래의 데이터 소비가 사용자의 최근의 데이터 소비를 닮는다는 가정에 기초하여 개인 사용 정보를 미래로 확장 또는 외삽함으로써 계획된 사용 정보를 형성할 수 있다.
다른 예에서, 분석 논리(702)는 개인 사용 정보와 연계하여 비교 사용 정보를 제공할 수 있다. 분석 논리(702)는 사용자가 그의 개인 사용 정보를 평가할 수 있는 벤치마크로서 비교 사용 정보를 제공할 수 있다. 일 구현에서, 분석 논리(702)는 특정 애플리케이션을 또한 실행하는 다른 사용자 장치들의 그룹에 의해 제공되는 실제 사용 데이터를 처리함으로써 (특정 사용자 장치를 조작하는) 특정 사용자의 특정 애플리케이션에 대한 비교 사용 정보를 계산할 수 있다. 후술하는 바와 같이, 이러한 사용 데이터의 처리는 다양한 방식으로, 예를 들어 평균 또는 중간 값 등을 형성함으로써 수행될 수 있다.
다른 예에서, 분석 논리(702)는 후보 애플리케이션이 특정 사용자에 의해 사용될 때 소비할 것으로 예상되는 데이터의 양을 나타내는 예상 사용 정보를 생성할 수 있다. 분석 논리(702)는 예를 들어 후보 애플리케이션을 실행한 사용자 장치들의 그룹에 의해 제공된 실제 사용 데이터를 처리함으로써 비교 사용 정보와 동일한 방식으로 예상 사용 정보를 형성할 수 있다. 대안으로 또는 추가로, 분석 논리(702)는 (적어도 부분적으로) 시뮬레이션된 사용 데이터에 기초하여 예상 사용 정보를 형성할 수 있다. 대안으로 또는 추가로, 애플리케이션을 개발하는 개발자가 애플리케이션에 대한 예상 사용 정보를 제공할 수 있다.
분석 논리(702)는 또한 옵션으로서 사용 정보를 수신할 특정 사용자와 관련된 사용자 프로필 데이터는 물론, 다른 사용자들의 그룹과 관련된 사용자 프로필 데이터를 고려하는 방식으로 비교 사용 정보 및 예상 사용 정보를 맞춤화할 수 있다.
다른 예에서, 분석 논리(702)는 애플리케이션별 상세 사용 정보를 생성할 수 있다. 이러한 사용 정보는 무선 통신과 관련된 특정 애플리케이션 내의 개별 기능들에 의해 소비되는 데이터의 양을 식별한다. 하나의 시나리오에서, 개발자는 이러한 타입의 정보를 요청하여, 애플리케이션이 그의 효율을 개선하기 위해 수정될 수 있는 방식에 관한 통찰력을 얻을 수 있다.
또한, 전술한 사용 정보의 카테고리들 중 임의의 카테고리는 데이터 사용이 아니라 (또는 데이터 사용에 더하여) 에너지 사용과 관련하여 표현될 수 있다. 예를 들어, 분석 논리(702)는 에너지 관련 개인 사용 정보 및 에너지 관련 예상 사용 정보를 생성할 수 있다. 그리고 이러한 에너지 관련 정보는 전술한 방식으로 사용자 프로필 데이터에 기초하여 맞춤화될 수 있다.
도 7은 또한 사용 프레젠테이션 논리(704)의 동작을 좌우하는 다양한 옵션들을 식별한다. 예를 들어, 전술한 바와 같이, 사용 프레젠테이션 논리(704)는 영숫자 형태 또는 그래픽 형태 또는 이들의 조합 형태로 사용 정보를 제공할 수 있다. 사용 프레젠테이션 논리(704)는 또한 월별 과금 사이클과 같은 임의의 시간 간격과 관련하여 사용 정보를 제공할 수 있다. 일부 예들에서, 사용 프레젠테이션 논리(704)는 또한 사용 정보를 요약 형태로, 예를 들어 요약 표지로서 표현할 수 있다.
도 8-15는 분석 논리(702) 및 사용 프레젠테이션 논리(704)의 출력의 예들을 나타낸다. 각각의 경우에, 사용자 장치(102)는 사용자 장치(102)의 디스플레이 스크린(802) 상에 출력을 제공할 수 있다. 예를 들어, 스마트폰 등의 경우, 디스플레이 스크린(802)은 또한 터치 감지 입력 메커니즘으로서 기능할 수 있다. 사용자는 디스플레이 스크린(802)과 물리적으로 상호작용하여, 사용 관리 모듈(116)에 의해 제공되는 서비스들 내에서 내비게이션할 수 있다. 대안으로 또는 추가로, 사용자는 개인용 컴퓨팅 장치 또는 소정의 다른 고정 컴퓨팅 장치를 이용하여, 사용 정보에 액세스할 수 있다.
(도 8-10에서의) 시나리오 A-G에서, 환경(100)은 사용자 장치(102)를 사용하고 있는 특정 사용자에게 개인 사용 정보를 제공한다. 개인 사용 정보는 사용자 장치(102) 상에 설치되는 (또는 그에 의해 액세스될 수 있는) 각각의 애플리케이션이 현재 과금 사이클 내에서 지금까지 얼마나 많은 데이터를 소비했는지를 항목별로 나눈다. 시나리오 A-G는 이러한 정보를 후술하는 상이한 방식들로 전달한다. 다양한 시나리오들이 상이한 각각의 프레젠테이션 전략을 채택하지만, 임의의 시나리오는 본 명세서에서 설명되는 프레젠테이션 전략들 중 2개 이상을 결합할 수 있다.
시나리오 A에서, 환경(100)은 각각의 애플리케이션에 대해 단일 값을 제공한다. 그러한 단일 값은 각각의 애플리케이션이 현재 과금 사이클 내에 소비한 데이터의 양을 식별한다.
시나리오 B에서, 환경(100)은 각각의 애플리케이션에 대해 2개의 값을 제공한다. 제1 값은 애플리케이션이 제1 네트워크 인터페이스 모드(예로서, 3G 통신)를 이용하여 얼마나 많은 데이터를 소비했는지를 식별하는 반면, 제2 값은 애플리케이션이 제2 네트워크 인터페이스 모드(예로서, 와이파이 통신)를 이용하여 얼마나 많은 데이터를 소비했는지를 식별한다(여기서, 3G 통신은 통상적으로 와이파이 통신보다 비싸다). 도시되지 않았지만, 환경(100)은 또한 임의의 네트워크 인터페이스 모드와 관련된 특정 네트워크 엔티티들을 식별할 수 있다. 예를 들어, 사용자가 그의 홈 상태에서 그의 사용자 장치를 사용할 때 제1 무선 통신 제공자를 정기적으로 이용하지만 다른 상태에서 비즈니스 사이트에 있을 때에는 제2 무선 통신 제공자를 이용하는 것으로 가정한다. 이러한 상황에서, 환경(100)은 각각의 무선 통신 제공자에 대한 셀룰러 데이터 사용을 분석할 수 있다.
시나리오 C에서, 환경(100)은 각각의 애플리케이션이 소비한 데이터의 양을 식별하는 단일 값을 제공하지만, 이 경우에 환경(100)은 애플리케이션에 대한 애플리케이션 고유 할당치도 전달한다. 사용자(또는 다른 엔티티)는 도 6의 구성 모듈(610)을 통해 이러한 애플리케이션 고유 할당치를 지정할 수 있다.
(도 9의) 시나리오 D는 그래픽 포맷을 이용하여, 예를 들어 전술한 애플리케이션 고유 할당치에 의해 표현되는 바와 같은, 애플리케이션에 할당된 데이터의 총량에 대비하여 애플리케이션이 소비한 데이터의 양을 전달한다. 이 예에서, 환경(100)은 파이 차트(pie chart)를 이용하여, 애플리케이션에 의해 소비된 애플리케이션 고유 할당치의 비율을 전달하지만, 환경(100)은 (바 차트 등과 같은) 임의의 다른 적절한 그래픽 포맷 또는 포맷들의 조합을 이용하여 이러한 정보를 전달할 수 있다.
시나리오 E에서, 환경(100)은 또한 애플리케이션이 소비한 데이터의 양을 그래픽 형태로 전달한다. 그러나, 시나리오 E에서, 환경(100)은 또한 개인 사용 정보를 확장하여, 사용자가 애플리케이션에 대한 애플리케이션 고유 할당치에 도달할 것으로 예상되는 시기의 지시를 제공한다. 이러한 외삽은 사용자가 현재 시점까지 행한 것과 동일한 방식으로 애플리케이션을 계속 사용할 것으로 가정한다. 시나리오 E는 또한 그래픽 도시의 현저한 특징들을 설명하는 설명 텍스트 캡션을 나타낸다. 본 명세서에서 사용되는 용어법에 따르면, 추정되는 애플리케이션에 의한 데이터의 미래 소비를 전달하는 정보는 계획된 사용 정보를 구성한다.
(도 10의) 시나리오 F는 단일 값을 이용하여, 각각의 애플리케이션이 현재 과금 사이클 내에 소비한 데이터의 양을 전달한다. 게다가, 환경(100)은 각각의 애플리케이션에 대한 단일 값을 제공할 수 있으며, 이 단일 값은 다른 사용자들이 이러한 동일 애플리케이션을 이용하는 동안에 소비한 데이터의 양을 전달한다. 본 명세서에서 사용되는 용어법에 따르면, 다른 사용자들의 데이터 소비와 관련된 정보는 비교 사용 정보의 일례를 구성한다. 시나리오 F는 개인 사용 정보 및 비교 사용 정보를 텍스트 형태로 제공하지만, 이러한 정보는 그래픽 형태로 (예로서, 바 차트 형태 등으로) 제공될 수도 있다.
일례에서, 환경(100)은 특정 애플리케이션을 사용한 (다른 사용자들에 의해 조작되는) 사용자 장치들의 그룹으로부터 실제 사용 데이터를 수집함으로써 특정 애플리케이션에 대한 비교 사용 정보를 형성할 수 있다. 또한, 환경(100)은 수집된 실제 사용 데이터를 처리하여, 비교 사용 정보를 형성할 수 있다.
처리는 다양한 형태를 취할 수 있다. 예를 들어, 환경(100)은 사용자 장치들의 그룹에 의한 특정 애플리케이션의 평균 실제 데이터 사용을 설명하는 평균값을 제공할 수 있다. 게다가, 환경(100)은 평균 사용 값과 관련된 표준 편차를 설명하는 표준 편차 값을 제공할 수 있다. 추가로 또는 대안으로, 환경(100)은 사용자 장치들의 그룹에 의한 특정 애플리케이션의 중앙 실제 데이터 사용을 설명하는 중앙 값을 제공할 수 있다. 추가로 또는 대안으로, 환경(100)은 사용자 장치들의 그룹 내의 개별 사용자 장치들로부터 수신되는 데이터 사용 판독치들의 분포를 나타내는 분포 정보를 제공할 수 있다. 이러한 시나리오들은 한정이 아니라 예시적으로 제공되며, 다른 구현들은 사용 데이터의 집합에 대한 처리를 다른 방식으로 수행할 수 있다.
시나리오 G는 또한 비교 사용 정보와 연계하여 개인 사용 정보를 표현한다. 그러나, 이 경우에, 환경(100)은 (도 G에 도시된 정보를 수신하는) 특정 사용자와 관련된 사용자 프로필 데이터에 의해 반영되는 바와 같이 이 사용자의 소비 관련 거동을 반영하는 방식으로 비교 사용 정보를 편향시킨다. 환경(100)은 이러한 편향 또는 맞춤화를 상이한 방식으로 수행할 수 있다. 일 구현에서, 환경(100)은 먼저 특정 사용자의 소비 관련 거동을 분류할 수 있다. 구체적으로, 일례에서, 환경(100)은 애플리케이션들의 상이한 클래스들 간의 구별 없이 사용자와 이전에 상호작용한 모든 애플리케이션들에 대한 사용자의 소비 관련 거동을 결정할 수 있다. 다른 예에서, 환경(100)은 사용자와 이전에 상호작용한 애플리케이션들의 특정 클래스에 대한 사용자의 소비 관련 거동을 결정할 수 있다. 예를 들어, 환경(100)이 특정 애플리케이션, 예를 들어 "Appln A"에 대한 비교 사용 정보를 생성하려고 하는 것으로 가정한다. 환경(100)은 Appln A가 소셜 네트워킹 애플리케이션인 것으로 결정할 수 있다. 이어서, 환경(100)은 사용자가 Appln A는 물론, 다른 소셜 네트워킹 애플리케이션들과 상호작용한 방식에 기초하여 사용자의 소비 관련 거동을 분류할 수 있다.
특정 사용자를 분류한 후, 환경(100)은 특정 사용자의 소비 관련 거동의 식별된 클래스에 적절한 비교 사용 정보를 제공할 수 있다. 예를 들어, 환경(100)은 소정 기간에 걸쳐 사용자가 고소비 데이터 사용자에 대응하는 것으로 결정하는 것으로 가정한다. 이어서, 환경(100)은 다른 고소비 데이터 사용자들이 Appln A를 사용한 방식을 설명하거나 근사화하는 특정 애플리케이션(예로서, "Appln A")에 대한 비교 사용 정보를 제공할 수 있다.
환경(100)은 다른 사용자들의 거동을 다양한 방식으로 표현 또는 근사화할 수 있다. 하나의 접근 방법에서, 환경(100)은 Appln A를 사용하였고 (그들 각각의 사용자 프로필 데이터에 기초하여) 고소비 데이터 사용자들로서 또한 분류된 다른 데이터 사용자들의 서브세트를 식별할 수 있다. 구체적으로, 제1 예에서, 이러한 다른 사용자들은 일반적으로 애플리케이션들의 그들의 고소비로 인해 고소비 데이터 사용자들에 대응할 수 있으며, 제2 예에서 이러한 사용자들은 Appln A와 동일한 클래스 내의 애플리케이션들의 그들의 소비로 인해 고소비 데이터 사용자들에 대응할 수 있다. 이어서, 환경(100)은 이러한 사용자들의 서브세트에 의해 나타나는 소비의 평균값으로서 또는 소정의 다른 측정 기준을 이용하여 비교 사용 정보를 표현할 수 있다.
다른 예에서, 환경(100)은 Appln A를 사용한 모든 사용자들에 대한 소비 판독치들의 분포를 형성할 수 있다. 이어서, 환경(100)은 그 애플리케이션의 높은 범위 단부로부터 대표적인 데이터 사용 판독치를 추출함으로써 비교 사용 정보를 형성할 수 있다.
또 다른 예에서, 환경(100)은 Appln A를 사용한 모든 사용자들의 소비를 평균한 후에 이 값에 고정 오프셋을 더하여 특정 사용자가 고소비 데이터 사용자임을 반영함으로써 비교 사용 정보를 형성할 수 있다. 또 다른 접근 방법들을 적용하여 비교 사용 정보를 계산할 수 있다.
전술한 임의의 예에서, 환경(100)은 또한 비교 사용 정보를 생성할 때 사용자들의 데이터 계획들을 고려할 수 있다(여기서, 계획 데이터는 사용자들과 관련된 사용자 프로필 데이터의 컴포넌트로서 간주될 수 있다). 즉, 사용자의 소비 관련 거동은 사용자가 데이터를 소비하도록 허가되는 계약 조건에 의해 영향을 받는다. 예를 들어, 비교적 높은 월별 한도를 갖는 사용자는 트랜잭션별로 데이터 사용에 대한 지불하는 사용자에 비해 그의 애플리케이션 사용에 있어서 더 자유로울 것으로 예상될 수 있다. 따라서, 환경(100)은 특정 사용자의 데이터 소비를 좌우하는 데이터 계획을 확인한 후에 동일 데이터 계획을 공유하는 사용자들의 서브세트로부터 비교 사용 정보를 형성할 수 있다. 이것은 특정 사용자의 진정한 피어(peer)들인 사용자들의 더 강건한 식별을 제공한다.
또 다른 전략에서, 환경(100)은 사용자가 Appln A와 동일한 타입의 애플리케이션들을 사용하는 동안에 얼마나 많은 데이터를 소비했는지에 대한 지시를 사용자에게 제공함으로써 비교 사용 정보를 형성할 수 있다. 예를 들어, Appln A가 소셜 네트워킹 애플리케이션인 경우, 환경(100)은 사용자가 다른 소셜 네트워킹 애플리케이션들을 사용하는 동안에 평균적으로 얼마나 많은 데이터를 소비했는지에 대한 지시를 사용자에게 제공하는 비교 사용 정보를 형성할 수 있다. 따라서, 이러한 비교 사용 정보는 특정 애플리케이션이 동일한 기본 기능을 수행하는 다른 애플리케이션들과 관련하여 얼마나 효율적인지를 나타낸다. 이러한 타입의 비교 사용 정보는 특정 사용자의 거동에만 기초할 수 있지만, 다른 사용자들의 사용 거동도 고려할 수 있다.
도 11로 진행하면, 이 도면은 환경(100)이 (사용자의 사용자 장치(102)로 아직 다운로드되지 않았을 수 있는 후보 애플리케이션에 관련된) 예상 사용 정보를 제공할 수 있는 하나의 방식을 나타낸다. 환경(100)은 특정 사용자가 시장 시스템(124)에 액세스할 때 그 사용자에게 예상 사용 정보를 제공할 수 있다. 예를 들어, 사용자가 이용 가능한 애플리케이션들을 탐험하는 소정 시점에, 환경(100)은 특정 후보 애플리케이션에 관한 다양한 설명 상세들을 제공하는 페이지(1102)를 사용자에게 제공하는 것으로 가정한다. 하나의 아이템은 후보 애플리케이션의 텍스트 설명을 제공할 수 있다. 다른 아이템은 후보 애플리케이션의 검토를 제공할 수 있다. 다른 아이템은 애플리케이션을 다운로드하거나 다른 방식으로 획득하도록 사용자에게 권유할 수 있다. 다른 아이템은 후보 애플리케이션의 예상 사용 특성들을 조사하도록 사용자에게 권유할 수 있다. 사용자는 이러한 사용 정보를 검토하여, 애플리케이션의 설치가 사용자의 데이터 소비 예산에 영향을 미치는 방식을 결정하기를 원할 수 있다.
사용자가 예를 들어 페이지(1102) 내의 "사용 특성들" 링크 위를 클릭함으로써 후보 애플리케이션과 관련된 사용 정보를 조사하기로 선택한다. 환경(100)은 일부가 도 11에 나열된 다양한 환경 고유 방식으로 확장된 사용 정보를 표시함으로써 응답한다.
예를 들어, 시나리오 1104에서, 환경(100)은 후보 애플리케이션을 이미 사용한 사용자 장치들에 의해 제공된 실제 사용 데이터를 수집 및 처리함으로써 후보 애플리케이션에 대한 예상 사용 정보를 형성할 수 있다. 시나리오 1104에서, 환경(100)은 그의 처리의 결과를 하나 이상의 값으로서, 예를 들어 평균값, 표준 편차 값, 중앙 값 등 또는 이들의 조합 중 어느 하나를 제공함으로써 표현한다. 즉, 환경(100)은 그가 위의 시나리오 G에서 비교 사용 정보를 형성하는 것과 같은 방식으로 예상 사용 정보를 형성할 수 있다.
시나리오 1106에서, 환경(100)은 또한 하나 이상의 값을 이용하여 예상 사용 정보를 전달할 수 있다. 그러나, 이 경우, 환경(100)은 (예상 사용 정보를 수신하는) 특정 사용자가 나타내는 사용 습관들에 맞춰진 예상 사용 정보를 제공한다. 환경(100)은 시나리오 G와 관련하여 전술한 임의의 방식으로 이러한 편향된 예상 사용 정보를 형성할 수 있다. 즉, 환경(100)은 특정 사용자의 사용 관련 거동을 애플리케이션 불가지론 방식으로(애플리케이션들의 상이한 클래스들과 관련된 사용자의 거동을 격리시키지 않고) 또는 애플리케이션 고유 방식으로(후보 애플리케이션이 속하는 애플리케이션들의 특정 클래스와 관련된 사용자의 거동을 선택적으로 고려함으로써) 평가할 수 있다. (그러나, 이 경우, 환경(100)은 사용자가 후보 애플리케이션과 상호작용한 방식을 고려하지 않는데, 그 이유는 사용자가 아직 이 애플리케이션과 상호작용할 기회를 갖지 못했기 때문이다.) 이어서, 일례에서, 환경(100)은 특정 사용자의 데이터 소비 습관들(그들의 사용자 프로필들에 의해 반영됨)을 공유하고 해당 후보 애플리케이션을 또한 사용한 다른 사용자들의 데이터 사용에 기초하여 예상 사용 정보를 생성할 수 있다. 게다가, 환경(100)은 특정 사용자와 동일한 타입의 데이터 계획에 의해 지배되는 다른 사용자들만을 고려함으로써 예상 사용 정보를 생성할 수 있다.
시나리오 1108에서, 환경(100)은 예상 사용 정보를 요약 방식으로 전달하는 표지를 제공할 수 있다. 표지는 임의 종류의 그래픽 객체에 대응한다. 예를 들어, 도 11의 예에서, 환경(100)은 후보 애플리케이션이 사용 동안 비교적 많은 양의 데이터를 소비할 것으로 예상되지 않는다는 것을 의미하는 "애플리케이션 라이트(application light)"로 평가된다는 것을 지시하는 요약 표지를 제공한다. 환경(100)은 다른 사용자들이 후보 애플리케이션과 상호작용한 방식을 또한 고려함으로써 이러한 방식으로 후보 애플리케이션을 분류할 수 있다. 예를 들어, 환경(100)은 다른 사용자들의 평균 소비를 나타내는 평균값을 형성한 후에 이 평균값이 어느 범위 내에 속하는지를 결정할 수 있으며, 이어서 환경(100)은 식별된 범위에 대응하는 요약 표지를 할당할 수 있다. 환경(100)은 이러한 방식으로 또는 사용자 프로필 데이터를 고려하지 않고서 후보 애플리케이션을 분류할 수 있다.
대안으로 또는 추가로, 환경(100)은 후보 애플리케이션이 후보 애플리케이션과 동일한 기본 기능을 수행하는 다른 애플리케이션들과 어떻게 비교되는지를 표현할 수 있다. 환경(100)은 후보 애플리케이션에 대한 사용 정보를 생성한 후에 다른 관련 애플리케이션들에 대한 사용 정보를 생성함으로써 이러한 측정 기준을 계산할 수 있다. (다른 관련 애플리케이션들에 대한 사용 정보는 특정 타겟 사용자 및 다른 사용자들, 또는 단지 특정 사용자, 또는 단지 다른 사용자들의 거동을 고려할 수 있다.) 이어서, 환경(100)은 후보 애플리케이션과 그의 피어 애플리케이션들 사이의 사용 차이를 반영하는 정보를 제공할 수 있다. 예를 들어, 환경(100)은 후보 애플리케이션의 사용 및 그의 피어들의 사용을 각각 반영하는 2개의 숫자를 표현할 수 있다. 대안으로 또는 추가로, 환경(100)은 후보 애플리케이션의 그의 관련 애플리케이션들에 대한 상대적 효율을 반영하는 요약 표지를 제공할 수 있다. 예를 들어, 환경(100)은 비디오 편집 후보 애플리케이션의 데이터 사용을 다른 비디오 편집 애플리케이션들의 데이터 사용에 대비하여 평가할 수 있다. 요약 표지는 후보 애플리케이션이 그의 관련 애플리케이션들의 클래스 내에서 데이터 효율적인지에 대한 지시를 제공한다.
시나리오 1110에서, 환경(100)은 (시나리오 1104의 경우에서와 같이) 평균값 대신에 (또는 그에 더하여) 데이터 사용 판독치들의 분포의 형태로 예상 사용 정보를 제공한다. 예를 들어, 환경(100)은 후보 애플리케이션을 사용한 사용자들 간의 거동의 범위를 식별하는 히스토그램으로서 분포를 표현할 수 있다. 또한, 이러한 분포는 사용자 프로필 데이터를 고려하거나 고려하지 않고서 생성될 수 있다.
시나리오 1112에서, 환경(100)은 새로운 또는 드물게 사용되는 후보 애플리케이션에 대한 예상 사용 정보를 제공한다. 환경(100)은 이 상황에서 시뮬레이션된 사용 데이터에 기초하여 또는 시뮬레이션된 사용 데이터와 실제 사용 데이터의 조합에 기초하여 예상 사용 정보를 형성할 수 있다. 도 4의 사용 시뮬레이터(404)는 시뮬레이션된 사용 데이터를 제공한다. 구체적으로, 일례에서, 환경(100)은 실제 사용 데이터와 시뮬레이션된 사용 데이터의 가중된 조합에 기초하여 예상 사용 정보를 계산할 수 있다. 시뮬레이션된 사용 데이터에 적용되는 가중치는 추가적인 실제 사용 데이터가 얻어질 때 감소한다.
도 12로 진행하면, 이 도면은 환경(100)이 에너지 관련 개인 사용 정보와 연계하여 데이터 관련 개인 사용 정보를 제공하는 시나리오를 나타낸다. 데이터 관련 개인 사용 정보는 에너지 관련 개인 사용 정보를 반드시 추적할 필요는 없을 수 있는데, 그 이유는 에너지 관련 개인 사용 정보가 데이터 전송을 수행하는 데 소비하는 에너지만이 아니라 애플리케이션에 의해 소비되는 에너지 모두를 측정하기 때문이다. 그러나, 데이터 전송을 수행하는 애플리케이션 기능들을 특히 타겟으로 하는 에너지 관련 개인 사용 정보를 생성하는 것도 가능하다. 도 12에 의해 제공되는 정보는 사용자가 애플리케이션 실행의 금융 비용은 물론, 애플리케이션이 실행될 때 사용자 장치(102)의 배터리를 고갈시키는 정도에 관한 통찰력을 얻는 것을 가능하게 한다. 도시되지 않았지만, 도 11에 도시된 임의 타입의 예상 사용 정보는 데이터 사용이 아니라 (또는 그에 더하여) 에너지 사용과 관련하여 표현될 수 있다.
도 13은 환경(100)이 이전 예들에 비해 사용자(또는 다른 엔티티)에게 더 상세한 애플리케이션 레벨 사용 개인 정보를 제공하는 시나리오를 나타낸다. 구체적으로, 환경(100)은 각각의 애플리케이션과 관련된 기능들 및 각각의 기능이 소비한 데이터의 양을 식별하는 사용 정보를 생성할 수 있다. 기능은 그가 무선 통신 기반구조(204)를 통해 데이터를 송신 또는 수신할 때 데이터를 소비한다. 일부 기능들은 전경 작업들에 대응할 수 있는 반면, 다른 프로세스들은 배경 작업들에 대응할 수 있다. 전경 작업은 애플리케이션의 주목적을 직접 서빙하는 기능을 지칭한다. 배경 작업은 애플리케이션의 최우선 목적으로부터 벗어난 기능을 수행하는 기능을 지칭한다. 예를 들어, 사용자는 소셜 네트워킹 애플리케이션과 상호작용하여, 예를 들어 그의 친구들과 메시지들 및 비디오 아이템들을 공유함으로써 그의 친구들과 상호작용할 수 있다. 이러한 활동은 전경 작업을 나타내는데, 그 이유는 이것이 애플리케이션과 상호작용함에 있어서 사용자의 주목적을 실행하기 때문이다. 그러나, 그 동일한 애플리케이션은 또한 사용자가 소셜 네트워킹 기능들을 사용하는 동안에 사용자에게 광고들을 제공하는 것에 소정 양의 네트워크 활동을 바칠 수 있다. 이러한 활동은 배경 작업을 나타내는데, 그 이유는 이것이 사용자의 명령에 직접 응답하여 수행되지 않고, 따라서 사용자와 애플리케이션의 상호작용 없이도 발생할 수 있기 때문이다.
사용자는 도 13에 도시된 기능별 사용 정보에 의해 제공되는 통찰력을 다양한 방식으로 이용할 수 있다. 예를 들어, 사용자는 배경 작업들 또는 무관한 작업들을 수행함에 있어서 상당한 양의 데이터를 소비하는 설치된 애플리케이션을 종료하기로 (또는 그의 사용을 줄이기로) 결정할 수 있다. 또는, 사용자는 배경 작업들을 위해 많은 데이터 사용을 나타내는 후보 애플리케이션을 다운로드하기를 거부할 수 있다. 환경(100)은 또한 에너지 소비와 관련하여 표현되는 기능별 사용 정보를 제공할 수 있다.
환경(100)은 또한 옵션으로서 요약 표지 또는 소정의 다른 그래픽 객체 또는 스코어를 이용하여 애플리케이션의 데이터 효율을 요약할 수 있다. 데이터 효율은 많은 사항 가운데 특히 전경 작업들에서 소비되는 데이터의 부분을 배경 작업들에서 소비되는 데이터 부분과 대비하여 표현할 수 있다. 추가로 또는 대안으로, 데이터 효율은 특정 애플리케이션의 배경 소비의 양을 동일한 기본 작업을 수행하는 관련 애플리케이션들의 배경 소비와 대비하여 표현할 수 있다.
도 14에서, 환경(100)은 데이터 타입과 관련하여 개인 사용 정보를 형성한다. 즉, 이 특정 예에서, 환경(100)은 텍스트, 이미지, 오디오 스트리밍, 비디오 스트리밍 등을 포함하는 상이한 데이터 타입들을 식별한다. 이어서, 환경(100)은 사용자 장치(102)가 과금 사이클 내에서 지금까지 각각의 타입의 데이터를 얼마나 많이 소비했는지를 전달한다. 도시되지 않았지만, 환경(100)은 또한 이러한 데이터를 애플리케이션별로 또는 애플리케이션 클래스별로 제공할 수 있다. 게다가, 환경(100)은 다른 사용자들의 그룹의 데이터 타입별 데이터 사용을 반영하는 비교 사용 정보를 제공할 수 있다.
도 15는 환경(100)이 도 13의 예에 비해 훨씬 더 상세한 기능별 사용 정보를 제공할 수 있는 시나리오를 나타낸다. 예를 들어, 도 15의 예에서, 환경(100)은 또한 애플리케이션 내에서 데이터를 소비하는 상이한 트랜잭션들과 관련된 네트워크 엔티티들을 식별할 수 있다. 그러한 정보는 본 명세서에서 엔티티 식별 정보로서 지칭된다. 일례에서, 네트워크 엔티티들은 데이터를 수신하는 목적지들 및/또는 데이터를 제공하는 소스들을 검사함으로써 식별될 수 있고, 다른 예에서, 네트워크 엔티티들은 사용자 장치(102)의 각각의 포트를 검사함으로써 식별될 수 있으며, 기타 등등일 수 있다. 일부 예들에서, 엔티티 식별 정보는 트랜잭션으로부터 재정적으로 이익을 얻는 네트워크 트랜잭션 내의 에이전트들을 나타낼 수 있다.
개발자 또는 다른 엔티티는 대응하는 애플리케이션이 데이터를 소비하는 방식을 수정하는 목적으로 도 15에 도시된 기능별 사용 정보를 요청할 수 있다. 예를 들어, 개발자는 애플리케이션의 소정의 기능이 과다한 양의 데이터를 소비하고 있다는 것을 발견할 수 있는데, 예를 들어 그 이유는 이것이 중복적인 또는 비효율적인 네트워크 트랜잭션들 등을 수반하기 때문이다. 따라서, 사용자는 애플리케이션을 더 효율적이게 하기 위해 애플리케이션의 소정 특징들을 재설계하기로 결정할 수 있다. 일반적으로, 개발자는 애플리케이션을 임의의 방식으로, 예를 들어 애플리케이션이 데이터 압축을 수행하는 방식, 애플리케이션이 데이터 캐싱을 수행하는 방식 등을 변경함으로써 수정할 수 있다. 대안으로 또는 추가로, 개발자는 단순히 소정 기능들의 사용을 배제하거나 줄일 수 있다.
대안으로 또는 추가로, 개발자는 애플리케이션을 수정하여, 소정의 데이터 소비 트랜잭션들에 수반되는 네트워크 엔티티들을 변경할 수 있다. 그러한 변경은 소비되고 있는 데이터의 총량을 반드시 변경하지는 않을 수 있으며, 오히려 일부 예들에서 이러한 타입의 변경은 특정 환경과 관련된 비즈니스 사항들(예로서, 재정적 사항들)에 의해 유발될 수 있다.
B. 예시적인 프로세스들
도 16-19는 도 1의 환경의 하나의 동작 방식을 설명하는 절차들을 나타낸다. 환경(100)의 동작의 기초가 되는 원리들은 이미 섹션 A에서 설명되었으므로, 이 섹션에서는 소정의 동작들이 요약 방식으로 다루어질 것이다.
도 16으로부터 시작하면, 이 도면은 도 1의 환경(100)의 하나의 예시적인 동작 방식의 개요를 제공하는 절차(1600)를 나타낸다. 블록 1602에서, 처리 시스템(106)은 각각의 사용자에 의해 조작되는 사용자 장치들로부터 실제 사용 데이터(즉, 데이터 관련 실제 사용 데이터)를 수신할 수 있다. 사용자 장치들 중 하나는 특정 사용자에 의해 조작되는 특정 사용자 장치이다. 블록 1604에서, 처리 시스템(106)은 옵션으로서 사용 정보의 계산에 사용될 수 있지만 데이터의 소비를 자체적으로 표현하지는 않는 보조 데이터를 수신할 수 있다. 예를 들어, 보조 데이터는 계획 데이터, 사용자 프로필 데이터 등을 포함할 수 있다. 블록 1606에서, 처리 시스템(106)은 옵션으로서 애플리케이션들의 시뮬레이션된 사용을 반영하는 시뮬레이션된 사용 데이터 및/또는 에너지 관련 실제 사용 데이터를 수신할 수 있다. 위의 데이터 모두는 일반적으로 본 명세서에서 사용되는 용어법에 따라 사용 데이터를 구성한다.
블록 1608에서, 처리 시스템(106)은 블록 1602-1606에서 수집된 사용 데이터의 임의 부분(들)에 기초하여 사용 정보를 생성한다. 사용 정보는 섹션 A에서 설명된 바와 같이 개인 사용 정보, 예상 사용 정보, 계획된 사용 정보, 비교 사용 정보, 프로세스별 상세 사용 정보 등 중 임의의 사용 정보를 구성할 수 있다.
블록 1610에서, 환경(100)은 트리거링 이벤트가 수신되었는지를 결정한다. 예시적인 타입의 트리거링 이벤트들은 특정 사용자에 의한 개인 사용 정보에 대한 명확한 요청, 특정 사용자에 의한 애플리케이션의 활성화 또는 특정 사용자에 의한 시장 시스템(124)의 활성화를 포함한다. 블록 1612에서, 트리거링 이벤트에 응답하여, 처리 시스템(106)은 예를 들어 (수신된 트리거링 이벤트의 성질에 따라) 일부 상황들에서 개인 사용 정보를 그리고 다른 상황들에서 예상 사용 정보를 제공함으로써 블록 1608에서 생성된 적절한 사용 정보를 제공한다. 도 16은 트리거링 이벤트의 수신 전에 사용 정보가 계산된다는 것을 나타내지만, 처리 시스템(106)은 트리거링 이벤트의 수신 후에 사용 정보를 생성할 수도 있다.
도 17은 데이터 관련 실제 사용 데이터를 사용자 장치(102)로부터 처리 시스템(106)으로 전송하기 위한 절차(1700)를 나타낸다. 블록 1702에서, 사용자 장치(102)는 하나 이상의 이벤트 소스(304)로부터 실제 사용 데이터를 수집하고, 그 데이터를 임시 저장소(114)에 저장한다. 블록 1704에서, 사용자 장치(102)는 임시 저장소(114) 내에 제공된 실제 사용 데이터를 업로드할 시간인지를 결정한다. 블록 1704가 긍정적으로 응답하는 경우, 블록 1706에서, 사용자 장치(102)는 실제 사용 데이터를 압축한다. 블록 1708에서, 사용자 장치(102)는 압축된 실제 사용 데이터를 처리 시스템(106)으로 전송한다.
도 18은 장치 수정 모듈(612)(도 6)이 사용 정보 및/또는 원시 사용 데이터(데이터 관련 및/또는 에너지 관련)에 기초하여 사용자 장치(102)의 거동을 수정할 수 있는 절차(1800)를 나타낸다. 블록 1802에서, 장치 수정 모듈(612)은 특정 애플리케이션에 대한 사용 정보(또는 사용 데이터))를 모니터링한다. 블록 1804에서, 장치 수정 모듈(612)은 사용이 규정된 임계치를 초과하는지 또는 트리거링 이벤트를 구성하는지를 결정한다. 블록 1806에서, 블록 1804가 긍정적으로 응답하는 경우, 장치 수정 모듈(612)은 섹션 A에서 설명된 임의의 방식으로 애플리케이션의 거동을 수정한다.
마지막으로, 도 19는 예를 들어 사용자가 시장 시스템(124)을 방문할 때 처리 시스템(106)이 예상 사용 정보(데이터 관련 및/또는 에너지 관련)를 생성할 수 있는 절차(1900)를 나타낸다. 처리 시스템(106)은 사용자의 적어도 하나의 사용 관련 특성을 고려하여 이러한 작업을 수행한다.
블록 1902에서, 처리 시스템(106)은 각각의 사용자에 의해 조작되는 사용자 장치들의 그룹으로부터 실제 사용 데이터를 수신한다. 실제 사용 데이터는 사용자 장치들에 의해 실행되는 후보 애플리케이션에 의한 데이터(또는 다른 자원들)의 실제 소비를 설명한다. 블록 1904에서, 처리 시스템(106)은 예상 사용 정보가 제공될 특정 사용자와 관련된 특정 사용자 프로필 데이터를 (사용자 장치들의 그룹을 조작하는) 다른 사용자들과 관련된 다른 사용자 프로필 데이터와 함께 수신한다. 블록 1906에서, 처리 시스템(106)은 실제 사용 데이터, 특정 사용자 프로필 데이터 및 다른 사용자 프로필 데이터에 기초하여 예상 사용 정보를 계산한다. 예를 들어, 사용자 프로필 데이터는 특정 사용자가 고소비 데이터 사용자인 것을 나타내는 것으로 가정한다. 처리 시스템(106)은 사용자가 모든 애플리케이션들, 또는 단지 해당 후보 애플리케이션과 유사한 애플리케이션들과 상호작용하는 방식을 검사함으로써 이러한 결론을 형성할 수 있다. 일례에서, 처리 시스템(106)은 또한 (후보 애플리케이션을 실제로 사용한 사용자들의 그룹 내의) 다른 고소비 사용자들로부터 획득된 실제 사용 데이터를 처리함으로써 예상 사용 정보를 형성할 수 있다. 더 일반적으로, 처리 시스템(106)은 특정 사용자와 적어도 하나의 사용 관련 특성을 공유하는 다른 사용자들의 서브세트로부터의 실제 사용 데이터를 이용하여 특정 사용자에 대한 예상 사용 정보를 생성한다. 예를 들어, 두 명의 사용자는 모두가 (일반적으로 또는 애플리케이션들의 소정 클래스와 관련하여) 고소비 데이터 사용자들로서 분류되므로 동등할 수 있다. 게다가, 이러한 두 명의 사용자는 동일한 데이터 계획을 공유할 수 있다. 블록 1908에서, 처리 시스템(106)은 예상 사용 정보를 특정 사용자에게 제공할 수 있다.
C. 대표적인 컴퓨팅 기능
도 20은 전술한 기능들의 임의의 양태를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 기능(2000)을 나타낸다. 예를 들어, 컴퓨팅 기능(2000)은 예를 들어 임의의 사용자 장치 및 처리 시스템(106)의 임의의 양태를 포함하는 도 1의 환경(100)의 임의의 양태를 구현하는 데 사용될 수 있다. 일례에서, 컴퓨팅 기능(2000)은 하나 이상의 처리 장치를 포함하는 임의 타입의 컴퓨팅 장치에 대응할 수 있다. 모든 예들에서, 전기 데이터 컴퓨팅 기능(2000)은 하나 이상의 물리적이고 실체적인 처리 메커니즘을 나타낸다.
컴퓨팅 기능(2000)은 휘발성 및 비휘발성 메모리, 예를 들어 RAM(2002) 및 ROM(2004)은 물론, 하나 이상의 처리 장치(2006)(예로서, 하나 이상의 CPU 및/또는 하나 이상의 GPU 등)를 포함할 수 있다. 컴퓨팅 기능(2000)은 또한 옵션으로서 다양한 매체 장치들(2008), 예를 들어 하드 디스크 모듈, 광 디스크 모듈 등을 포함할 수 있다. 컴퓨팅 기능(2000)은 처리 장치(들)(2006)가 메모리(예로서, RAM(2002), ROM(2004) 등)에 의해 유지되는 명령어들을 실행할 때 전술한 다양한 동작들을 수행할 수 있다.
더 일반적으로, 정적 메모리 저장 장치, 자기 저장 장치, 광학 저장 장치 등을 포함하지만 이에 한정되지 않는 임의의 컴퓨터 판독 가능 매체(2010) 상에 명령어들 및 다른 정보가 저장될 수 있다. 컴퓨터 판독 가능 매체라는 용어는 또한 복수의 저장 장치를 포함한다. 모든 예들에서, 컴퓨터 판독 가능 매체(2010)는 소정 형태의 물리적이고 실체적인 엔티티를 나타낸다.
컴퓨팅 기능(2000)은 또한 (입력 모듈들(2014)을 통해) 다양한 입력들을 수신하고, (출력 모듈들을 통해) 다양한 출력들을 제공하기 위한 입출력 모듈(2012)을 포함한다. 하나의 구체적인 출력 메커니즘은 프레젠테이션 모듈(2016) 및 관련 그래픽 사용자 인터페이스(GUI)(2018)를 포함할 수 있다. 컴퓨팅 기능(2000)은 또한 하나 이상의 통신 도관(2022)을 통해 다른 장치들과 데이터를 교환하기 위한 하나 이상의 네트워크 인터페이스(2020)를 포함할 수 있다. 하나 이상의 통신 버스(2024)는 전술한 컴포넌트들을 함께 통신적으로 결합한다.
통신 도관(들)(2022)은 임의의 방식으로, 예를 들어 근거리 네트워크, 광역 네트워크(예로서, 인터넷) 등 또는 이들의 임의 조합에 의해 구현될 수 있다. 통신 도관(들)(2022)은 임의의 프로토콜 또는 프로토콜들의 조합에 의해 관리되는 하드와이어드 링크, 무선 링크, 라우터, 게이트웨이 기능, 네임 서버 등의 임의 조합을 포함할 수 있다.
대안으로 또는 추가로, 섹션 A 및 B에서 설명된 임의의 기능은 하나 이상의 하드웨어 논리 컴포넌트에 의해 적어도 부분적으로 수행될 수 있다. 한정이 아니라 예로서, 사용될 수 있는 예시적인 타입의 하드웨어 논리 컴포넌트들은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 주문형 표준 제품(ASSP), 시스템 온 칩 시스템(SOC), 복합 프로그래밍 가능 논리 장치(CPLD) 등을 포함한다.
마지막으로, 본 명세서에서 설명되는 기능은 다양한 메커니즘들을 이용하여, 기능에 의해 유지되는 사용자 데이터의 프라이버시를 보장할 수 있다. 예를 들어, 기능은 사용자가 기능의 제공에 명확히 옵트 인(opt in)하는 것을 (이어서, 명확히 옵트 아웃하는 것을) 허가할 수 있다. 기능은 또한 적절한 보안 메커니즘들(예를 들어, 데이터 삭제 메커니즘, 암호화 메커니즘, 패스워드 보호 메커니즘 등)을 제공하여, 사용자 데이터의 프라이버시를 보장할 수 있다.
또한, 본 설명은 예시적인 과제들 또는 문제들과 관련하여 다양한 개념들을 설명했을 수 있다. 이러한 설명 방식은 다른 사람들이 본 명세서에서 특정된 방식으로 과제들 및 문제들을 인식하고/하거나 명료화했다는 것을 인정하는 것이 아니다.
발명 대상이 구조적 특징들 및/또는 방법적 단계들에 고유한 언어로 설명되었지만, 첨부된 청구범위에서 정의되는 발명 대상은 반드시 전술한 특정 특징들 또는 단계들로 한정되지는 않는다는 것을 이해해야 한다. 오히려, 전술한 특정 특징들 및 단계들은 청구범위를 구현하는 예시적인 형태들로서 개시된다.

Claims (10)

  1. 사용 정보를 제공하기 위해 컴퓨팅 기능에 의해 구현되는 방법으로서,
    각각의 사용자에 의해 조작되는 사용자 장치로부터 실제 사용 데이터를 수신하는 단계와 - 상기 사용자 장치는 특정 사용자에 의해 조작되는 특정 사용자 장치를 포함하고, 상기 실제 사용 데이터는 상기 사용자 장치에 의해 실행되는 한 세트의 애플리케이션에 의한 데이터의 실제 소비를 기술하고, 애플리케이션이 무선 통신 기반구조를 통해 데이터가 전달되게 할 때 상기 애플리케이션은 상기 데이터를 소비함 -,
    상기 실제 사용 데이터에 기초하여 애플리케이션 레벨 사용 정보를 생성하는 단계와 - 상기 생성하는 단계는 적어도:
    상기 특정 사용자 장치에 의해 실행되는 특정 애플리케이션에 의한 데이터의 실제 소비를 기술하는 개인 사용 정보를 생성하는 단계와,
    시장 시스템에 의해 제공되는 후보 애플리케이션과 관련된 예상 사용 정보를 생성하는 단계 - 상기 예상 사용 정보는 상기 특정 사용자 장치에 의한 상기 후보 애플리케이션의 실행시에 상기 후보 애플리케이션에 의한 데이터의 예상 소비를 기술함 -
    를 포함함 -,
    상기 특정 사용자에 의해 조작되는 상기 특정 사용자 장치로부터 트리거링 이벤트를 수신하는 단계와,
    상기 트리거링 이벤트에 응답하여, 수신된 상기 트리거링 이벤트의 타입에 따라, 상기 개인 사용 정보 또는 상기 예상 사용 정보를 제공하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 특정 사용자에 의해 지정되는 애플리케이션 고유 할당치를 수신하는 단계 - 각각의 애플리케이션 고유 할당치는 대응하는 애플리케이션에 할당되는 데이터의 양을 기술함 - 를 더 포함하고,
    상기 생성하는 단계는 상기 애플리케이션 고유 할당치들을 참조하여 상기 개인 사용 정보를 생성하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 생성하는 단계는 상기 특정 애플리케이션을 실행한 상기 특정 사용자 장치 외에, 사용자 장치의 그룹으로부터 수신된 실제 사용 데이터를 처리함으로써 비교 사용 정보를 생성하는 단계를 더 포함하고,
    상기 방법은 상기 비교 사용 정보를 상기 개인 사용 정보와 연계하여 상기 특정 사용자에게 제공하는 단계를 더 포함하는
    방법.
  4. 제1항에 있어서,
    상기 특정 사용자 장치가 소비한 상이한 타입의 데이터의 각각의 양을 구별하는 데이터 타입 사용 정보를 상기 특정 사용자에게 제공하는 단계를 더 포함하는
    방법.
  5. 제1항에 있어서,
    상기 생성하는 단계는 상기 후보 애플리케이션을 실행한 사용자 장치의 그룹으로부터 수신된 실제 사용 데이터를 처리함으로써 상기 예상 사용 정보를 생성하는 단계를 더 포함하는
    방법.
  6. 제1항에 있어서,
    상기 특정 사용자가 상기 애플리케이션을 조작하는 방식을 기술하는 특정 사용자 프로필 데이터, 및 다른 사용자들의 그룹 내의 각각의 사용자가 상기 애플리케이션을 조작하는 방식을 기술하는 다른 사용자 프로필 데이터를 수신하는 단계를 더 포함하고,
    상기 생성하는 단계는 상기 특정 사용자 프로필 데이터 및 상기 다른 사용자 프로필 데이터에 기초하여 평가된, 상기 특정 사용자와 적어도 하나의 특성을 공유하는 다른 사용자의 상기 그룹의 서브세트에 의해 제공되는 실제 사용 데이터에 기초하여 상기 예상 사용 정보를 제공하는 단계를 더 포함하는
    방법.
  7. 제1항에 있어서,
    상기 개인 사용 정보는 또한 상기 특정 애플리케이션에 의한 에너지의 실제 소비를 기술하는 에너지 관련 개인 사용 정보를 제공하고, 상기 예상 사용 정보는 또한 상기 후보 애플리케이션이 소비할 것으로 예상되는 에너지의 양을 기술하는 에너지 관련 예상 사용 정보를 제공하고, 상기 에너지 관련 개인 사용 정보 및 상기 에너지 관련 예상 사용 정보는 수집된 에너지 관련 실제 사용 데이터에 기초하는
    방법.
  8. 제1항에 있어서,
    상기 생성하는 단계는 상기 특정 애플리케이션의 각각의 기능에 의해 소비되는 데이터의 양을 지시하는 기능별 사용 정보를 생성하는 단계를 더 포함하는
    방법.
  9. 컴퓨터 판독 가능 명령어를 저장하기 위한 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 판독 가능 명령어는 하나 이상의 처리 장치에 의해 실행될 때 사용 분석 모듈을 제공하고,
    상기 컴퓨터 판독 가능 명령어는
    각각의 사용자에 의해 조작되는 사용자 장치들의 그룹으로부터 실제 사용 데이터를 수신하도록 구성되는 논리와 - 상기 실제 사용 데이터는 상기 사용자 장치에 의해 실행되는 후보 애플리케이션에 의한 자원의 실제 소비를 기술함 -,
    특정 사용자와 관련된 특정 사용자 프로필 데이터와 - 상기 특정 사용자 프로필 데이터는 상기 특정 사용자가 애플리케이션과 상호작용하는 방식을 기술함 -,
    상기 사용자와 관련된 다른 사용자 프로필 데이터 - 상기 다른 사용자 프로필 데이터는 상기 사용자 각각이 상기 애플리케이션과 상호작용하는 방식을 기술함 -
    를 수신하도록 구성되는 논리와,
    상기 실제 사용 데이터, 상기 특정 사용자 프로필 데이터 및 상기 다른 사용자 프로필 데이터에 기초하여 예상 사용 정보를 생성하도록 구성되는 논리
    를 포함하고,
    상기 예상 사용 정보는 상기 후보 애플리케이션이 상기 특정 사용자에 의해 사용될 때 소비할 것으로 예상되는 자원의 양을 기술하는
    컴퓨터 판독 가능 저장 매체.
  10. 사용 정보를 제공하기 위해 컴퓨팅 기능에 의해 구현되는 사용 분석 모듈로서,
    각각의 사용자에 의해 조작되는 사용자 장치로부터 실제 사용 데이터를 수신하도록 구성되는 논리와 - 상기 사용자 장치는 특정 사용자에 의해 조작되는 특정 사용자 장치를 포함하고, 상기 실제 사용 데이터는 상기 사용자 장치에 의해 실행되는 한 세트의 애플리케이션에 의한 자원의 실제 소비를 기술함 -,
    상기 실제 사용 데이터에 기초하여 애플리케이션 레벨 사용 정보를 생성하도록 구성되는 논리
    를 포함하고,
    상기 생성하는 것은 적어도:
    상기 특정 사용자 장치에 의해 실행되는 특정 애플리케이션에 의한 자원의 실제 소비를 기술하는 개인 사용 정보를 생성하는 것과,
    시장 시스템에 의해 제공되는 후보 애플리케이션과 관련된 예상 사용 정보를 생성하는 것
    을 포함하고,
    상기 예상 사용 정보는 상기 특정 사용자 장치에 의한 상기 후보 애플리케이션의 실행시에 상기 후보 애플리케이션에 의한 자원의 예상 소비를 기술하는
    사용 분석 모듈.
KR1020147012448A 2011-11-10 2012-11-08 애플리케이션별 자원 사용량 정보의 제공 기법 KR101980286B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/293,149 US8880022B2 (en) 2011-11-10 2011-11-10 Providing per-application resource usage information
US13/293,149 2011-11-10
PCT/US2012/064010 WO2013070817A2 (en) 2011-11-10 2012-11-08 Providing per-application resource usage information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013774A Division KR102083766B1 (ko) 2011-11-10 2012-11-08 애플리케이션별 자원 사용량 정보의 제공 기법

Publications (2)

Publication Number Publication Date
KR20140090194A true KR20140090194A (ko) 2014-07-16
KR101980286B1 KR101980286B1 (ko) 2019-05-20

Family

ID=47355812

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147012448A KR101980286B1 (ko) 2011-11-10 2012-11-08 애플리케이션별 자원 사용량 정보의 제공 기법
KR1020197013774A KR102083766B1 (ko) 2011-11-10 2012-11-08 애플리케이션별 자원 사용량 정보의 제공 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197013774A KR102083766B1 (ko) 2011-11-10 2012-11-08 애플리케이션별 자원 사용량 정보의 제공 기법

Country Status (7)

Country Link
US (5) US8880022B2 (ko)
EP (1) EP2592780B1 (ko)
JP (4) JP6147757B2 (ko)
KR (2) KR101980286B1 (ko)
CN (1) CN103020841B (ko)
HK (1) HK1183184A1 (ko)
WO (1) WO2013070817A2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374576B2 (en) * 2008-12-04 2013-02-12 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for generating resource utilization alerts through communication terminals
IL218046B (en) * 2012-02-12 2018-11-29 Elta Systems Ltd An architecture for a multi-directional relay and the devices and methods of operation useful by the way
EP2721804B1 (en) * 2011-06-15 2018-04-25 Orange Method of and apparatus for providing an indication of data consumption
US8880022B2 (en) 2011-11-10 2014-11-04 Microsoft Corporation Providing per-application resource usage information
US9544195B1 (en) * 2011-11-30 2017-01-10 Amazon Technologies, Inc. Bandwidth monitoring for data plans
US9369589B2 (en) * 2012-01-27 2016-06-14 Microsoft Technology Licensing, Llc Updating dynamic data usage plans and statistics
US20130260713A1 (en) * 2012-03-28 2013-10-03 Enterproid Hk Ltd Usage metering for custom application containers
EP2862337B1 (en) * 2012-06-15 2020-03-04 Alcatel Lucent Architecture of privacy protection system for recommendation services
US9239771B2 (en) * 2012-07-24 2016-01-19 Appboy, Inc. Method and system for collecting and providing application usage analytics
US9020945B1 (en) * 2013-01-25 2015-04-28 Humana Inc. User categorization system and method
US9135145B2 (en) 2013-01-28 2015-09-15 Rackspace Us, Inc. Methods and systems of distributed tracing
US9397902B2 (en) 2013-01-28 2016-07-19 Rackspace Us, Inc. Methods and systems of tracking and verifying records of system change events in a distributed network system
US9521004B2 (en) * 2013-01-28 2016-12-13 Rackspace Us, Inc. Methods and systems of generating a billing feed of a distributed network
US10860352B2 (en) * 2013-07-25 2020-12-08 Hewlett Packard Enterprise Development Lp Host system and method for managing data consumption rate in a virtual data processing environment
US9009461B2 (en) * 2013-08-14 2015-04-14 Iboss, Inc. Selectively performing man in the middle decryption
US10165571B2 (en) 2013-09-11 2018-12-25 Freebit Co., Ltd. Application state change notification program and method therefor
US10073754B2 (en) * 2013-09-13 2018-09-11 Assurant, Inc. Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
WO2015071758A1 (en) * 2013-11-18 2015-05-21 Orange Data plan and usage based application interface control
CN103746880B (zh) * 2014-01-06 2017-08-01 北京国双科技有限公司 互联网变量测试方法和装置
US9438491B1 (en) * 2014-03-11 2016-09-06 Apteligent, Inc. Service monitor for monitoring a network connection to track the performance of an application running on different mobile devices
EP3207762A4 (en) * 2014-10-17 2018-04-04 Seven Networks, LLC Collaborative policy management strategies at a mobile device
US10635724B2 (en) 2015-01-30 2020-04-28 International Business Machines Corporation Analysis of data utilization
CN104731646B (zh) * 2015-03-31 2019-04-05 北京畅游天下网络技术有限公司 用于交互式应用程序的功能模块管理方法和装置
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10993069B2 (en) 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
CN106708691B (zh) * 2015-07-28 2019-05-24 纬创资通(中山)有限公司 控制电子装置使用时间的方法
US9774648B2 (en) 2015-09-01 2017-09-26 International Business Machines Corporation Equitable and cooperative bandwidth pooling for a shared media event
US9678549B2 (en) 2015-09-28 2017-06-13 International Business Machines Corporation Selectively uploading applications to a mobile device based on power consumption
WO2017076426A1 (en) 2015-11-03 2017-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Managing metering for distributed iot applications
CN106937240B (zh) 2015-12-31 2020-10-09 华为技术有限公司 一种获取资源的方法和装置
US20170195250A1 (en) * 2016-01-06 2017-07-06 Google Inc. Automatic data restrictions based on signals
US9680801B1 (en) 2016-05-03 2017-06-13 Iboss, Inc. Selectively altering references within encrypted pages using man in the middle
US10511510B2 (en) * 2016-11-14 2019-12-17 Accenture Global Solutions Limited Performance of communication network based on end to end performance observation and evaluation
US10469671B2 (en) 2016-12-27 2019-11-05 At&T Mobility Ii Llc Network-based per-application data usage limitations
US10764383B1 (en) * 2017-03-28 2020-09-01 CatchOn, Inc. Correlation of usage to corresponding users through device and DNS agents
US10764788B2 (en) 2017-11-29 2020-09-01 International Business Machines Corporation Managing bandwidth in mobile telecommunications networks
US10212467B1 (en) * 2018-03-19 2019-02-19 At&T Intellectual Property I, L.P. Method and apparatus for streaming video
CN109003117A (zh) * 2018-06-14 2018-12-14 万翼科技有限公司 问卷的生成方法、装置和计算机可读存储介质
EP3842950A4 (en) * 2018-08-24 2021-10-27 Mitsubishi Electric Corporation DATA COLLECTION SERVER, DATA USE SERVER, EQUIPMENT, DATA CIRCULATION SYSTEM, DATA COLLECTION METHOD AND PROGRAM
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
US11095735B2 (en) * 2019-08-06 2021-08-17 Tealium Inc. Configuration of event data communication in computer networks
US11196827B2 (en) * 2019-10-30 2021-12-07 At&T Intellectual Property I, L.P. Data management for connected devices
US11146656B2 (en) 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
KR20230001882A (ko) * 2021-06-29 2023-01-05 한국과학기술원 앱의 기능 단위 사용량을 분석하는 방법 및 장치
KR102587263B1 (ko) * 2023-02-27 2023-10-12 주식회사 노타 인공지능 기반의 모델의 벤치마크 결과를 제공하기 위한 방법 및 디바이스
KR102562263B1 (ko) * 2023-04-05 2023-08-02 (주)시지태테크놀러지 애플리케이션 사용량에 기반하여 계정에 등급을 부여하기 위한 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009132710A1 (en) * 2008-04-30 2009-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Selection of a service within a telecommunications network
US20100015926A1 (en) * 2008-07-18 2010-01-21 Luff Robert A System and methods to monitor and analyze events on wireless devices to predict wireless network resource usage
US20100012565A1 (en) * 2006-01-31 2010-01-21 Mallinckrodt Baker, Inc. High Efficiency Chromatography Column with Re-usable End Cap

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260021B1 (en) * 1998-06-12 2001-07-10 Philips Electronics North America Corporation Computer-based medical image distribution system and method
US6678824B1 (en) * 1999-11-02 2004-01-13 Agere Systems Inc. Application usage time limiter
US20020107026A1 (en) * 2000-12-15 2002-08-08 Prathima Agrawal Dynamic predictive resource reservation in wireless networks
US7415038B2 (en) * 2001-03-29 2008-08-19 International Business Machines Corporation Method and system for network management providing access to application bandwidth usage calculations
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
JP2004021630A (ja) * 2002-06-17 2004-01-22 Sharp Corp 表示装置、画像処理装置、および表示システム
US20040267548A1 (en) * 2003-06-25 2004-12-30 Jones James O. Workload profiling in computers
US7051300B1 (en) * 2003-09-04 2006-05-23 Advanced Micro Devices, Inc. Method and system for architectural power estimation
JP2006221454A (ja) * 2005-02-10 2006-08-24 Ricoh Co Ltd アプリ管理装置、アプリ管理プログラムおよび画像形成装置
JP4668022B2 (ja) * 2005-09-15 2011-04-13 パナソニック株式会社 携帯端末
US20070299789A1 (en) 2006-06-27 2007-12-27 Numobiq Inc. Assessing and Monetizing Bandwidth Usage in a Networked Mobile Application
US8743703B2 (en) * 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8413260B2 (en) * 2007-01-08 2013-04-02 Cisco Technology, Inc. Methods and apparatuses for automatically initiating an application
JP4749380B2 (ja) * 2007-04-23 2011-08-17 Sky株式会社 インストール管理方法とインストール管理プログラムとインストール管理装置
WO2008137158A1 (en) * 2007-05-07 2008-11-13 Biap, Inc. Context-dependent prediction and learning with a universal re-entrant predictive text input software component
JP4964683B2 (ja) * 2007-06-18 2012-07-04 株式会社リコー 通信装置およびプログラム
US9392074B2 (en) * 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
JP2009098789A (ja) * 2007-10-15 2009-05-07 Canon Inc 情報処理装置
JP5345775B2 (ja) * 2007-10-30 2013-11-20 京セラ株式会社 携帯電子機器
US8019683B1 (en) * 2007-11-02 2011-09-13 At&T Mobility Ii Llc Intelligent charging for services
JP5343358B2 (ja) * 2008-01-09 2013-11-13 ヤマハ株式会社 電子機器
EP2241100B1 (en) 2008-01-09 2018-08-22 T-Mobile USA, Inc. Mobile application monitoring system
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8626115B2 (en) * 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8099332B2 (en) * 2008-06-06 2012-01-17 Apple Inc. User interface for application management for a mobile device
GB0816449D0 (en) * 2008-09-09 2008-10-15 Vodafone Plc Mobile phone carbon footprint
US8533844B2 (en) * 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8443189B2 (en) * 2008-10-24 2013-05-14 International Business Machines Corporation Trust event notification and actions based on thresholds and associated trust metadata scores
US8713157B2 (en) * 2008-11-14 2014-04-29 Interpret, Llc System for collecting computer application usage data of targeted application programs executed on a plurality of client devices
US9268386B2 (en) * 2009-01-09 2016-02-23 Qualcomm Incorporated Methods and systems for dynamic service flow using available battery power
US8538484B2 (en) 2009-08-14 2013-09-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
JP5423362B2 (ja) * 2009-12-03 2014-02-19 日本電気株式会社 情報処理端末およびその制御方法
US20110138307A1 (en) * 2009-12-09 2011-06-09 Microsoft Corporation Publishing client device usage data
JP5448787B2 (ja) * 2009-12-21 2014-03-19 三菱重工業株式会社 計算機管理装置、計算機管理方法及び計算機管理プログラム
US8112062B2 (en) * 2009-12-22 2012-02-07 Cellco Partnership System and method for sending threshold notification in real time
JP4982578B2 (ja) 2010-02-22 2012-07-25 西日本電信電話株式会社 リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
US8606667B2 (en) * 2010-02-26 2013-12-10 Red Hat, Inc. Systems and methods for managing a software subscription in a cloud network
US8230061B2 (en) * 2010-03-17 2012-07-24 Microsoft Corporation Network resource management with prediction
US20110246381A1 (en) * 2010-03-30 2011-10-06 Aide Audra Fitch Systems and methods of modeling energy consumption of buildings
US9785472B2 (en) * 2010-06-11 2017-10-10 Hewlett Packard Enterprise Development Lp Computing cluster performance simulation using a genetic algorithm solution
GB2481255A (en) * 2010-06-18 2011-12-21 Skype Ltd Dynamically adapting network bandwidth limitations for applications on a device based on current transmission conditions
WO2012060997A2 (en) * 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
WO2012061194A2 (en) * 2010-11-01 2012-05-10 Google Inc. Mobile device-based bandwidth throttling
US8660523B2 (en) * 2010-11-08 2014-02-25 Alcatel Lucent Method of providing rate tiers in wireless communication systems
US8971841B2 (en) * 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US9137620B1 (en) * 2010-12-27 2015-09-15 Sprint Communications Company L.P. Conformity analysis system for analyzing conformity to restrictions on the use of a wireless communication device
US8509072B2 (en) * 2011-03-07 2013-08-13 Comcast Cable Communications, Llc Network congestion analysis
US9396482B2 (en) * 2011-08-31 2016-07-19 Verizon Patent And Licensing Inc. Data usage plan associated with user device
US9344335B2 (en) * 2011-09-09 2016-05-17 Microsoft Technology Licensing, Llc Network communication and cost awareness
US8554179B2 (en) * 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US8359389B1 (en) * 2011-10-11 2013-01-22 Google Inc. Monitoring application program resource consumption
US8880022B2 (en) 2011-11-10 2014-11-04 Microsoft Corporation Providing per-application resource usage information
US9727383B2 (en) * 2012-02-21 2017-08-08 Microsoft Technology Licensing, Llc Predicting datacenter performance to improve provisioning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100012565A1 (en) * 2006-01-31 2010-01-21 Mallinckrodt Baker, Inc. High Efficiency Chromatography Column with Re-usable End Cap
WO2009132710A1 (en) * 2008-04-30 2009-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Selection of a service within a telecommunications network
US20100015926A1 (en) * 2008-07-18 2010-01-21 Luff Robert A System and methods to monitor and analyze events on wireless devices to predict wireless network resource usage

Also Published As

Publication number Publication date
JP6147757B2 (ja) 2017-06-14
EP2592780A3 (en) 2013-09-04
JP2017188113A (ja) 2017-10-12
US20150039756A1 (en) 2015-02-05
US8880022B2 (en) 2014-11-04
US20160142558A1 (en) 2016-05-19
WO2013070817A2 (en) 2013-05-16
US20170289363A1 (en) 2017-10-05
US20130122854A1 (en) 2013-05-16
EP2592780A2 (en) 2013-05-15
KR101980286B1 (ko) 2019-05-20
US9247017B2 (en) 2016-01-26
JP2014533406A (ja) 2014-12-11
KR20190055264A (ko) 2019-05-22
US10154153B2 (en) 2018-12-11
JP2020009482A (ja) 2020-01-16
EP2592780B1 (en) 2014-07-16
WO2013070817A3 (en) 2013-07-11
JP6465916B2 (ja) 2019-02-06
JP6592474B2 (ja) 2019-10-16
CN103020841B (zh) 2016-05-18
KR102083766B1 (ko) 2020-03-02
JP2017174432A (ja) 2017-09-28
HK1183184A1 (en) 2013-12-13
US20190116271A1 (en) 2019-04-18
US9686419B2 (en) 2017-06-20
CN103020841A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
KR101980286B1 (ko) 애플리케이션별 자원 사용량 정보의 제공 기법
JP7451479B2 (ja) コンピューティング・デバイスについてのシステム性能およびイベント・データを収集、追跡、および記憶するためのシステムおよび方法
US10353799B2 (en) Testing and improving performance of mobile application portfolios
Liu et al. Understanding diverse usage patterns from large-scale appstore-service profiles
US20120317266A1 (en) Application Ratings Based On Performance Metrics
US10783002B1 (en) Cost determination of a service call
US20170352071A1 (en) Smart cost analysis of household appliances
KR101444726B1 (ko) 고객 맞춤형 피부 진단 및 관리 방법, 이를 구현하는 서버, 그 시스템 및 기록매체
US20110251966A1 (en) Source Aware Data Center Power Profiles
US10474954B2 (en) Feedback and customization in expert systems for anomaly prediction
CN109543891A (zh) 容量预测模型的建立方法、设备及计算机可读存储介质
WO2019086522A1 (en) A COMPUTER IMPLEMENTED METHOD, A SYSTEM AND A COMPUTER PROGRAM FOR OPTIMIZING THE OPERATION OF A CLOUD HOSTED SOFTWARE AS A SERVICE (SaaS) SYSTEM
CN111382436B (zh) 检测用于异常系统的兼容系统的方法
EP2533177A1 (en) Application ratings based on performance metrics
JP2023538121A (ja) デバイス管理システム及び方法
KR20140060188A (ko) 불법소프트웨어 사용을 진단하고 관리하는 방법 및 그 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant