KR101093459B1 - 이동 디바이스를 위한 애플리케이션 로깅 인터페이스 - Google Patents

이동 디바이스를 위한 애플리케이션 로깅 인터페이스 Download PDF

Info

Publication number
KR101093459B1
KR101093459B1 KR20097025013A KR20097025013A KR101093459B1 KR 101093459 B1 KR101093459 B1 KR 101093459B1 KR 20097025013 A KR20097025013 A KR 20097025013A KR 20097025013 A KR20097025013 A KR 20097025013A KR 101093459 B1 KR101093459 B1 KR 101093459B1
Authority
KR
South Korea
Prior art keywords
application
information packet
accessory application
accessory
log
Prior art date
Application number
KR20097025013A
Other languages
English (en)
Other versions
KR20100007944A (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 KR20100007944A publication Critical patent/KR20100007944A/ko
Application granted granted Critical
Publication of KR101093459B1 publication Critical patent/KR101093459B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

이동 디바이스 및 특히 무선 디바이스는, 제 3 자 (예컨대, 액세서리) 애플리케이션들이 사용자에게 바람직한 증가하는 피처들/기능들을 실행할 수 있는 컴퓨팅 플랫폼을 제공한다. 무선 디바이스들의 사용자들을 더 양호하게 서빙하기 위해, 그러한 애플리케이션들의 제 3 자 개발자들은, 그들의 배치된 애플리케이션들이 어떻게 사용되는지에 관한 정보로부터 이익을 얻을 것이다. 그러나, 개발자들에 궁극적으로 도달할 수 있는 로그 패킷들을 생성하는 것은, 프라이버시 관계, 악성 애플리케이션에 대한 세이프가드, 액세서리 애플리케이션에 일반적으로 제공되는 환경, 제한된 통신 채널 (예컨대, 대역폭, 지속기간, 사용자 비용 등), 및 셀 전화기들과 같은 이동 디바이스들에 맞춰진 칩셋들에 그러한 애플리케이션들을 통합하는 것의 어려움에 의해 일반적으로 허가가능하지 않거나 또는 인에이블되지 않는다. 디바이스 상에서 확인 언락 피처에 커플링된 배치 이전에 정의된 로그 헤더 및 애플리케이션의 인증은, 디바이스에 의해 선택적으로 허용, 필터링, 및 리포팅될 수 있는 증가하는 복잡도의 로그 패킷들을 허용한다.
로그 패킷, 이동 디바이스, 액세서리 애플리케이션

Description

이동 디바이스를 위한 애플리케이션 로깅 인터페이스{APPLICATION LOGGING INTERFACE FOR A MOBILE DEVICE}
U.S.C.§119 하의 우선권 주장
본 특허 출원은, 2007년 5월 1일 출원되고 본원의 양수인에게 양도되고 본원에 참조로 명백히 병합된 발명의 명칭이 "Method and Apparatus for Providing an Application Interface for Providing Debug and Usage Pattern Information for a Wireless Communication Device" 인 가출원 번호 제 60/915,120 호에 대한 우선권을 주장한다.
배경기술
분야
여기서 개시되는 양태들은, 리포트 로그 데이터 (reports log data) 를 선택적으로 수집하는 이동 디바이스에 관한 것으로, 특히 인스톨된 컴포넌트들을 트러블슈팅 (troubleshooting) 하기 위한 로그 리포트들을 수집하고 무선으로 리포팅하는, 통신 시스템의 무선 통신 디바이스들에 관한 것이다.
배경
기술의 진보로 인해, 퍼스널 컴퓨팅 디바이스들이 더 소형화되고, 더 강력해졌다. 예컨대, 각각 작고, 경량이며, 사용자들에 의해 쉽게 운반될 수 있는 휴대용 무선 전화기, 개인 휴대용 정보 단말기 (PDA), 및 페이징 디바이스와 같은, 무선 컴퓨팅 디바이스를 포함하는 다양한 휴대용 퍼스널 컴퓨팅 디바이스가 현재 존재한다. 소프트웨어 애플리케이션들의 어레이가 제공될 수 있는 많은 타입의 전자 디바이스들이 소비자들에게 점점 더 제공된다. 스마트 폰, 휴대용 게임 콘솔, 또는 핸드-헬드 (hand-held) 컴퓨터와 같은 다기능 디바이스 상에 로딩될 수 있는 선택가능한 애플리케이션들로서 이메일, 인터넷 브라우징, 게임 플레잉, 어드레스 북, 달력, 미디어 플레이어, 전자 북 뷰잉, 음성 통신, 디렉터리 서비스 등과 같은 별개의 피처들이 증가하고 있다.
이러한 진보에도 불구하고, 이동 통신 디바이스들은 범용 컴퓨팅 디바이스들에 비해 통신 대역폭, 프로세싱, 및 사용자 인터페이스 제약들을 갖는 경향이 있다. 예컨대, 디바이스의 작은 사이즈로 인해, 스크린 사이즈, 이용가능한 메모리 및 파일 시스템 공간의 양, 입력 및 출력량 능력들, 및 프로세싱 능력이 각각 제한될 수도 있다. 이러한 엄격한 리소스 제약들로 인해, 그러한 디바이스들을 위한 컴퓨팅 플랫폼들은 종종 특정한 전화기 칩셋 및 사용자 인터페이스 하드웨어에 대해 최적화된다. 따라서, 애플리케이션들은 컴퓨터 플랫폼과는 독립적인 형태로 기록되어, 단지 사용자 인터페이스와 상호작용하기 위해 제공되는 규정 (provision) 에 따라 주로 가상 머신 환경에서 기능하는 경향이 있다.
이동 통신 디바이스 상에 상주하는 애플리케이션들에 대해 추가적인 통신 채널들을 제공하는 것은 보안 고려사항들로 인해 어렵다. 디바이스에 이용가능한 무선 및/또는 셀룰러 통신 채널들에 애플리케이션들이 액세스하도록 허용하는 것은 바람직한 통신 사용을 희생하여 이루어질 수 있다. 또한, 통신 채널에 대한 액 세스를 획득한 의심스러운 애플리케이션에 의해 사용자 프라이버시가 손상될 수 있다.
그럼에도 불구하고 많은 상황들에서, 사용자 및 제 3 자 애플리케이션 개발자 양자 모두가 특정 제 3 자 애플리케이션들로 하여금 네트워크에 정보 패킷들을 리턴하도록 허용하는 것이 바람직할 수도 있다. 예컨대, 사용자는, 닐슨 (Nielsen) 텔레비전 패밀리와 유사하게, 그의 디바이스 사용이 모니터링되고 리포팅되는 것을 허용하는 것에 대해 보상될 수도 있다. 사용자들이 애플리케이션들과 어떻게 상호작용하는지에 대한 피드백으로 더 나은 애플리케이션들이 개발되고 배치될 수도 있다. 게임 애플리케이션의 사용자는 그의 하이 스코어가 그의 소유의 무선 디바이스 상의 저장된 레코드의 범위를 넘어서 알려지기를 바랄 수도 있다.
개요
이하는, 개시된 버전들의 몇몇 양태들의 기본적인 이해를 제공하기 위해 간략화된 개요를 제시한다. 이 개요는 광범위한 오버뷰가 아니며, 키 또는 중요한 엘리먼트들을 식별하거나 또는 그러한 버전들의 범위의 윤곽을 나타내지 않도록 의도된다. 그 목적은, 이후 제시되는 더 상세한 설명에 앞서, 간략화된 형태로 설명된 버전들의 몇몇 개념들을 제시하는 것이다.
일 양태에서, 수신지에 로그 정보를 전송하는 디바이스 모니터링 애플리케이션을 갖는 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들을 선택적으로 허용하기 위한 방법이 제공된다. 이동 디바이스 상에 서 실행하기 위해 배치된 액세서리 애플리케이션들은 진단 컴포넌트에 액세스하는 것이 선택적으로 방지된다. 특히, 액세서리 애플리케이션으로부터의 정보 패킷의 전송을 게이팅하는 것은, 정보 패킷이 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약을 위반하지 않는다는 결정에 응답하여 수행된다. 그 후, 액세서리 애플리케이션으로부터 디바이스 모니터링 수신지에 정보 패킷의 전달이 수행된다. 그에 의해, 이동 디바이스에 애플리케이션들을 배치하는 것에서의 더 큰 유연성이 허용되면서, 제 3 자 애플리케이션이 인증되는 한, 방해하는 또는 악성의 애플리케이션들이 외부 통신을 간섭하는 것이 방지된다. 애플리케이션 인터페이스를 이용하는 것은, 특정한 칩셋 또는 하드웨어/소프트웨어 동작 환경에 맞출 필요 없이 액세서리 애플리케이션들의 적절한 배치 및 트러블슈팅을 간략화한다. 그렇지 않으면, 많은 이동 디바이스들에 적합한 애플리케이션들을 개발하기 위한 비용들이 금지될 수 있다.
다른 양태들에서, 적어도 하나의 프로세스, 컴퓨터 프로그램 제품, 및 장치는, 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들이 디바이스 모니터링 수신지에 도달하는 것을 선택적으로 허용하기 위한 수단을 포함한다.
또 다른 양태에서, 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들이 디바이스 모니터링 수신지에 도달하는 것을 선택적으로 허용하기 위한 이동 디바이스는, 트러블슈팅 로그 패킷들을 리포팅하기 위한 적어도 하나의 신뢰된 컴포넌트를 갖는다. 진단 컴포넌트는, 적어도 하나의 신뢰된 컴포넌트로부터의 신뢰된 크리덴셜 (cridential), 및 진단 모니터링 수신지에 전송하기 위한 트러블슈팅 로그 패킷을 수신한다. 애플리케이션 인터페이스는 액세서리 애플리케이션으로부터의 정보 패킷의 전송의 디펜시브 게이팅을 수행한다. 그에 의해, 신뢰된 컴포넌트의 무결성 및/또는 기능을 손상시키지 않으면서 그러한 애플리케이션들에 증가된 기능이 제공된다. 그 후, 애플리케이션 인터페이스는, 진단 컴포넌트를 통해 진단 모니터링 수신지에 정보 패킷을 전달하기 위해, 애플리케이션 인터페이스의 신뢰된 크리덴셜과 함께 액세서리 애플리케이션으로부터의 정보 패킷을 패키징할 수 있다.
전술한 관련된 목적들의 달성을 위해, 하나 이상의 버전들이 이하 완전히 설명되고 청구의 범위에서 특히 지적되는 피처들을 포함한다. 후속하는 설명 및 첨부된 도면들은, 특정 예시적인 양태들을 상세히 설명하고, 버전들의 원리가 채용될 수도 있는 소수의 다양한 방식들을 나타낸다. 다른 이점들 및 신규한 피처들이, 도면들과 관련하여 고려되는 경우 후속하는 상세한 설명으로부터 명백하게 될 것이고, 개시된 버전들은 모든 그러한 양태들 및 이들의 균등물을 포함하도록 의도된다.
도면의 간단한 설명
도 1은 로그 리포팅을 위한 진단 시스템에 액세서리 애플리케이션들을 인터페이싱하고 있는 이동 디바이스의 블록도이다.
도 2는 로그 패킷들의 후속하는 무선 리포팅 백을 위한 무선 통신 디바이스 상에서 배치되는 애플리케이션의 인증 이전의 통신 시스템의 블록도이다.
도 3은 클라이언트 애플리케이션과 애플리케이션 로그 관리자 사이의 인증 데이터 플로우의 블록도이다.
도 4는 로그 헤더 및 로그 데이터를 포함하는 로그 패킷에 대한 데이터 구조의 도면이다.
도 5는 도 2의 통신 시스템의 통신 디바이스의 개략도이다.
도 6은 도 1의 통신 시스템에 의해 수행되는 애플리케이션 로깅 인터페이스를 위한 방법의 플로우도이다.
도 7은 도 6의 방법의 로그-생성 애플리케이션을 등록하기 위한 방법의 플로우도이다.
도 8은 도 6의 방법의 애플리케이션 로그 인터페이스를 언락 (unlock) 하기 위한 방법의 플로우도이다.
도 9는 도 6의 방법의 애플리케이션 클래스 식별 (ID) 을 세팅하기 위한 방법의 플로우도이다.
도 10은 도 6의 방법의 로그를 전송하는 방법의 플로우도이다.
도 11은 도 8의 인증 방법에 대한 추가적인 또는 대안적인 전송 디펜스로서의 도 6의 방법의 패킷들의 전송을 게이팅하기 위한 방법의 플로우도이다.
상세한 설명
예시적인 버전에서는 또한 무선 통신 디바이스도 되는 이동 디바이스는, 제 3 자 (예컨대, 액세서리) 애플리케이션들이 사용자에게 바람직한 증가하는 피처들 및 기능들을 실행할 수 있는 컴퓨팅 플랫폼을 제공한다. 무선 디바이스들의 사 용자들을 더 양호하게 서빙하기 위해, 그러한 애플리케이션들의 제 3 자 개발자들은 그들의 배치된 애플리케이션들이 어떻게 사용되고 있는지에 관한 정보로부터 이익을 얻을 것이다. 그러나, 개발자들 또는 애플리케이션을 트러블슈팅하거나 또는 네트워크 인핸스드 서비스들을 제공하기 위해 응답가능한 다른 엔티티들에 궁극적으로 도달할 수 있는 로그 패킷들 또는 리포트들을 생성하는 것은, 프라이버시 관계, 악성 애플리케이션들에 대한 세이프가드, 제 3 자 애플리케이션들에 일반적으로 제공되는 가상 머신 동작 환경, 제한된 통신 채널 (예컨대, 대역폭, 지속기간, 사용자 비용 등), 및 셀 전화기들과 같은 이동 디바이스들에 맞춰진 칩셋들에 그러한 애플리케이션들을 통합시키는 것의 어려움으로 인해, 일반적으로 무선 디바이스들에 의해 허가가능하지 않거나 또는 인에이블되지 않는다. 디바이스 상의 콘퍼밍 (confirming) 언락 피처에 커플링된 배치 이전의 정의된 로그 헤더 및 애플리케이션의 인증은, 디바이스에 의해 선택적으로 허용되고 필터링되며 리포팅될 수 있는 증가하는 복잡도의 로그 패킷들을 허용한다. 액세서리 애플리케이션 인터페이스의 신뢰된 크리덴셜 (예컨대, 패킷 헤더) 과 함께 로그 패킷들을 패키징함으로써, 액세서리 애플리케이션들은, 진단 시스템의 무결성을 손상시키지 않거나 또는 그러한 액세서리 애플리케이션들의 배치를 복잡하게 하지 않으면서, 트러블슈팅을 위한 진단 채널에 액세스할 수 있다.
이제 다양한 양태들이 도면들을 참조하여 설명된다. 후속하는 설명에서, 예시의 목적을 위해, 하나 이상의 양태들의 철저한 이해를 제공하기 위해 다수의 특정 세부사항들이 설명된다. 그러나, 다양한 양태들이 그러한 특정 세부사항 들이 없이도 실시될 수도 있다는 것은 자명할 수도 있다. 다른 예들에서, 이들 버전들을 간결하게 설명하기 위해 공지의 구조들 및 디바이스들이 블록도 형태로 도시된다.
장치 및 방법들은 특히 무선 환경들에서 사용하는데 적합하지만, 통신 네트워크, 인터넷과 같은 공중 네트워크, 가상 사설 네트워크 (VPN) 와 같은 사설 네트워크, 근거리 영역 네트워크, 광역 네트워크, 장거리 (long haul) 네트워크, 또는 임의의 다른 타입의 데이터 통신 네트워크를 포함하며 이에 제한되지는 않는 임의의 타입의 네트워크 환경에 적합할 수도 있다.
도 1을 참조하면, 이동 디바이스 (10) 는, 디바이스 트러블슈팅 및 사용 모니터링을 향상시키는 진단 컴포넌트 (14) 에 의해 서비스되는 신뢰된 통합된 컴포넌트들 (12) 의 슈트 (suite) 를 포함한다. 신뢰된 모듈들 (16) 은, 예컨대 로그 파일 수신지 (20) (예컨대, 데이터의 내부 또는 외부 소비자, 메모리 스토리지 (storage) 위치 등) 에 로그들을 저장할 수 있는 디바이스 모니터링 컴포넌트 (18) 에 로그 패킷들을 포워딩하기 위해 진단 컴포넌트 (14) 에 직접 액세스할 수 있다. 몇몇 양태들에서, 수신지 (20) 는, (예컨대, 사용자 인터페이스 또는 데이터 포트를 통해) 외부적으로 액세스가능하거나 또는 (예컨대, 메모리 카드와 같이) 분리가능한 로컬 스토리지일 수 있다. 다른 양태들에서, 로그 파일 수신지 (20) 는 이동 디바이스 (10) 에 대해 원거리에 있을 수도 있다. 예시적인 버전에서, 신뢰된 통합된 컴포넌트들 (12) 은, 통신 디바이스, 개인 휴대용 정보 단말기, 엔터테인먼트 플레이어 등과 같은 기능을 수행하는 OEM (original equipment manufacturer) 구성을 포함할 수 있다. 특정 사용자들에 적합화하기 위한 이용가능한 피처들 및 구성들을 향상시키기 위해, 이동 디바이스 (10) 는 적어도 하나의 보조 또는 액세서리 애플리케이션 (22) 으로 구성될 수 있다.
적어도 하나의 애플리케이션 (22) 을 실행하는데 있어서의 어려움을 회피하고, 신뢰된 통합된 컴포넌트들 (12) 의 기능적 무결성을 손상시키는 것을 회피하기 위해, 애플리케이션 (22) 은, 진단 컴포넌트 (14) 와 같은 이동 디바이스 (10) 의 특정 부분들에 대한 그 액세스에 있어서 제한된다. 증가된 액세스에 대해 신뢰하기 위해 충분히 철저하게 테스트되지 않았다고 해도, 디바이스 리포팅 또는 진단들에 애플리케이션 (22) 이 참여하는 것을 허용하는 이유들이 존재한다. 그러한 로그 리포팅 기능은, 그러한 애플리케이션들 (22) 의 개발 및 배치를 촉진할 수 있고/있거나, 그러한 애플리케이션들의 효용을 향상시킬 수 있고/있거나, 퍼포먼스 열화로 인한 사용자 불만족을 최소화할 수 있다. 이러한 로그 능력을 달성하기 위해, 그 자체가 진단 컴포넌트 (14) 에 대한 액세스를 갖는 신뢰된 컴포넌트인 액세서리 애플리케이션 패킷 인터페이스 (23) 는, 그러한 애플리케이션 (22) 에 대한 간략화된 액세스를 제공한다. 액세서리 애플리케이션 패킷 인터페이스 (23) 는, 애플리케이션 로그 언락 컴포넌트 (24) 및 애플리케이션 로그 전송 컴포넌트 (26) 를 포함하는 것으로서 도시된다. 이동 디바이스 (10) 는, 애플리케이션 (22) 의 소스의 타이틀의 체인을 콘퍼밍 (confirm) 할 수 있는 인증 데이터베이스 (28) 를 갖는다. 애플리케이션 (22) 은, 애플리케이션 (22) 에 의한 사용을 위해 애플리케이션 로그 전송 컴포넌트 (26) 를 언락하는 애플리케이션 로그 언락 컴 포넌트 (24) 에 의해 인증될 수 있다. 애플리케이션이 전송될 액세서리 애플리케이션 로그 리포트 또는 패킷 (30) 을 갖는 경우에, 애플리케이션 로그 전송 컴포넌트 (26) 는, 이 인증을 인지하고, 애플리케이션 로그 헤더 (32) 로서 도시된 액세서리 애플리케이션 패킷 인터페이스 (23) 의 신뢰된 크리덴셜들과 함께 액세서리 애플리케이션 로그 패킷 (30) 을 패키징하여, 진단 컴포넌트 (14) 에 의해 수용될 수 있는 패키징된 로그 패킷 (34) 을 형성할 수 있다. 이 패키징은 애플리케이션 로그 패킷 (30) 의 유연한 포매팅을 허용한다.
진단 컴포넌트 (14) 가 수신기, 모니터, 및/또는 리포트 진단 데이터에 대한 진단 기능에 전용될 수 있다는 것이 본 개시의 이익에서 인식되어야 한다. 다른 방법으로, 그러한 진단 데이터는 그러한 컴포넌트 (14) 의 기능의 일부로서 핸들링될 수 있다.
애플리케이션 로그 언락 컴포넌트 (24) 에 대한 대안으로서 또는 추가로, 패킷 트래픽 게이트 (32) 는, (예컨대, 진단 컴포넌트 (14) 와 같은) 이동 디바이스 (10) 의 통신 및/또는 스토리지 능력을 세이프가드하기 위한 디펜시브 기능을 또한 서빙한다. 따라서, 이동 디바이스 (10) 는, 패킷 전달을 용이하게 하기 위해 액세서리 애플리케이션 (22) 에 인터페이스하지만, 신뢰된 통합된 컴포넌트들 (12) 의 기능적 무결성을 향상시키는 전송 디펜시브 모듈 (34) 을 더 포함한다. 액세서리 애플리케이션 (22) 이 전송 정보 패킷들 (예컨대, 액세서리 애플리케이션 패킷 (30)) 을 전송할 수 있게 하는 능력을 제공하는 것은, 인증에 의하거나 또는 허용되는 패킷 전송의 양을 제한하는 것에 의한 증가된 보안으로 행해진다. 패 킷 트래픽 게이트 (32) 는, 각각의 패킷 (30) 의 사이즈, 각각의 패킷 (30) 이 전송되고 있는 레이트, 총 이용가능한 스루풋, 또는 로그 파일 수신지 (20) 에서 이용가능한 스토리지 볼륨 또는 액세서리 애플리케이션 (22) 에 배당된 그 부분 등을 모니터링할 수 있다. 그러한 임계 제한들은, 이동 디바이스 (10) 의 모니터링 요구들에 따라 동적으로 결정되거나 또는 원격으로 세팅될 수 있다.
도 2를 참조하면, 통신 시스템 (100) 은, 데이터 네트워크 (106) 와의 도면 부호 (104) 에서 도시된 무선 데이터 패킷 통신 채널, 및/또는 캐리어 네트워크 (110) 와의 도면 부호 (108) 에서 도시된 셀룰러 통신 채널로서 예시된 네트워크와 통신하는 이동 통신 디바이스들 (102) 로서 도시된 무선 디바이스들의 집단을 포함한다. 적어도 하나의 이동 통신 디바이스 (102) 는, 데이터 네트워크 (106) 를 통해 통신하고 있는 이동 통신 디바이스 인테그레이터 (integrator) (114) 에 통신 채널들 (104, 108) 중 하나를 통해 디바이스 정보 (예컨대, 퍼포먼스 파라미터들, 폴트-관련 이벤트들 등) 를 중계하는 디바이스 모니터링 컴포넌트 (112) 를 포함한다. 인테그레이터 (114) 에 의해 애플리케이션 트래킹 데이터베이스 (118) 에 저장된 데이터 수집 프로세스들 (116) 은, 본원의 양수인에게 양도되고 본원에 참조로 병합된 발명의 명칭이 "Apparatus and methods for determining voice and/or data processing performance of a wireless device" 인 공개공보 번호 제 20060198359 A1 호인 미국 특허 출원 제 11/251,298 호에서 개시된 진단 컴포넌트 (120) 에 의해 검출된 모니터링된 이벤트들에 의해 통신 디바이스 (102) 의 집단에 대한 서비스를 개선하기 위해 사용될 수 있다. 다른 방법으로 또는 추가로, 온 보드 로그 스토리지 (119) 는, 리포트들을 버퍼링하고, 디바이스 (102) 자체 상에 추후 뷰잉하기 위한 리소스로서 서빙하고, 다른 디바이스 (미도시) 에 의해 판독하기 위한 분리가능한 메모리 디바이스로서 서빙하는 등을 할 수 있다.
통신 시스템 (100) 의 다양한 부분들이 무선 링크들보다는 케이블 접속들을 포함할 수 있다는 것을 인식해야 한다. 예컨대, 이동 통신 디바이스 (102) 는, 무선 통신에 대한 대안으로서 또는 추가로, 저장된 데이터 패킷들을 간헐적으로 검색하기 위한 케이블 접속을 포함할 수 있다. 또 다른 대안으로서, 통신 디바이스 (102) 는, IMS와 같은 하나의 통신 채널을 이용할 수 있으나, 반면에 로그 리포팅은 단문 메시징 서비스를 통해 전송될 수 있다.
이동 통신 디바이스 (102) 의 능력들을 증진시키기 위해, 제 3 자 애플리케이션 (122) 을 추가하는 것 (예컨대, OEM (original equipment manufacturer) 에 의해 인스톨되거나, 사용자에 의해 무선 다운로드되거나, 등) 이 종종 바람직하다. 통상적으로, 이동 통신 디바이스들 (102) 의 집단에서 칩셋, 하드웨어, 및/또는 애플리케이션 (122) 에 대한 소프트웨어 실행 환경에 있어서 큰 차이가 존재할 수 있다. 따라서, 통신 디바이스 (102) 에 병합된 액세서리 애플리케이션 인터페이스 (124) 는, 예컨대 디스플레이 스크린 (124) 으로서 도시된 출력 디바이스 및 키패드 (126) 로서 도시된 입력 디바이스와의 애플리케이션 (122) 에 의한 액세스를 용이하게 하는, 실질적으로 플랫폼 독립적인 실행 환경을 제공할 수 있다. 그러나, 종종, 디바이스 퍼포먼스 또는 사용자 프라이버시와의 부주의한 또는 악성의 간섭을 방지하기 위해, 통신 디바이스 (102) 의 다른 능력들과의 애플리케이션 (122) 에 의한 추가의 상호작용을 제한하거나 또는 방지하는 것이 바람직하다.
제 3 자 애플리케이션 (122) 의 애플리케이션 개발자 (128) 는, 인테그레이터 (114) 로부터 이동 통신 디바이스 (102) 에 배치되는, 소스 애플리케이션 (122) 에 대한 디지털 인증서 (130) 를 얻으려 할 수 있다. 애플리케이션 개발자 (128) 가 신뢰되어야 하는 인테그레이터를 만족시키기 위해 인증 (134) 의 충분한 프루프 (proof) (예컨대, 식별의 프루프, 소스 애플리케이션 (122) 의 인가 테스팅, 워런티 게런티 (warranty guarantee) 등) 를 제시함으로써, 인테그레이터는, 보유된 루트 인증서 (138) 에 기초하여 리프 (leaf) 인증서 (136) 를 제공한다. 디지털 인증서 (130) 는, 애플리케이션 클래스 ID와 같은 고유한 애플리케이션 식별자 (ID) 를 배당하는 로깅 관리자 컴포넌트 (140) 에 의해, 후속하는 배치된 애플리케이션들 (122) 및 소스 애플리케이션 (122) 에 고유하게 이루어진다. 디지털 인증서 (130) 는, 로그 리포트 데이터베이스 (142) 에 분석을 위해 저장된 배치된 애플리케이션들 (122) 로부터의 정보 패킷들 (예컨대, 로그 패킷들) 을 검색하도록 애플리케이션 개발자 (128) 에게 자격부여한다.
통신 디바이스 (102) 에 배치된 이러한 디지털 인증서 (130) 로, 인터페이스 (124) 의 애플리케이션 로그 언락 컴포넌트 (144) 를 통해 액세서리 애플리케이션 인터페이스 (124) 에 의해 애플리케이션 (122) 이 인증될 수 있다. 애플리케이션 (122) 이 전송할 액세서리 애플리케이션 패킷 (146) 을 갖는 경우에, 로그 코드 필터 (148) 는, 특히 가변 길이의 2진 포맷에 대한 로그 파일의 사이즈 및 위치를 정의하는 헤더 정보와 같은 액세서리 애플리케이션 패킷 (146) 에 관한 적절한 정 보를 검출할 수 있다. 로그 통신 컴포넌트 (150) 는, 디바이스 모니터링 컴포넌트 (112) 로의 전송 경로로서 진단 컴포넌트 (120) 를 통해 로그 파일을 전달한다.
도 2의 도시가 예시적이며 다양한 방식들로 특정 양태들이 구성될 수도 있다는 것을 인식해야 한다. 예컨대, 다른 엔티티 또는 e 애플리케이션 개발자 (128) 이외의 엔티티들에 의해 로그 리포트 데이터베이스 (142) 가 수집될 수 있다. 유사하게, 애플리케이션들 (122) 의 인증을 용이하게 하는 로깅 관리자 컴포넌트 (140) 는, 다양한 엔티티들에 의해 수행될 수 있으며, 반드시 이동 통신 디바이스 인테그레이터 (114) 에 의해 수행될 필요는 없다.
도 3에서, 일 양태에서, 호출 애플리케이션 (200) 은, 애플리케이션 로그 컴포넌트 (AppLog) 를 통해 클라이언트 데이터를 리포팅하도록 구성된 클라이언트 컴포넌트 (202) 의 일부이다. AppLog (204) 는 보유된 루트 인증서 (208) 에 기초하여 리프 인증서 (206) 를 제공한다. 클라이언트 컴포넌트 (202) 는, 호출 애플리케이션 (200) 에 디지털 서명 암호화 능력을 포함시킨다. 로그 리포팅을 개시하기 위해, 호출 애플리케이션 (200) 은 AppLog (204) 에 디지털 서명된 랜덤 넘버 (R1) (210) 를 전송한다. 언락 컴포넌트 (212) 는 공중키를 가지며, 호출 애플리케이션 (200) 의 디지털 서명을 인지한다. 응답하여, 언락 컴포넌트 (212) 는, 호출 애플리케이션 (200) 에 대한 통신 경로를 언락하고, 블록 (214) 에서 공중키로 암호화된 랜덤 넘버 (R1) 및 다른 랜덤 넘버 (R2) 로 호출 애플리케이션에 응답한다. 호출 애플리케이션 (200) 은, 다른 파티가 공중키를 가지며 로 그 리포팅에 대해 신뢰될 수 있다는 확인으로서 랜덤 넘버 (R1) 의 리턴을 검출한다. 따라서, 호출 애플리케이션 (200) 은, 블록 (216) 에서 제 2 랜덤 넘버 (R2) 와 함께 AppLog (204) 에 클라이언트 데이터 리포트를 전송할 수 있다. 향상된 보안을 위해 암호화가 계속 사용될 수도 있지만, 전술된 인증은, 감소된 프로세싱 오버헤드를 위해 후속하는 메시지들이 암호화되지 않을 수 있는 다른 인스톨된 컴포넌트들에 관한 다른 보안 대책들과 함께 이 애플리케이션 (200) 에 충분한 컨피던스 (confidence) 를 제공한다. 수신 시에, AppLog (204) 는, 네트워크 (108, 106) (도 2) 에 데이터를 무선 통신하기 위한 것과 같이, 이 정보를 수신하기 위해 등록된 청취 애플리케이션들 (220) 에 클라이언트 데이터 (216) 를 포워딩하기 위한 전송 로그 컴포넌트 (218) 를 이용한다.
도 3 내지 도 4에서, 일 양태는, 애플리케이션 로그 데이터 구조 (240) 로서 도시된, 정보 패킷을 핸들링하는 것 (도 4) 을 포함하고, 여기서 로그 헤더 (242) 포맷은 호출 애플리케이션 (200) 및 AppLog (204) 에 의해 사용하기 위해 정의된다 (도 3). 클래스 ID 필드 (244) 는 호출 애플리케이션 (200) 의 식별을 허용한다. 애플리케이션 로그 ID 필드 (246) 는, 그러한 리포트들을 카탈로깅 (catalog) 하는데 있어서 로그 리포트를 수신하는 네트워크 엔티티를 보조할 수 있다. 애플리케이션 로그 데이터 사이즈 필드 (248) 는, 애플리케이션 로그 2진 데이터 (250) 가 로그 헤더 (242) 를 수반할 수 있게 하고, 그러한 데이터 (250) 가 가변 길이로 이루어지게 할 수 있으며, 양자 모두의 속성들은, 이용가능한 메모리 스토리지의 사용을 더 양호하게 하고 텍스트 포맷 로그 파일들에 대한 요구조건 에 비해 프로세싱 이점들을 제공한다. 몇몇 양태들에서, 로그 헤더 (242) 는 액세스 및 리포트하기 위해 사용될 수 있다. 다른 양태들에서, AppLog (204) 에는, 로그 2진 데이터 (250) 에 존재할 수도 있는 관심이 있는 특정한 로그 코드들 (252) 이 통지될 수 있다. 그러한 로그 데이터 구조들 (240) 을 핸들링하는 것의 일부로서, AppLog (204) 는, 그러한 코드들 (252) 에 따라 필터링된 리포팅에서 임의의 그러한 로그 코드들 (252) 의 존재를 식별하기 위해 바이트 단위 비교를 행할 수 있다.
도 5에서, 임의의 타입의 컴퓨터화된 디바이스로서 몇몇 양태들에 따라 통신 시스템 (300) 의 예시적인 버전이 도시된다. 예컨대, 통신 디바이스 (300) 는 무선 및/또는 셀룰러 전화기를 포함할 수도 있다. 다른 방법으로, 통신 디바이스 (300) 는, 프록시 호/세션 제어 기능 (P-CSCF) 서버, 네트워크 디바이스, 서버, 컴퓨터 워크스테이션 등과 같은 고정된 통신 디바이스를 포함할 수도 있다. 통신 디바이스 (300) 가 그러한 설명 또는 예시된 디바이스들에 제한되지 않으며, 개인 휴대용 정보 단말기 (PDA), 양방향 텍스트 페이저, 유선 또는 무선 통신 포탈을 갖는 휴대용 컴퓨터, 및 유선 및/또는 무선 통신 포탈을 갖는 임의의 타입의 컴퓨터 플랫폼을 더 포함할 수도 있다는 것을 이해해야 한다. 또한, 통신 디바이스 (300) 는, 엔드-사용자를 갖지 않지만 무선 또는 유선 네트워크를 통해 데이터를 단순히 통신하는, 원격 센서, 원격 서버, 진단 툴, 데이터 중계기 등과 같은 원격-슬레이브 또는 다른 유사한 디바이스일 수 있다. 다른 양태들에서, 통신 디바이스 (300) 는, 랜드라인 전화기, 퍼스널 컴퓨터, 셋톱 박스 등과 같은 유선 통신 디바이스일 수도 있다. 추가로, 단일 타입 또는 복수의 전술된 타입들의 임의의 수의 통신 디바이스들 (300) 의 임의의 조합이 셀룰러 통신 시스템 (미도시) 에서 이용될 수도 있다는 것을 유념해야 한다. 따라서, 본 장치 및 방법들은, 무선 모뎀, PCMCIA (Personal Computer Memory Card International Association) 카드, 액세스 단말기, 퍼스널 컴퓨터, 전화기, 또는 그 임의의 조합 또는 서브-조합을 포함하며 이에 제한되지 않는, 유선 또는 무선 통신 포탈을 포함하는, 임의의 형태의 유선 또는 무선 디바이스 또는 컴퓨터 모듈 상에서 수행될 수 있다.
추가로, 통신 디바이스 (300) 는, 광고들을 뷰잉하고 광고들과 상호작용하는 것과 같은 목적들을 위한 사용자 인터페이스 (302) 를 포함할 수도 있다. 이 사용자 인터페이스 (302) 는, 통신 디바이스 (300) 로의 사용자 입력을 생성 또는 수신하도록 동작가능한 입력 디바이스 (304), 및 통신 디바이스 (300) 의 사용자에 의한 소비를 위한 정보를 생성 및/또는 제시하도록 동작가능한 출력 디바이스 (306) 를 포함한다. 예컨대, 입력 디바이스 (302) 는, 키패드 및/또는 키보드, 마우스, 터치-스크린 디스플레이, 음성 인지 모듈과 관련하는 마이크로폰 등과 같은 적어도 하나의 디바이스를 포함할 수도 있다. 또한, 예컨대, 출력 디바이스 (306) 는, 디스플레이, 오디오 스피커, 햅틱 피드백 메커니즘 등을 포함할 수도 있다. 출력 디바이스 (306) 는, 그래픽 사용자 인터페이스, 사운드, 진동과 같은 감각, 또는 브라이 (Braille) 텍스트 생성 표면 등을 생성할 수도 있다.
또한, 통신 디바이스 (300) 는, 디바이스 (300) 에 기능을 제공하기 위해 애플리케이션들을 실행하도록 동작가능한 컴퓨터 플랫폼 (308) 을 포함할 수도 있으 며, 이는 또한 입력 디바이스 (304) 및 출력 디바이스 (306) 와 상호작용할 수도 있다. 컴퓨터 플랫폼 (308) 은, 판독-전용 및/또는 랜덤-액세스 메모리 (RAM 및 ROM), 소거가능한 프로그래밍가능한 판독-전용 메모리 (EPROM), 전기적으로 소거가능한 프로그래밍가능한 판독-전용 메모리 (EEPROM), 플래시 메모리, 및/또는 컴퓨터 플랫폼들에 공통인 임의의 메모리와 같은 휘발성 및 비휘발성 메모리 부분들을 포함할 수도 있는 메모리를 포함할 수도 있다. 또한, 메모리는, 자성 매체, 광학 매체, 테이프, 소프트 및/또는 하드 디스크, 및 제거가능한 메모리 컴포넌트들과 같은 임의의 2차 및/또는 3차 스토리지 디바이스 및 전자 파일 시스템을 포함하는 활성 메모리 및 스토리지 메모리를 포함할 수도 있다. 예시적인 버전에서, 메모리는 RAM 메모리 (309) 및 비휘발성 로컬 스토리지 컴포넌트 (310) 로서 도시되고, 양자 모두는 컴퓨터 플랫폼 (308) 의 데이터 버스 (312) 에 접속된다.
또한, 컴퓨터 플랫폼 (308) 은, 애플리케이션 특정 집적 회로 (ASIC) 또는 다른 칩셋, 프로세서, 로직 회로, 또는 다른 데이터 프로세싱 디바이스일 수도 있는 프로세서 (314) 를 포함할 수도 있다. 통신 디바이스 (300) 의 이들 능력들의 몇몇은, 로컬 스토리지 (310) 로부터 로딩되고, 메모리 (309) 에 보유되며, 프로세서 (314) 에 의해 실행되는 코드에 의해 용이하게 될 수 있다. 몇몇 양태들에서, 통신 디바이스 (300) 가 셀룰러 전화기를 포함하는 경우에서와 같이, 애플리케이션 특정 집적 회로 (ASIC) (306) 와 같은 프로세서 또는 다른 로직은, 다른 기능들 (예컨대, 통신 호 제어, 알람 시계, 텍스트 메시징 등) 을 위해 메모리 (309) 에서 활성일 수도 있는 애플리케이션들 (예컨대, 게임들) (319) 로서 도시된 임의의 상주하는 소프트웨어 컴포넌트들과 상호작용하는 애플리케이션 프로그래밍 인터페이스 (API) (318) 를 실행할 수도 있다. 본 발명의 양태들과 부합하는 애플리케이션들이 다른 애플리케이션들을 생략하고/하거나 음성 호, 데이터 호, 및 메모리 (309) 내의 매체-관련된 애플리케이션들과 같은 스트리밍 컨텐츠를 수신하기 위한 능력을 생략할 수도 있다는 것이 본 개시의 이익에서 인식되어야 한다. 디바이스 API들 (318) 은, 각각의 통신 디바이스 상에서 실행하는 런타임 환경일 수도 있다. 하나의 그러한 API (318) 런타임 환경은 BREW API (321) 이다. 캘리포니아주 샌디에고의 퀄컴 인코포레이티드에 의해 개발된 BREW® (Binary Runtime Environment for Wireless®) 소프트웨어가 무선 셀룰러 전화기와 같은 컴퓨팅 디바이스의 운영 시스템 (320) 상에 존재한다. BREW® 소프트웨어는, 컴퓨팅 디바이스들 상에서 발견되는 특정한 하드웨어 피처들에 대한 인터페이스들의 세트를 제공할 수 있다. BREW API들 (322) 은, 통신 디바이스 (300) 의 타입에 대해 구체적으로 기록할 필요 없이, 디바이스 API들 (318) 을 호출하기 위한 애플리케이션들에 대한 능력 및 다른 기능들을 제공한다. 따라서, BREW로 구성된 경우에, 애플리케이션들 (319) 또는 통신 디바이스 (300) 상의 다른 소프트웨어 컴포넌트들은, 특정 하드웨어 양태들을 애브스트랙트 (abstract) 하는 BREW API (321) 에 의해 제공된 동작 환경 내의 다수의 상이한 타입의 하드웨어 구성들 상에서, 동일하게 또는 약간의 변형들로 동작할 수도 있다. BREW 익스텐션 (322) 은, MP3 플레이어들, 자바 가상 머신들 등을 제공하는 것과 같이, BREW API (321) 의 프로그래밍 플랫폼에 추가적인 능력을 추가한다.
예로서, UI 모듈 (323) 은, 네트워크 (106) (도 2) 의 일부로서 uniOne 전달 시스템 (uniOne delivery system; UDS) 을 리버레징 (leverage) 하는 brew 익스텐션 (322) 일 수 있다. BREW의 일부로서 퀄컴 인코포레이티드에 의해 또한 개발된 uiOneTM 아키텍쳐는, 풍부하고 커스터마이즈가능한 사용자 인터페이스 (UI) (즉, 활성 컨텐츠, 오버-더-에어 (over-the-air; OTA) 업-그레이드가능) 의 신속한 개발을 가능하게 하고, 애플리케이션들의 범위를 넘는 다운로드 비지니스를 진화시키는 것을 원조하고, 일부 또는 전체 핸드셋 UI의 테밍 (theming) 을 제공하며, BREW UI 위젯들을 이용하는 BREW 익스텐션들 (322) 의 세트를 제공한다. 따라서, BREW uiOne은 핸드셋들을 위한 마켓, 캐리어 커스터마이제이션, 및 소비자 개인화에 대한 시간을 감소시킨다. 이를 행하기 위해, BREW uiOne은 BREW에 대한 애플리케이션 개발 스택에 2개의 새로운 레이어들을 추가하여, 애브스트랙션들의 명료한 세트를 제공한다. uiOne 전달 시스템은 오버-더-에어로 통신 디바이스 UI들을 업데이트하기 위해 사용된다. 이러한 전달 시스템은, 운영자들이 그들의 고유한 전달 시스템의 기능을 리버레징하는 것을 허용하는 독립형 방식으로 배치될 수 있다. 특히 BREW 솔루션의 다른 엘리먼트들과 함께 배치되는 경우에, uiOne 전달 시스템으로 uiOne 아키텍쳐를 배치함으로써 추가적인 이익들이 설현될 수 있다 (예컨대, 운영자가 아직 적절한 인프라스트럭쳐를 갖지 않은 경우에 다운로딩가능한 UI 패키지들의 모네티제이션 (monetization) 및 빌링 (billing)).
추가로, 프로세서 (314) 는, 통신 시스템 (100) (도 2) 상에서의 통신 디바 이스 (300) 의 동작 및 통신 디바이스 (300) 의 기능을 인에이블하는, 하드웨어, 펌웨어, 소프트웨어, 및 이들의 조합들로 실시된 다양한 프로세싱 서브시스템들 (324) 을 포함할 수도 있다. 예컨대, 프로세싱 서브시스템들 (324) 은, 통신 디바이스 (300) 의 컴포넌트들 내에서 및/또는 사이에서 뿐만 아니라 다른 네트워킹된 디바이스들과 통신들을 개시하고 유지하는 것 및 데이터를 교환하는 것을 허용한다. 일 양태에서, 셀룰러 전화기에서와 같이, 프로세서 (314) 는, 사운드, 비휘발성 메모리, 파일 시스템, 송신, 수신, 탐색기, 레이어 1, 레이어 2, 레이어 3, 메인 제어, 원격 절차, 핸드셋, 전력 관리, 진단, 디지털 신호 프로세서, 보코더, 메시징, 호 관리자, Bluetooth® 시스템, Bluetooth® LPOS, 위치 결정, 위치 엔진, 사용자 인터페이스, 슬립, 데이터 서비스, 보안, 인증, USIM/SIM (universal subscriber identity module/subscriber identity module), 음성 서비스, 그래픽, USB (universal serial bus), MPEG (Moving Picture Experts Group) 프로토콜 멀티미디어와 같은 멀티미디어, GPRS (General Packet Radio Service), 단문 메시지 서비스 (SMS), 단음 서비스 (SVSTM), 웹 브라우저 등과 같은 프로세싱 서브시스템들 (324) 중 하나 또는 그 조합을 포함할 수도 있다. 개시된 양태들에 있어서, 프로세서 (314) 의 프로세싱 서브시스템들 (324) 은, 컴퓨터 플랫폼 (308) 상에서 실행하는 애플리케이션들과 상호작용하는 임의의 서브시스템 컴포넌트들을 포함할 수도 있다.
통신 디바이스 (300) 가 셀룰러 전화기이고, 프로세싱 서브시스템들 (324) 이, 무선 디바이스의 프로세서에 전송된 통신들을 수신하기 위한 하나 이상의 수신 ("RX") 컴포넌트 (326), 메시지를 프로세싱하는 것과 연관된, 개시, 인증, 핸드오프, 데이터 교환, 메시징 프로토콜, 내부 프로세싱 및 판정-수행 (decision-making) 등을 핸들링하기 위한 시스템 결정 ("SD") 컴포넌트 (330) 및/또는 호 프로세싱 ("CP") 컴포넌트 (328), 및 핸드셋 컴포넌트들, 무선 네트워크 (106), 무선 네트워크 컴포넌트들, 및 무선 네트워크에 접속된 다른 디바이스들과 같은 무선 디바이스의 프로세서로부터 통신들을 전송하기 위한 송신 ("TX") 컴포넌트 (332) 를 포함하는, 프로세싱 서브시스템들 (524) 의 도면이 예시된다. 이 버전에서, CP 컴포넌트 (328) 는, 호 프로세싱 태스크들의 대부분을 핸들링하고, SD 컴포넌트 (330) 는, 통신하기 위한 복수의 시스템들로부터 적절한 시스템을 선택하는 것에 관한 태스크들 뿐만 아니라 CP 컴포넌트 (328) 에 의해 참조되는 상위-레벨 판정-수행 태스크들을 핸들링할 수도 있다. 추가로, 프로세싱 서브시스템들 (324) 은, 서브시스템을 평가하기 위한 진단 ("Dx") 컴포넌트 (334), 팩스 통신들을 핸들링하기 위한 팩스 ("Fx") 컴포넌트 (336), 호 타입들을 특성화 및 로깅하기 위한 호 관리자 ("CM") (338) 컴포넌트, 텍스트 전송 및 수신을 위한 메시징 컴포넌트 ("M"), 및 데이터 호들을 확립 및 유지하는 것과 같은 모든 데이터-관련된 통신들을 프로세싱하기 위한 데이터 서비스 ("DS") 컴포넌트 (342) 중 하나 이상을 더 포함할 수도 있다.
애플리케이션 로그 (AppLog) 관리자 (346) 는, 제 1 랜덤 넘버 (R1) 데이터 구조 (348), 디지털 서명 (349), 제 2 랜덤 넘버 (R2) 데이터 구조 (350), AppLog 관리자 (346) 와의 인증을 위한 인코더/디코더 (351), 언락 요청 컴포넌트 (352), 및 로그 리포팅 생성 컴포넌트 (354) 를 포함함으로써, 도 3의 인증 단계들을 수행할 수 있는 로그 생성 애플리케이션 (319) 에 대한 예시적인 액세서리 애플리케이션 인터페이스 (124) (도 2) 로서 서빙한다. 애플리케이션 (319) 은, 진단 트래킹을 보증하는 폴트 또는 고장 (malfunction) 상태에 대한 것과 같은 이벤트가 컴퓨팅 플랫폼 (508) 상에서 검출되게 하는 이벤트 생성기 (356) 를 더 포함할 수 있다. 그러한 정보는, 특히 폴트 또는 고장 상태가 로그 리포트의 정상 프로세싱을 방해하는 경우에, 로그 트래킹의 가치를 향상시킬 수 있다.
AppLog 관리자 (346) 는, 애플리케이션 (319) 과 인터페이스하기 위한 BREW 로그 익스텐션 (358), AppLog 관리자 (346) 를 호출하는 애플리케이션들 (319) 의 식별 및 허가 레벨들에 대한 레퍼런스로서 서빙하기 위한 클래스 ID 데이터 구조 (360), 인코더/디코더 컴포넌트 (364) 로 신호를 디코딩한 후에 애플리케이션 (319) 의 언락 요청 컴포넌트 (352) 에 응답하는 언락 컴포넌트 (362), 및 보안된 저장된 로그 데이터 구조 (368) 에서와 같이 메모리 (509) 또는 로컬 스토리지 (510) 에 액세스될 수도 있는 애플리케이션 로그 (240) (도 4) 에서 정보를 디섹트 (dissect) 하는 코드 필터 (366) 를 포함할 수 있다. 이벤트 핸들러 컴포넌트 (370) 는, 상위 우선순위 이벤트들을 핸들링하기 위해 로그 리포팅 프로세싱 상에서 액션을 지연시키는 것과 같이, 이벤트 리포트들 및 로그 리포트들의 존재에서 AppLog 관리자 (346) 를 어떻게 우선순위화하는지에 대한 로직을 포함할 수 있다.
컴퓨터 플랫폼 (308) 은, GPS 엔진 (372) 또는 통신 디바이스 (300) 의 위치 정보를 제공하는 다른 위치 센싱 컴포넌트들을 더 포함할 수도 있다. AppLog 관리자 (346) 는, 발생의 위치와 같은 디바이스 모니터링 정보로 로그 리포팅을 증대시킬 수 있다. AppLog 관리자 (346) 는, 예컨대 사용자 식별 정보를 필터링할 수 있어서, 로그 리포팅의 값이 이 통신에 주어진 프라이버시의 범위를 위반하지 않으면서 그러한 로그 리포트들의 위치가 정보에 컨텍스트를 제공할 수 있도록 한다. 예컨대, 게임 애플리케이션은, 지리적 영역 내의 위닝 스코어들과 상관하거나, 게임이 합법적으로 허가되는 장소들로 프라이즈 위너들을 제약하거나, 또는 특정 광고 캠페인들이 진행중인 지리적 영역들에 대한 사용을 상관하는 등을 행할 수 있다.
통신 모듈 (374) 은, 통신 디바이스 (300) 의 다양한 컴포넌트들 사이에서 통신들을 인에이블시킬 뿐만 아니라 인에이블먼트/디스에이블먼트 폴트 로깅/리포팅 커맨드들 및 리포팅 폴트 로그들을 수신하는 것에 관련된 통신들에 대해 동작가능하다. 통신 모듈 (374) 은, 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실시될 수도 있으며, 인트라-디바이스 및 인터-디바이스 통신들에서 사용하기 위한 모든 프로토콜들을 더 포함할 수도 있다. 일 양태에서, 통신 모듈 (374) 은, 무선 브로드밴드 액세스 기술 부분 (376), 무선 멀티캐스트 기술 부분 (378), 셀룰러 전화 무선 기술 부분 (380), 및 무선 퍼스널 액세스 네트워크 부분 (382) 을 포함한다. 양방향 무선 브로드밴드 액세스 기술 부분 (376) 의 예들은, 무선 코드 분할 다중 액세스 (W-CDMA) 컴포넌트, 이볼루션-데이터 최적화 (EV-DO) 컴포넌트, IEEE 802.11 호환 (즉, 상표 WiFi에 의해 종종 잘못 표기되는) 컴포 넌트 중 하나 이상을 포함할 수 있다. 무선 퍼스널 액세스 네트워크 기술 부분 (376) 의 예는 블루투스 컴포넌트를 포함한다. 무선 멀티캐스트 기술 부분 (378) 의 예들은, 순방향 링크 전용 (Forward Link Only; FLO) 컴포넌트 및/또는 디지털 비디오 브로드캐스트-핸드헬드 (Digital Video Broadcast-Handheld; DVB-H) 컴포넌트를 포함한다.
통신 모듈 (374) 은, 네트워크 (106, 108) (도 2) 에 이벤트들 및 로그 리포트들 양자 모두를 리포팅하는 진단 모니터링 및 리포팅 컴포넌트 (384) 에 의해 액세스될 수 있다. 일 양태에서, 진단 모니터링 및 리포팅 컴포넌트 (384) 는, 개발, 테스팅, 운영자 인가 및 배치에서 효율을 제공하는 클라이언트 애플리케이션들의 슈트인 MobileViewTM 슈트를 이용할 수 있다. 선택적인 서버 시스템은 모바일 데이터의 원격 액세스를 허용한다. 트리거링-이벤트들 또는 지속적인 로깅은, 네트워크 운영자들에 의한 조기 배치들 및 친근한-사용자 트라이얼 (trial) 에 대한 목적 데이터를 제공한다. MobileView는, 분석 및 퍼포먼스 평가에 대한 중요한 사전 및 사후 이벤트 데이터를 수집하는 키 퍼포먼스 표시자 (Key Performance Indicator; KPI) 를 모니터링하기 위해 커스터마이즈될 수 있다. QUALCOMM의 MSMTM (Mobile Station ModemTM) 제품들에서 지원되어, MobileView는, 핸드셋 제조자들에 대한 고유한 시간-마켓 이점을 제공하는, 키 이벤트들 근방의 이동 진단 데이터 및 케이블이 없는 원격 능력을 제공한다. 이익들의 몇몇은, 테더링된 (tether) 로깅, 감소된 드라이브-테스팅, 뿐만 아니라 핸드셋 디버깅과 연 관된 트래벌 및 장비 비용들에 대한 의존성을 최소화시키고, 키 이벤트들 근방의 클라이언트 애플리케이션 로그 모바일 사전 및 사후 데이터를 필드 테스팅하는데 있어서 효율을 향상시키기 위해 핸드셋 KPI들과 GPS 위치 정보를 연관시키며, 문제점을 중복하는데 걸리는 시간 및 필드 테스팅을 최소화함으로써 개선된 테스팅 효율을 포함하며, 이는 모두 QUALCOMM MSM들에서 지원되고 소프트웨어 솔루션으로서 구현될 수 있다.
통신 시스템 (100) (도 2) 상에서 송신 오버헤드를 감소시키고/시키거나 컴퓨팅 오버헤드를 분산시키기 위해, 인공 지능 (artificial intelligence; AI) 컴포넌트 (386) 및/또는 룰-기반 로직 컴포넌트 (388) 는, 리포팅을 위한 사용자 행위를 추측하고/하거나, 리포팅가능한 폴트에 관련된 이벤트가 발생한 경우에 대해 판정들을 행하고/하거나, 간헐적인 위치 센싱 등에 기초한 위치를 외삽하거나, 또는 장애 (failure) 의 원인을 진단할 수 있다.
룰-기반 로직 컴포넌트 (388) 는, 여기서 설명 또는 제안된 특정 기능들을 자동화하기 위해 채용될 수 있다. 이러한 대안적인 양태에 따라, 행동되거나 또는 무시되어야 하는 속성들의 타입을 정의하고, 위치 센싱 스테이터스, 및 장애 또는 불량한 퍼포먼스라고 사용자에 의해 간주될 수도 있는 컴퓨팅 플랫폼의 특정 컴포넌트들에서의 퍼포먼스 지연들 등을 알고 있는 룰들을 생성하기 위해, 구현 기법 (예컨대, 룰) 이 적용될 수 있다. 예로서, 룰-기반 구현은 폴트의 엄격함을 위한 기준을 자동으로 정의할 수 있다는 것을 인식해야 할 것이다.
AI 컴포넌트 (386) 는, 소프트웨어가 인스톨되거나 또는 실행되기 전 및 후 일 수도 있는 무선 이동 디바이스의 정상 및 비정상 퍼포먼스가 무엇인지를 학습하고, 간헐적인 위치 데이터를 외삽하고, 머신 학습에 기초하여 사용자에게 제공되는 사용자 피드백을 조정하는 것과 같은 여기서 설명된 하나 이상의 피처들의 퍼포먼스를 자동화하는 것을 용이하게 할 수 있다. 따라서, 다양한 AI-기반 기법들을 채용하는 것은 본원의 다양한 양태들을 수행하는 것을 보조할 수 있다.
분류자 (classifier) 는, 입력 속성 벡터, x = (x1, x2, x3, x4, xn) 를 클래스 라벨 class(x) 에 매핑하는 함수이다. 또한, 분류자는 입력이 클래스에 속하는 컨피던스를 출력할 수 있으며, 즉 f(x) = confidence(class(x)) 이다. 그러한 분류는, 사용자가 자동으로 수행되기를 원하는 행동을 예측 또는 추측하기 위해 (예컨대, 분석 유틸리티들 및 비용들로 팩터링하는) 확률 및/또는 통계-기반 분석을 채용할 수 있다.
지원 벡터 머신 (support vector machine; SVM) 은, 채용될 수 있는 분류자의 예이다. SVM은, 비-트리거링 이벤트들로부터 트리거링 입력 이벤트들을 최적의 방식으로 분리시키는 가능한 입력들의 공간에서 하이퍼서페이스 (hypersurface) 를 발견함으로써 동작한다. 나이브 베이즈 (Naive Bayes), 베이지안 (Bayesian) 네트워크들, 판정 트리들, 신경 네트워크들, 퍼지 (fuzzy) 로직 모델들, 최대 엔트로피 모델들 등을 포함하는 다른 분류 접근법들이 채용될 수 있다. 여기서 사용되는 분류는 또한, 우선순위의 모델들을 개발하기 위해 이용되는 통계 회귀를 포함한다.
본 발명이 (예컨대, 다수의 사용자들로부터의 일반적인 트레이닝 데이터를 통해) 사전-트레이닝된 분류자들 뿐만 아니라 강화 학습 (예컨대, 사용자 행위의 관찰, 트렌드들의 관찰, 외부 정보의 수신) 의 방법들을 채용할 수 있다는 것이 본원으로부터 쉽게 명백하게 될 것이다. 따라서, 본 발명은, 소정의 기준에 따라, 결정하는 것을 포함하지만 이에 제한되지는 않는 다수의 함수들을 자동으로 학습 및 수행하기 위해 사용될 수 있다.
도 6 내지 도 10에서, 인증된 애플리케이션이 트러블슈팅, 마케팅 피드백 등과 같은 목적들을 위한 로그 파일들을 리포팅하는 것을 허용하기 위한 애플리케이션 로깅 인터페이스를 위한 방법 (500) 이 도시된다. 도 6을 특히 참조하면, 인증 크리덴셜들을 수신하기 위해 로그 생성 애플리케이션 (502) 이 등록된다. 이 등록은, 애플리케이션이 크리덴셜들을 포함하도록, 무선 디바이스에 대한 애플리케이션의 배치 이전에 발생할 수 있다. 다른 방법으로, 다운로드되거나 또는 번들된 애플리케이션이 인스톨 이후의 프로세스에 의해 로그 리포팅을 위해 활성화되거나, 또는 인에이블될 수 있다. 로그 파일들을 전송하기 전에, 블록 (504) 에서, 애플리케이션은 무선 디바이스가 해석할 수 있는 정의된 로그 헤더 포맷을 갖는다. 몇몇 예들에서, 관심이 있는 로그 파일들만이 저장되고/되거나 리포팅되도록, 블록 (506) 에서, 무선 디바이스는 로그 코드 필터 파라미터들을 또한 해석할 수 있다. 애플리케이션이 로깅에 대해 준비되면, 블록 (508) 에서, 애플리케이션은 하나 이상의 무선 디바이스들에 배치된다.
몇몇 양태들에서, 무선 디바이스는 스트리핑된 구성 또는 스트리핑되지 않은 구성일 수 있으며, 후자는 예컨대 생성 환경보다 개발 및 테스팅 환경에서 사용하 기에 적합한 추가적인 기능들을 포함한다. 블록 (510) 에서의 결정이, 통상적인 경우인, 무선 디바이스가 스트리핑된 빌드라고 결정하는 경우에, 언락 프로세스 (512) 가 수행된다. 그렇지 않으면, 무선 디바이스에서 로깅을 인에이블시키기 위해 세트 애플리케이션 클래스 ID 프로세스 (514) 가 사용된다.
블록 (516) 에서, 무선 통신과 같은 목적들을 위한 로그들을 수신하기 위해 하나 이상의 애플리케이션들이 등록될 수 있다. 다른 목적은, 휴먼 리지블 (legible) 형태로 로그 데이터를 변환하는 것 및 무선 디바이스의 디스플레이 상에 결과의 텍스트를 디스플레이하는 것일 수 있으며, 이는 본원의 양수인에게 양도되고 본원에 참조로 통합된, 발명의 명칭이 "APPARATUS AND PROCESS FOR A UNIVERSAL DIAGNOSTIC MONITOR MODULE ON A WIRELESS DEVICE" 인 공개공보 번호가 제 2006/0234698 A1 호인 미국 특허 출원 번호 제 11/175,606 호에서 개시된다.
그 후, 블록 (518) 에서, 무선 디바이스는 발생할 이벤트들 또는 로그 리포트를 청취한다. 패킷 전송 ("언락") 을 위해 애플리케이션을 인증하는 것에 추가로 또는 그 대안으로서, 액세서리 애플리케이션이 진단 리포팅 능력들을 과도하게 이용하는 것을 디펜시브하게 방지하기 위해, 트랜스포팅 패킷들의 게이팅이 수행된다. 예컨대, 액세서리 애플리케이션들의 더 광범위한 어레이를 수용하고 더 광범위하게 유포하기 위해, 몇몇 액세서리 애플리케이션들은 특정한 디바이스가 제공하도록 구성된 것보다 더 큰 대역폭 및/또는 데이터 스토리지 능력을 예상하도록 구성될 수 있다. 다른 고려사항으로서, 액세서리 애플리케이션은, 디바이스의 데이터 스루풋 및/또는 데이터 스토리지 능력을 소모시킬 수 있는 데이터 패킷 들의 과도한 공세 (torrent) 를 초래하는 특정한 장애 모드와 조우할 수도 있다. 또 다른 고려사항으로서, 특정한 디바이스는, 디바이스의 패킷 전송 능력을 공유해야만 하는 액세서리 애플리케이션들의 특정한 세트로 구성될 수도 있다. 몇몇 상황들에서, 디바이스 외부의 파티들 또는 엔티티들은, 블록 (519) 에서 패킷 전송을 게이팅하기 위한 리포팅 임계치들을 증가시킴으로써 수용될 수도 있는 그러한 리포팅에 대한 금전적 동기에 비례하거나 또는 트러블슈팅을 위한 것과 같이, 액세서리 애플리케이션으로부터 데이터 패킷들을 수신하는 것에 특정한 관심을 가질 수도 있다.
블록 (520) 에서, 비휘발성 스토리지에 있을 수 있는 로그 리포트를 핸들링하는 것을 배치하는 것, 또는 이벤트 (예컨대, 로우 배터리 전력, 전력 다운, 프로세서 리셋, 헝 (hung) 프로세서 등) 에 의해 요구되는 상이한 방식으로 로그 리포트 핸들링을 수행하는 것과 같이, 특정한 방식으로 이벤트가 핸들링될 수 있다.
로그의 수신 시에, 블록 (522) 에서 전송 로그 방법이 수행된다. 몇몇 예들에서, 로그 데이터의 리포팅은 특정 필터링 파라미터들에 따라 불확정하며, 이는 블록 (524) 에서 수행된다. 블록 (526) 에서 리포팅가능한 코드가 결정되는 경우에, 블록 (528) 에서 로그가 리포팅된다. 그 후, 프로세싱은 블록 (518) 으로 리턴한다.
도 7에서, 로그 생성 애플리케이션을 등록하기 위한 방법 (502) 은 블록 (530) 에서 애플리케이션 소스의 상호 인증을 포함한다. 블록 (532) 에서, 루트 인증서로부터의 인증서 체인이 생성되고 리프 인증서가 제공된다. 그 후, 블록 (534) 에서 로그 통신을 언락하기 위해 애플리케이션에 디지털 인증서가 포함된다.
도 8에서, 블록 (540) 에서 애플리케이션을 위한 로깅을 언락하기 위한 방법 (512) 이 시작되고, 호출 애플리케이션이 디지털 인증서에 의해 보안된 랜덤 넘버 (R1) 를 생성 및 전송한다. 블록 (542) 에서, 요청이 신뢰된 체인을 갖는지에 대한 결정이 행해지고, 그렇지 않다면 블록 (544) 에서 에러 코드를 리턴한다. 신뢰된 경우에, 블록 (544) 에서, 호출 애플리케이션에 의해 홀딩된 클래스 ID 특권들이 체크되고, 그 후 App Log를 인스턴스화함 (instantiate) 으로써 ("I App Log"), 애플리케이션 로그 (AppLog) 가 언락된다. 블록 (550) 에서, I App Log는 호출 애플리케이션에 R1 및 새로운 랜덤 넘버 (R2) 를 되돌려 전송한다. 블록 (552) 에서, 호출 애플리케이션은 R1을 검증하고, 전송 로그 인터페이스에 로그 요청을 전송할 때마다 파라미터로서 사용하기 위해 R2를 임시적으로 저장한다.
도 9에서, 호출 애플리케이션의 인증을 회피하는 것을 인에이블시키는 무선 디바이스에 스트립되지 않은 빌드가 제공된 것을 검증함으로써, 블록 (560) 에서 애플리케이션 클래스 ID를 세팅하기 위한 방법 (514) 이 시작한다. 그 후, 호출 애플리케이션이 디지털 서명을 가지고 있지 않아도 로깅 기능이 언락되도록, 무선 디바이스는 애플리케이션 클래스 ID (562) 를 세팅할 수 있다. 또한, 호출 애플리케이션에는 각각의 후속하는 로그 리포트에 대해, 디폴트 값이 1로 세팅된 랜덤 넘버 (R2) 가 제공된다.
도 10에서, 블록 (570) 에서 로그를 전송하기 위한 방법 (522) 이 시작하며, I App Log가 로그 리포팅이 언락된 것, 로그를 전송하기 위한 이번 및 후속하는 요청들에 대해 호출 애플리케이션에 배당된 클래스 ID에 대해 R2가 적절하다는 것을 검증한다. 블록 (572) 에서 검증되지 않은 경우에, 블록 (574) 에서 에러 코드가 리턴된다. 검증된 경우에, 블록 (576) 에서 로그 헤더 및 로그 데이터가 수신된다. 블록 (578) 에서 진단 컴포넌트에 대해 로그 공간이 할당된다. 블록 (580) 에서 로그 패킷을 수신하기 위해 할당된 공간이 커밋 (commit) 된다. 그 후 블록 (582) 에서, 메모리 포인터들 및 로그 사이즈 파라미터들을 전송하는 것에 의한 것과 같이, 등록된 로그 수신 컴포넌트들에 로그 패킷이 전송된다.
도 11에서, 도 6의 액세서리 애플리케이션으로부터의 데이터 패킷들의 전송을 게이팅하기 위한 방법 (519) 은 데이터 채널의 신뢰된 컴포넌트 사용 (예컨대, 진단 리포팅) 의 디펜스를 향상시킬 수 있다. 블록 (600) 에서, 이동 디바이스 상에 로컬하게 저장되거나 또는 동적으로 원격 세팅된 게이팅 임계치(들)가 액세스된다. 예시적인 구현에서, 임계치들은 그러한 패킷들을 저장하기 위해 이용가능한 버퍼의 사이즈에 관련된다. 일 변형에 있어서, 8개의 패킷들의 제한과 동등한, 각각의 애플리케이션 로그 패킷이 500 바이트의 할당된 사이즈를 갖는 4 KB (4096 바이트) 의 할당된 버퍼를 고려한다. 매 초당 이 4 KB의 버퍼를 (예컨대, 원격 수신지에 송신하거나 또는 로컬 비휘발성 스토리지 매체에 저장하여) 클리어할 수 있는 구현에 있어서, 이 용량은, 이러한 버퍼를 사용하는 복수의 언락된 액세서리 애플리케이션들과 같은 다른 고려사항들에 의해 낮춰질 수도 있는 상위 임계치를 지시한다. 따라서, 일 예시적인 양태에서, 제한 범위는, 디바이스의 프로세싱 능력 및 버퍼 사이즈에 따라, 1 패킷/초 내지 16 패킷/초 사이일 수도 있으며 이에 제한되지는 않는다. 그러한 임계치는, 금전적 리뉴머레이션 (renumeration) 에 대한 교환에서 또는 트러블슈팅을 위한 충분한 진단 정보를 생성하기 위해, 액세서리 애플리케이션에 의한 사용을 위한 특정 비율을 할당하는 제 3 자에 의해서와 같이, 정적으로 미리 결정되거나 또는 동적으로 세팅될 수 있다.
블록 (602) 에서, 임계치에 영향을 미치는 디바이스 용량 측정치들이 액세스된다. 예컨대, 이러한 게이팅 피처에 의해 직접 측정되지 않는 다른 컴포넌트들에 의해 동적으로 영향을 받을 수 있는, 이용가능한 버퍼 공간에 의해 임계치가 유도될 수 있다. 다른 예로서, 무선 송신 링크를 포함하는 수신지들을 위한 수신기 용량 또는 간섭 레벨들과 같이, 송신 대역폭은 동적으로 변화할 수 있다. 따라서, 액세서리 애플리케이션에 제공되는 이용성이 변화할 수 있다.
블록 (604) 에서, 패킷들의 레이트, 각각의 패킷의 사이즈, 전송을 위해 준비된 데이터 패킷들의 누적된 사이즈 등과 같은 정의된 임계치들에 대한 비교를 위해 적합한 측정치에 도달하기 위해, 액세서리 애플리케이션 리포팅이 트래킹된다. 그 후, 블록 (606) 에서, 트래킹된 측정치가 임계치를 초과하는지에 대한 결정이 행해진다. 그렇지 않은 경우에, 블록 (608) 에서 패킷 프로세싱이 진행하도록 허용된다. 블록 (606) 에서 초과된 경우에, 블록 (610) 에서 블록 프로세싱이 진행하는 것이 차단된다. 몇몇 구현들에서, 데이터를 분석하는 것들이 액세서리 애플리케이션이 추가적인 리포팅 용량을 요청한 것을 알도록, 불완전한 것으로서 데이터를 플래깅 (flag) 하는 것과 같이, 패킷 전송 (612) 의 디펜시브 인터 럽션이 발생했다는 것을 표시하는 것이 바람직할 수 있다. 그러한 불완정성의 표시는 임계치에서의 변화를 보증하거나 또는 액세서리 애플리케이션의 문제점이 다르게 표시된 전송된 정보 패킷들보다 더 크다는 것을 표시할 수 있다.
여기서 개시된 버전들과 관련하여 설명된 다양한 예시적인 로직들, 로지컬 블록들, 모듈들, 및 회로들은, 범용 프로세서, 디지털 신호 프로세서 (DSP), 애플리케이션 특정 집적 회로 (ASIC), 필드 프로그래밍가능한 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성과 같은 컴퓨팅 디바이스들의 조합으로서 구현될 수도 있다. 추가로, 적어도 하나의 프로세서는 상술된 하나 이상의 단계들 및/또는 행동들을 수행하도록 동작가능한 하나 이상의 모듈들을 포함할 수도 있다.
또한, 여기서 개시된 양태들과 관련하여 설명된 방법 또는 알고리즘의 단계들 및/또는 행동들은, 하드웨어로 직접 실시되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 실시되거나, 또는 이들 양자의 조합으로 실시될 수도 있다. 소프트웨어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 제거가능한 디스크, CD-ROM, 또는 당업계에 알려져 있는 임의의 다른 형태의 스토리지 매체에 상주할 수도 있다. 예시적인 스토리지 매체는, 프로세서가 스토리지 매체로부터 정보를 판독하고 스토리제 매체에 정보를 기록할 수 있도록, 프로세서에 커플링될 수도 있다. 다른 방법으로, 스토리지 매체는 프로세서에 통합될 수도 있다. 또한, 몇몇 양태들에서, 프로세서 및 스토리지 매체는 ASIC에 상주할 수도 있다. 추가로, ASIC는 사용자 단말기에 상주할 수도 있다. 다른 방법으로, 프로세서 및 스토리지 매체는 사용자 단말기 내의 이산 컴포넌트들로서 상주할 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우에, 기능들은 컴퓨터 판독가능한 매체 상의 하나 이상의 명령들 또는 코드로서 송신 또는 저장될 수도 있다. 컴퓨터 판독가능한 매체는, 하나의 장소로부터 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 스토리지 매체 양자 모두를 포함한다. 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 예로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자성 디스크 스토리지 또는 다른 자성 스토리지 디바이스들, 또는 컴퓨터에 의해 액세스될 수 있는 데이터 구조들 또는 명령들의 형태로 원하는 프로그램 코드를 운반 또는 저장하기 위해 사용될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라 적절하게 칭해진 다. 예컨대, 동축 케이블, 광섬유 케이블, 트위스트된 쌍, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로웨이브와 같은 무선 기술들을 사용하여, 웹싸이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신되는 경우에, 동축 케이블, 광섬유 케이블, 트위스트된 쌍, DSL, 또는 적외선, 무선, 및 마이크로웨이브와 같은 무선 기술들이 매체의 정의에 포함된다. 여기서 사용되는 바와 같이, 디스크 (Disk) 및 디스크 (disc) 는, 콤팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), DVD (digital versatile disc), 플로피 디스크 (floppy disk), 및 블루-레이 디스크 (blu-ray disc) 를 포함하며, 통상적으로 디스크 (disk) 는 자기적으로 데이터를 재생하고, 디스크 (disc) 는 레이저들로 광학적으로 데이터를 재생한다. 또한, 상기의 조합들이 컴퓨터 판독가능한 매체의 범위 내에 포함되어야 한다.
본원에 참조로 병합된다고 언급된 임의의 특허, 출판, 또는 다른 개시 자료가, 그 전체 또는 그 일부로, 병합된 자료가 기존의 정의들, 기술들, 또는 이 개시에서 설명된 다른 개시 자료와 충돌하지 않는 범위에서만 본원에 병합된다는 것을 인식해야 한다. 따라서, 필요한 범위까지, 여기서 명백히 설명된 개시는, 본원에 참조로 병합된 임의의 충돌하는 자료를 대체한다. 본원에 참조로 병합된다고 언급되었지만 기존의 정의들, 기술들, 또는 여기서 설명된 다른 개시 자료와 충돌하는 임의의 자료 또는 그 일부는 병합된 자료와 기존의 개시 자료 사이에서 충돌이 발생하지 않는 범위까지만 병합될 것이다.
개시된 주제에 따라 구현될 수도 있는 위에서 설명된 예시적인 시스템들, 방 법들은 여러 플로우도들을 참조하여 설명되었다. 설명의 간략화의 목적들을 위해, 방법들이 일련의 블록들로서 도시 및 설명되었지만, 청구되는 주제는, 몇몇 블록들이 여기서 도시 및 설명된 것과 상이한 순서들로 발생할 수도 있고/있거나 다른 블록들과 동시에 발생할 수도 있는 것처럼, 블록들의 순서에 의해 제한되지 않는다는 것을 인식해야 한다. 또한, 여기서 설명된 방법들을 구현하기 위해 모든 예시된 블록들이 요구되지 않을 수도 있다. 또한, 여기서 개시된 방법들은, 컴퓨터들에 그러한 방법들을 전송 및 전달하는 것을 용이하게 하기 위한 제조물 상에 저장되는 것이 가능하다. 제조물이라는 용어는, 여기서 사용되는 바와 같이, 임의의 컴퓨터 판독가능한 디바이스, 캐리어, 또는 매체로부터 액세스가능한 컴퓨터 프로그램을 포함하도록 의도된다.
전술한 개시가 예시적인 양태들 및/또는 실시형태들을 논의하지만, 첨부된 청구의 범위에 의해 정의되는 설명된 양태들 및/또는 실시형태들의 범위로부터 벗어나지 않으면서 여기서 다양한 변화 및 변형이 이루어질 수 있다. 또한, 설명된 양태들 및/또는 실시형태들의 엘리먼트들이 단일로 설명 또는 청구될 수도 있지만, 단일로 명백히 기술되지 않는 한 복수가 포함된다. 또한, 임의의 양태 및/또는 실시형태의 전부 또는 일부는, 다르게 기술되지 않는 한, 임의의 다른 양태 및/또는 실시형태의 전부 또는 일부로 이용될 수도 있다.

