KR101835303B1 - 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들 - Google Patents

컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR101835303B1
KR101835303B1 KR1020167009707A KR20167009707A KR101835303B1 KR 101835303 B1 KR101835303 B1 KR 101835303B1 KR 1020167009707 A KR1020167009707 A KR 1020167009707A KR 20167009707 A KR20167009707 A KR 20167009707A KR 101835303 B1 KR101835303 B1 KR 101835303B1
Authority
KR
South Korea
Prior art keywords
computing device
performance
computing devices
data set
system event
Prior art date
Application number
KR1020167009707A
Other languages
English (en)
Other versions
KR20160120714A (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 KR20160120714A publication Critical patent/KR20160120714A/ko
Application granted granted Critical
Publication of KR101835303B1 publication Critical patent/KR101835303B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Power Sources (AREA)
  • Telephonic Communication Services (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

시스템은 다양한 컴퓨팅 장치들에 대한 시스템 및 이벤트 데이터를 추적 및 저장하도록 구성된다. 상기 시스템은 상기 다양한 컴퓨팅 장치들을 상기 컴퓨팅 장치들의 특징들에 적어도 부분적으로 기초하여 프로파일들과 연관시킨다. 상기 시스템은 또한 특정 프로파일을 갖는 특정 컴퓨팅 장치들에 대한 성능 데이터 및/또는 성능 메트릭을 상기 특정 프로파일들을 공유하는 모든 다른 장치들에 대해 비교하도록 구성된다. 이때, 상기 시스템은 상기 비교를 상기 특정 컴퓨터 장치의 사용자에게 디스플레이하고, 상기 성능 및 시스템 이벤트 데이터에 기초하여 상기 특정 컴퓨팅 장치에서의 문제를 실질적으로 자동으로 진단하며, 및/또는 상기 사용자로 하여금 상기 성능 및 시스템 이벤트 데이터에 기초하여 상기 문제를 진단할 수 있게 한다.

Description

컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR COLLECTING, TRACKING, AND STORING SYSTEM PERFORMANCE AND EVENT DATA FOR COMPUTING DEVICES}
본 발명은 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법에 관한 것이다.
컴퓨팅 문제들을 진단할 때, 기술자들이나 기타 다른 사람들은 상기 컴퓨팅 장치에 관한 현재 상태에서의 정보만을 확인할 수 있을 것이다. 이러한 것은, 상기 장치가 진정으로 열악한 방식(sub-standard way)으로 수행하고 있는지, 그렇다면 상기 열악한 성능을 일으키는 것이 무엇인지를 결정하기 어렵게 할 수 있다.
따라서, 컴퓨팅 장치들의 성능을 평가하고 및/또는 개선하는 데 있어 사용자를 지원하기 위한 개선된 시스템들 및 방법들이 요구된다.
컴퓨터 실행가능한 명령들을 저장한 비-일시적 컴퓨터 판독가능한 매체로서: (A) 시간에 걸쳐 취해진 복수의 컴퓨팅 장치들의 각각과 연관된 타임 스탬프 성능을 메모리에 저장하고; (B) 시간에 걸쳐 취해진 상기 복수의 컴퓨팅 장치들의 각각과 연관된 타임 스탬프 이벤트 데이터를 메모리에 저장하고; 및 (C) 상기 복수의 컴퓨팅 장치들 중 제 1 장치와 연관된 개인에게, 상기 복수의 컴퓨팅 장치들로부터 상기 제 1 컴퓨팅 장치와 유사한 다른 컴퓨팅 장치들의 일반적인 성능과 상기 제 1 컴퓨팅 장치의 성능을 비교한 것을 제공하도록 적어도 상기 타임 스탬프 성능 데이터 및/또는 상기 이벤트 데이터를 사용하기 위한 컴퓨터-실행가능한 명령들을 저장하는, 상기 비-일시적 컴퓨터 판독가능한 저장 매체가 있다. 상기 비교는 예를 들면, 시간에 걸쳐 취해진 하나 이상의 컴퓨팅 장치들에 대한 성능 및/또는 이벤트 데이터를 디스플레이하는 정보(또는 상기 복수의 컴퓨팅 장치들에 대한 집계된 정보)의 종적 디스플레이의 형태가 될 수 있다.
다양한 실시예들에 따라, 비-일시적 컴퓨터 판독가능한 저장 매체는: (A) 하나 이상의 특징들을 포함하는 장치 프로파일을 갖는 제 1 컴퓨팅 장치에 대한 제 1 시스템 이벤트 데이터를 수신하고; (B) 상기 제 1 컴퓨팅 장치에 대한 제 1 성능 데이터를 수신하고; (C) 상기 장치 프로파일을 갖는 적어도 하나의 제 2 컴퓨팅 장치에 대한 제 2 시스템 이벤트 데이터를 수신하고; (D) 상기 적어도 하나의 제 2 컴퓨팅 장치에 대한 제 2 성능 데이터를 수신하고; (E) 사용자로 하여금 상기 제 1 시스템 이벤트 데이터, 상기 제 1 성능 데이터, 상기 제 2 시스템 이벤트 데이터, 및 상기 제 2 성능 데이터를 비교할 수 있게 하는, 컴퓨터-실행가능한 명령들을 저장한다.
특정 실시예들에 따라, 컴퓨터 시스템은 적어도 하나의 프로세서를 포함한다. 다양한 실시예들에 있어서, 상기 컴퓨터 시스템은: (A) 제 1 모바일 컴퓨팅 장치와 연관된 제 1 데이터를 수신하는 것으로, 여기서 상기 제 1 데이터는 제 1 성능 데이터 및 적어도 하나의 제 1 시스템 이벤트를 포함하고, 상기 제 1 모바일 컴퓨팅 장치는 적어도 하나의 모바일 장치 특징을 포함하는, 상기 제 1 데이터의 수신과; (B) 하나 이상의 제 2 모바일 컴퓨팅 장치들과 연관된 제 2 데이터를 수신하는 것으로, 여기서 상기 제 2 데이터는 제 2 성능 데이터 및 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들의 각각에 대한 적어도 하나의 제 2 시스템 이벤트를 포함하는, 상기 제 2 데이터의 수신과; (C) 적어도 하나의 프로파일을 확립하는 것으로, 여기서 상기 적어도 하나의 프로파일은 상기 적어도 하나의 모바일 장치 특징과 연관되는, 상기 프로파일 확립과; (D) 상기 하나 이상의 제 2 컴퓨팅 장치들 중 어느 것이 상기 적어도 하나의 모바일 장치 특징을 갖는지를 결정하는 것과; (E) 상기 하나 이상의 제 2 컴퓨팅 장치들이 상기 적어도 하나의 모바일 장치 특징을 갖는지에 대한 결정에 적어도 부분적으로 응답하여, 상기 하나 이상의 제 2 컴퓨팅 장치들을 상기 프로파일에 할당하는 것과; (F) 상기 제 1 컴퓨팅 장치가 상기 적어도 하나의 모바일 장치 특징을 갖는 지를 결정하는 것과; (G) 상기 프로파일에 할당된 상기 하나 이상의 제 2 컴퓨팅 장치들의 제 1 데이터 및 제 2 데이터를 상기 제 1 모바일 장치의 사용자에게 디스플레이하는 것을 수행하도록 구성된다.
다양한 실시예들에 따라, 컴퓨터 실행 방법은 프로세서에 의해 복수의 컴퓨팅 장치들에 대한 시스템 이벤트 데이터 및 시스템 성능 데이터를 수신하는 단계를 포함한다. 특정 실시예들에서, 상기 복수의 컴퓨팅 장치들은 제 1 시스템 이벤트 데이터 및 제 1 시스템 성능 데이터와 연관된 제 1 컴퓨팅 장치를 포함하고, 상기 복수의 컴퓨팅 장치들의 적어도 하나 이상의 특징들에 기초한 적어도 하나의 프로파일 공유한다. 다양한 실시예들에서, 상기 컴퓨터 실행 방법은: 상기 시스템 이벤트 데이터 및 상기 시스템 성능 데이터에 적어도 부분적으로 기초하여 상기 복수의 컴퓨팅 장치들에 대한 평균 성능 메트릭을 프로세서에 의해 결정하는 단계; 상기 제 1 시스템 이벤트 데이터 및 상기 제 1 시스템 성능 데이터에 적어도 부분적으로 기초하여 상기 제 1 컴퓨팅 장치에 대한 제 1 성능 메트릭을 프로세서에 의해 결정하는 단계; 및 상기 평균 성능 메트릭 및 상기 제 1 성능 메트릭을 프로세서에 의해 상기 제 1 컴퓨팅 장치의 사용자에게 디스플레이하는 단계를 포함한다.
컴퓨팅 장치들에 대한 성능 및 시스템 정보를 수집, 추적 및 저장하기 위한 시스템 및 방법의 다양한 실시예들이 하기에 기술된다. 이러한 기술의 과정에서, 첨부된 도면들이 참조될 것이며, 이들은 반드시 스케일대로 도시되지 않았다.
도 1은 본 시스템의 일 실시예에 따른 컴퓨팅 장치의 진단 시스템의 블록도.
도 2는 다양한 실시예들에 사용하기 적합한, 도 1의 시스템 정보 서버와 같은 컴퓨터의 개략도.
도 3은 일반적으로 예를 들면 도 1의 시스템 정보 서버에 의해 실행될 수 있는 시스템 진단 모듈들에 의해 실행되는 다양한 단계를 도시하는 흐름도.
도 4 내지 도 9는 다양한 실시예들에 따른 시스템의 예시적인 스크린 디스플레이들을 도시하는 도면들.
이제, 다양한 실시예들이 첨부된 도면들을 참조하여 이후 더욱 상세하게 기술될 것이다. 본 발명은 많은 상이한 형태들로 구현될 수 있다는 것을 이해해야하며, 여기에서 설명되는 실시예들로 제한되는 것으로 해석되어서는 안 된다. 오히려, 이러한 실시예들이 제공됨으로써, 본 개시가 철저하고 완전하게 될 것이며, 본 발명의 범위를 당업자에게 완전하게 전달할 것이다. 전반에 걸쳐, 동일한 번호들은 동일한 요소들을 참조한다.
개요
다양한 실시예들에서, 컴퓨팅 장치들(예를 들면, 데스크-탑 컴퓨터나, 태블릿 컴퓨터, 스마트폰과 같은 모바일 컴퓨팅 장치, 등)에 대한 성능 및 시스템 정보를 수집, 추적 및 저장하기 위한 시스템 및 방법은 하나 이상의 컴퓨팅 장치들(예를 들면, 하나 이상의 유사한 컴퓨팅 장치들), 특히 모바일 컴퓨팅 장치들에 대한 시스템 및 성능 정보를 저장한다. 다양한 실시예들에서, 컴퓨팅 장치의 성능 정보는 예를 들면 컴퓨터 장치에 대한 배터리 사용, 프로세서 자원 사용, 등과 같은 임의의 적합한 성능 정보를 포함한다. 컴퓨팅 장치 시스템 정보는 임의의 적합한 시스템 정보(예를 들면, 이벤트 정보)를 포함할 수 있으며, 이들은 예를 들면: (1) 신호 레벨의 변화(예를 들면, 무선 네트워크와의 연결에서의 신호 세기의 변화); (2) 새로 설치된 소프트웨어에 대한 정보; (3) 컴퓨팅 장치에 접속되거나 또는 그로부터 분리된 주변 장치들(예를 들면, 상기 컴퓨팅 장치와 연관된 USB, 파이어와이어(FireWire) 또는 다른 적합한 포트를 통한 프린터, 스캐너, 스마트폰 등)의 로그(log); (4) 상기 컴퓨팅 장치가 어떤 컴퓨터 네트워크에 대해 접속 및/또는 분리되는지에 관한 정보; (5) 상기 컴퓨팅 장치를 통해 방문되는 임의의 웹 사이트 등이다.
다양한 실시예들에서, 상기 시스템은 실질적으로 규칙적인 간격들(예를 들면, 매일, 매주, 매시간, 또는 어떠한 다른 적합한 간격)로 이러한 정보를 수집하고 저장한다. 다른 실시예들에서, 상기 시스템은 이벤트가 발생함에 따라 실질적으로 자동으로 데이터를 수집하도록 구성된다. 예를 들면, 스마트폰의 경우, 상기 시스템은 상기 스마트폰에 새로운 소프트웨어 애플리케이션을 설치하는 것과 관련된 시스템 이벤트에 대한 정보를 수집할 수 있다. 이 예에서 상기 시스템 이벤트 데이터는 예를 들면, 소프트웨어 애플리케이션의 발행인, 소프트웨어 애플리케이션의 버전 또는 소프트웨어 애플리케이션과 관련된 임의의 다른 정보를 포함할 수 있다. 다양한 실시예들에서, 상기 수집된 정보는 컴퓨팅 장치의 성능 및 시스템 정보의 종적 뷰(longitudinal view)를 제공하는데 사용될 수 있다(예를 들면, 시간에 걸친 상기 성능 및 시스템 정보의 스냅샷 또는 다른 묘사).
특정 실시예들에서, 상기 시스템은 상기 수집된 정보를 저장하여 예를 들면, 이후의 검색을 위해 클라우드 저장 서버 또는 다른 서버로 전송하도록 구성된다. 상기 시스템은 상기 장치가 아이들 상태(idle)이거나 충전 상태라는 결정에 응답하는 것과 같이 미리 결정된 이벤트에 응답하여 실질적으로 규칙적인 간격으로, 또는 임의의 다른 적합한 시간에 상기 정보를 전송하도록 구성될 수 있다.
다양한 실시예들에서, 상기 시스템은 특정한 컴퓨팅 장치에서의 성능 문제를 해결하는 사용자에게 상기 정보를 제공하도록 구성된다. 특정 실시예들에서, 상기 시스템은 문제가 처리되는 특정 컴퓨팅 장치에 대해서만 상기 정보를 제공한다. 다른 실시예들에서, 상기 시스템은 문제가 처리되는 컴퓨팅 장치에 대한 상기 정보와 문제가 있는 상기 컴퓨팅 장치와 유사한 컴퓨팅 장치들과 연관된 정보(예를 들면, 종합한 정보)를 제공하도록 구성된다. 이러한 유사한 컴퓨팅 장치들은, 예를 들면: (1) 유사한 장치 제조사 및 모델; (2) (예를 들면, 유사한 프로세서, 유사한 RAM의 양 등과 같은) 유사한 하드웨어 구성을 갖는 장치; (3) 유사한 유형의 컴퓨팅 장치(예를 들면, 다른 태블릿 컴퓨터, 기타 스마트폰, 등); (4) 유사한 지리적 영역에 위치된 컴퓨팅 장치; (5) 유사한 소프트웨어를 실행하는 컴퓨팅 장치; (6) 유사하거나 동일한 네트워크를 통해 연결된 컴퓨팅 장치(예를 들면, 특정 로컬 영역 네트워크, 셀룰러 폰 네트워크, 등); (7) 유사하게 연결된 주변 장치를 갖는 컴퓨팅 장치; (8) 유사한 운영 시스템을 실행하는 컴퓨팅 장치; 및/또는 (9) 또는 임의의 다른 적합한 유사한 컴퓨팅 장치를 포함할 수 있다. 다양한 실시예들에서, 유사한 다른 장치들(예를 들면, 유사한 장치들의 평균 성능)에 대해 장치 성능을 비교하는 것은 상기 시스템이 유사한 장치들의 실제 성능에 대비한 특정 장치의 상대적 성능을 제공할 수 있게 한다(예를 들면, 이러한 것은 미리 결정된 기준치의 성능 메트릭에 대한 비교와는 대조적이다).
다양한 실시예들에서, 상기 시스템은 기술자가 상기 정보(예를 들면, 성능 정보 및/또는 시스템 정보)에 적어도 부분적으로 기초하여 컴퓨팅 장치를 진단하거나 또는 문제를 처리할 수 있게 하도록 구성된다. 예를 들어, 상기 시스템은 과거(historical) 컴퓨팅 장치 성능 정보는 물론, 어떤 이벤트들(예를 들면, 특정 소프트웨어의 설치, 등)이 장치 성능의 감소를 일으키는지를 기술자 또는 다른 사용자가 결정할 수 있게 하는데 사용될 수 있는 시스템 정보를 디스플레이할 수 있다. 다른 실시예들에서, 상기 시스템은 상기 성능 및 시스템 정보에 적어도 부분적으로 기초하여 상기 컴퓨팅 장치를 실질적으로 자동으로 진단하거나 문제를 처리하도록 구성된다. 다양한 실시예들에서, 상기 정보는, 상기 컴퓨팅 장치가 악성 소프트웨어(예를 들면, 바이러스, 스파이웨어, 애드웨어, 등)에 의해 감염되는지, 상기 컴퓨팅 장치가 조각모음처리(defragment)될 필요가 있는지, 상기 컴퓨팅 장치가 열적 피로를 겪고 있는지, 또는 상기 컴퓨팅 장치의 프로세서 또는 배터리가 다른 적합한 하드웨어 장애를 겪고 있는지를 드러낼 수 있다. 다양한 실시예들에서, 상기 시스템은 상기 정보에 기초하여 진단된 어떠한 문제도 실질적으로 자동으로 수정하도록 구성된다.
예시적인 기술 플랫폼
관련 분야의 숙련자에 의해 이해될 바와 같이, 본 발명은, 예를 들면, 컴퓨터 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 다양한 실시예들은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 또는 소프트웨어와 하드웨어 양면들을 조합한 실시예의 형태를 취할 수 있다. 또한, 특정 실시 예들은 저장 매체에 구현된 컴퓨터-판독가능 명령들(예를 들면, 소프트웨어)을 갖는 컴퓨터 판독가능한 저장 매체 상에 저장된 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 다양한 실시예들은 웹 실행 컴퓨터 소프트웨어의 형태를 취할 수 있다. 임의의 적합한 컴퓨터 판독가능 저장 매체는 예를 들면, 하드 디스크, 콤팩트 디스크, DVD, 광 저장 장치, 및/또는 자기 저장 장치를 포함하여 활용될 수 있다.
다양한 실시예들이 방법, 장치(예를 들면, 시스템), 및 컴퓨터 프로그램 제품의 블록도 및 흐름도의 도면을 참조하여 하기에 기술된다. 블록도 및 흐름도 도면의 각각의 블록과, 블록도 및 흐름도 도면의 조합은 각각 컴퓨터 프로그램 명령을 실행하는 컴퓨터에 의해 실행될 수 있다는 것을 이해해야 한다. 이러한 컴퓨터 프로그램 명령들이 범용 컴퓨터, 특수용 컴퓨터 또는 다른 프로그램 가능한 데이터 프로세싱 장치상에 로딩되어, 상기 컴퓨터 또는 다른 프로그램 가능한 데이터 프로세싱 장치상에서 실행되는 명령들이 상기 흐름도 블록 또는 블록들에서 명시된 기능들을 실행하기 위한 수단들을 발생하는 머신을 생성한다.
이들 컴퓨터 프로그램 명령들은 또한 컴퓨터 또는 다른 프로그램가능한 데이터 프로세싱 장치가 특정한 방식으로 기능할 수 있도록 컴퓨터 판독가능한 메모리에 저장될 수 있어, 상기 컴퓨터 판독가능한 메모리에 저장된 명령들이 상기 흐름도 블록 또는 블록들에 명시된 기능을 수행하도록 구성된 제조 품목을 생성한다. 상기 컴퓨터 프로그램 명령들은 또한 일련의 동작 단계들이 컴퓨터 또는 다른 프로그램가능한 장치에서 실행되도록 컴퓨터 또는 다른 프로그램가능한 데이터 프로세싱 장치에 저장될 수 있어, 상기 컴퓨터 또는 다른 프로그램가능한 장치에서 실행하는 명령들이 상기 흐름도 블록 또는 블록들에 명시된 기능을 수행하는 단계들을 제공하도록 컴퓨터 실행 프로세스를 생성한다.
따라서, 블록도 및 흐름도의 블록들은 명시된 기능들을 수행하는 메카니즘의 조합, 명시된 기능들을 수행하기 위한 단계들의 조합, 명시된 기능들을 수행하기 위한 프로그램 명령들을 지원한다. 블록도 및 흐름도의 각각의 블록과 블록도 및 흐름도의 블록들의 조합들은, 명시된 기능들이나 단계들을 수행하는 특정 목적의 하드웨어 기반 컴퓨터 시스템들, 또는 특정 목적의 하드웨어와 적합한 컴퓨터 명령들을 실행하는 다른 하드웨어의 조합에 의해 실행될 수 있다.
구조의 시스템 예
도 1은 특정 실시예에 따른 시스템(110)의 블록도이다. 이 도면으로부터 알 수 있는 바와 같이, 시스템(110)은 하나 이상의 컴퓨터 네트워크(115), 시스템 정보 서버(100), 데이터베이스(140), 및 (예를 들면, 스마트폰, 태블릿 컴퓨터, 웨어러블 컴퓨터 장치, 랩탑 컴퓨터 등과 같은) 모바일 컴퓨팅 장치(156) 또는 데스크 탑 컴퓨터(154)를 포함한다. 특정 실시예들에서, 하나 이상의 컴퓨터 네트워크들은 시스템 정보 서버(100)와 데이터베이스(140)와 하나 이상의 원격 컴퓨팅 장치들(152, 154) 간의 통신을 용이하게 한다.
하나 이상의 컴퓨터 네트워크들(115)은 인터넷, 개인 인트라넷, 메시 네트워크, 공중 교환 전화망(PSTN) 또는 임의의 다른 유형의 네트워크(예를 들면, 컴퓨터들 사이의 통신을 용이하게 하는 블루투스(Bluetooth) 또는 근거리 무선 통신을 사용하는 네트워크)와 같은 임의의 다양한 유형의 유무선 컴퓨터 네트워크들을 포함한다. 시스템 정보 서버(100)와 데이터베이스(140) 간의 통신 링크는 예를 들면, 근거리 통신망(LAN)을 통해 또는 인터넷을 통해 구현될 수 있다.
도 2는 예를 들면, 클라이언트 컴퓨터(실례로, 도 1에 도시된 클라이언트 컴퓨터들(152, 154) 중 하나)로서 또는 서버 컴퓨터(실례로, 도 1에 도시된 시스템 정보 서버(100))로서 시스템(110) 내에서 사용될 수 있는 컴퓨터 아키텍쳐(120)의 개략적 표현을 도시한다. 특정 실시예들에서, 컴퓨터(120)는 컴퓨팅 장치들에 대한 성능 및 시스템 정보를 수집, 추적 및 저장하기 위해 구성되는 시스템(110)의 컨텍스트 내의 컴퓨터로 사용하기에 적합할 수 있다.
특정 실시예들에서, 컴퓨터(120)는 LAN, 인트라넷, 익스트라 넷, 및/또는 인터넷에 있는 다른 컴퓨터들에 연결(예를 들면, 네트워킹)될 수 있다. 상술한 바와 같이, 컴퓨터(120)는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 컴퓨터의 역할로서, 또는 피어-투-피어(또는 분산된) 네트워크 환경에서 피어 컴퓨터(peer computer)로서 동작할 수 있다. 컴퓨터(120)는 데스크탑 퍼스널 컴퓨터(PC), 태블릿 PC, 셋-탑 박스(STB), 개인 휴대 정보 단말기(PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 컴퓨터에 의해 취해질 동작들을 명시하는 명령들의 세트를 (순차적으로 또는 그와 다르게) 실행할 수 있는 임의의 다른 컴퓨터가 될 수 있다. 또한, 단일 컴퓨터가 예시되고 있지만, 용어 "컴퓨터"는 여기에서 설명되는 어떠한 하나 이상의 방법들을 수행하기 위해 명령들의 세트(또는 복수의 세트들)를 개별적으로 또는 공동으로 실행하는 컴퓨터들의 임의의 조합들을 포함하도록 취해질 수 있다.
예시적인 컴퓨터(120)는 프로세싱 장치(202), 메인 메모리(204)(예를 들면, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM (RDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM), 등), 정적 메모리(206)(예를 들면, 플래시 메모리, 정적 램(SRAM), 등), 및 데이터 저장 장치(218)를 포함하며, 이들은 버스(232)를 통해 서로 통신한다.
프로세싱 장치(202)는 마이크로 프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 범용 프로세싱 장치들을 나타낸다. 특히, 프로세싱 장치(202)는 복합 명령 셋 컴퓨팅(CISC) 마이크로프로세서, 감소된 명령 셋 컴퓨팅(RISC) 마이크로 프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령 세트들을 실행하는 프로세서, 또는 명령 세트들의 조합을 실행하는 프로세서들이 될 수 있다. 프로세싱 장치(202)는 또한 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적의 프로세싱 장치일 수 있다. 프로세싱 장치(202)는 여기에서 설명되는 다양한 동작들과 단계들을 수행하기 위한 프로세싱 로직(226)을 실행하도록 구성될 수 있다.
컴퓨터(120)는 또한 네트워크 인터페이스 장치(208)를 포함할 수 있다. 컴퓨터(120)는 또한 비디오 디스플레이 유닛(210)(예를 들면, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 영숫자 입력 장치(212) (예를 들면, 키보드), 커서 제어 장치(214)(예를 들면, 마우스), 및 신호 발생 장치(216)(예를 들면, 스피커)를 포함할 수 있다.
데이터 저장 장치(218)는 비-일시적인 컴퓨터-액세스 가능한 저장 매체(230)(또한, 비-일시적 컴퓨터 판독가능 저장 매체 또는 비-일시적 컴퓨터 판독 가능 매체라고 함)를 포함할 수 있으며, 상기 매체에는 여기에서 기술되는 임의의 하나 이상의 방법들 및 기능들을 구현하는 하나 이상의 명령들의 세트(예를 들면, 소프트웨어(222))가 저장된다. 소프트웨어(222)는 또한 컴퓨터(120)에 의한 실행 동안에 메인 메모리(204) 내에 또는 프로세싱 장치(202) 내에 완전히 또는 적어도 부분적으로 상주(reside)할 수 있다. 상기 메인 메모리(204) 및 상기 프로세싱 장치(202)는 또한 컴퓨터-액세스 가능한 저장 매체를 구성한다. 소프트웨어(222)는 또한 네트워크 인터페이스 장치(208)를 통해 네트워크(115) 상에서 송신 또는 수신될 수 있다.
컴퓨터-액세스 가능한 저장 매체(230)가 단일 매체로서 예시적인 실시예에 도시되어 있지만, 용어 "컴퓨터-액세스 가능한 저장 매체"는 하나 이상의 명령들의 세트들을 저장하는 단일 매체 또는 다중 매체(예를 들면, 중앙 집중된 또는 분산된 데이터베이스를 및/또는 연관된 캐시들 및 서버들)를 포함하는 것으로 이해되어야한다. 용어 "컴퓨터-액세스 가능한 저장 매체"는 또한 컴퓨터에 의한 실행을 위한 명령들의 세트를 저장, 인코딩 또는 전달할 수 있고, 상기 컴퓨터로 하여금 본 발명의 임의의 하나 이상의 방법들을 수행할 수 있도록 하는 임의의 매체를 포함하는 것으로 이해되어야한다. 용어 "컴퓨터-액세스 가능한 저장 매체"는 이에 따라서 고체 메모리, 광학 및 자기 매체 등을 포함하는 것으로 이해되어야 하며, 또한 이들에 제한되는 것도 아니다.
예시적인 시스템 플랫폼
컴퓨팅 장치들에 대한 성능 및 시스템 정보를 수집, 추적 및 저장하기 위한 시스템 및 방법의 다양한 실시예들은 임의의 적합한 시스템 정보 서비스 내에서 실행될 수 있다. 특정 실시예들에서, 시스템은 예를 들면 컴퓨팅 장치가 제대로 기능하는 것을 보장하거나 그렇지 않다면 교체를 요구할 수 있도록 컴퓨팅 장치를 보험에 들기 위한 서비스와 같은 보험 서비스의 일부로서 실행될 수 있다. 특정 실시예들에서, (예를 들면, 고객들이 보험 서비스를 통해 효력이 발생되는 컴퓨팅 장치에 사용하기 위해) 시스템은 상기 보험 서비스의 고객들에게 컴퓨팅 장치들의 보험을 허락한 보험업자에 의해 제공될 수 있다. 시스템의 기능의 다양한 양태들이, 예를 들면, 모바일 컴퓨팅 장치(예를 들면, 셀룰러 폰이나 태블릿 컴퓨터) 또는 다른 컴퓨팅 장치에서 동작하는 소프트웨어 애플리케이션에 의해 수행될 수 있는 시스템 진단 모듈(300)을 포함하는 특정 시스템 모듈들에 의해 실행될 수 있다. 이러한 모듈은 하기에 더욱 상세히 설명된다.
시스템 진단 모듈
도 3은 예시적인 시스템 진단 모듈(300)에 의해 수행되는 동작들의 흐름도이다. 특정 실시예들에서, 시스템 진단 모듈(300)은 적어도 하나의 컴퓨팅 장치의 성능 및 시스템 정보를 수집, 추적 및 저장하기 용이하게 하며, 컴퓨팅 장치의 성능 문제를 진단할 목적으로 및/또는 장치의 과거 성능 또는 유사한 다른 장치들의 성능에 대비한 장치의 현재 성능을 모니터링할 목적으로 해당 정보를 기술자 또는 다른 사용자에게 제공할 수 있다. 다양한 실시예들에서, 시스템 진단 모듈(300)은 컴퓨팅 장치(예를 들면, 모바일 컴퓨팅 장치)에 국부적으로 저장된 소프트웨어 애플리케이션의 일부로서 실행된다.
시스템 진단 모듈(300)을 실행할 때, 시스템은 제 1 컴퓨팅 장치에 대한 제 1 시스템 이벤트 데이터를 수신함으로써 단계(310)에서 시작한다. 특정 실시예들에서, 시스템 이벤트 데이터는 예를 들면, 하나 이상의 이벤트가 발생된 시간(예를 들면, 날짜 및 시간)과 연관될 수 있는 하나 이상의 시스템 이벤트들을 포함할 수 있다. 통상적인 예에서, 시스템 이벤트 데이터는 제 1 시간에 발생한 제 1 이벤트, 제 2 시간에 발생한 제 2 이벤트, 등등에 관한 타임 스탬프 데이터를 포함할 수 있다. 다양한 실시예들에서, 하나 이상의 이벤트들 (예를 들면, 이벤트의 종류 등에 의해) 적어도 일정부분 관련될 수도 있다. 특정 실시예에서, 시스템 이벤트 데이터는 실질적으로 실시간으로 시간에 걸쳐 덧붙여진 시스템 이벤트의 로그를 포함할 수 있다.
다양한 실시예들에서, 시스템 이벤트 데이터는 제 1 컴퓨팅 장치와 하나 이상의 네트워크들(예를 들면, 무선 근거리 통신망, 셀룰러 전화망 등) 사이의 접속 동안 신호 레벨의 변화를 포함한다. 시스템 이벤트는, 예를 들면, 제 1 컴퓨팅 장치(예를 들면, 스마트폰)와 특정 셀룰러 전화망(예를 들면, Verizon®, AT&T®, Sprint®, 등) 사이의 접속 동안 두 개의 바들(bars)로부터 세 개의 바들로 신호 레벨의 변화를 포함할 수 있다. 다른 실시예들에서, 시스템 이벤트 데이터는 제 1 컴퓨팅 장치와 하나 이상의 네트워크 사이에 신호 세기에서의 임의의 다른 적합한 변화를 포함할 수 있다(예를 들면, 약한 신호로부터 강한 신호로의 변화, 등).
다른 실시예들에서, 시스템 이벤트 데이터는 특정 네트워크(예를 들면, 무선 네트워크)로의 연결 또는 그로부터의 분리를 포함한다. 예를 들면, 제 1 컴퓨팅 장치가 스마트폰인 경우, 시스템은 제 1 컴퓨팅 장치가 새로운 무선 근거리 통신망에 접속하는 시각에 연관된 정보를 포함하는 시스템 이벤트 데이터를 수신할 수 있다. 특정 네트워크와의 연결 및/또는 분리와 연관된 시스템 이벤트 데이터는 예를 들면: (1)네트워크의 보안 특징(예를 들면, 네트워크가 WEP, WPA WPA2 등과 같은 무선 보안 프로토콜이 있는지의 여부); (2)제 1 컴퓨팅 장치 전에 네트워크에 연결되었는지의 여부(예를 들면, 네트워크가 친숙한 네트워크인지의 여부); (3) 제 1 컴퓨팅 장치와 네트워크 사이의 신호 세기; (4) 네트워크에 대한 제 1 컴퓨팅 장치의 연결과 연관된 임의의 다른 적합한 정보와 같은 정보를 또한 포함할 수 있다.
다양한 실시예들에서, 시스템 이벤트 데이터는 컴퓨팅 장치의 다양한 특징들의 활성화 및 불활성화에 대한 데이터를 포함할 수 있다. 특정 실시예들에서, 이것은 예를 들면 제 1 컴퓨팅 장치에 대해 비행 모드를 켜거나 끄기, 제 1 컴퓨팅 장치에 대해 블루투스를 켜거나 끄기, 제 1 컴퓨팅 장치에 대해 GPS(예를 들면, 위치 기반 서비스)를 켜거나 끄기, 등을 포함할 수 있다.
특정 실시예들에서, 시스템 이벤트 데이터는 제 1 컴퓨팅 장치에 새롭게 설치된 소프트웨어와 연관된 데이터를 포함할 수 있다. 예를 들면, 시스템은 새로운 소프트웨어 애플리케이션이 제 1 컴퓨팅 장치에 설치된 날짜 및 시간을 포함하는 시스템 이벤트 데이터를 수신할 수 있다. 다양한 실시예들에서, 이러한 경우의 시스템 이벤트 데이터는 상기 소프트웨어 애플리케이션의 파일 크기, 소프트웨어 애플리케이션의 출판사, 소프트웨어 애플리케이션이 설치되는 소스(예를 들면, 소프트웨어가 다운로드된 웹사이트, 등)을 더 포함할 수 있다. 다른 실시예들에서, 시스템 이벤트 데이터는 상기 제 1 컴퓨팅 장치로부터 소프트웨어 제거에 대한 정보를 더 포함할 수 있다(예를 들면, 시스템 이벤트는 제 1 컴퓨팅 장치로부터 특정 소프트웨어 애플리케이션의 삭제를 포함할 수 있다).
특정 실시예들에서, 시스템 이벤트 데이터는 (예를 들면, USB, 파이어와이어, 무선 네트워크, 또는 제 1 컴퓨팅 장치가 주변 장치들과 통신하기 위해 포함하는 다른 적합한 메카니즘을 통해)제 1 컴퓨팅 장치에 접속된 또는 분리된 주변 장치들(예를 들면, 프린터, 스캐너, 외장형 하드 디스크, 광학 드라이브, 등)의 로그를 포함한다. 다양한 실시예들에서, 시스템 이벤트 데이터는 주변 장치들이 연결된 및/또는 분리된 시간, 주변 장치들과 관련하여 제 1 컴퓨팅 장치에 설치된 다른 소프트웨어 또는 임의의 디바이스 드라이버와 연관된 정보, 또는 주변 장치에 관한 임의의 다른 적합한 정보(예를 들면, 장치 유형, 모델 번호, 제조자, 등)를 포함한다. 예를 들면, 시스템은 새로운 프린터의 설치에 응답하여 적어도 부분적으로 컴퓨팅 장치에 설치된 새로운 프린터에 연관된 정보를 저장할 수 있다. 새로운 프린터에 연관된 정보는, 예를 들면, 프린터가 컴퓨팅 장치에 접속될 수 있게 하는 컴퓨팅 장치상의 포트, 컴퓨팅 장치를 프린터와 통신할 수 있도록 설치된 드라이버 정보, 프린터에 사용하기 위해 컴퓨팅 장치에 설치된 소프트웨어를 포함할 수 있다.
다양한 실시예들에서, 시스템 이벤트 데이터는 예를 들면, 다양한 웹 페이지들이 액세스된 시간을 포함할 수 있는, 제 1 컴퓨팅 장치에 의해 액세스된 임의의 웹 페이지들의 로그를 포함한다(예를 들면, 제 1 컴퓨팅 장치의 검색 내역). 다른 실시예들에서, 시스템 이벤트 데이터는 예를 들면, 쿠키 데이터(실례로, 특정 쿠키가 생성된 시간과 쿠키의 내용), 캐시, 또는 다른 적합한 데이터와 같은 웹-브라우징에 관한 다른 데이터를 포함할 수 있다.
특정 실시예들에서, 제 1 컴퓨팅 장치는 (예를 들면, 스마트폰, 랩탑, 태블릿 컴퓨터, 등과 같은) 모바일 컴퓨팅 장치이다. 다른 실시예들에서, 상기 제 1 컴퓨팅 장치는 데스크탑 컴퓨터이다. 특정 실시예들에서, 시스템은 (예를 들면, 시스템 이벤트들이 발생함에 따라) 시스템 이벤트 데이터를 로그 및/또는 저장하도록 구성된 제 1 컴퓨팅 장치상의 애플리케이션을 통해 시스템 이벤트 데이터를 수신하도록 구성된다. 특정 실시예들에서, 상기 시스템을 이벤트가 발생할 때 실질적으로 자동으로 시스템 이벤트 데이터를 수신하도록 구성된다. 예를 들면, 시스템은 스마트폰과 헤드셋의 페어링(pairing)에 응답하여 핸즈프리 블루투스 헤드셋과 연관된 정보를 저장할 수 있다. 이러한 경우에 시스템 이벤트 데이터는 예를 들면 블루투스 헤드셋의 제조업체 및 모델, 페어링이 발생한 시간, 블루투스 헤드셋의 배터리 수명, 또는 블루투스 헤드셋 또는 그 페이링에 관한 임의의 다른 적합한 정보를 포함 할 수 있다.
다양한 실시예들에서, 시스템은 (예를 들면, 제 1 컴퓨팅 장치에) 시스템 이벤트 데이터를 국부적으로 저장하도록 구성된다. 예를 들면, 제 1 컴퓨팅 장치에 저장된 소프트웨어 애플리케이션은 적어도 일시적 시스템 이벤트 데이터를 저장할 수 있다. 다른 실시예들에서, 시스템은 예를 들면, 시스템 이벤트 데이터를 국부적으로 저장하고, 시스템 이벤트 데이터를 예를 들면 클라우드 저장 서버 또는 다른 서버 또는 이후 검색을 위한 다른 적합한 원격 저장 위치로 전송하도록 구성된다. 특정 실시예들에서, 상기 시스템은 실질적으로 규칙적인 간격(예를 들면, 매일, 하루에 두 번, 6 시간마다, 또는 임의의 다른 적합한 시간 간격)에서 시스템 이벤트 데이터를 전송하도록 구성된다. 다른 실시예들에서, 상기 시스템은, 제 1 컴퓨팅 장치가 외부 전원에 연결된 것(예를 들면, 제 1 컴퓨팅 장치가 플러그 인(plug in)되어, 스마트폰인 제 1 컴퓨팅 장치의 경우에 충전되는 것)의 결정에 응답하는 것과 같이, 미리 결정된 이벤트들에 응답하여 시스템 이벤트 데이터를 전송하도록 구성된다. 또 다른 실시예들에서, 시스템은 제 1 컴퓨팅 장치가 (예를 들면, 무선 근거리 통신망, 특정의 무선 근거리 통신망, 셀룰러 전화망, 등을 통해) 네트워크에 연결된 것의 결정에 응답하여 시스템 이벤트 데이터를 전송하도록 구성된다. 특정 실시예에서, 시스템은 (예를 들면, 3g, 4g, 등을 통한 셀룰러 전화망과는 대조적으로) 1 컴퓨팅 장치가 외부 전원에 연결되어 무선 근거리 통신망을 통해 인터넷에 접속된 것의 결정에 응답하여 시스템 이벤트 데이터를 전송하도록 구성된다.
단계(320)로 돌아가서, 시스템은 제 1 컴퓨팅 장치에 대한 제 1 성능 데이터를 수신함으로써 계속된다. 다양한 실시예들에서, 제 1 성능 데이터는 배터리 사용상태(예를 들면, 배출 속도, 충전 레벨 등), 프로세서 자원 사용상태, 클럭 속도, 초당 밀리언 플로팅-포인트 오퍼레이션(MFLOPS), 저장 사용상태(storage usage), 데이터 사용상태(예를 들면, 모바일 데이터양 대 Wi-Fi 데이터 사용상태), 제 1 컴퓨팅 장치의 성능과 관련된 임의의 다른 적합한 성능 메트릭 또는 벤치마크를 포함한다. 다양한 실시예들에서, 상기 제 1 성능 데이터는 단계(310)에서 수신된 특정 시스템 이벤트 데이터 포인트와 실질적으로 동일한 시간에 수신된다(예를 들면, 그와 연관된다). 예를 들면, 제 1 컴퓨팅 장치가 네트워크 밖에 있다는 것을 시스템 이벤트 데이터가 나타내는 동안(예를 들면, 현재는 무선 네트워크에 접속되어 있지 않지만, 활발히 네트워크를 찾고 있고, 실례로 제 1 컴퓨팅 장치의 이용가능한 배터리 수명을 더 사용하는 동안), 배터리 사용상태는 시스템 성능 데이터로서 수신될 수 있다. 특정 실시예들에서, 시스템 성능 데이터는 특정한 양의 시간에 걸친 평균 성능을 포함할 수 있다(예를 들면, 하루 동안의 평균 프로세서 사용상태, 특정 레벨로 배출하는 배터리의 평균 시간, 등). 특정 실시예들에서, 시스템은 상기 장치의 타임 스탬프 성능 기록의 로그를 생성하기 위해 상기 성능 정보를 사용하도록 구성된다.
다양한 실시예들에서, 시스템은 상기 제 1 성능 데이터에 적어도 부분적으로 기초하여 성능 메트릭을 규정하도록 구성된다. 예를 들면, 성능 메트릭은, 예를 들면, 바로 앞서 기술한 성능 데이터의 유형들과 같은 둘 이상의 성능 데이터 포인트들의 조합에 적어도 부분적으로 기초할 수 있다. 예를 들면, 특정의 성능 메트릭은 배터리 사용상태 및 프로세서 사용상태의 양쪽 모두에 적어도 부분적으로 기초할 수 있다. 다양한 실시예들에서, 시스템은 임의의 다른 적합한 요소들에 기초하여 성능 메트릭을 규정하도록 구성될 수 있다.
이제, 시스템은 단계(330)에서, 상기 제 1 컴퓨팅 장치와 프로파일을 공유하는 하나 이상의 제 2 컴퓨팅 장치들에 대한 제 2 시스템 이벤트 데이터 및 제 2 성능 데이터를 수신한다. 다양한 실시예들에서, 제 2 시스템 이벤트 데이터는 예를 들면, 제 1 컴퓨팅 장치와 관련하여 (실례로, 단계(310)에서) 상술한 임의의 제 1 시스템 이벤트 데이터와 같은, 하나 이상의 제 2 컴퓨팅 장치와 연관된 임의의 적합한 시스템 이벤트 데이터가 될 있다. 특정 실시예들에서, 예를 들면, 제 1 컴퓨팅 장치와 관련하여 (실례로, 단계(320)에서) 상술한 임의의 제 1 성능 데이터의 유형들과 같은, 하나 이상의 제 2 컴퓨팅 장치와 연관된 임의의 적합한 성능 데이터가 될 있다.
다양한 실시예들에서, 제 1 컴퓨팅 장치와 적어도 하나의 프로파일을 공유하는 하나 이상의 제 2 컴퓨팅 장치는 제 1 컴퓨팅 장치와 공통적으로 하나 이상의 특징들을 갖는 컴퓨팅 장치들이다(예를 들면, 동일한 유형의 장치이고, 동일한 모델의 장치이고, 상기 제 1 컴퓨팅 장치와 유사한 소프트웨어를 실행하고 및/또는 제 1 컴퓨팅 장치와 유사한 운영 시스템을 갖는, 등). 특정 실시예들에서, 시스템은, (실질적으로 자동으로 적합한 프로파일을 결정하고, 하나 이상의 특징들을 상기 프로파일들과 연관시키고, 하나 이상의 특징들을 갖는 임의의 컴퓨팅 장치들을 상기 연관된 프로파일들에 할당함으로써) 다양한 컴퓨팅 장치들의 하나 이상의 특징들에 적어도 부분적으로 기초하여 적어도 하나의 프로파일을 확립하도록 구성된다. 다양한 실시예들에서, 시스템은 제 1 컴퓨팅 장치의 하나 이상의 특징들에 적어도 부분적으로 기초하여 상기 적어도 하나의 프로파일을 확립하도록 구성된다. 다양한 실시예들에서, 시스템은 컴퓨팅 장치들이 특정 프로파일들과 연관된 하나 이상의 특징들을 갖는다는 것을 결정하는데 응답하여, 컴퓨팅 장치들(예를 들면, 하나 이상의 제 2 컴퓨팅 장치들)을 특정 프로파일들에 할당하도록 구성된다.
특정 실시예들에서, 상기 하나 이상의 특징들은 예를 들면, 제 1 컴퓨팅 장치의 특정 하드웨어 구성(예를 들면, 제 1 컴퓨팅 장치가 포함하는 특정의 프로세서, 제 1 컴퓨팅 장치가 갖는 RAM의 양, 등)을 포함한다. 특정 실시예들에서, 시스템이 다양한 컴퓨팅 장치들에 대한 프로파일을 할당할 수 있는 하나 이상의 특징은 컴퓨팅 장치의 유형을 포함한다. 예를 들면, 제 1 컴퓨팅 장치가 스마트폰인 경우 시스템은 스마트폰들의 프로파일을 확립할 수 있고, 제 1 컴퓨팅 장치가 태블릿 컴퓨터인 경우 시스템은 태블릿 컴퓨터들에 대한 프로파일을 확립할 수 있다. 특정 실시예들에서, 상기 하나 이상의 특징들은 상기 컴퓨팅 장치들에 저장된 특정 소프트웨어를 포함할 수 있다. 예를 들면, 시스템은 특정 소프트웨어를 실행하는 모든 컴퓨팅 장치들에 대한 프로파일을 생성할 수 있다. 다른 실시예들에서, 상기 하나 이상의 특징들은 컴퓨팅 장치의 운영 시스템(예를 들면, Windows, iOS, Android, 등)을 포함할 수 있다.
다양한 실시예들에서, 상기 하나 이상의 특징들은 상기 컴퓨팅 장치가 위치되는 특정 지리적 영역을 포함할 수 있다. 특정 지리적 영역은 상기 컴퓨팅 장치의 GPS 위치에 적어도 부분적으로 기초하거나 임의의 다른 적합한 기술을 사용하여 결정될 수 있다. 특정 실시예들에서, 컴퓨팅 장치의 지리적 영역은 제 1 컴퓨팅 장치가 접속된 네트워크를 포함할 수 있다(예를 들면, 특정 무선 근거리 네트워크, 특정 셀룰러 전화망에서 특정 셀룰러 타워로의 접속, 등). 컴퓨팅 장치가 특정 셀룰러 전화망에 있는 특정 셀룰러 타워에 접속될 때, 시스템은, 예를 들면, 동일한 특정 셀룰러 타워에 접속된 모든 컴퓨팅 장치들에 대한 프로파일을 확립할 수 있다.
다양한 실시예들에서, 상기 하나 이상의 특징들은 상기 컴퓨팅 장치에 접속된 특정의 주변 장치들(예를 들면, 프린터, 주변 장치의 특정 브랜드, 스캐너, 등)을 갖는 것을 포함할 수 있다. 이 시스템은, 예컨대, USB를 통해 접속된 특정 모델 프린터 모델을 갖는 컴퓨팅 장치들에 대한 프로파일을 확립할 수 있다.
특정 프로파일들은 또한 복수의 상이한 장치 특징들을 포함할 수 있다. 예를 들면, 프로파일은 특정 모델/유형이며, 적어도 소프트웨어 애플리케이션들의 특정 조합을 실행하는 특정 업체(예를 들면, 애플®, Samsung®, 등)에 의해 제작된 임의의 컴퓨팅 장치로서 규정될 수 있다.
특정 실시예들에서, 제 1 컴퓨팅 장치와 프로파일을 공유하는 하나 이상의 제 2 컴퓨팅 장치에 대한 제 2 시스템 이벤트 데이터 및 제 2 성능 데이터를 수신하기 전에, 시스템은 어떤 프로파일들이 제 1 컴퓨팅 장치와 연관되는지 및 상기 하나 이상의 제 2 컴퓨팅 장치들 중 어느 것들이 이들 프로파일들과 연관되는지를 결정하도록 구성된다. 다양한 실시예들에서, 시스템은 제 1 시스템 이벤트 데이터, 제 1 성능 데이터, 제 2 시스템 이벤트 데이터 및 제 2 성능 데이터를 포함하는 데이터베이스를 덧붙이도록 구성된다. 이 데이터베이스는, 예를 들면, 시스템의 일부인 임의의 컴퓨팅 장치들에 대한 모든 관련 데이터를 포함할 수 있다. 시스템은 그런 경우 특정 프로파일에 적합한 컴퓨팅 장치들과 연관된 데이터를 그 특정 프로파일에 할당할 수 있다(예를 들면, 또는 연관시킬 수 있다). 이때, 상기 시스템은 그 프로파일을 갖는 특정 장치에 대한 비교를 위해 상기 프로파일을 공유하는 장치들의 평균 성능을 결정하도록 종합된 프로파일 데이터를 사용할 수 있다.
예를 들면, 시스템이 백 개의 스마트폰들로부터 시스템 이벤트 및 성능 데이터를 수신한다면, 시스템은 상기 백 개의 스마트폰들의 각각에 대한 데이터를 저장할 수 있을 것이다. 이들 백 개의 스마트폰들 중 열 개가 iPhone 5s라면, 시스템은 열 개의 iPhone 5s에 대한 데이터만을 포함하는 iPhone 5s에 대한 프로파일을 생성할 수 있다. 시스템은 이때, iPhone 5s의 평균 성능을 결정할 수 있으며, iPhone 5s 중 하나의 사용자에게 상기 사용자의 iPhone 5의 실제 성능과 함께 평균 성능을 디스플레이할 수 있다. 시스템은 또한 모든 스마트폰들을 포함하는 제 2 프로파일을 생성할 수 있다. 상기 iPhone 5 사용자의 성능을 제 2 프로파일에 비교할 때, 시스템은 상기 iPhone 5 사용자의 실제 성능과 함께 모든 100 개의 스마트폰들의 평균 성능을 디스플레이할 수 있다.
특정 실시예들에서, 각각의 특정 프로파일의 특징들은 시스템에 의해 실질적으로 자동으로 결정된다. 다른 실시예들에서, 특정의 특징들을 갖는 장치들(예를 들면, 사용자에 의해 제어되는 장치와 특정의 특징을 공유하는 장치들)에 대한 평균 성능을 확인하기 위한 사용자로부터의 요청에 적어도 부분적으로 기초하여 프로파일들이 확립된다. 다양한 실시예들에서, 상기 요청은 제 1 컴퓨팅 장치의 사용자로부터 올 수도 있다. 다른 실시예들에서, 상기 요청은 특정의 프로파일들을 갖는 컴퓨팅 장치들의 문제를 결정하기 위해 진단 서비스와 연관된 사람으로부터 올 수도 있다.
단계(340)로 돌아가서, 상기 시스템은 상기 하나 이상의 제 2 컴퓨팅 장치들(예를 들면, 특정 프로파일을 갖는 하나 이상의 제 2 컴퓨팅 장치들)에 대한 평균 시스템 성능을 결정함으로써 계속된다. 특정 실시예들에서, 시스템은 특정 프로파일 내에서 모든 장치들에 대한 평균 성능을 결정하도록 구성된다. 특정 실시예들에서, 상기 결정된 평균은 상술한 성능 메트릭들의 종합(aggregate)을 포함할 수 있다. 다른 실시예들에서, 상기 결정된 평균은 특정 프로파일을 공유하는 모든 컴퓨팅 장치들에 대한 성능 데이터의 특정 부분의 간단한 산술 평균이 될 수 있다. 다양한 실시 예들에서, 시스템은 특정 프로파일을 공유하는 모든 컴퓨팅 장치들에 대한 종합된 (예컨대, 평균) 성능을 결정하도록 구성된다.
시스템은 제 1 이벤트 데이터, 제 1 성능 데이터 및 제 2 성능 데이터의 평균을 사용자에게 디스플레이 함으로써(예를 들면, 제 1 컴퓨팅 장치의 디스플레이 스크린상에 상기 정보를 디스플레이함으로써), 단계(350)에서 계속된다. 다양한 실시예들에서, 상기 사용자는 제 1 컴퓨팅 장치의 사용자(예를 들면, 스마트폰의 소유자와 사용자)가 된다. 다른 실시예들에서, 상기 사용자는 제 1 컴퓨팅 장치와 성능 문제를 진단하는 기술자 또는 다른 사람이 된다. 특정 실시예들에서, 데이터를 디스플레이하는 것은 예를 들면, 그래프, 표 또는 다른 적합한 형태를 통해 상기 데이터를 사용자에게 디스플레이하는 것을 포함한다. 예를 들면, 특정 실시예들에서, 시스템은 iPhone 4의 소유자들에게 그들 장치의 평균 배터리 수명 및 다른 iPhone 4의 사용자들의 평균 배터리 수명을 디스플레이할 수 있다. 그때, 상기 사용자는, 예를 들면, 그들이 비교적 부족한 배터리 수명을 겪고 있는지를 판단하고, 상기 감소의 원인을 판단하고, 배터리 수명의 감소를 일으키는 어떠한 문제를 잠재적으로 수정하는 것과 같은, 어떠한 적절한 원인에 대한 데이터를 사용할 수 있다. 특정 실시예들에서, 상기 데이터는 사용자로 하여금 특정 컴퓨팅 장치가 결함 구성 요소들을 갖는지를 확인할 수 있게 한다(예를 들면, 하나 이상의 구성요소가 열 피로를 겪고 있을 수 있다). 그러한 실시예들에 있어서, 더 양호한 성능 데이터를 갖는 제 2 컴퓨팅 장치와 유사한 이벤트 데이터를 갖는 컴퓨팅 장치(예를 들면, 더 양호하게 실행하는 유사한 컴퓨팅 장치와 유사한 방식으로 사용되는 컴퓨팅 장치)는 하나 이상의 구성요소들의 교체를 요구할 수 있다.
다양한 실시예들에서, 시스템은 기술자 또는 제 1 컴퓨팅 장치의 사용자로 하여금 상기 데이터(예를 들면, 성능 정보 및/또는 시스템 정보)에 적어도 부분적으로 기초하여 상기 컴퓨팅 장치를 진단하거나 고장을 처리하게 할 수 있다. 예를 들면, 상기 시스템은, 기술자 또는 다른 사용자로 하여금 특정 이벤트들(예를 들면, 특정 소프트웨어의 설치, 등)이 성능의 저하를 지속시킬 수 있는지를 판단할 수 있게 하도록 과거 컴퓨팅 장치 성능 정보 및 일부 시스템 정보를 디스플레이할 수 있다.
자동적인 장치 진단
다양한 실시예들에서, 상기 시스템은 성능에 영향을 미칠 수 있는 컴퓨팅 장치에 의한 문제를 실질적으로 자동으로 결정하도록 구성된다. 특정 실시예들에서, 그들의 Samsung Galaxy S4의 배터리 수명의 저하를 겪고 있는 사용자에 대해, 상기 시스템은 상기 사용자에 의한 애플리케이션 사용상태를 다른 Galaxy S4 사용자들과 비교하여, 상기 사용자가 사용하고 있는 특정 소프트웨어 애플리케이션이 더 양호한 배터리 수명을 겪고 있는 다른 사용자들에 의해서는 사용되지 않는다는 것을 판단하게 할 수 있다. 상기 시스템은 그때, 예를 들면, 상기 사용자에게 상기 문제가 되는 애플리케이션을 삭제하도록 추천하거나 상기 사용자에게 상기 애플리케이션의 사용을 제한하도록 추천함으로써 상기 사용자에게 해결책을 제공하도록 구성될 수 있다.
예시적인 사용자 경험
특정 실시예들에서, 사용자는 그의 모바일 컴퓨팅 장치에(예를 들면, 스마트폰에) 소프트웨어 애플리케이션을 설치할 수 있다. 소프트웨어 애플리케이션이 실행되는 동안, 상기 애플리케이션은 상기 모바일 컴퓨팅 장치에 대한 타임 스탬프 시스템 이벤트 데이터(예를 들면, 본 명세서에서 설명된 시스템 이벤트 데이터 중 어떠한 것과도 같은 것) 및 시간 스탬프 시스템 성능 데이터를 로그(log)할 수 있다. 상기 데이터를 로깅하는(logging) 소프트웨어 애플리케이션은 실질적으로 상기 모바일 컴퓨팅 장치상의 백그라운드에서 실행될 수 있다(예를 들면, 상기 애플리케이션은 상기 애플리케이션이 상기 데이터를 로그하는 동안 상기 모바일 장치상에 어떠한 것도 디스플레이할 수 없거나, 그렇지 않으면 상기 애플리케이션이 상기 데이터를 로그하는 동안 사용자에게 통지할 수 없다). 사용자가 (예를 들면, 모바일 컴퓨팅 장치의 배터리를 충전하기 위해) 모바일 컴퓨팅 장치에 플러그-인할 때 및 상기 모바일 컴퓨팅 장치가 Wi-Fi에 접속되는 동안, 상기 시스템은 로깅된 타임 스탬프 데이터를 중앙 서버(예를 들면, 클라우드 저장 서버)에 전송할 수 있으며, 여기에서 상기 시스템은 복수의 컴퓨팅 장치들에 대한 유사한 데이터를 저장하도록 구성된다.
다양한 실시예들에서, 상기 시스템은 컴퓨팅 장치들에 대한 데이터(예를 들면, 상기 중앙 서버에 저장된 데이터)를 상기 컴퓨팅 장치들의 특징들에 기초한 하나 이상의 프로파일들과 연관시킬 수 있다. 상기 시스템은, 예를 들면, 스마트폰의 제조사와 모델에 대한 프로파일을 포함하는 프로파일을 사용자의 스마트폰에 할당할 수 있다. 그러면 시스템은 상기 프로파일의 모든 스마트폰들에 대한 데이터를 종합할 수 있으며, 상기 프로파일을 공유하는 장치들에 대한 평균 성능을 결정할 수 있다.
임의의 적합한 시간에, 사용자는 자신의 모바일 컴퓨팅 장치상의 소프트웨어 애플리케이션을 개방하여, 자신의 휴대 전화에 대한 성능 데이터와 사용자의 스마트폰과 프로파일을 공유하는 다른 폰들에 대해 자신의 폰이 어떻게 수행하는 있는지에 대한 상대적인 성능 데이터를 볼 수 있도록 요청할 수 있다. 다양한 실시예들에서, 사용자는 사용자가 자신의 장치의 상대적 성능을 보기를 원하는 프로파일을 선택하거나 제공할 수 있다. 예를 들면, 사용자는, 장치의 유형과는 상관없이 상기 시스템이 특정의 소프트웨어 애플리케이션이 설치된 모든 장치들에 대한 상대적 성능 데이터를 디스플레이하도록 요청할 수 있다. 상기 시스템은 그때 상기 요청에 응답하여, 상기 복수의 장치들 중 어느 장치들이 상기 소프트웨어 애플리케이션이 설치됐는지를 결정할 수 있으며, 또한 예를 들면 상기 원격 서버에 저장된 데이터에 기초하여 상기 사용자에게 디스플레이하기 위해 그 유사한 장치들에 대한 평균 성능 데이터를 결정할 수 있다. 특정 실시예들에서, 평균 성능 데이터는 복수의 상이한 카테고리들(예를 들면, 처리 속도, 무선 접속의 강도, 배터리 수명 등)로 세분될 수 있다.
도 4 내지 도 9는 본 명세서에서 기술된 시스템의 다양한 특징들을 나타내는 예시적인 스크린 디스플레이들이다. 이해할 수 있는 바와 같이, 이들 스크린 디스플레이들은 임의의 적합한 장치에 디스플레이될 수 있다(예를 들면, 상기한 시스템 진단 모듈(300)의 맥락에서 설명된 바와 같은 제 1 컴퓨팅 장치).
도 4는 특정 컴퓨팅 장치에 관한 정보(410)를 나타내는 스크린 디스플레이 (400)를 도시한다. 이 도면에 도시된 바와 같이, 정보(410)는 특정 컴퓨팅 장치의 마지막 리부팅 이후 시간에 대한 정보 (예를 들면, 1일) 및 시스템 성능을 향상하기 위한 추천 정보를 포함한다(예를 들면, 컴퓨팅 장치를 리부팅하는 것은 시스템의 성능을 향상시킬 수 있다는 조언). 정보(410)는 또한 가장 최근에 설치된 애플리케이션에 관한 정보, 음성 및 데이터 네트워크에 대한 접속에 관한 정보, 및 Wi-Fi 연결 정보를 포함한다. 가장 최근에 설치된 애플리케이션에 관한 정보(410)는 또한 최신 설치된 애플리케이션의 다른 사용자들에 대한 월 평균 데이터 사용상태를 보여주는 비교 정보(415)를 포함한다. 이 도면으로부터 알 수 있는 바와 같이, 시스템은 유사한 장치들(예를 들면, 상기 특정 애플리케이션이 역시 설치된 장치들)로부터 수신된 정보(410)를 디스플레이하고, 상기 특정 컴퓨팅 장치에 대한 관련 시스템 이벤트(예를 들면, 특정 애플리케이션의 설치)와 연관된 정보(410)를 디스플레이하도록 구성된다.
도 5는 현재와 과거의 배터리 충전 레벨(510)을 나타내는 스크린 디스플레이(500)를 도시한다. 이 도면으로부터 알 수 있는 바와 같이, 상기 시스템은 시간이 지남에 따라 과거의 배터리 레벨에 더하여 현재 배터리 레벨을 표시하도록 구성된다. 다양한 실시예들에서, 배터리 사용상태는 시스템이 시간에 걸쳐 추적하도록 구성되는 많은 종류의 성능 데이터 중 하나가 된다. 도 6은 다른 실시예에 따라 배터리 레벨(610)에 관련된 정보를 보여주는 스크린 디스플레이(600)를 도시한다. 이 도면에 도시된 바와 같이, 시스템은 상기 장치에 대한 평균 배터리 수명을 비교하는 상대적인 배터리 수명 정보(615)를 도시하도록 또한 구성되며, 여기에서, 스크린 디스플레이는 다른 장치들(예를 들면, 동일한 제조업체 및 모델의 장치와 같은 유사한 장치를 갖는 다른 장치들)의 평균 배터리 수명에 대비하여 디스플레이된다. 이 도면으로부터 알 수 있는 바와 같이, 데이터가 디스플레이되는 사용자의 장치는 완정 충전에 대하여 평균 배터리 수명보다 양호하다(예를 들면, 16h 9m 대 14h 7m).
도 7은 특정 컴퓨팅 장치(예를 들면, DROID RAZR)에 대한 최근의 접속 활동(710)을 나타내는 스크린 디스플레이(700)를 도시한다. 도면에 도시된 바와 같이, 상기 시스템은 Wi-Fi 신호 세기의 최근 변화, 특정 Wi-Fi 네트워크들에 대한 접속에서의 최근의 변화, 모바일 데이터 네트워크의 턴-온 및 턴-오프, 등을 디스플레이한다. 이 도면으로부터 알 수 있는 바와 같이, 상기 시스템은 이들이 발생시킨 바에 따른 이들의 접속 이벤트들을 로그하고, 사용자에게 추후 디스플레이하기 위해 이들을 저장한다. 도 8은 상기 시스템이 디스플레이하도록 구성될 수 있는 추가의 시스템 정보(810)를 나타내는 스크린 디스플레이(800)를 도시한다. 이 도면에 도시된 바와 같이, 상기 시스템 정보는 장치의 모델, 장치의 운영 시스템, 클라이언트 버전, 상태, 활성화 정보, 장치의 가장 최근의 리부팅에 관한 정보, 등을 포함할 수 있다. 상기 시스템은 또한 배터리 상태, 배터리 건강상태, 배터리 충전 기술, 배터리 충전 시간, 배터리 레벨, 네트워크 및 저장 정보 등을 디스플레이하도록 구성된다. 다양한 실시예들에서, 상기 시스템은 하나 이상의 유사한 컴퓨팅 장치들(예를 들면, 도 8의 시스템 정보(810)로서 디스플레이되는 하나 이상의 특징들을 공유하는 컴퓨팅 장치들)을 식별하기 위해 이러한 정보를 사용할 수 있다.
도 9는 특정 장치(예를 들면, 특정의 DROID RAZR)에 대한 애플리케이션 정보(910)를 보여주는 스크린 디스플레이(900)를 도시한다. 도면에서 도시된 바와 같이, 상기 장치에 설치된 다양한 애플리케이션들에 대하여, 상기 시스템은 각 애플리케이션에 대한 데이터 사용상태, CPU 사용상태, 및 다양한 애플리케이션들과 관련된 다른 정보를 디스플레이를 위해 추적 및 저장한다.
결론
본 발명이 속하는 기술분야에 숙련된 사람들은 전술한 설명 및 관련된 도면들에 제시된 설명의 이익을 갖는 본 발명의 많은 변형들 및 다른 실시예들이 떠오를 수 있을 것이다. 따라서, 본 발명은 개시된 특정 실시예들에 제한되는 것이 아니며, 변형들 및 다른 실시예들이 첨부된 청구범위의 범위 내에 포함되도록 의도되었다는 것을 이해해야한다. 특정 용어들이 본 명세서에 사용되었지만, 이들은 제한의 목적이 아니라 단지 일반적이고 설명적인 의미로 사용되었다.

Claims (30)

  1. 컴퓨터 실행가능한 명령들을 저장한 비-일시적 컴퓨터 판독가능한 매체에 있어서,
    상기 컴퓨터 실행가능한 명령들은:
    (A) 제 1 컴퓨팅 장치에 대한 제 1 시스템 이벤트와 연관된 제 1 시스템 이벤트 데이터 세트를 수신하고, 상기 제 1 컴퓨팅 장치는 제 1 장치 프로파일(device profile)을 갖고, 상기 제 1 장치 프로파일은 하나 이상의 특정 컴퓨팅 장치 특징을 포함하고;
    (B) 상기 제 1 컴퓨팅 장치에 대한 제 1 성능 데이터 세트를 수신하고, 상기 제 1 성능 데이터 세트는 상기 제 1 컴퓨팅 장치가 상기 제 1 시스템 이벤트를 실행한 후 생성되는 상기 제 1 컴퓨팅 장치의 성능 데이터를 포함하고;
    (C) 적어도 하나의 제 2 컴퓨팅 장치에 대한 제 2 시스템 이벤트와 연관된 제 2 시스템 이벤트 데이터 세트를 수신하고, 상기 제 2 컴퓨팅 장치는 제 2 장치 프로파일을 갖고, 상기 제 2 장치 프로파일은 상기 하나 이상의 특정 컴퓨팅 장치 특징을 포함하고;
    (D) 상기 적어도 하나의 제 2 컴퓨팅 장치에 대한 제 2 성능 데이터 세트를 수신하고, 상기 제 2 성능 데이터 세트는 상기 제 2 컴퓨팅 장치가 상기 제 2 시스템 이벤트를 실행한 후 생성되는 상기 제 2 컴퓨팅 장치의 제 2 성능 데이터를 포함하고;
    (E) 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트를 사용자에게 디스플레이함으로써, 상기 사용자로 하여금 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트를 비교할 수 있게 하고;
    (F) 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트에 적어도 부분적으로 기초하여 상기 컴퓨팅 장치에서의 하나 이상의 성능 문제들을 상기 사용자로 하여금 진단할 수 있게 하기 위한 것인, 비-일시적 컴퓨터 판독가능한 매체.
  2. 제 1 항에 있어서,
    상기 사용자로 하여금 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트를 비교하게 하는 것은, 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트의 그래픽 표현을 상기 사용자에게 디스플레이하는 것을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  3. 제 1 항에 있어서,
    상기 제 1 시스템 이벤트 데이터 세트는:
    (i) 상기 제 1 컴퓨팅 장치가 접속되는 무선 네트워크의 신호 세기의 변화;
    (ii) 상기 제 1 컴퓨팅 장치와 연관된 메모리로의 소프트웨어의 설치;
    (iii) 특정 네트워크에 대한 접속;
    (iv) 상기 특정 네트워크로부터의 분리; 및
    (v) 외부 전원으로의 상기 제 1 컴퓨팅 장치의 접속
    으로 구성된 그룹으로부터 선택되는, 비-일시적 컴퓨터 판독가능한 매체.
  4. 제 3 항에 있어서,
    상기 하나 이상의 특징은 상기 제 1 컴퓨팅 장치의 장치 유형을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  5. 제 4 항에 있어서,
    상기 하나 이상의 특징은 상기 제 1 컴퓨팅 장치의 모델을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  6. 제 3 항에 있어서,
    상기 제 1 시스템 이벤트 데이터 세트는 상기 제 2 시스템 이벤트 데이터 세트와 연관되는, 비-일시적 컴퓨터 판독가능한 매체.
  7. 제 1 항에 있어서,
    상기 제 1 시스템 이벤트 데이터 세트는 상기 제 1 컴퓨팅 장치와 연관된 복수의 시스템 이벤트들을 포함하고,
    상기 복수의 시스템 이벤트들의 각각은 상기 복수의 시스템 이벤트들의 각각이 일어난 특정 시간들과 연관되는, 비-일시적 컴퓨터 판독가능한 매체.
  8. 제 1 항에 있어서,
    상기 제 1 시스템 이벤트 데이터 세트는 상기 제 1 성능 데이터 세트와 연관되며,
    상기 제 2 시스템 이벤트 데이터 세트는 상기 제 2 성능 데이터 세트와 연관되는, 비-일시적 컴퓨터 판독가능한 매체.
  9. 제 8 항에 있어서,
    상기 제 1 성능 데이터 세트는:
    상기 제 1 컴퓨팅 장치의 배터리 사용상태; 및
    상기 제 1 컴퓨팅 장치의 프로세서 사용상태
    로 구성된 그룹으로부터 선택되는, 비-일시적 컴퓨터 판독가능한 매체.
  10. 제 1 항에 있어서,
    상기 적어도 하나의 특징은 상기 제 1 컴퓨팅 장치의 모델인, 비-일시적 컴퓨터 판독가능한 매체.
  11. 제 1 항에 있어서,
    상기 적어도 하나의 특징은 특정 네트워크에 대한 접속인, 비-일시적 컴퓨터 판독가능한 매체.
  12. 제 1 항에 있어서,
    (G) 상기 제 1 시스템 이벤트 데이터 세트, 상기 제 1 성능 데이터 세트, 상기 제 2 시스템 이벤트 데이터 세트, 및 상기 제 2 성능 데이터 세트에 적어도 부분적으로 기초하여 상기 컴퓨팅 장치에서의 상기 하나 이상의 성능 문제들을 자동으로 진단하기 위한 컴퓨터 실행가능한 명령들을 더 저장하는, 비-일시적 컴퓨터 판독가능한 매체.
  13. 컴퓨터 시스템에 있어서,
    적어도 하나의 프로세서를 포함하고,
    상기 컴퓨터 시스템은:
    (A) 제 1 모바일 컴퓨팅 장치와 연관된 제 1 데이터 세트를 수신하는 것으로, 상기 제 1 데이터 세트는 제 1 성능 데이터 세트를 포함하고, 상기 제 1 성능 데이터 세트는 상기 제 1 모바일 컴퓨팅 장치가 제 1 시스템 이벤트 및 적어도 하나의 제 1 시스템 이벤트 데이터 세트를 실행한 후 생성된 상기 제 1 모바일 컴퓨팅 장치의 성능 데이터를 포함하고, 상기 제 1 모바일 컴퓨팅 장치는 적어도 하나의 모바일 장치 특징을 포함하는, 상기 제 1 데이터 세트를 수신하는 것과;
    (B) 하나 이상의 제 2 모바일 컴퓨팅 장치들과 연관된 제 2 데이터 세트를 수신하는 것으로, 상기 제 2 데이터 세트는 제 2 성능 데이터 세트를 포함하고, 상기 제 2 성능 데이터 세트는 상기 제 2 모바일 컴퓨팅 장치가 제 2 시스템 이벤트 및 상기 하나 이상의 제 2 모바일 컴퓨팅 장치 각각에 대한 적어도 하나의 제 2 시스템 이벤트 데이터 세트를 실행한 후 생성된 상기 제 2 모바일 컴퓨팅 장치의 제 2 성능 데이터를 포함하는, 상기 제 2 데이터 세트를 수신하는 것과;
    (C) 적어도 하나의 장치 프로파일을 확립하는 것으로, 상기 적어도 하나의 장치 프로파일은 상기 적어도 하나의 모바일 장치 특징과 연관되는, 상기 프로파일을 확립하는 것과;
    (D) 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들 중 어느 것이 상기 적어도 하나의 모바일 장치 특징을 갖는 지를 결정하는 것과;
    (E) 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들이 상기 적어도 하나의 모바일 장치 특징을 갖는지에 대한 결정에 적어도 부분적으로 응답하여, 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들을 상기 장치 프로파일에 할당하는 것과;
    (F) 상기 제 1 모바일 컴퓨팅 장치가 상기 적어도 하나의 모바일 장치 특징을 갖는 지를 결정하는 것과;
    (G) 상기 장치 프로파일에 할당된 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들의 상기 제 1 데이터 세트 및 상기 제 2 데이터 세트를 상기 제 1 모바일 컴퓨팅 장치의 사용자에게 디스플레이하는 것과;
    (H) 상기 장치 프로파일에 할당된 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들의 상기 제 1 데이터 세트 및 상기 제 2 데이터 세트에 적어도 부분적으로 기초하여 상기 제 1 모바일 컴퓨팅 장치에서의 하나 이상의 성능 문제들을 상기 사용자로 하여금 진단할 수 있게 하는 것
    을 수행하도록 구성되는, 컴퓨터 시스템.
  14. 제 13 항에 있어서,
    상기 제 1 성능 데이터 세트는 상기 제 1 모바일 컴퓨팅 장치의 제 1 배터리 수명을 포함하고;
    상기 제 2 성능 데이터 세트는 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들의 제 2 배터리 수명을 포함하고;
    상기 적어도 하나의 모바일 장치 특징은 상기 제 1 모바일 컴퓨팅 장치의 모델을 포함하는, 컴퓨터 시스템.
  15. 제 13 항에 있어서,
    상기 제 1 성능 데이터 세트는 상기 제 1 모바일 컴퓨팅 장치와 특정 네트워크 사이의 신호 세기를 포함하고;
    상기 제 2 성능 데이터 세트는 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들과 상기 특정 네트워크 사이의 신호 세기를 포함하는, 컴퓨터 시스템.
  16. 제 15 항에 있어서,
    상기 특정 네트워크는 특정의 무선 전화 제공자와 연관된 네트워크인, 컴퓨터 시스템.
  17. 제 13 항에 있어서,
    상기 적어도 하나의 제 1 시스템 이벤트는:
    (i) 상기 제 1 모바일 컴퓨팅 장치가 접속되는 무선 네트워크의 신호 세기의 변화;
    (ii) 상기 제 1 모바일 컴퓨팅 장치와 연관된 메모리로의 소프트웨어의 설치;
    (iii) 특정 네트워크에 대한 접속;
    (iv) 상기 특정 네트워크로부터의 분리; 및
    (v) 외부 전원으로의 상기 제 1 모바일 컴퓨팅 장치의 접속
    으로 구성된 그룹으로부터 선택되는, 컴퓨터 시스템.
  18. 제 17 항에 있어서,
    상기 적어도 하나의 제 2 시스템 이벤트 및 상기 적어도 하나의 제 1 시스템 이벤트는 동일한 이벤트인, 컴퓨터 시스템.
  19. 제 13 항에 있어서,
    상기 제 1 성능 데이터 세트는:
    (A) 상기 제 1 모바일 컴퓨팅 장치의 배터리 사용상태; 및
    (B) 상기 제 1 모바일 컴퓨팅 장치의 프로세서 사용상태
    로 구성된 그룹으로부터 선택되는, 컴퓨터 시스템.
  20. 제 19 항에 있어서,
    상기 제 2 성능 데이터 세트는 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들에 대한 상기 제 1 성능 데이터 세트와 유사한 유형의 성능 데이터 세트를 포함하는, 컴퓨터 시스템.
  21. 제 13 항에 있어서,
    (H) 상기 프로파일에 할당된 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들과 연관된 상기 제 2 데이터 세트를 종합(aggregate)하는 것과;
    (I) 상기 종합된 데이터 세트를 상기 제 1 모바일 컴퓨팅 장치의 상기 사용자에게 디스플레이하는 것
    을 더 수행하도록 구성되는, 컴퓨터 시스템.
  22. 제 21 항에 있어서,
    상기 종합은 상기 프로파일에 할당된 상기 하나 이상의 제 2 모바일 컴퓨팅 장치들과 연관된 상기 제 2 데이터 세트를 평균화하는 것을 포함하는, 컴퓨터 시스템.
  23. 컴퓨터 실행 방법에 있어서,
    프로세서에 의해, 복수의 컴퓨팅 장치들에 대한 복수의 시스템 이벤트 데이터 세트 및 복수의 시스템 성능 데이터 세트를 수신하는 단계로서, 상기 복수의 컴퓨팅 장치들은,
    제 1 시스템 이벤트와 연관된 제 1 시스템 이벤트 데이터 세트, 및 제 1 시스템 성능 데이터 세트와 연관된 제 1 컴퓨팅 장치를 포함하고, 상기 제 1 시스템 성능 데이터 세트는 상기 제 1 컴퓨팅 장치가 상기 제 1 시스템 이벤트를 실행한 후 생성된 상기 제 1 컴퓨팅 장치의 성능 데이터를 포함하며;
    상기 복수의 컴퓨팅 장치들의 적어도 하나 이상의 특징에 기초해 적어도 하나의 장치 프로파일을 공유하는, 상기 수신하는 단계;
    상기 프로세서에 의해, 상기 복수의 시스템 이벤트 데이터 세트 및 상기 복수의 시스템 성능 데이터 세트에 적어도 부분적으로 기초하여 상기 복수의 컴퓨팅 장치들에 대한 평균 성능 메트릭을 결정하는 단계;
    상기 프로세서에 의해, 상기 제 1 시스템 이벤트 데이터 세트 및 상기 제 1 시스템 성능 데이터 세트에 적어도 부분적으로 기초하여 상기 제 1 컴퓨팅 장치에 대한 제 1 성능 메트릭을 결정하는 단계;
    상기 프로세서에 의해, 상기 평균 성능 메트릭 및 상기 제 1 성능 메트릭을 상기 제 1 컴퓨팅 장치의 사용자에게 디스플레이하는 단계; 및
    상기 평균 성능 메트릭 및 상기 제 1 성능 메트릭에 적어도 부분적으로 기초하여 상기 제 1 컴퓨팅 장치상의 하나 이상의 성능 문제들을 상기 사용자로 하여금 처리(troubleshoot)할 수 있게 하는 단계를 포함하는, 컴퓨터 실행 방법.
  24. 제 23 항에 있어서,
    상기 복수의 시스템 이벤트 데이터 세트는:
    (i) 상기 복수의 컴퓨팅 장치들이 접속되는 무선 네트워크의 신호 세기의 변화;
    (ii) 상기 복수의 컴퓨팅 장치들과 연관된 메모리로의 소프트웨어의 설치;
    (iii) 상기 복수의 컴퓨팅 장치들에 의한 특정 네트워크에 대한 접속;
    (iv) 상기 복수의 컴퓨팅 장치들에 의한 상기 특정 네트워크로부터의 분리; 및
    (v) 외부 전원으로의 상기 복수의 컴퓨팅 장치들의 접속
    으로 구성된 그룹으로부터 선택된 시스템 이벤트와 연관되는, 컴퓨터 실행 방법.
  25. 제 23 항에 있어서,
    상기 평균 성능 메트릭 및 상기 제 1 성능 메트릭에 적어도 부분적으로 기초하여 상기 제 1 컴퓨팅 장치상의 상기 하나 이상의 성능 문제들을 자동으로 처리하는 단계를 더 포함하는, 컴퓨터 실행 방법.
  26. 제 25 항에 있어서,
    상기 하나 이상의 특징은 상기 복수의 컴퓨팅 장치들의 모델을 포함하는, 컴퓨터 실행 방법.
  27. 컴퓨터 실행가능한 명령들을 저장한 비-일시적 컴퓨터 판독가능한 매체에 있어서,
    상기 컴퓨터 실행가능한 명령들은:
    (A) 시간에 걸쳐 취해진 복수의 컴퓨팅 장치들의 각각과 연관된 복수의 타임 스탬프 성능 데이터 세트를 메모리에 저장하고, 상기 복수의 타임 스탬프 성능 데이터 세트는 상기 복수의 컴퓨팅 장치들 각각이 제 1 시스템 이벤트를 실행한 후 생성된 상기 복수의 컴퓨팅 장치들 각각의 성능 데이터를 포함하고,
    (B) 시간에 걸쳐 취해진 상기 복수의 컴퓨팅 장치들의 각각과 연관된 복수의 타임 스탬프 이벤트 데이터 세트를 메모리에 저장하고;
    (C) 상기 복수의 컴퓨팅 장치들 중 제 1 컴퓨팅 장치와 연관된 개인에게, 상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨팅 장치와 유사한, 다른 컴퓨팅 장치들의 일반적인 성능과 상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨팅 장치의 성능을 비교한 것을 제공하기 위해 적어도 상기 타임 스탬프 성능 데이터 세트를 사용하고;
    (D) 상기 복수의 컴퓨팅 장치들로부터, 상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨팅 장치와 유사한, 다른 컴퓨팅 장치들의 일반적인 성능과 상기 제 1 컴퓨팅 장치의 상기 성능 비교에 적어도 부분적으로 기초하여 상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨터 장치상의 하나 이상의 성능 문제들을 상기 개인으로 하여금 처리할 수 있게 하기 위한 것인, 비-일시적 컴퓨터 판독가능한 매체.
  28. 제 27 항에 있어서,
    상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨팅 장치의 성능을 다른 유사한 컴퓨팅 장치들의 일반적인 성능과 비교한 것을 제공하도록 적어도 상기 타임 스탬프 성능 데이터 세트를 사용하는 단계는 상기 비교를 제공하도록 상기 시간 스탬프 성능 데이터 세트 및 상기 시간 스탬프 이벤트 데이터 세트 양쪽 모두를 사용하는 것을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  29. 제 27 항에 있어서,
    상기 복수의 컴퓨팅 장치들의 각각의 하나 이상의 특징에 관한 정보를 저장하고;
    상기 복수의 컴퓨팅 장치들로부터 상기 유사한 컴퓨팅 장치들을 식별하도록 상기 복수의 컴퓨팅 장치들의 각각의 상기 하나 이상의 특징에 관한 상기 정보를 사용하기 위한 컴퓨터 실행가능한 명령들을 더 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  30. 제 29 항에 있어서,
    상기 유사한 컴퓨팅 장치들을 식별하는 단계는 상기 복수의 컴퓨팅 장치들 중 상기 제 1 컴퓨팅 장치와 동일한 프로파일을 갖는 하나 이상의 컴퓨팅 장치들을 식별하는 것을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
KR1020167009707A 2013-09-13 2014-09-12 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들 KR101835303B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/026,965 2013-09-13
US14/026,965 US10073754B2 (en) 2013-09-13 2013-09-13 Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
PCT/US2014/055429 WO2015038918A1 (en) 2013-09-13 2014-09-12 Systems and methods for collecting, tracking, and storing system performance and event data for computing devices

Publications (2)

Publication Number Publication Date
KR20160120714A KR20160120714A (ko) 2016-10-18
KR101835303B1 true KR101835303B1 (ko) 2018-03-08

Family

ID=52666329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009707A KR101835303B1 (ko) 2013-09-13 2014-09-12 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들

Country Status (13)

Country Link
US (5) US10073754B2 (ko)
EP (2) EP4123460A1 (ko)
JP (5) JP2016535371A (ko)
KR (1) KR101835303B1 (ko)
CN (1) CN105934746B (ko)
AU (1) AU2014318559B2 (ko)
BR (1) BR112016007759A2 (ko)
CA (1) CA2924181C (ko)
CL (1) CL2016000579A1 (ko)
ES (1) ES2929456T3 (ko)
MX (2) MX365262B (ko)
PE (1) PE20160925A1 (ko)
WO (1) WO2015038918A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150133076A1 (en) * 2012-11-11 2015-05-14 Michael Brough Mobile device application monitoring software
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
US20160335580A1 (en) * 2015-05-13 2016-11-17 Wal-Mart Stores, Inc. Systems, devices, and methods for configuring a graphical user interface
JP6314923B2 (ja) * 2015-07-09 2018-04-25 京セラドキュメントソリューションズ株式会社 画像処理装置
US10671504B2 (en) * 2015-07-28 2020-06-02 Lenovo (Singapore) Pte. Ltd. System performance monitoring and optimization
US10678320B2 (en) * 2015-07-28 2020-06-09 Lenovo (Singapore) Pte. Ltd. Device power monitoring and optimization
US10069710B2 (en) * 2016-03-01 2018-09-04 Dell Products, Lp System and method to identify resources used by applications in an information handling system
US10831641B2 (en) * 2016-09-08 2020-11-10 At&T Intellectual Property I, L.P. Method and apparatus for determining a performance impact by a software upgrade of a mobile user endpoint device
US11126465B2 (en) * 2017-03-23 2021-09-21 Microsoft Technology Licensing, Llc Anticipatory collection of metrics and logs
KR102276895B1 (ko) * 2017-08-17 2021-07-12 삼성전자주식회사 반도체 장치 및 그 이벤트 프로파일링 방법
US10303516B1 (en) * 2018-01-03 2019-05-28 Sas Institute Inc. Allocating computing resources for providing various datasets to client devices
JP2019179372A (ja) * 2018-03-30 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 学習データ作成方法、学習方法、危険予測方法、学習データ作成装置、学習装置、危険予測装置、及び、プログラム
US10671142B2 (en) 2018-04-19 2020-06-02 International Business Machines Corporation Social-geofenced-based application management for battery maximization
JP2020005751A (ja) * 2018-07-04 2020-01-16 オリンパス株式会社 内視鏡システム
KR102688020B1 (ko) 2018-11-12 2024-07-25 삼성전자주식회사 전자 장치 및 그 제어 방법
US11153373B2 (en) 2019-05-03 2021-10-19 EMC IP Holding Company LLC Method and system for performance-driven load shifting
FI128274B (en) * 2019-05-27 2020-02-14 Blancco Tech Group Ip Oy Prioritization of diagnostic tests based on collected diagnostic reports
US20220138068A1 (en) * 2019-07-02 2022-05-05 Hewlett-Packard Development Company, L.P. Computer readable program code change impact estimations
US11157514B2 (en) 2019-10-15 2021-10-26 Dropbox, Inc. Topology-based monitoring and alerting
CA3166922A1 (en) * 2020-02-07 2021-08-12 Mircea Ionescu Guided computing device repair systems, methods, and apparatus
JP2023504956A (ja) * 2020-11-16 2023-02-08 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド 性能検出方法、装置、電子機器及びコンピュータ可読媒体
BR102021013558A2 (pt) * 2021-07-08 2023-01-17 Globetek Holding, Llc. Sistema para provisão de empréstimos financeiros ou viabilização de garantia, processos de bloqueio e de desbloqueio
US20230244767A1 (en) * 2022-02-02 2023-08-03 Hewlett-Packard Development Company, L.P. Extrapolating return data for a plurality of computing devices
WO2024177690A1 (en) 2023-02-26 2024-08-29 Assurant, Inc. Systems, methods, apparatuses, computer readable media, and computer program products for optimizing resource usage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069037A1 (en) * 2000-09-01 2002-06-06 Keith Hendrickson System and method for measuring wireless device and network usage and performance metrics

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5504675A (en) 1994-12-22 1996-04-02 International Business Machines Corporation Method and apparatus for automatic selection and presentation of sales promotion programs
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
GB2337386B (en) * 1996-09-09 2001-04-04 Dennis J Dupray Location of a mobile station
US6446119B1 (en) 1997-08-07 2002-09-03 Laslo Olah System and method for monitoring computer usage
US6269401B1 (en) 1998-08-28 2001-07-31 3Com Corporation Integrated computer system and network performance monitoring
US6799154B1 (en) * 2000-05-25 2004-09-28 General Electric Comapny System and method for predicting the timing of future service events of a product
US7222269B2 (en) * 2001-12-06 2007-05-22 Ns Solutions Corporation Performance evaluation device, performance evaluation information managing device, performance evaluation method, performance evaluation information managing method, performance evaluation system
US7599293B1 (en) * 2002-04-25 2009-10-06 Lawrence Michael Bain System and method for network traffic and I/O transaction monitoring of a high speed communications network
US7454458B2 (en) * 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
US7058953B2 (en) * 2002-07-23 2006-06-06 Microsoft Corporation Managing a distributed computing system
US7162312B2 (en) 2003-09-24 2007-01-09 Siemens Aktiengesellschaft Method, system and device for predictive error recognition in a plant
JP3912680B2 (ja) 2003-09-30 2007-05-09 日本電気株式会社 無線lan装置
US7643826B2 (en) 2004-01-07 2010-01-05 Hewlett-Packard Development Company, L.P. Mobile care engine system
US7966522B2 (en) 2005-03-14 2011-06-21 Napster Llc System and method for automatically uploading analysis data for customer support
CA2578602C (en) 2005-07-05 2012-04-10 Carrier Iq, Inc. Rule based data collection and management in a wireless communications network
US20070150581A1 (en) 2005-12-22 2007-06-28 American Express Travel Services, Co., Inc. a New York Corporation System and method for monitoring system performance levels across a network
US20070156706A1 (en) 2005-12-27 2007-07-05 Christian Hayes Apparatus, system, and method for monitoring the usage of computers and groups of computers
JP4573179B2 (ja) * 2006-05-30 2010-11-04 日本電気株式会社 性能負荷異常検出システム、性能負荷異常検出方法、及びプログラム
US7617423B2 (en) 2006-08-14 2009-11-10 Kyocera Corporation System and method for detecting, reporting, and repairing of software defects for a wireless device
JP2008108120A (ja) 2006-10-26 2008-05-08 Hitachi Ltd エージェントを使用して性能を監視する計算機システム及びその方法
JP4412322B2 (ja) 2006-12-26 2010-02-10 ソニー株式会社 通信システム及びその障害検出用の情報の提供方法
US7966039B2 (en) 2007-02-02 2011-06-21 Microsoft Corporation Bidirectional dynamic offloading of tasks between a host and a mobile device
EP2132956A1 (en) * 2007-03-30 2009-12-16 Phonak AG Method for establishing performance of hearing devices
US20090055465A1 (en) 2007-08-22 2009-02-26 Microsoft Corporation Remote Health Monitoring and Control
US20090182533A1 (en) 2008-01-14 2009-07-16 Apple Inc. Remote diagnostic service
US20090204667A1 (en) 2008-02-13 2009-08-13 Osvaldo Diaz User-Initiated Computer Support Using Out-Of-Band Network
US7925742B2 (en) 2008-02-28 2011-04-12 Microsoft Corporation Correlating performance data of multiple computing devices
US8295191B2 (en) 2008-03-04 2012-10-23 Microsoft Corporation Endpoint report aggregation in unified communication systems
US20090235267A1 (en) 2008-03-13 2009-09-17 International Business Machines Corporation Consolidated display of resource performance trends
US8219983B1 (en) 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
US8074124B2 (en) 2008-08-29 2011-12-06 Xerox Corporation Visualization of user interactions in a system of networked devices
US9113345B2 (en) * 2008-10-06 2015-08-18 Root Wireless, Inc. Web server and method for hosting a web page for presenting location based user quality data related to a communication network
US8296262B1 (en) 2009-05-04 2012-10-23 United Services Automobile Association (Usaa) Systems and methods for real-time online monitoring of computing devices
US8381208B2 (en) 2009-06-11 2013-02-19 International Business Machines Corporation Tracking application installation among a plurality of client devices
US8538484B2 (en) 2009-08-14 2013-09-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
GB2473196B (en) 2009-09-02 2012-01-04 1E Ltd Monitoring the performance of and controlling a computer
JP5477174B2 (ja) * 2010-06-07 2014-04-23 株式会社リコー 分散処理システム
US8839346B2 (en) 2010-07-21 2014-09-16 Citrix Systems, Inc. Systems and methods for providing a smart group
US9158650B2 (en) 2010-08-04 2015-10-13 BoxTone, Inc. Mobile application performance management
US8868727B2 (en) * 2010-09-22 2014-10-21 Blue Stripe Software, Inc. Methods and computer program products for storing generated network application performance data
US8423638B2 (en) 2010-09-29 2013-04-16 International Business Machines Corporation Performance monitoring of a computer resource
US9524224B2 (en) 2010-10-05 2016-12-20 Red Hat Israel, Ltd. Customized monitoring of system activities
US9009185B2 (en) 2010-12-28 2015-04-14 Sevone, Inc. Scalable performance management system
US20120209654A1 (en) * 2011-02-11 2012-08-16 Avaya Inc. Mobile activity assistant analysis
US20120239681A1 (en) * 2011-03-14 2012-09-20 Splunk Inc. Scalable interactive display of distributed data
US8650550B2 (en) * 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
US9075850B2 (en) 2011-06-28 2015-07-07 Hitachi, Ltd. Monitoring system and monitoring method
US8713378B2 (en) 2011-07-07 2014-04-29 Microsoft Corporation Health monitoring of applications in a guest partition
US8665847B2 (en) * 2011-11-08 2014-03-04 Microsoft Corporation Service-assisted network access point selection
US8880022B2 (en) * 2011-11-10 2014-11-04 Microsoft Corporation Providing per-application resource usage information
EP2786322A4 (en) 2011-11-29 2015-10-07 Neurio Technology Inc METHOD AND SYSTEM FOR PREDICTING THE POWER REQUIREMENT WITH GRAIN METRICS
US9369589B2 (en) * 2012-01-27 2016-06-14 Microsoft Technology Licensing, Llc Updating dynamic data usage plans and statistics
CN103294580B (zh) 2012-02-02 2017-08-08 塔塔咨询服务有限公司 实时性能监控
US10491650B1 (en) * 2012-02-06 2019-11-26 Amazon Technologies, Inc. Monitoring performance of computing devices
US8626192B1 (en) * 2012-07-24 2014-01-07 Google Inc. System and method for controlling mobile device operation
US20140059388A1 (en) * 2012-08-23 2014-02-27 Rawllin International Inc. Diagnostic and performance data collection
US20140115514A1 (en) * 2012-10-19 2014-04-24 Google Inc. User-specific mobile computing device resource management
US20140188778A1 (en) * 2012-12-27 2014-07-03 General Electric Company Computer-Implemented System for Detecting Anomaly Conditions in a Fleet of Assets and Method of Using the Same
US11201802B2 (en) * 2012-12-31 2021-12-14 W.W. Grainger, Inc. Systems and methods for providing infrastructure metrics
US20150356446A1 (en) * 2013-01-31 2015-12-10 Lf Technology Development Corporation Limited Systems and methods for a learning decision system with a graphical search interface
US9766799B2 (en) * 2013-02-20 2017-09-19 Panasonic Intellectual Property Corporation Of America Control method for information apparatus and computer-readable recording medium
US9965946B2 (en) * 2013-03-13 2018-05-08 Masimo Corporation Systems and methods for monitoring a patient health network
US8990009B2 (en) * 2013-07-24 2015-03-24 Samsung Electronics Co., Ltd System, method, and apparatus for minimizing power consumption in a portable device capable of receiving satellite navigational system signals
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069037A1 (en) * 2000-09-01 2002-06-06 Keith Hendrickson System and method for measuring wireless device and network usage and performance metrics

Also Published As

Publication number Publication date
EP3044681B1 (en) 2022-09-21
AU2014318559B2 (en) 2020-06-11
JP2020126655A (ja) 2020-08-20
EP4123460A1 (en) 2023-01-25
US20230013506A1 (en) 2023-01-19
CL2016000579A1 (es) 2016-11-18
JP2016535371A (ja) 2016-11-10
JP6983928B2 (ja) 2021-12-17
EP3044681A1 (en) 2016-07-20
JP6932653B2 (ja) 2021-09-08
US20210182168A1 (en) 2021-06-17
CA2924181C (en) 2021-05-04
US20190057008A1 (en) 2019-02-21
ES2929456T3 (es) 2022-11-29
CN105934746A (zh) 2016-09-07
US20150082097A1 (en) 2015-03-19
EP3044681A4 (en) 2017-07-19
US20230385170A1 (en) 2023-11-30
MX2019006051A (es) 2020-01-14
JP2022016589A (ja) 2022-01-21
CN105934746B (zh) 2019-11-05
US11704221B2 (en) 2023-07-18
MX2016003285A (es) 2016-12-20
CA2924181A1 (en) 2015-03-19
US11429506B2 (en) 2022-08-30
JP7451479B2 (ja) 2024-03-18
BR112016007759A2 (pt) 2018-07-10
US10073754B2 (en) 2018-09-11
KR20160120714A (ko) 2016-10-18
AU2014318559A1 (en) 2016-05-05
JP2018067353A (ja) 2018-04-26
US10872022B2 (en) 2020-12-22
WO2015038918A1 (en) 2015-03-19
JP2024056003A (ja) 2024-04-19
PE20160925A1 (es) 2016-09-09
MX365262B (es) 2019-05-28

Similar Documents

Publication Publication Date Title
US11704221B2 (en) Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
US20150133076A1 (en) Mobile device application monitoring software
US20160283711A1 (en) eMMC Monitoring Method and Apparatus
US20120117576A1 (en) Method and apparatus for obtaining feedback from a device
RU2601148C1 (ru) Система и способ выявления аномалий при подключении устройств
KR20140090194A (ko) 애플리케이션별 자원 사용 정보의 제공 기법
CN101794359A (zh) 用于启用用于遗留应用的经群体测试的安全特征的方法和系统
JP2012198796A (ja) ログ収集システム、装置、方法及びプログラム
US20140289719A1 (en) Automatic version management
WO2015009405A1 (en) Systems and methods for filtering low utility value messages from system logs
WO2016197737A1 (zh) 自检处理方法、装置及系统
US20180300199A1 (en) System and method for maintaining the health of a machine
JP6015750B2 (ja) ログ収集サーバ、ログ収集システム、ログ収集方法
CN115545452B (zh) 运维方法、运维系统、设备及存储介质
CN115048272A (zh) 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品
US20220269979A1 (en) System method and code for un-learning an individual from an artificial intelligence (ai) model

Legal Events

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