Claims (29)

  1. 디바이스 모니터링 수신지에 도달하도록 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들을 선택적으로 전송하는 방법으로서,
    진단 컴포넌트를 통해 신뢰된 컴포넌트들로부터 이동 디바이스 상에서 실행하는 디바이스 모니터링 수신지에 정보를 통신하는 단계;
    액세서리 애플리케이션으로부터의 정보 패킷이 상기 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약 (defensive constraint) 들을 위반하지 않는다는 결정에 응답하여, 상기 정보 패킷의 전송을 게이팅 (gating) 하는 단계; 및
    상기 디펜시브 제약이 위반되지 않는다는 결정에 응답하여, 상기 진단 컴포넌트를 통해 상기 디바이스 모니터링 수신지에 상기 정보 패킷을 전달하기 위해, 인터페이스의 신뢰된 크리덴셜 (credential) 과 함께 상기 액세서리 애플리케이션으로부터의 상기 정보 패킷을 패키징하는 단계를 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  2. 제 1 항에 있어서,
    전송 용량에 관련된 임계치에 대하여 상기 정보 패킷과 연관된 측정치를 비교함으로써, 상기 정보 패킷의 전송을 게이팅하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  3. 제 1 항에 있어서,
    외부적으로 판독가능한 컴퓨터 판독가능 매체에 상기 이동 디바이스 상에서의 상기 패키징된 정보 패킷을 저장하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  4. 제 1 항에 있어서,
    상기 패키징된 정보 패킷을 네트워크에 무선 송신하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  5. 제 1 항에 있어서,
    상기 진단 컴포넌트에 대한 인터페이스를 언락 (unlock) 하기 전에, 상기 이동 디바이스 상에서 실행하는 상기 액세서리 애플리케이션의 타이틀의 체인을 인증함으로써, 상기 정보 패킷의 전송을 게이팅하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  6. 제 5 항에 있어서,
    상기 액세서리 애플리케이션에 대한 소스를 인증하는 단계;
    제 3 자 애플리케이션에 포함시키기 위해 상기 소스에 디지털 인증서를 제공하는 단계;
    상기 액세서리 애플리케이션에 배당된 특권을 상기 이동 디바이스 상에 저장 하는 단계; 및
    상기 디지털 인증서와 연관된 통신 특권 및 상기 디지털 인증서를 인지함으로써, 상기 액세서리 애플리케이션의 타이틀의 체인을 인증하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  7. 제 6 항에 있어서,
    상기 액세서리 애플리케이션으로부터 상기 디지털 인증서로 암호화된 제 1 값을 수신하는 단계; 및
    상기 액세서리 애플리케이션이 상기 정보 패킷의 전달자를 검증할 수 있도록, 디지털 서명하고, 디지털 서명된 제 1 값으로 응답하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  8. 제 7 항에 있어서,
    상기 액세서리 애플리케이션이 상기 정보 패킷의 상기 전달자를 검증할 수 있고 암호화 오버헤드 없이 제 2 값으로 후속 요청들을 전송할 수 있도록, 디지털 서명된 상기 제 1 값 및 상기 제 2 값으로 응답하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  9. 제 1 항에 있어서,
    상기 액세서리 애플리케이션에 의해 사용되는 상기 정보 패킷에 대한 헤더를 정의하는 단계를 더 포함하며,
    상기 헤더는 상기 정보 패킷에 액세스하기 위해, 상기 인터페이스에 의해 사용되는 코드를 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  10. 제 9 항에 있어서,
    저장된 정보 패킷의 종단을 결정하기 위한 정보 패킷 사이즈 코드에 액세스하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  11. 제 9 항에 있어서,
    상기 액세서리 애플리케이션의 특권을 식별하기 위한 고유하게 배당된 애플리케이션 클래스 식별자에 액세스하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  12. 제 1 항에 있어서,
    무선 디바이스 상에서의 신뢰된 애플리케이션의 사용을 용이하게 하기 위한 인증 오버라이드 피처를 선택적으로 제공하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  13. 제 12 항에 있어서,
    디바이스가 상기 액세서리 애플리케이션에 대한 제 1 값 및 클래스 식별자를 세팅하게 함으로써, 상기 인증 오버라이드 피처를 선택적으로 제공하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  14. 제 1 항에 있어서,
    상기 액세서리 애플리케이션의 소스로부터 수신된 리포팅 코드를 상기 이동 디바이스의 인터페이스 상에 저장하는 단계; 및
    상기 정보 패킷에서 상기 리포팅 코드를 검출하는 것에 응답하여, 상기 패키징된 정보 패킷을 전달하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  15. 제 1 항에 있어서,
    2진 정보 패킷의 바이트 단위 비교에 의해 2진 리포팅 코드를 검출하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  16. 제 1 항에 있어서,
    상기 액세서리 애플리케이션에 로그 식별자를 배당하는 단계; 및
    상기 정보 패킷의 헤더에서 상기 로그 식별자를 수신하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  17. 제 16 항에 있어서,
    상기 인터페이스로부터 상기 패키징된 정보 패킷을 청취하기 위해 상기 디바이스 모니터링 수신지를 등록하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하는 방법.
  18. 디바이스 모니터링 수신지에 도달하도록 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들을 선택적으로 전송하기 위한 프로세서로서,
    진단 컴포넌트를 통해 신뢰된 컴포넌트들로부터 이동 디바이스 상에서 실행하는 디바이스 모니터링 수신지에 정보를 통신하기 위한 제 1 모듈;
    액세서리 애플리케이션으로부터의 정보 패킷이 상기 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약을 위반하지 않는다는 결정에 응답하여, 상기 정보 패킷의 전송을 게이팅 (gating) 하기 위한 제 2 모듈; 및
    상기 디펜시브 제약이 위반되지 않는다는 결정에 응답하여, 상기 디바이스 모니터링 수신지에 상기 진단 컴포넌트를 통해 상기 정보 패킷을 전달하기 위해, 인터페이스의 신뢰된 크리덴셜과 함께 상기 액세서리 애플리케이션으로부터의 상기 정보 패킷을 패키징하기 위한 제 3 모듈을 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 프로세서.
  19. 프로그램을 기록한 컴퓨터 판독가능 매체로서,
    컴퓨터로 하여금, 진단 컴포넌트를 통해 신뢰된 컴포넌트들로부터 이동 디바이스 상에서 실행하는 디바이스 모니터링 수신지에 정보를 통신하게 하기 위한 코드;
    상기 컴퓨터로 하여금, 상기 액세서리 애플리케이션으로부터의 정보 패킷이 상기 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약을 위반하지 않는다는 결정에 응답하여, 상기 정보 패킷의 전송을 게이팅하게 하기 위한 코드; 및
    상기 컴퓨터로 하여금, 상기 디펜시브 제약이 위반되지 않는다는 결정에 응답하여, 상기 디바이스 모니터링 수신지에 상기 진단 컴포넌트를 통해 상기 정보 패킷을 전달하기 위해, 인터페이스의 신뢰된 크리덴셜과 함께 상기 액세서리 애플리케이션으로부터의 상기 정보 패킷을 패키징하게 하기 위한 코드를 포함하는, 프로그램을 기록한 컴퓨터 판독가능 매체.
  20. 디바이스 모니터링 수신지에 도달하도록 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들을 선택적으로 전송하기 위한 장치로서,
    진단 컴포넌트를 통해 신뢰된 컴포넌트들로부터 디바이스 모니터링 수신지에 정보를 통신하기 위한 수단;
    액세서리 애플리케이션으로부터의 정보 패킷이 상기 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약을 위반하지 않는다는 결정에 응답하여, 상기 정보 패킷의 전송을 게이팅하기 위한 수단; 및
    상기 디펜시브 제약이 위반되지 않는다는 결정에 응답하여, 상기 디바이스 모니터링 수신지에 상기 진단 컴포넌트를 통해 상기 정보 패킷을 전달하기 위해, 인터페이스의 신뢰된 크리덴셜과 함께 상기 액세서리 애플리케이션으로부터의 상기 정보 패킷을 패키징하기 위한 수단을 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 장치.
  21. 디바이스 모니터링 수신지에 도달하도록 이동 디바이스 상에 상주하는 액세서리 애플리케이션에 의해 생성된 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스로서,
    트러블슈팅 (troubleshooting) 로그 패킷들을 리포팅하기 위한 적어도 하나의 신뢰된 컴포넌트;
    상기 적어도 하나의 신뢰된 컴포넌트로부터의 신뢰된 크리덴셜, 및 디바이스 모니터링 수신지에 전송하기 위한 트러블슈팅 로그 패킷을 수신하는 진단 컴포넌트;
    액세서리 애플리케이션; 및
    상기 액세서리 애플리케이션으로부터의 정보 패킷이 상기 진단 컴포넌트와 인터페이스하기 위한 디펜시브 제약을 위반하지 않는다는 결정에 응답하여, 상기 정보 패킷의 전송을 게이팅 (gating) 하고, 상기 디바이스 모니터링 수신지에 상기 진단 컴포넌트를 통해 상기 정보 패킷을 전달하기 위해, 애플리케이션 인터페이스의 신뢰된 크리덴셜과 함께 상기 액세서리 애플리케이션으로부터의 상기 정보 패킷 을 패키징하기 위한 상기 애플리케이션 인터페이스를 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  22. 제 21 항에 있어서,
    상기 진단 컴포넌트에 대한 액세스를 언락하기 전에, 상기 이동 디바이스 상에서 실행하는 상기 액세서리 애플리케이션의 타이틀의 체인을 인증함으로써, 상기 정보 패킷의 전송을 게이팅하는 애플리케이션 인터페이스를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  23. 제 22 항에 있어서,
    상기 액세서리 애플리케이션에 대한 소스는 인증되며, 상기 액세서리 애플리케이션에 포함시키기 위해 디지털 인증서를 제공받고,
    상기 이동 디바이스는,
    상기 액세서리 애플리케이션에 배당된 특권 코드를 포함하는 데이터 구조를 포함하는 스토리지 매체; 및
    상기 액세서리 애플리케이션에 의해 사용되는 디지털 인증서 및 상기 디지털 인증서와 연관된 특권 코드를 인지함으로써, 상기 액세서리 애플리케이션의 타이틀의 체인을 인증하는 애플리케이션 인터페이스를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  24. 제 23 항에 있어서,
    상기 액세서리 애플리케이션으로부터 상기 디지털 인증서로 암호화된 제 1 값을 수신하고, 상기 액세서리 애플리케이션이 상기 정보 패킷의 전달자를 검증할 수 있고 암호화 오버헤드 없이 제 2 값으로 후속 요청들을 전송할 수 있도록, 디지털 서명된 제 1 값 및 제 2 값으로 응답하는 단계를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  25. 제 22 항에 있어서,
    무선 디바이스 상에서의 신뢰된 애플리케이션의 사용을 용이하게 하기 위한 인증 오버라이드 피처를 선택적으로 제공하기 위한 세트 애플리케이션 클래스 식별자 컴포넌트를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  26. 제 21 항에 있어서,
    상기 액세서리 애플리케이션에 의해 생성된 상기 정보 패킷의 로그 헤더 및 로그 데이터를 홀딩하는 데이터 구조를 포함하는 데이터 스토리지; 및
    가변 길이의 2진 데이터의 상기 정보 패킷에 액세스하기 위해, 상기 애플리케이션 인터페이스에 의해 사용되는 사이즈 코드를 인지하는 애플리케이션 인터페이스를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  27. 제 21 항에 있어서,
    통신하기 위한 특권을 표시하는 상기 액세서리 애플리케이션의 클래스 식별자를 포함하는 저장된 데이터 구조; 및
    상기 클래스 식별자를 청취하고 상기 정보 패킷을 무선으로 리포팅하기 위해 디바이스 모니터링 컴포넌트를 등록하는 인터페이스를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  28. 제 21 항에 있어서,
    상기 액세서리 애플리케이션에 의해 사용되는 적어도 하나의 2진 코드를 포함하는 저장된 데이터 구조; 및
    디바이스 모니터링 컴포넌트에 의한 상기 정보 패킷의 리포팅을 야기하기 위해 상기 정보 패킷에서 상기 적어도 하나의 2진 코드를 검출하는 것에 응답하는 필터링 컴포넌트를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
  29. 제 21 항에 있어서,
    전송 용량에 관련된 임계치에 대하여 상기 정보 패킷과 연관된 측정치를 비교함으로써, 상기 정보 패킷의 전송을 게이팅하는 애플리케이션 인터페이스를 더 포함하는, 정보 패킷들을 선택적으로 전송하기 위한 이동 디바이스.
KR20097025013A 2007-05-01 2008-04-30 이동 디바이스를 위한 애플리케이션 로깅 인터페이스 KR101093459B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US91512007P 2007-05-01 2007-05-01
US60/915,120 2007-05-01
US11/962,041 US9137664B2 (en) 2007-05-01 2007-12-20 Application logging interface for a mobile device
US11/962,041 2007-12-20
PCT/US2008/062098 WO2008137479A2 (en) 2007-05-01 2008-04-30 Application logging interface for a mobile device

Publications (2)

Publication Number Publication Date
KR20100007944A KR20100007944A (ko) 2010-01-22
KR101093459B1 true KR101093459B1 (ko) 2011-12-13

Family

ID=39939868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20097025013A KR101093459B1 (ko) 2007-05-01 2008-04-30 이동 디바이스를 위한 애플리케이션 로깅 인터페이스

Country Status (7)

Country Link
US (1) US9137664B2 (ko)
EP (1) EP2163114B1 (ko)
JP (1) JP5507443B2 (ko)
KR (1) KR101093459B1 (ko)
CN (1) CN101675679B (ko)
TW (1) TW200910987A (ko)
WO (1) WO2008137479A2 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890299B2 (en) * 2007-05-21 2011-02-15 Qualcomm, Incorporated Providing event-controlled continuous logging for a mobile operating environment
US9596250B2 (en) 2009-04-22 2017-03-14 Trusted Knight Corporation System and method for protecting against point of sale malware using memory scraping
US8316445B2 (en) * 2008-04-23 2012-11-20 Trusted Knight Corporation System and method for protecting against malware utilizing key loggers
US8762429B1 (en) * 2008-07-09 2014-06-24 Sprint Communications Company L.P. File location application programming interface
US8346847B2 (en) * 2009-06-03 2013-01-01 Apple Inc. Installing applications based on a seed application from a separate device
CA2712002C (en) * 2009-09-09 2016-08-30 Aastra Technologies Limited Diagnostics methods for a communications device
TWI426448B (zh) * 2009-10-23 2014-02-11 Dynalab Singapore Ltd 用手機執行虛擬軟體功能的內建裝置
TWI423643B (zh) * 2009-10-29 2014-01-11 Hon Hai Prec Ind Co Ltd 纜線數據機及其憑證測試方法
US8644813B1 (en) * 2009-12-02 2014-02-04 Sprint Communications Company L.P. Customer initiated mobile diagnostics service
US8613109B2 (en) * 2009-12-03 2013-12-17 At&T Intellectual Property I, L.P. Method and apparatus for providing mobile social networking privacy
US8533811B2 (en) * 2010-01-20 2013-09-10 Microsoft Corporation Developer phone registration
US10210162B1 (en) * 2010-03-29 2019-02-19 Carbonite, Inc. Log file management
US9501100B2 (en) 2010-09-30 2016-11-22 Apple Inc. Communicating sensor data between electronic devices
CN102469114B (zh) * 2010-11-08 2014-11-26 北京裕源大通科技有限公司 开放式移动终端微件应用平台及其实现方法,服务器
US8650620B2 (en) 2010-12-20 2014-02-11 At&T Intellectual Property I, L.P. Methods and apparatus to control privileges of mobile device applications
CN102025548B (zh) * 2010-12-20 2014-12-10 中兴通讯股份有限公司 一种用户自定义的性能指标多版本平滑升级的方法及装置
US20120272167A1 (en) * 2011-04-20 2012-10-25 Nokia Corporation Methods, apparatuses and computer program products for providing a mechanism for same origin widget interworking
CN102891873B (zh) * 2011-07-21 2017-02-15 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US8918841B2 (en) 2011-08-31 2014-12-23 At&T Intellectual Property I, L.P. Hardware interface access control for mobile applications
US9020463B2 (en) * 2011-12-29 2015-04-28 The Nielsen Company (Us), Llc Systems, methods, apparatus, and articles of manufacture to measure mobile device usage
US8588764B1 (en) 2012-01-26 2013-11-19 Sprint Communications Company L.P. Wireless network edge guardian
US8856502B2 (en) * 2012-02-16 2014-10-07 Microsoft Corporation Pre-installed application activation
US9832211B2 (en) * 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
CN103368987B (zh) * 2012-03-27 2017-02-08 百度在线网络技术(北京)有限公司 云服务器、应用程序的审核认证及管理系统和方法
US8904240B2 (en) 2012-04-20 2014-12-02 International Business Machines Corporation Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues
US9027088B2 (en) 2012-06-14 2015-05-05 Ericsson Modems Sa Systems and methods for protection of a SIP back-to-back user agent on modems
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
CN102842007B (zh) 2012-07-16 2015-03-11 腾讯科技(深圳)有限公司 移动终端应用程序的访问控制方法和系统
US10162693B1 (en) * 2012-10-18 2018-12-25 Sprint Communications Company L.P. Evaluation of mobile device state and performance metrics for diagnosis and troubleshooting of performance issues
US9386463B1 (en) 2012-11-19 2016-07-05 Sprint Communications Company L.P. Application risk analysis
US9578133B2 (en) 2012-12-03 2017-02-21 Apkudo, Llc System and method for analyzing user experience of a software application across disparate devices
US10261611B2 (en) 2012-12-03 2019-04-16 Apkudo, Llc System and method for objectively measuring user experience of touch screen based devices
US9075781B2 (en) 2013-03-15 2015-07-07 Apkudo, Llc System and method for coordinating field user testing results for a mobile application across various mobile devices
US9454363B1 (en) * 2013-03-15 2016-09-27 Data Systems International, Inc. Mobile application development system and method
TWI499238B (zh) * 2013-09-16 2015-09-01 A method of cross - platform record traceability
US9313219B1 (en) * 2014-09-03 2016-04-12 Trend Micro Incorporated Detection of repackaged mobile applications
US9283672B1 (en) 2014-12-11 2016-03-15 Apkudo, Llc Robotic testing device and method for more closely emulating human movements during robotic testing of mobile devices
US10097430B2 (en) 2015-02-27 2018-10-09 Walmart Apollo, Llc Tracking and analyzing mobile application user interactions
US10802469B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with diagnostic feature
US9609478B2 (en) 2015-04-27 2017-03-28 Honeywell International Inc. Geo-fencing with diagnostic feature
US10282719B1 (en) * 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
WO2017180963A1 (en) * 2016-04-14 2017-10-19 Cubic Corporation Auto-diagnostic nfc reader
US10142162B2 (en) 2016-08-19 2018-11-27 International Business Machines Corporation Mobile application behavior modification via context sensitive issue framework
US10936990B2 (en) * 2016-12-07 2021-03-02 Blackberry Limited Sending reports of asset transport status
ES2922650T3 (es) * 2017-01-17 2022-09-19 Tutela Tech Ltd Sistema y procedimiento para evaluar el rendimiento de dispositivos inalámbricos y redes inalámbricas
AU2018209352B2 (en) 2017-01-17 2022-11-17 Tutela Technologies Ltd. System and method for evaluating wireless device and/or wireless network performance
US10819613B2 (en) * 2017-01-17 2020-10-27 Tutela Technologies Ltd. System and method for interacting with and controlling testing of wireless device and/or wireless network performance on wireless electronic devices
US10491459B1 (en) * 2017-02-21 2019-11-26 Sprint Communications Company L.P. Systems and methods for on-device adaptive self-executing diagnostics tool
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
CN111541552B (zh) 2020-07-08 2021-06-22 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
CN111541724B (zh) 2020-07-08 2021-06-29 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
TWI806199B (zh) * 2020-10-20 2023-06-21 大陸商華為技術有限公司 特徵圖資訊的指示方法,設備以及電腦程式
CN112685754A (zh) * 2020-12-25 2021-04-20 珠海零边界集成电路有限公司 一种调试接口的解锁电路及解锁方法
TWI790938B (zh) * 2022-03-09 2023-01-21 英業達股份有限公司 硬碟效能問題分類模型的建立方法、硬碟效能問題分析方法及硬碟效能問題分類模型建立系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040087303A1 (en) 2002-10-25 2004-05-06 Agere Systems, Incorporated System and method for collecting debugging and system crash information from a mobile phone
WO2006043143A2 (en) 2004-10-20 2006-04-27 Nokia Corporation Terminal, method and computer program product for validating a software application

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL123512A0 (en) 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6138235A (en) 1998-06-29 2000-10-24 Sun Microsystems, Inc. Controlling access to services between modular applications
US6813269B1 (en) * 2000-02-22 2004-11-02 Lucent Technologies Inc. Extended messaging scheme for point-to-point communications
AU2002252034A1 (en) * 2001-02-22 2002-09-12 Bea Systems, Inc. System and method for message encryption and signing in a transaction processing system
US20020194501A1 (en) * 2001-02-25 2002-12-19 Storymail, Inc. System and method for conducting a secure interactive communication session
GB2378852B (en) 2001-08-13 2005-07-13 Nec Technologies Data logging system
MXPA04012321A (es) * 2002-07-01 2005-04-11 Qualcomm Inc INTERACCION REMOTA CON UNA INTERFASE DE DIAGNOSTICO RESIDENTE EN UN APARATO INALáMBRICO POR UNA RED INALáMBRICA.
JP3108560U (ja) 2004-06-24 2005-04-28 株式会社マトリックスコミュニケーションズ 監視システム
US7703138B2 (en) * 2004-12-29 2010-04-20 Intel Corporation Use of application signature to identify trusted traffic
US7631354B2 (en) 2004-12-30 2009-12-08 Intel Corporation System security agent authentication and alert distribution
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
US8023937B2 (en) 2005-03-04 2011-09-20 Qualcomm Incorporated Apparatus and methods for determining voice and/or data processing performance of a wireless device
WO2006112381A1 (ja) 2005-04-14 2006-10-26 Matsushita Electric Industrial Co., Ltd. サーバ装置、情報通知方法、および情報通知システム
US7283816B2 (en) 2005-04-14 2007-10-16 Qualcomm Incorporated Apparatus and process for a universal diagnostic monitor module on a wireless device
JP4591191B2 (ja) 2005-05-16 2010-12-01 日本電気株式会社 無線通信システム及び無線通信システムの制御方法
US8874082B2 (en) 2005-05-25 2014-10-28 Qualcomm Incorporated Apparatus and methods for protecting data on a wireless device
US20070147262A1 (en) * 2005-12-22 2007-06-28 Jeffrey Aaron Methods, communication networks, and computer program products for storing and/or logging traffic associated with a network element based on whether the network element can be trusted

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040087303A1 (en) 2002-10-25 2004-05-06 Agere Systems, Incorporated System and method for collecting debugging and system crash information from a mobile phone
WO2006043143A2 (en) 2004-10-20 2006-04-27 Nokia Corporation Terminal, method and computer program product for validating a software application

Also Published As

Publication number Publication date
JP5507443B2 (ja) 2014-05-28
EP2163114B1 (en) 2019-03-06
CN101675679A (zh) 2010-03-17
EP2163114A2 (en) 2010-03-17
US20080274716A1 (en) 2008-11-06
KR20100007944A (ko) 2010-01-22
US9137664B2 (en) 2015-09-15
CN101675679B (zh) 2014-07-02
TW200910987A (en) 2009-03-01
JP2010526493A (ja) 2010-07-29
WO2008137479A3 (en) 2008-12-24
WO2008137479A2 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
KR101093459B1 (ko) 이동 디바이스를 위한 애플리케이션 로깅 인터페이스
US11924230B2 (en) Individual device response options from the monitoring of multiple devices
EP3920064A1 (en) Permissions policy manager to configure permissions on computing devices
US9753796B2 (en) Distributed monitoring, evaluation, and response for multiple devices
US8245315B2 (en) Remote diagnosis of unauthorized hardware change
CN105956474B (zh) Android平台软件异常行为检测系统
US8984628B2 (en) System and method for adverse mobile application identification
KR101558715B1 (ko) 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
US20130055387A1 (en) Apparatus and method for providing security information on background process
WO2013184799A1 (en) Evaluating whether to block or allow installation of a software application
WO2013075412A1 (zh) 移动终端的安全控制方法及装置
JP2015511047A (ja) マルウェアを検出するコンピューティングデバイス
CN108600251A (zh) 移动设备管理和安全
EP2769324A1 (en) System and method for whitelisting applications in a mobile network environment
KR20090038189A (ko) 단말 사용자 관리 장치 및 방법
US20130303118A1 (en) Mobile device security
Feng Regulating and Securing the Interfaces Across Mobile Apps, OS and Users
CN109981644A (zh) 一种用于发送目标消息的方法与设备
Roseline Intrusion Detection for Unsolicited Short-Message Services in Mobile Devices
Olorunfemi Intrusion detection for unsolicited short-message services in mobile devices
CN117150458A (zh) 基于目标应用的对象身份鉴别方法、装置以及存储介质
CN116743647A (zh) 云平台服务质量检测方法、装置、设备及存储介质

Legal Events

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

Payment date: 20141128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 9