KR20100022993A - 모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공 - Google Patents

모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공 Download PDF

Info

Publication number
KR20100022993A
KR20100022993A KR1020097026643A KR20097026643A KR20100022993A KR 20100022993 A KR20100022993 A KR 20100022993A KR 1020097026643 A KR1020097026643 A KR 1020097026643A KR 20097026643 A KR20097026643 A KR 20097026643A KR 20100022993 A KR20100022993 A KR 20100022993A
Authority
KR
South Korea
Prior art keywords
event
log data
trigger
collection
logging
Prior art date
Application number
KR1020097026643A
Other languages
English (en)
Other versions
KR101194141B1 (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 KR20100022993A publication Critical patent/KR20100022993A/ko
Application granted granted Critical
Publication of KR101194141B1 publication Critical patent/KR101194141B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72484User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/10Details of telephonic subscriber devices including a GPS signal receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/60Details of telephonic subscriber devices logging of communication history, e.g. outgoing or incoming calls, missed calls, messages or URLs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공이 여기서 설명된다. 예를 들어, 모바일 디바이스 운영 체제(OS) 로그 데이터의 수집은 하나 이상의 미리 결정된 이벤트들의 결과로서 시작되고 종료될 수 있다. 상기 이벤트들은 로그 데이터의 수집을 트리거하고 또한 상기 로그 데이터의 수집을 종료할 수 있다. 또한, 하나 이상의 결정가능 이벤트들과 관련된 데이터의 로깅을 가능하게 하는, 특정 로그 인덱스 코드로의 로그 데이터의 수집/종료의 제한 역시 여기서 설명된다. 설명된 바와 같이, 본 발명은 하나 이상의 결정가능 이벤트들의 발생의 결과로서 모바일 OS 로그 코드들의 연속 로깅을 시작하고 종료하기 위한 메커니즘들을 개시한다.

Description

모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공{PROVIDING EVENT-CONTROLLED CONTINUOUS LOGGING FOR A MOBILE OPERATING ENVIRONMENT}
본 발명은 일반적으로 모바일 운영 체제의 관리에 관한 것이고, 더 구체적으로는 모바일 동작 환경을 위한 이벤트-제어 연속 로그 트리거들의 제공에 관한 것이다.
본 특허 출원은 출원 번호가 60/939,113이고, 발명의 명칭이 "METHODS AND APPARATUS FOR TRIGGERED CONTINUOUS LOGGING"이고, 출원일이 2007년 5월 21일이고, 본 발명의 양수인에게 양도되고, 여기에 참조로 명시적으로 통합된 가출원의 우선권을 청구한다.
최근 몇 년 동안, 셀룰러 통신 기술 및 셀룰러 통신 디바이스들에서 다양한 발전들이 이루어졌다. 상기 발전들 중 몇몇, 예를 들어 카메라 및 비디오 기록 기술을 상기 디바이스들로 통합, 이메일 및 단문 메시징 서비스들의 이동 통신으로의 포함 등은 소프트웨어 및/또는 하드웨어 어플리케이션들을 포함한다. 이들 어플리케이션들은 증가한 유연성, 처리 전력, 통신 능력 등이 이미 대중적인 통신 디바이스들(예를 들어, 셀룰러 전화들)에 추가되었다. 그 결과, 이러한 디바이스들은 소비자 시장에서 더 인기있게 되어, 더 많은 수의 소비자들이 이러한 디바이스들을 구매하거나 또는 새로운 어플리케이션들 및 기술들을 포함하도록 디바이스들을 업그레이드하도록 동기를 부여한다.
모바일 디바이스 어플리케이션들, 프로세스들, 자원들 등은 운영 체제에 의해 실행되며, 이러한 실행은 진단 목적들로 참조될 수 있다. 예를 들어, 어플리케이션 명령들에 관련하여 프로세서에 의해 취해진 동작들은 로그 코드, 로그 명령 등으로서 상기 프로세서에 의해 외부로 보고될 수 있다. 이러한 로그 명령들의 기록은 모바일 운영 체제 또는 모바일 디바이스의 어플리케이션, 자원 또는 다른 컴포넌트가 적절히 실행되고 있는지의 여부를 결정하는데 유용할 수 있다. 예를 들어, 음성 호출 시작 및 설정에 관한 로그 데이터는 모바일 디바이스에 대한 호출 드롭들의 주파수 및 상기 호출 드롭들의 발생에 대한 이유들을 결정하기 위해 사용될 수 있다. 그러나, 현대 모바일 디바이스들의 어플리케이션들, 자원들, 기능들 및 프로세스들의 수가 증가함에 따라, 로그 데이터의 파싱(parsing)이 점점 더 중요해질 뿐만 아니라 점점 더 복잡해지고 계산상으로 불가능(prohibitive)해진다. 그 결과, 최근에 관측된 증가하는 복잡도들에 대응(counter)하기 위해 로그 데이터의 파싱을 위한 메커니즘들이 도입되어야 하며 계속 도입된다.
다음은 하나 이상의 실시예들의 기본적인 이해를 제공하기 위해 이러한 실시예들의 간략한 요약을 제공한다. 이러한 요약은 모든 참작되는 실시예들의 확장적 개요가 아니라, 모든 실시예들의 키 또는 중요 엘리먼트를 식별하거나 일부 또는 모든 실시예들의 범위를 제한하는 것으로 의도되지 않는다. 그 유일한 목적은 추후 제공되는 보다 상세한 설명에 대한 서론으로서 간략화된 형태로 상기 실시예들의 몇몇 개념들을 제공하는 것이다.
본 발명은 모바일 동작 환경을 위한 이벤트-제어 연속 로깅을 제공한다. 예를 들어, 모바일 디바이스 운영 체제(OS) 로그 데이터(예를 들어, 모바일 OS의 로그 코드들, 이벤트 코드들, 및/또는 요청-응답 패킷들 등)는 하나 이상의 미리 결정된 이벤트들의 발생에 응답하여 시작되고 종료될 수 있다. 더욱이, 이벤트들은 모바일 OS의 어플리케이션, 프로세스, 자원 함수 및/또는 유사물(the like)의 함수로서 모바일 OS 로그 데이터를 카테고리화하도록 구성된 인덱스 코드들과 연관될 수 있다. 인덱스 코드(들)와 시작 이벤트의 연관은 상기 시작 이벤트의 발생시 인덱스 코드(들)와 연관된 모바일 OS 어플리케이션(들), 프로세스(들), 자원(들) 및/또는 기능(들)과 관련된 로그 데이터로 상기 로그 데이터의 수집을 제한할 수 있다. 추가적인 양상들에 따라, 다수의 이벤트들은 수집을 트리거하도록 정의될 수 있고 다수의 이벤트들은 또한 로그 코드들 및/또는 요청-응답 패킷들의 수집을 종료하도록 정의될 수 있다. 또한, 이벤트 플래그는 하나 이상의 종료 이벤트들과 하나 이상의 시작 이벤트들을 페어링(pair)하도록 세팅될 수 있다. OS 로직은 공통 이벤트 플래그 값에 의해 대응하는 시작 이벤트와 페어링되는 종료 이벤트의 발생시 (하나 이상의 인덱스 코드들과 관련된 로그 데이터 또는 모든 로그 데이터의) 수집의 종료가 조정되도록 구성될 수 있다. 설명된 바와 같이, 본 출원은 하나 이상의 미리 결정된 OS 이벤트들의 발생의 결과로서 OS 코드들의 연속 로깅을 시작하고 종료하기 위한 메커니즘들을 개시한다.
몇몇 양상들에 따라, 모바일 디바이스 운영 체제(OS)를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법이 개시된다. 상기 방법은 모바일 OS의 로그 코드, 이벤트 코드 또는 요청-응답 패킷(로그 데이터)의 연속적인 수집을 시작하는 제 1 트리거를 설정하는 단계 및 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하는 단계를 포함한다. 또한 상기 방법은 시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하는 단계 ― 상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어(non-hardware) 시작(start up) 또는 넌-하드웨어 종료(shut down)와 연관되고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능함 ― 를 포함할 수 있다.
특정 양상들에 따라, 모바일 동작 환경을 위한 연속 이벤트-제어 코드 로깅을 제공하는 장치가 제공된다. 상기 장치는 모바일 디바이스 OS에서 로그 데이터를 연속적으로 수집하도록 구성된 로깅 모듈 및 상기 로그 데이터의 수집을시작하는 제 1 트리거 및 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하도록 구성된 관리 모듈을 포함할 수 있다. 또한 상기 장치는 시작 이벤트의 발생시 상기 제 1 트리거의 실행을 조정하고, 중지 이벤트의 발생시 상기 제 2 트리거의 실행을 조정하는 로직 모듈을 포함하고, 상기 시작 및 중지 이벤트는 상기 모바일 OS 또는 원격 네트워크 컴포넌트 또는 이들 모두의 어플리케이션 또는 프로세스에 의해 결정가능하다.
다른 양상들에 따라, 모바일 디바이스 OS를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 적어도 하나의 프로세서가 개시된다. 상기 프로세서(들)는 모바일 OS의 로그 코드, 이벤트 코드 또는 요청-응답 패킷(로그 데이터)의 연속적인 수집을 시작하는 제 1 트리거를 설정하도록 구성된 제 1 모듈 및 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하도록 구성된 제 2 모듈을 포함할 수 있다. 또한 상기 프로세서(들)는 시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하도록 구성된 제 3 모듈을 포함할 수 있고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정될 수 있다.
하나 이상의 추가 양상들에 따라, 모바일 디바이스 운영 체제(OS)를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 장치가 설명된다. 상기 장치는 모바일 OS 로그 데이터의 수집을 시작하는 제 1 트리거를 설정하기 위한 수단 및 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하기 위한 수단을 포함할 수 있다. 또한, 상기 장치는 시작 이벤트 및 중지 이벤트의 발생시 제 1 트리거 및 제 2 트리거의 실행을 각각 조정하기 위한 수단을 포함할 수 있으며, 상기 시작 및 중지 이벤트는 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능하다.
추가 양상들에 따라, 모바일 디바이스 OS를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 명령들을 포함하는 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 물건이 설명된다. 상기 명령들은 컴퓨터로 하여금 모바일 OS의 로그 코드, 이벤트 코드 또는 요청-응답 패킷(로그 데이터)의 연속적인 수집을 시작하는 제 1 트리거를 설정하게 하도록 구성된 적어도 하나의 명령을 포함한다. 또한 상기 명령들은 컴퓨터로 하여금 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하게 하도록 구성된 적어도 하나의 명령을 포함한다. 또한 상기 명령들은 컴퓨터로 하여금 시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하게 하도록 구성된 적어도 하나의 명령을 포함할 수 있고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정될 수 있다.
전술된 목적들 및 관련 목적들의 달성에 대해, 상기 하나 이상의 양상들은 이하에서 완전히 설명되고 청구항들에서 특정하게 지적되는 특징들을 포함한다. 다음 설명 및 첨부된 도면들은 상기 하나 이상의 양상들 중 특정 예시적 양상들을 상세하게 설명한다. 그러나 이들 양상들은 다양한 양상들의 원리들이 채택될 수 있는 다양한 방식들 중 일부만을 나타내며, 설명된 양상들은 모든 이러한 양상들 및 그 등가물들을 포함하도록 의도된다.
도 1은 적어도 하나의 이벤트의 발생에 기초하여 연속적인 모바일 운영 체제(OS)를 시작하고 종료할 수 있는 예시적인 시스템을 도시한다.
도 2는 몇몇 양상들에 따라 트리거 이벤트들의 발생을 검출하고 로그 시작 및 종료 시간들을 기록할 수 있는 샘플 시스템을 예시한다.
도 3은 추가적인 양상들에 따라 적어도 시스템 인덱스의 함수로서 모바일 OS 데이터를 로깅할 수 있는 예시적인 시스템을 도시한다.
도 4는 추가적인 양상들에 따라 모바일 디바이스 OS를 위한 이벤트-제어 모바일 로깅을 제공하는 예시적인 모바일 디바이스를 도시한다.
도 5는 추가적인 양상들에 따라 이벤트-제어 로그 데이터를 용이하게 하고, 수신하고, 그리고/또는 사용할 수 있는 예시적인 기지국을 예시한다.
도 6은 추가적인 양상들에 따라 페어링된 시작 및 실행 트리거들에 기초한 샘플 로깅 이벤트를 도시한다.
도 7은 모바일 동작 환경에서 이벤트-제어 로깅을 제공하기 위한 샘플 방법을 예시한다.
도 8은 하나 이상의 양상들에 따라 인덱스 특정 로깅 및/또는 페어링된 시작/중지 이벤트들을 제공하기 위한 예시적인 방법을 도시한다.
도 9는 인덱스 코드(들)를 가지는 시작 이벤트의 발생에 기초하여 시작 트리거를 실행하기 위한 예시적인 방법을 도시한다.
도 10은 인덱스 코드(들)를 가지는 중지 이벤트의 발생에 기초하여 중지 트리거를 실행하기 위한 예시적인 방법을 도시한다.
도 11은 적어도 하나의 양상에 따라 모바일 동작 환경에서 이벤트-제어 로깅 및 로그 정보를 제공 및/또는 용이하게 하고 사용(consume)할 수 있는 샘플 시스템들을 도시한다.
이제 다양한 양상들이 도면들을 참조하여 설명되며, 명세서 전반에 걸쳐 동일 참조 번호는 동일 엘리먼트들을 지칭하도록 사용된다. 다음 설명에서, 예시의 목적으로, 다양한 특정 상세 내용들이 하나 이상의 양상들의 완전한 이해를 제공하기 위해 설명된다. 그러나, 이러한 양상들이 이들 특정 상세 내용들 없이도 구현될 수 있다는 점이 명백할 수 있다. 다른 경우들에서, 공지된 구조들 및 디바이스들은 하나 이상의 양상들의 설명을 용이하게 하기 위해 블록도로 도시된다.
본 발명은 모바일 운영 체제(OS)에서 프로세스 정보의 이벤트-제어 연속 로깅을 제공한다. 예를 들어, 모바일 OS를 위한 적어도 하나의 로그 코드, 이벤트 데이터 및/또는 요청-응답 패킷(이하에서 로그 데이터로 지칭됨)의 연속 로깅을 시작하는 적어도 하나의 시작 트리거가 설정될 수 있다. 연속 로깅은 로그 데이터 또는 로그 데이터의 지정된 부분의 메모리(예를 들어, 임시 메모리, 페이징 파일, 저장 디스크 상의 로그 파일, 또는 이들의 임의의 적절한 조합 또는 유사한 임시 또는 반-영구 메모리)로의 연속적인 수집으로서 정의된다.
추가적으로, 연속 로깅은 모바일 OS로부터 로그 데이터를 선택적으로 고를 수 있다. 예를 들어, 상기 로그 데이터 중 선택적인 데이터를 로그 파일로 추출하기 위해 미리 결정된 샘플링 함수가 사용될 수 있다. 상기 샘플링 함수는 연관된 인덱스 코드에 기초하여 로그 코드들을 선택하는 파싱 함수를 포함할 수 있다(아래 참조). 또한, 상기 샘플링 함수는 주기적 또는 비주기적 간격으로 연속적인 선택동안 로그 코드를 선택하는 타이머를 포함할 수 있다. 추가적인 예로서, 샘플링 함수는 이전의 선택 메커니즘들의 적절한 조합을 포함할 수 있다.
로그 데이터 또는 로그 데이터의 일부는 모바일 OS 소스 코드 또는 이러한 소스 코드의 프로세스들로부터 추출될 수 있거나, 또는 모바일 OS 소스 코드에 의 해 로깅 모듈로 제공될 수 있거나, 이들 모두 수행될 수 있다. 시작 트리거에 의해 시작되는 연속 로깅은 예를 들어, (아래에 정의된 바와 같이, 파워 다운이 중지 트리거로서 설정되지 않는 경우 시작(start up)시 자동으로 로깅이 선택적으로 계속할 수 있다 할지라도) 하나 이상의 중지 트리거들(아래 참조)이 실행되거나 또는 모바일 디바이스가 파워 다운되거나, 또는 둘 모두 성립될 때까지 무한대로 지속될 수 있다. 대안적으로, 또는 추가적으로, 모바일 OS 로그 데이터의 수집을 종료하는 적어도 하나의 중지 트리거가 설정될 수 있다. 예를 들어, 모바일 디바이스의 파워업 시, 모바일 OS 어플리케이션들(예를 들어, 모바일 네트워크와의 통신, 이러한 네트워크와의 데이터 핸드쉐이크의 설정, 위치검색(location) 서비스들의 시작 등)에 포함된 로그 데이터의 수집은, 상기 디바이스가 파워 다운되거나 중지 디바이스가 실행될 때까지, 연속적으로 트리거되고 유지될 수 있다. 선택적으로, 시작 트리거 및 중지 트리거는 상기 중지 트리거 또는 상기 시작 트리거가 넌-하드웨어 파워-업 또는 넌-하드웨어 파워-다운 동작(예를 들어, 사용자의 파워 오프 또는 파워 온 버튼 누름)을 포함하는 방식으로 특정될 수 있다.
전술 내용에 부가하여, 시작 트리거 및 중지 트리거의 실행은 모바일 OS에 의해 결정가능한 하나 이상의 이벤트들의 발생과 상관될 수 있다. 이벤트는 모바일 디바이스 및/또는 모바일 네트워크의 어플리케이션, 기능, 프로세스 또는 자원, 또는 수신된/제공된 사용자 입력/출력, 또는 이들의 조합 또는 모바일 환경에서의 유사 동작들과 관련될 수 있다.
적어도 하나의 실시예에서, 이벤트들은 통상적으로 적어도 3개의 분류들인 소프트웨어 구동 이벤트들, 하드웨어 구동 이벤트들, 및 조합 소프트웨어/하드웨어 구동 이벤트들로 정렬될 수 있다. 소프트웨어 구동 이벤트는 모바일 OE의 모듈, 프로세스, 기능 또는 유사물의 실행을 포함할 수 있다. 일 예로는 모바일 디바이스 및 모바일 통신 네트워크 사이의 핸드쉐이크의 설정을 포함할 수 있다. 소프트웨어 이벤트의 추가적인 예는 데이터 세션(예를 들어, 웹 브라우징 세션 등)을 설정하기 위한 모바일 디바이스와 인터페이싱된 모바일 네트워크에서 또는 모바일 디바이스에서의 패킷 데이터 프로토콜(PDP) 상황으로의 액세스를 포함할 수 있다.
조합 소프트웨어/하드웨어 이벤트는 예를 들어, 사용자 입력에 대한 소프트웨어 응답, 또는 사용자 프롬프트 및 대응하는 사용자 입력을 포함할 수 있다. 특정 예로서, 소프트웨어/하드웨어 이벤트는 셀룰러 전화에 대한 전화 번호와 연관된 '통화' 버튼을 누르는 동작에 기초하여 음성 호출 세션을 설정할 수 있다. 하드웨어 구동 이벤트는 적어도 하드웨어 입력(예를 들어, 모바일 디바이스 상의 버튼을 누름)을 사용하는 모바일 디바이스의 사용자 인터페이스를 통한 사용자 입력을 포함할 수 있다. 일 특정 예로서, 하드웨어 이벤트는 모바일 디바이스의 파워 업을 위해 '파워 온' 버튼을 누르는 동작을 포함할 수 있다. 일반적으로, 이러한 이벤트들은 시작 및 중지 트리거들과 함께 페어링될 수 있으며 모바일 OS 로그 데이터의 수집을 시작하거나 종료하기 위해 사용될 수 있다.
추가적인 양상들에 따라, 이벤트의 후속적인 발생들은 시작 트리거 및 중지 트리거를 실행할 수 있다. 예를 들어, 제 1 음성 호출의 시작은 데이터 수집을 트리거하는 시작 이벤트일 수 있고, 제 2 음성 호출의 시작은 데이터 수집의 종료를 트리거하는 중지 이벤트일 수 있다. 또한, 본 발명은 시작 트리거 및 중지 트리거를 각각 실행할 수 있는 다수의 시작 이벤트들 및 중지 이벤트들을 제공할 수 있다. 이러한 실시예들에 따라, 시작 이벤트의 발생시 관련된 시작 트리거는 로그 데이터(또는 상기 로그 데이터의 특정 일부분)가 이미 수집되고 있는 중인지를 체크하여 알 수 있고, 수집중이지 않은 경우 상기 로그 데이터(또는 특정 일부분)의 수집을 시작할 수 있다. 이후, (중지 이벤트의 발생에 기초한) 중지 트리거들 중 하나의 실행은 로그 데이터(또는 특정 부분이 중지 트리거와 연관되는 경우, 이러한 부분)의 수집을 종료할 수 있다. 전술 내용에 부가하여, 기준(reference) 카운터는 발생한 시작 이벤트들 및 중지 이벤트들의 수를 트래킹(tracking)하고, 일단 로그 데이터의 수집이 시작되면, 적어도 시작 이벤트들만큼 많은 중지 이벤트들이 발생시 상기 로그 데이터의 종료를 조정하기 위해 선택적으로 사용될 수 있다. 이러한 방식으로, 개별적인 시작 및 중지 이벤트들을 가지는 별개의 프로세스들은 개별적인 프로세스와 연관된 중지 이벤트가 발생한다 할지라도 로그 데이터가 계속 수집되도록 할 수 있다. 그 결과, 본 발명은 독립적인 이벤트들 및 프로세스들에 대한 로그 데이터의 수집을 수용할 수 있다.
전술 내용의 특정 비-제한적 예들로서, 음성 호출이 수행중이며 또한 인입 호출이 수신되는 경우의 로그 데이터의 수집이 설명된다. 이러한 경우, 음성 호출의 시작 및 인입 호출의 수신은 모두 시작 트리거를 실행하는 시작 이벤트들이다. 마찬가지로, 음성 호출의 종료 및 인입 호출의 종료는 모두 중지 트리거를 실행하는 중지 이벤트들일 수 있다. 모바일 디바이스 사용자가 음성 호출을 시작하고 후 속적으로 호출 대기 라인 상의 인입 호출을 수신하는 경우, 상기 음성 호출을 종료시키고 인입 호출만을 취하며, (예를 들어, 상기 음성 호출의 종료로 인한) 중지 트리거가 실행될 것이다. 결과적으로, 인입 호출이 여전히 진행중이라 할지라도 로그 데이터의 수집이 종료된다. 그러나, 상기 양상들에 따라, 시작 이벤트들과 동일한 수의 중지 이벤트들의 발생시 상기 중지 이벤트의 실행이 조정될 수 있다. 따라서, 전술된 시나리오에서, 예를 들면, 중지 트리거는 제 2 중지 이벤트가 발생할 때까지 실행되지 않을 것이며, 로그 데이터는 수신된 호출이 종료될 때까지 계속 수집될 것이다.
또한, 로그 데이터의 여러 부분들을 구별하기 위한 하나 이상의 인덱스 코드들의 사용이 개시된다. 하나 이상의 이러한 인덱스 코드들은 시작 이벤트들 및/또는 종료 이벤트들과 연관될 수 있으며, 상기 인덱스 코드와 연관된 로그 데이터 부분들에 대한 로그 데이터 수집 또는 종료를 제한할 수 있다. 인덱스 코드는 모바일 OS의 임의의 적절한 어플리케이션, 자원, 기능 또는 프로세스와 관련된 로그 데이터에 대한 식별자와 연관되거나 상기 식별자로서 작용한다(예를 들어, 인덱스 코드는 특정 로그 코드, 특정 이벤트, 특정 요청-응답 패킷, 또는 이들의 조합 또는 로그 데이터의 유사 부분들을 식별할 수 있다). 특정 예로서, 하나 이상의 인덱스 코드들은 GPS(global position system) 정보(예를 들어, 모바일 디바이스의 동시 위치검색)과 연관될 수 있고, GPS-관련 로그 데이터와 다른 로그 데이터를 구별하기 위해 사용될 수 있다. 이러한 인덱스 코드는, 만약 시작 이벤트/트리거와 연관되는 경우, 로그 데이터의 수집을 단지 GPS 로그 데이터로만 제한할 수 있다. 대 안적으로, 또는 추가적으로, 이러한 GPS 인덱스 코드와 중지 이벤트/트리거의 연관은 로그 데이터의 수집의 종료를 GPS 로그 데이터로만 제한할 수 있다. 몇몇 양상들에 따라, 다수의 인덱스 코드들은 시작 이벤트 또는 중지 이벤트, 또는 둘 다와 연관될 수 있다. 따라서, 음성 호출의 발생은 GPS-관련 정보, 음성 디코더-관련 정보 등, 또는 상기 음성 호출 이벤트와 페어링된 인덱스 코드와 연관된 임의의 다른 적절한 로그 데이터와 관련된 로그 데이터의 수집을 트리거할 수 있다.
추가적인 양상들에 따라, 본 발명은 인덱스 코드의 함수로서 시작 이벤트들 및 중지 이벤트들의 발생을 트래킹할 수 있다. 그 결과, 인덱스-관련 로그 데이터 수집의 종료는 적어도 인덱스 코드와 연관된 시작 이벤트들만큼 많은 인덱스 코드와 연관된 중지 이벤트들의 발생시 조정될 수 있다. 결과적으로, 인덱스-관련 로깅은, 적절하다면, 상기 로깅을 시작하는 특정 이벤트에 독립적일 수 있다.
하나 이상의 추가 양상들에 따라, 이벤트 플래그는 다수의 시작 트리거들 중 하나 이상과 다수의 중지 트리거들 중 하나 이상을 상관시키기 위해 사용될 수 있다. 연관된 이벤트 플래그에 대한 공통값을 가지는 시작 트리거/중지 트리거가 페어링될 수 있다. 그 결과, 중지 트리거는 페어링된 시작 트리거에 의해 시작된 로그 데이터의 수집의 종료로 제한될 수 있다. 다른 이벤트 플래그 값을 가지는 시작 트리거에 의해 트리거된 로그 데이터는 중지 트리거에 의해 중지되지 않을 것이다. 따라서, 제 1 트리거는 이러한 데이터가 관련되지 않은 중지 트리거에 의해 종료되도록 함이 없이 로그 데이터의 수집을 시작할 수 있다.
전술 내용에 부가하여, 본 발명은 시작 또는 중지 이벤트들과는 독립적으로 데이터를 로깅하는 연속 로깅 트리거를 포함할 수 있다. 연속 로깅 트리거는 모바일 OE 상에서 특수 코드에 의해 개시될 수 있으며, 이러한 트리거가 시작되면 로그 데이터는 상관된 연속적인 로그 중지 트리거가 실행될 때까지 연속적으로 기록될 것이다. 다른 시작 트리거들 및 중지 트리거들은 연속 로깅이 보증되는 동안(예를 들어, 연속 로깅 트리거가 인덱스와 독립적이고 모바일 운영 체제의 모든 로그 데이터를 수집하는 경우) 선택적으로 중지될 수 있다. 추가적으로, (예를 들어, 특정 시간 기간, 예를 들어, 1 밀리초, 마이크로초 등 동안 로그 이벤트를 한번 수집하는) 특정 샘플 레이트는 연속 로깅과 선택적으로 연관될 수 있다. 추가적으로, 상기 샘플 레이트는 연속적인 트리거 데이터 수집과 비교되는 바와 같이 이벤트-트리거된 데이터 수집에 대해 선택적으로 상이할 수 있다. 구체적으로, 제 1 수집 샘플 레이트는 연속적인 트리거에 의해 시작되는 로깅을 위해 설정될 수 있고, 다른(또는 예를 들어, 동일한) 샘플 레이트는 이벤트 트리거에 의해 시작되는 로깅을 위해 설정될 수 있다.
본 발명의 다양한 양상들이 아래에 설명된다. 여기서의 교지는 매우 다양한 형태들로 구현될 수 있으며, 여기에 개시된 임의의 특정 구조 및/또는 기능은 단지 대표적이라는 점이 명백해야 한다. 여기서의 교지에 기초하여, 당업자는 여기서 개시된 양상이 다른 양상들과는 독립적으로 구현될 수 있으며, 이들 양상들 중 둘 이상이 다양한 방식들로 조합될 수 있다는 점을 이해해야 한다. 예를 들어, 여기서 설명된 양상들 중 임의의 몇개를 사용하여 장치가 구현될 수 있고 그리고/또는 방법이 실행될 수 있다. 더욱이, 여기에 설명된 양상들 중 하나 이상을 제외한 또 는 이에 더하여 다른 구조 및/또는 기능을 사용하여 장치가 구현되고 그리고/또는 방법이 실행될 수 있다. 일 예로서, 여기에 설명된 방법들, 디바이스들, 시스템들, 장치들 중 많은 부분은 적어도 하나의 모바일 디바이스 상에서 동작하는 하나 이상의 모바일 어플리케이션들 및 이러한 어플리케이션들 간의 보안 통신의 설정의 상황에서 설명된다. 당업자는 유사한 기법들이 다른 통신 환경들에도 적용될 수 있음을 이해해야 한다.
본 개시물에서 사용되는 바와 같이, 용어 "컴포넌트","시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 소프트웨어, 실행시 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 및/또는 이들의 임의의 조합을 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 프로세스, 프로세서, 객체, 실행가능성(executable), 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만 이에 제한되지는 않는다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트는 하나의 컴퓨터 상에 로컬화되거나 그리고/또는 둘 이상의 컴퓨터들 사이에 분산될 수 있다. 또한, 이들 컴포넌트들은 다양한 데이터 구조들을 저장하는 다양한 컴퓨터 판독가능 매체로부터 실행될 수 있다. 컴포넌트들은 예컨대 하나 이상의 데이터 패킷들(예를 들어, 로컬 시스템, 분산형 시스템에서의 다른 컴포넌트와 그리고/또는 신호에 의해 다른 시스템들과 네트워크, 예를 들어, 인터넷을 통해 인터랙팅하는 하나의 컴포넌트로부터의 데이터)을 가지는 신호에 따라, 로컬 및/또는 원격 프로세스들에 의해 통신할 수 있다. 추가적으로, 당업자에 의해 이해될 바와 같이, 여기서 설명된 시스템들의 컴포넌트들은 다양한 양 상들, 목적들, 이점들 등의 달성을 용이하게 하기 위해 이들과 관련하여 설명된 추가적인 컴포넌트들에 의해 재정렬되고 그리고/또는 보충될 수 있으며, 주어진 도면에서 설명되는 상세한 구성 설정에 제한되지 않는다.
추가적으로, 여기서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 로직들, 로직 블록들, 모듈들, 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기서 설명된 기능들을 수행하기 위해 설계된 이들의 임의의 적절한 조합으로 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 상기 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 연관된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다. 추가적으로, 적어도 하나의 프로세서는 여기에 설명된 단계들 및/또는 동작들 중 하나 이상을 수행하도록 동작가능한 하나 이상의 모듈들을 포함할 수 있다.
또한, 다양한 양상들이 모바일 통신 디바이스(또는 예를 들어, 모바일 디바이스)와 관련하여 여기서 설명된다. 모바일 통신 디바이스는 또한 시스템, 가입자 유닛, 가입자국, 이동국, 모바일, 모바일 디바이스, 셀룰러 디바이스, 멀티-모드 디바이스, 원격국, 원격 단말, 액세스 단말, 사용자 단말, 사용자 에이전트, 사용 자 디바이스, 또는 사용자 장비 등으로 호칭될 수 있다. 가입자국은 셀룰러 폰, 코드리스 전화, 세션 개시 프로토콜(SIP) 폰, 무선 로컬 루프(WLL) 스테이션, 개인 휴대용 정보 단말(PDA), 무선 접속 성능을 갖는 핸드헬드 디바이스, 또는 무선 모뎀 또는 프로세싱 디바이스와의 통신을 용이하게 하는 유사 메커니즘에 연결된 다른 프로세싱 디바이스일 수 있다.
또한, 여기에 설명된 다양한 양상들 또는 특징들은 표준 프로그래밍 및/또는 엔지니어링 기법들을 사용하여 방법, 장치, 또는 제조품으로 구현될 수 있다. 또한, 여기서 개시된 양상들과 관련하여 설명된 방법 또는 알고리즘의 단계들 또는 동작들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 직접 구현될 수 있다. 추가적으로, 몇몇 양상들에서, 방법 또는 알고리즘의 단계들 및/또는 동작들은 기계 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에서 코드들 및/또는 명령들의 적어도 하나 또는 임의의 조합 또는 세트로서 상주할 수 있으며, 이는 컴퓨터 프로그램 물건에 통합될 수 있다. 또한, 여기서 사용된 바와 같은 용어 "제조품"은 임의의 컴퓨터-판독가능 디바이스, 캐리어, 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 디바이스들(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립들...), 광학 디스크들(예를 들어, 컴팩트 디스크(CD), 디지털 다용도 디스크(DVD)...), 스마트 카드들, 및 플래시 메모리 디바이스들(예를 들어, 카드, 스틱, 키 드라이브)을 포함할 수 있지만 이에 제한되지 않을 수 있다. 추가적으로, 여기서 설명된 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 디 바이스들 및/또는 다른 기계-판독가능 매체를 나타낼 수 있다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 포함, 및/또는 전달할 수 있는 무선 채널들 및 다양한 다른 매체를 포함할 수 있지만 이에 제한되지는 않는다.
전술 내용에 부가하여, 단어 "예시적인"은 예, 경우, 또는 예시로서 작용하는 것을 의미하도록 여기서 사용된다. 여기에 설명된 임의의 양상 또는 설계는 반드시 다른 양상들 또는 설계들에 대해 유리하거나 바람직한 것으로서 해석될 필요는 없다. 오히려, 단어 "예시적인"의 사용은 구체적인 방식으로 개념들을 제공하도록 의도된다. 본 출원에서 사용된 바와 같이, 용어 "또는"은 배타적 "또는"이라기보다는 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 특정되거나 상황으로부터 명확하지 않은 한, "X가 A 또는 B를 채택한다"는 임의의 가능한 조합들을 포함하는 것을 의미하도록 의도된다. 즉, 이 예에서, X가 A를 채택할 수 있거나, 또는 X가 B를 채택할 수 있거나, 또는 X가 A 및 B 모두를 채택할 수 있으며, 따라서, 문장 "X가 A 또는 B를 채택한다"는 전술된 경우들 중 어느 것 하에서도 만족된다. 추가적으로, 본 명세서 및 첨부된 청구항들에서 사용된 바와 같이 관사( a 또는 an)는 단수 형태로 지시되는 것으로 특정되거나 상황으로부터 명확하지 않은 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
여기서 사용되는 바와 같이, 용어 "추론하다" 또는 "추론"은 일반적으로 이벤트들 및/또는 데이터를 통해 포착되는 바와 같이, 관측 세트로부터 시스템, 환경 및/또는 사용자에 관한 분석 또는 이들의 상태들에 대한 추론의 프로세스를 지칭한다. 추론은 특정 상황 또는 동작을 식별하기 위해 사용될 수 있거나 또는 예를 들 어, 상태들에 대한 확률 분포를 생성할 수 있다. 상기 추론은 확률론적일 수 있는데, 즉, 데이터 및 이벤트들의 고려에 기초하여 관심 있는 상태들에 대한 확률 분포의 계산일 수 있다. 또한, 추론은 이벤트들 및/또는 데이터로부터 더 높은 레벨의 이벤트들을 구성하기 위해 채택되는 기법들을 지칭할 수 있다. 상기 이벤트들이 시간상으로 근접하게 상관되는지 아닌지, 및 상기 이벤트들 및 데이터가 하나의 이벤트 및 데이터 소스로부터 유래하는지 또는 여러 개의 이벤트 및 데이터 소스들로부터 유래하는지의 여부에 대한 이러한 추론은 관측된 이벤트들 및/또는 저장된 이벤트 데이터의 세트로부터 새로운 이벤트들 및 동작들의 구성을 초래한다.
이제 도 1을 참조하면, 여기서 개시된 양상들에 따라, 모바일 운영 체제(104)에 이벤트-제어 연속적인 데이터 로깅을 제공할 수 있는 예시적인 시스템(100)의 블록도가 도시된다. 로깅 장치(102)는 모바일 OS(104)를 위한 로그 데이터(예를 들어, 로그 코드들, 이벤트들, 및/또는 요청-응답 데이터 패킷들)의 연속적인 수집을 시작하고 종료하는 이벤트들을 설정할 수 있다. 로깅 장치(102) 및 모바일 OS(104)는 유선 및/또는 무선 인터페이스에 의해 링크될 수 있다. 예를 들어, 모바일 OS(104) 및 로깅 장치(102)는 단일 모바일 디바이스와 근접할 수 있으며, 인터페이스는 이러한 디바이스의 임의의 적절한 통신 버스 구조일 수 있다. 대안적으로, 상기 로깅 장치는 원격 엔티티(예를 들어, 무선 네트워크 제어기[RNC] 등과 같은 모바일 네트워크의 컴포넌트)에 부분적으로 또는 전체적으로 상주할 수 있다. 따라서, 모바일 OS(104) 및 로깅 장치 간의 인터페이스는 (예를 들어, 모바일 디바이스 및 기지국 간의 무선 주파수[RF] 접속에 의한) 무선 커플링, 또는 유 선 및 무선 커플링(예를 들어, 기지국과 RNC 간의 유선 인터페이스와 관련된 모바일 디바이스와 기지국 간의 무선 접속)일 수 있다. 따라서, 로깅 장치(102)는 모바일 디바이스 또는 네트워크 상에서 구현될 수 있으며, 이는 하나 이상의 모바일 및/또는 고정식 디바이스들을 위한 원격 통신을 용이하게 한다.
로깅 장치(102)는 모바일 디바이스 OS(104)에서 로그 데이터를 수집하도록 구성된 로깅 모듈(106)을 포함할 수 있다. 로그 데이터는 프로세서-실행 명령들, 메모리에서 데이터의 판독/기록, 수신/전송 시스템(104) 구성 데이터 등, 또는 이들의 임의의 적절한 조합과 관련될 수 있다. 여기에 제공된 방식으로 당해 기술분야에 공지되는 또는 당업자에게 공지되는 바와 같이, 로그 데이터는 모바일 OS(104)의 GPS 컴포넌트(미도시)에 의해 취해진 위치 정보, 모바일 네트워크에서의 음성 호출의 설정 또는 해제(teardown)와 관련된 데이터, 웹 브라우징 자원(예를 들어, PDP 상황)과 연관된 기록(들)의 실행, 또는 이들의 또는 다른 로그 데이터의 임의의 적절한 조합을 포함할 수 있다.
로깅 장치(102)는 로깅 모듈(106)에 의한 로그 데이터 수집의 시작 및 종료 각각을 위해 시작 트리거(들) 또는 종료 트리거(들) 또는 이들 모두를 설정하는 관리 모듈(108)을 더 포함할 수 있다. 더 구체적으로, 관리 모듈(108)은 (예를 들어, 로깅 모듈에 의한) 로그 데이터의 연속적인 수집을 시작하는 제 1 트리거(예를 들어, 시작 트리거) 및 상기 로그 데이터의 수집을 종료하는 제 2 트리거(예를 들어, 중지 트리거)를 설정하도록 구성될 수 있다. 또한 관리 모듈(108)은 아래에 설명되는 바와 같이, 로그 데이터의 수집을 시작/종료하기 위한 다수의 시작 및 중 지 트리거들을 설정할 수 있다.
전술 내용에 부가하여, 로깅 장치(102)는 시작 이벤트의 발생시 상기 제 1 트리거의 실행을 조정하고 그리고/또는 중지 이벤트의 발생시 상기 제 2 트리거의 실행을 조정할 수 있는 로직 모듈을 더 포함할 수 있다. 시작 및 중지 이벤트들은 모바일 OS(104)의 어플리케이션, 기능, 자원 또는 프로세스, 또는 이들의 조합과 연관된 임의의 적절한 환경일 수 있다. 이러한 시작 및 중지 이벤트들은 상기 모바일 OS(104)가 상주하는 모바일 디바이스와 커플링된 원격 네트워크 컴포넌트(미도시) 또는 모바일 OS(104)의 어플리케이션 또는 프로세스에 의해 결정가능하다. 적절한 시작 또는 중지 이벤트들의 예들은 음성 호출, 웹 브라우저, 링-톤, 인입 호출, 단문 메시지 서비스(SMS) 메시지, 인스턴트 메시지(IM)의 시작/종료, 또는 PDP 상황의 활성화 또는 모바일 네트워크 또는 모바일 디바이스 등의 임의의 다른 적절한 자원을 포함할 수 있다.
설명된 바와 같이, 시스템(100)은 정의된 시작 이벤트의 발생에 기초한 로그 데이터의 연속적인 수집 또는 정의된 중지 이벤트의 발생에 기초한 로그 데이터의 수집의 종료, 또는 둘 모두를 가능하게 한다. 따라서, 시스템(100)은 로그 데이터의 연속적인 수집을 위한 매우 플렉시블한 구성들을 제공할 수 있다. 임의의 검출가능한 발생이 시작 및/또는 중지 이벤트로서 식별되고 로그 데이터의 수집/수집의 종료를 트리거하기 위해 사용될 수 있다. 아래에서 더 상세하게 논의될 바와 같이, 카테고리화된 로그 데이터 수집은 부가적인 수집 효율성을 제공하고 (예를 들어, 인덱스 코드에 관련된 로그 데이터만을 수집함으로써) 디바이스 전력을 보존하 도록 구현될 수 있다. 추가적으로, 하나 이상의 시작 이벤트들 및/또는 코드들과 하나 이상의 중지 이벤트들 및/또는 코드들을 연관시키는 로직이 구현될 수 있다. 따라서, 수집의 시작 및 수집의 종료 역시 인덱스 코드 특정 및/또는 이벤트 특정일 수 있고, 그 결과 다수의 시작/중지 트리거들은 멀티-트리거 아키텍쳐에서 조기 로그 시작/종료를 방지하기 위해 다른 트리거들과는 독립적으로 동작할 수 있다.
도 2는 본 발명의 일부 양상들에 따라 트리거 이벤트들의 발생을 검출하고 로그 시작 및 종료 시간들을 기록할 수 있는 시스템(200)을 예시한다. 예를 들어, 시스템(200)은 검출 및 타이밍 모듈(204)과 (예를 들어, 위에서, 도 1에 대해 전술된 바와 같은) 로깅 장치(202)를 커플링시킬 수 있다. 로깅 장치는 로그 데이터의 수집을 시작하고 종료하는 트리거들, 및 상기 트리거들을 실행하는 이벤트들을 설정할 수 있다. 검출 및 타이밍 모듈(204)은 아래에 설명되는 바와 같이, 모바일 OS 데이터의 로깅을 용이하게 하도록 이러한 이벤트들 및/또는 트리거들의 발생을 결정할 수 있다. 설명된 바와 같이, 시스템(200)은 이벤트-제어 데이터 로깅을 실행할 수 있고 로그 데이터의 수집 및 상기 로그 데이터 수집의 종료와 연관된 시작 및 중지 시간들을 제공할 수 있다.
로깅 장치(202)는 제 1 이벤트(예를 들어, 관리 모듈(210)에 의해 제 1 트리거와 연관된 시작 이벤트)의 발생시 로그 데이터의 수집을 시작하는 제 1 트리거 및 제 2 이벤트(예를 들어, 관리 모듈(210)에 의해 제 2 트리거와 연관된 중지 이벤트)의 발생시 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정할 수 있다. 제 1 및 제 2 이벤트들의 발생은 검출 및 타이밍 모듈(204)에 의해 결정될 수 있다. 예를 들어, 모듈(204)은 모바일 OS에 의해 출력되는 로그 정보를 모니터링하고 미리 결정된 이벤트들과 관련된 정보의 부분들을 식별할 수 있다. 로그 정보는 예를 들어, 이벤트와 연관된 어플리케이션, 자원, 프로세스, 또는 기능, 또는 이들의 조합의 실행으로부터 출력될 수 있다. 일 예로서, 제 1 이벤트가 무선 어플리케이션 프로토콜(WAP) 인터넷 브라우저로의 액세스와 연관되는 경우, 검출 및 타이밍 모듈(204)은 제 1 이벤트의 발생을 식별하기 위해 상기 WAP 브라우저의 시작 및/또는 실행과 관련된 로그 정보를 모니터링할 수 있다.
수집된 로그 데이터는 참조를 위해 데이터 저장소(208)에 저장될 수 있거나, 또는 모바일 OS 또는 원격 엔티티(예를 들어, 네트워크 제어기)의 진단 기능으로 전송될 수 있다. 데이터 저장소(208)는 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 또는 휘발성 및 비휘발성 메모리 모두를 포함할 수 있다. 제한이 아닌 예시로서, 비휘발성 메모리는 판독 전용 메모리(ROM), 프로그램 가능 ROM(PROM), 전기적 프로그램가능 ROM(EPROM), 전기적 소거가능 PROM (EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는 외부 캐시 메모리로서 동작하는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 제한이 아닌 예시로서, RAM은 동기식 RAM (SRAM), 동적 RAM (DRAM), 동기식 DRAM (SDRAM), 더블 데이터 레이트 SDRAM (DDR SDRAM), 개선형 SDRAM (ESDRAM), 싱크링크 DRAM (SLDRAM), 및 직접 램버스 RAM (DRRAM)과 같은 많은 형태로 사용가능하다. 본 발명의 시스템들 및 방법들의 메모리(1408)는 이들 및 임의의 다른 적절한 타입들의 메모리를 포함하도록 의도되지만 이에 제한되지 않는다.
전술 내용에 부가하여, 검출 및 타이밍 모듈(204)은 로그 데이터가 수집되도록, 시작 이벤트가 발생하고 그리고/또는 제 1 트리거가 실행되는 시작 시간(예를 들어, 로그 데이터의 수집과 연관된 타임-스탬프)을 기록할 수 있다. 상기 시작 시간은 (예를 들어, 메모리에) 수집된 로그 데이터와 연관될 수 있다. 추가적으로, 검출 및 타이밍 모듈(204)은 중지 이벤트가 발생하거나 그리고/또는 상기 중지 이벤트의 발생으로 인해(또는, 예를 들어, 시작 이벤트들의 수와 동일한 수의 중지 이벤트들의 발생으로 인해) 제 2 트리거가 실행되는 중지 시간을 기록할 수 있다. 결과적으로, 로그 데이터가 수집되는 시간 및 수집이 종료되는 시간은 예를 들어, 데이터 저장소(208)에 수집된 로그 데이터와 함께 기록되고 저장될 수 있다. 따라서, 진단 컴포넌트들(미도시)은 수집된 로그 정보에 액세스하고 시작 및 중지 시간의 수집을 획득하고, 예를 들어 샘플링 레이트를 사용함으로써, 수집된 로그 정보에 포함된 각각의 로그 기록(예를 들어, 로그 코드, 이벤트 코드, 메모리 어드레스, 데이터 부분, 요청-응답 패킷 등)에 대한 대략적인 시간을 획득할 수 있다.
아래에 더 상세하게 논의될 추가적인 양상들에 따라, 검출 및 타이밍 모듈(204) 역시 인덱스의 함수로서 시작 및 종료 시간을 기록할 수 있다(아래 도 3 참조). 모바일 OS, 디바이스 및/또는 모바일 네트워크의 하나 이상의 어플리케이션들, 기능들, 프로세스들, 자원들 및/또는 유사물에 따라 로그 데이터를 카테고리화하는 하나 이상의 인덱스 코드들이 정의될 수 있다. 따라서, 각각의 인덱스 코드는 인덱스 코드와 연관된 적어도 하나의 어플리케이션/기능/프로세스/자원 카테고리와 연관된 데이터를 식별 및 구별할 수 있다. 예를 들어, GPS 어플리케이션 (모바일 OS, 디바이스 및/또는 네트워크의 어플리케이션/자원)과 연관된 로그 데이터를 카테고리화하는 인덱스 코드가 설정될 수 있다. 따라서, GPS 인덱스 코드와 연관된 시작 이벤트가 발생하고 검출 및 타이밍 모듈(204)에 의해 검출되는 경우, 오직 GPS 어플리케이션과 관련된 데이터의 수집만이 시작될 수 있다. 이러한 시점에서, GPS 로그 데이터 트리거 시간이 기록되고 데이터 저장소(208)에 저장된 GPS 로그 파일과 연관될 수 있다. GPS 인덱스 코드와 연관된 중지 이벤트가 후속적으로 발생하는 경우, 검출 및 타이밍 모듈(204)은 이러한 이벤트를 결정하고 상기 GPS 로그 데이터의 수집의 종료를 위한 중지 시간을 기록할 수 있다. 아래에서 더 상세하게 논의될 바와 같이, GPS-특정 데이터(또는 예를 들어, 다른 인덱스-특정 데이터)의 수집에 독립적인 다수의 시작 및 중지 이벤트들이 발생할 수 있다(그리고, 예를 들어, 검출 및 타이밍 모듈(204)에 의해 결정되고 타임-스탬핑될 수 있다).
도 3은 적어도 시스템 인덱스의 함수로서 모바일 운영 체제 데이터의 인스턴스들을 로깅할 수 있는 샘플 시스템(300)을 도시한다. 시스템(300)은, 여기서 설명된 바와 같이, 로그 데이터의 수집을 시작하기 위한 적어도 하나의 제 1 트리거 및 상기 로그 데이터의 수집을 종료하기 위한 적어도 하나의 제 2 트리거를 설정할 수 있는 로깅 장치(302)를 포함할 수 있다. 또한, 각각의 트리거는 하나 이상의 미리 결정된 이벤트들의 발생시 실행될 수 있다. 추가적으로, 로깅 장치(302)는 데이터의 수집을 시작하는 시작 이벤트들의 수를 계속 트래킹하고, 데이터의 수집을 종료하기 위해 주어진 시점에서 동일한 개수의 중지 이벤트들이 발생할 것을 요 구할 수 있다. 따라서, 시스템(300)은 단일 중지 이벤트(또는 시작 이벤트들과 비교하여 더 적은 개수의 중지 이벤트들)의 발생에 의해 데이터 수집이 조기에 종료됨이 없이 다수의 시작 이벤트들에 대한 데이터 수집을 시작할 수 있다.
또한 시스템(300)은 인덱스 파싱 모듈(304)을 포함할 수 있다. 인덱스 파싱 모듈(304)은 (예를 들어, 로깅 모듈(310)에 의한) 로그 데이터의 수집 또는 로그 데이터 수집의 종료, 또는 둘 다를 인덱스 코드와 연관된 특정 인덱스 코드 및/또는 카테고리와 관련된 이러한 데이터로 제한하기 위해, 모바일 OS의 로그 데이터를 카테고리화하는 적어도 하나의 인덱스 코드를 채택할 수 있다. 예를 들어, 음성 호출 연결과 연관된 제 1 인덱스 코드는 로그 데이터의 수집(그리고, 예를 들어, 로그 데이터의 수집의 종료)을 음성 호출 연결에만 관련된 로그 데이터로 제한할 수 있다. 특정 일 예로서, 적절한 시작 트리거의 실행시, 호출 시작 및 중지 시간들, 디바이스에서 시작된 호출들, 디바이스에서 수신된 호출들, 드롭된 호출들 및 관련 시간들, 연결되지 않은 호출들 등과 관련된 음성 호출 로그 정보가 수집될 수 있다. 인덱스 코드는 모바일 OS의 임의의 적절한 어플리케이션, 프로세스, 기능 또는 자원, 또는 이들의 조합과 관련된 로그 데이터를 구별하기 위해 사용될 수 있다는 점이 이해되어야 한다. 구별가능한 로그 데이터의 추가적인 예들은 GPS 위치 정보, 네트워크-기반 위치 정보(예를 들어, AFLT(advanced forward link trilateration), EFLT(enhanced forward link trilateration), EDTD(enhanced observed time difference) 등을 포함), 이메일, SMS, IM, 문자 메시지, 보이스 오버 인터넷 프로토콜(VoIP), PDP 상황 사용, 또는 유사한 모바일 디바이스 또는 네 트워크 어플리케이션/프록세스/자원/기능 정보 또는 이들의 조합을 포함할 수 있다.
본 발명의 추가적인 양상들에 따라, 로깅 장치(302)의 컴포넌트들은 로그 데이터의 인덱스 기반 수집을 용이하게 하거나 그리고/또는 구현할 수 있다. 예를 들어, 관리 모듈(308)은 모바일 OS, 디바이스, 및/또는 네트워크의 어플리케이션, 기능, 프로세스, 자원 등의 함수로서 모바일 OS 로그 데이터를 카테고리화하는 적어도 하나의 인덱스 코드와 시작 이벤트(들) 또는 중지 이벤트(들)을 연관시키도록 구성될 수 있다. 결과적으로, 이러한 이벤트(들)의 발생시, 로깅 모듈(310)은 모든 로그 데이터 대신 인덱스-특정 로그 데이터를 수집하고/상기 수집을 종료할 수 있다. 일 예로서, 이벤트는 상기 이벤트와 관련된 인덱스(예를 들어, 음성 호출의 시작과 관련된 음성 호출 로그 데이터)와 연관될 수 있다. 따라서, 상기 이벤트(예를 들어, 음성 호출)의 발생시, 이 경우 (예를 들어, 적어도 상기 인덱스 코드와 상기 이벤트와의 상관에 의해서이지만, 또한 상호 관련된 프로세스들, 자원들 등을 포함할 수도 있는) 상기 이벤트와 관련된 것으로서 정의된 상기 인덱스(예를 들어, 음성 호출 로그 데이터)와 상관된 로그 데이터만이 수집/종료될 것이다. 시작/중지 이벤트들 및 인덱스 코드들이 여기서 설명된 바와 같이 상관될 모바일 OS의 일부 기능 또는 어플리케이션 등에 의해 논리적으로 관련될 필요가 없다는 점이 이해되어야 한다. 오히려, 임의의 적절한 인덱스 코드가 여기에 설명된 바와 같은 이벤트-제어 인덱스-특정 로깅에 영향을 주기 위해 임의의 미리 결정된 시작 또는 중지 이벤트와 연관될 수 있다. 또한, 도 2에서 전술된 바와 같이, 인덱스-특정 로그 데이터의 수집과 연관된 시작 시간 및 수집이 종료된 중지 시간이 기록될 수 있다.
전술 내용에 부가하여, 시스템(300)은 인덱스-특정 시작 트리거를 실행하는 인덱스-특정 시작 이벤트들의 수를 트래킹하는 기준 모듈(306)을 포함할 수 있다. 이후 기준 모듈(306)은 인덱스-특정 시작 이벤트들의 수와 동일한 수의 인덱스-특정 중지 이벤트들의 발생시 제 2 (예를 들어, 중지) 트리거의 실행을 조정할 수 있다. 상기 제 2 트리거는 오직 중지 이벤트(들)과 연관된 인덱스 코드와 관련된 로그 데이터만의 실행을 종료할 수 있다.
다음의 비-제한적인 예는 기준 모듈(306)에 의해 제공되는 적어도 하나의 이점을 예시할 수 있다. 2개의 인덱스-특정 시작 이벤트들인, 모바일 디바이스에서의 음성 호출의 활성화 및 GPS 어플리케이션의 시작은 GPS 위치 인덱스 코드와 연관되며, 이들 모두는 GPS-특정 로그 데이터를 수집할 수 있는 시작 트리거를 실행하도록 세팅된다. 또한, 2개의 인덱스-특정 중지 이벤트들인, 음성 호출의 종료 및 GPS 어플리케이션의 종료가 정의되며, 이들은 또한 (예를 들어, 오직 GPS 위치 인덱스 코드 로그 데이터의 수집만을 종료하는) GPS 위치 인덱스 코드와 연관된다. 통상적으로, 어느 하나의 시작 이벤트의 발생은 GPS 로그 데이터의 수집을 트리거할 수 있고, 어느 하나의 중지 이벤트의 발생은 GPS 로그 데이터 수집이 진행중인 경우 이러한 수집의 종료를 트리거할 수 있다. 그러나, 인덱스-특정 시작 이벤트들과 관련된 어플리케이션들 중 어느 것이라도 활성인 한 GPS 로그 데이터의 수집을 계속하는 것이 바람직할 수 있다. 설명된 바와 같이, 시작 이벤트들인 음성 호 출 및 GPS 어플리케이션의 시작이 모두 발생하는 경우, 단일의 후속 중지 이벤트, 예를 들어, 음성 호출 종료가 GPS 로그 데이터 수집의 종료를 트리거할 수 있다. 그 결과, 요구되는 로그 데이터는 GPS 어플리케이션 지속기간동안 수집되지 않을 것이다.
그러나, 기준 모듈(306)은 수집을 트리거하는 시작 이벤트들과 공통의(또는 예를 들어, 관련된) 인덱스 코드를 가지는 적어도 동일한 개수의 중지 이벤트들의 발생시 인덱스-특정 로그 데이터 수집의 종료를 조정함으로써, 전술된 문제를 해결할 수 있다. 따라서, 음성 호출 및 GPS 어플리케이션 모두(예를 들어, 2개의 GPS 인덱스 시작 이벤트들)가 동시에 활성인 경우, 2개의 GPS 인덱스 중지 이벤트들의 발생이 상기 GPS 로그 데이터의 수집을 종료하기 위해 요구될 수 있다. 구체적으로, 이 예의 제약들 내에서, 음성 호출 및 GPS 어플리케이션 모두는 GPS 로그 데이터 수집 역시 종료되도록 종료될 필요가 있을 것이다(예를 들어, 2개의 GPS-특정 중지 이벤트들). 따라서, 기준 모듈(306)은 시작된 다수의 다른 이벤트들과는 독립적인 인덱스-특정 로그 데이터의 수집을 제공할 수 있거나, 그렇지 않은 경우 이러한 수집을 종료할 수 있다.
도 4는 추가적인 양상들에 따라 모바일 디바이스 운영 체제를 위한 이벤트-제어 모바일 로깅을 제공하는 예시적인 모바일 디바이스(400)를 도시한다. 상기 모바일 디바이스(400)는 원격 디바이스들(미도시)과의 음성 및/또는 데이터 통신을 위한 메커니즘을 제공할 수 있으며, 하나 이상의 이벤트들의 발생에 기초하여 상기 디바이스(400)의 동작들과 관련된 로그 데이터를 추가로 수집할 수 있다. 이러한 이벤트들은, 여기에 설명된 것과 같을 수 있으며, 원격 소스(예를 들어, 네트워크 서버에서 실행되는 진단 어플리케이션)로부터 수신된(예를 들어, 로그 데이터의 하나 이상의 인덱스-특정 세트들을 포함하는) 로그 데이터를 수집하라는 요청을 포함할 수 있다. 또한, 모바일 디바이스(400)는 수집된 로그 정보를 사용하여 이러한 데이터에 대한 요청에 응답할 수 있다. 따라서, 모바일 디바이스(400)는 진단, 사용 이력, 또는 유사 목적들을 위해 로그 데이터의 수집을 용이하게 할 수 있다.
모바일 디바이스(400)는 (예를 들어, 음성 호출, 데이터 전달, 진단 또는 사용 이력 로그 정보 기반 시작 또는 중지 트리거 이벤트들의 수집을 위한 요청 등과 관련된) 신호를 수신하는 적어도 하나의 안테나(402)(예를 들어, 전송 수신기 또는 입력 인터페이스를 포함하는 이러한 수신기들의 그룹), 및 수신된 신호에 대해 통상적인 동작들(예를 들어, 필터링, 증폭, 하향변환 등)을 수행하는 수신기(404)를 포함한다. 구체적으로, 안테나(402)는 하나 이상의 수집 트리거 이벤트들의 발생에 기초하여 로그 데이터 및/또는 인덱스 특정 로그 데이터를 수집하라는 요청을 수신할 수 있다. 상기 요청은 또한, 여기서 설명된 바와 같이, 로그 수집의 종료를 트리거할 수 있는 하나 이상의 종료 이벤트들을 특정할 수 있다.
또한, 안테나(402) 및 수신기(404)는 수신된 심볼들을 복조하여 평가를 위해 이들을 프로세서(408)로 제공할 수 있는 복조기(406)와 커플링될 수 있다. 프로세서(408)는 안테나(902) 또는 모바일 디바이스의 사용자 입력 인터페이스(미도시)에 의해 수신된 정보를 분석하고, 그리고/또는 송신기(420)에 의한 송신을 위한 정보를 생성할 수 있다. 추가적으로, 프로세서(408)는 모바일 디바이스(400)의 하나 이상의 컴포넌트들(406, 410, 412, 414, 416, 418)을 제어 및/또는 참조할 수 있다. 추가적으로, 프로세서(408)는, 여기에 설명된 바와 같이, 모바일 OS 로그 데이터의 이벤트-제어 연속 로깅을 제공하는 하나 이상의 모듈들, 어플리케이션들 등(412, 414, 416)을 실행할 수 있다.
모바일 디바이스(400)는 프로세서(408)와 동작상으로 연결되고 전송될, 수신될 데이터 등을 저장할 수 있는 메모리(410)를 추가적으로 포함할 수 있다. 메모리(410)는 이벤트-기반 트리거들에 응답하여 모바일 OS 로그 데이터를 수집하기 위한 로깅 장치(412)와 관련된 정보를 저장할 수 있다. 상기 로깅 장치(412)에는 인덱스-특정 로그 데이터를 포함한 로그 데이터의 수집을 실행하기 위한 하나 이상의 트리거들, 및 로그 데이터 수집을 종료하기 위한 하나 이상의 트리거들이 할당될 수 있다. 상기 트리거들은 모바일 디바이스(400)에서의 구성에 의해 미리 결정되거나, 또는 원격 어플리케이션으로부터 (예를 들어, 안테나(402) 및 수신기(404)에서) 수신된 명령에 의해 제공되는 이벤트들과 연관될 수 있다. 또한, 로깅 장치(412)는 메모리(410)에 수집된 로그 데이터를 저장하고 적절한 경우 요청 어플리케이션에 상기 로그 데이터를 제공할 수 있다.
또한, 메모리(410)는 인덱스-특정 로그 데이터의 수집을 트리거하고 그리고/또는 상기 인덱스-특정 로그 데이터의 수집을 종료하는 이벤트들과 하나 이상의 인덱스 코드들을 연관시킬 수 있는 인덱스 모듈(414)과 커플링될 수 있다. 여기에 설명된 바와 같이, 인덱스 코드들은 로그 데이터의 수집(또는 예를 들어, 수집의 종료)을 (예를 들어, 모바일 디바이스(400)의 프로세스, 어플리케이션, 자원, 및/ 또는 기능, 또는 이러한 디바이스의 모바일 네트워크 또는 OS와 연관된) 특정 인덱스 코드와 관련된 로그 코드들, 이벤트 코드들 및/또는 요청-응답 패킷들 등으로 제한할 수 있다. 또한, 인덱스 모듈(414)은 인덱스의 함수로서 시작 트리거들/이벤트들의 수를 트래킹하고, 인덱스마다, 동일한 개수의 중지 트리거들/이벤트들이 인덱스-특정 데이터의 종료 이전에 발생할 것을 요구할 수 있다.
추가적으로, 메모리(410)는 로깅 디바이스(412)에 의해 사용되는 로깅 트리거와 연관된 이벤트들(예를 들어, 음성 호출, WAP 브라우저의 시작 등)의 발생을 검출할 수 있는 검출 및 타이밍 모듈(416)을 포함할 수 있다. 모바일 디바이스(400)의 사용자에 의해 특정되었는지, 디바이스(400)의 모바일 어플리케이션에 사전구성되었는지 또는 원격 디바이스 또는 네트워크 컴포넌트(예를 들어, 모바일 네트워크 RNC 등)로부터 수신되었는지의 여부에 관계없이, 트리거와 연관된 이벤트들은 검출을 위해 검출 및 타이밍 모듈(416)에서 특정될 수 있다. 이러한 이벤트들의 발생은 데이터의 수집을 시작하도록 결정되어 로깅 장치(412)로 포워딩될 수 있다. (선택적으로 인덱스의 함수로서) 시작 이벤트가 발생히면, 시작 시간이 기록될 수 있다. 중지 트리거를 실행하는 중지 이벤트(또는 시작 이벤트들과 동일한 충분한 수의 중지 이벤트들)가 발생하는 경우, 중지 시간이 기록될 수 있다. 따라서, 모바일 디바이스(400)는 결정가능 이벤트들의 발생으로 인한 로그 정보를 기록하고, 시작 및 중지 시간들을 기록하고, 적절한 경우, 이러한 정보를 요청 어플리케이션, 컴포넌트 또는 디바이스로 포워딩할 수 있다. 도 2에 대해 전술된 바와 같이, 메모리(410)는 휘발성 메모리 또는 비휘발성 메모리일 수 있으며, 휘발성 및 비휘발성 메모리 모두를 포함할 수 있다는 점이 이해될 것이다.
또한 모바일 디바이스(400)는 변조기(418), 및 (예를 들어, 프로세서(408) 및 변조기(418)에 의해) 생성된 신호들을, 예를 들어, 기지국, 액세스 포인트, 다른 액세스 단말, 원격 에이전트 등으로 전송하는 송신기(420)를 더 포함할 수 있다. 프로세서(408)로부터 분리된 것으로서 도시되지만, 제 1 어플리케이션(414) 및/또는 제 2 어플리케이션(416)이 프로세서(408)의 일부분 또는 다수의 프로세서들(미도시)일 수 있음이 이해되어야 한다.
도 5는 하나 이상의 모바일 OS들(504)에 대한 이벤트-제어 로그 데이터에 대한 구성을 용이하게 하고, 상기 구성을 제공하고, 그리고/또는 상기 이벤트-제어 로그 데이터를 수신하여 사용(consume)할 수 있는 기지국(502)을 포함하는 예시적인 시스템(500)을 설명한다. 시스템(500)은 다수의 수신 안테나들(506)을 통해 하나 이상의 모바일 디바이스들(504)로부터 신호(들)를 수신하는 수신기(510), 및 송신 안테나(508)를 통해 하나 이상의 모바일 디바이스들(504)로 전송하는 송신기(522)를 가지는 기지국(502)(예를 들어, 액세스 포인트,...)을 포함한다. 수신기(510)는 수신 안테나들(506)로부터 정보를 수신할 수 있고, 하나 이상의 모바일 디바이스들로부터 요청된 로그 데이터를 수신하는 신호 수신자(미도시)를 더 포함할 수 있다. 추가적으로, 수신기(510)는 수신된 정보를 복조하는 복조기(512)와 동작상으로 연관된다. 프로세서(514)는 복조기(512)에 의해 제공된 복조 심볼들을 분석할 수 있고, 전송될 데이터를 먼저 심볼 변조를 위한 변조기(520)로 제공하고, 이후 송신기(522)로 제공할 수 있다. 프로세서(514)는 여기에 설명된 바와 같이, 보안 원격 통신을 용이하게 하고 그리고/또는 상기 보안 원격 통신에 참여하는 진단 어플리케이션(518)을 저장할 수 있는 메모리(516)에 추가로 커플링된다.
예를 들어, 진단 어플리케이션(518)은 모바일 네트워크와 관련된 진단 기능들, 예를 들어, 호출 드롭들, 사용불가능한 호출들, 유실된 호출들, 실패한 데이터 네트워크 인터페이스들 및/또는 이러한 환경들 또는 유사 환경들에 관련된 정보, 또는 이들의 조합의 결정을 수행하도록 구성될 수 있다. 진단 어플리케이션(518)은 하나 이상의 모바일 디바이스들(504)로부터의 로그 데이터를 요청하는 쿼리(query)를 이러한 디바이스들로 전송할 수 있다. 또한, 진단 어플리케이션(518)은 여기서 설명된 바와 같은 로그 데이터의 수집의 트리거를 위한 하나 이상의 이벤트들, 및/또는 로그 데이터의 종료를 트리거하기 위한 하나 이상의 이벤트들을 특정할 수 있다. 상기 이벤트(들)는, 여기서 설명된 바와 같이, 예를 들어, 시작 및 종료 이벤트들을 페어링하는 이벤트 플래그 또는 인덱스 코드(들)과 관련된 로그 데이터의 수집 및/또는 종료를 제한하는 인덱스 코드(들)를 포함할 수 있다. 어플리케이션(518)은 예를 들어, 로그 데이터의 수신 및 수신된 로그 데이터의 컴파일링, 네트워크의 진단, 관리, 및/또는 유지 기능에서 상기 로그 데이터의 사용, 및 수신된 그리고/또는 컴파일링된 정보의 네트워크 서비스 공급자, 또는 네트워크 서비스 공급자의 컴포넌트(예를 들어, 네트워크 서비스 공급자의 서버, 데이터 베이스 등)로의 포워딩을 위한 규칙들을 더 포함할 수 있다. 결과적으로, 어플리케이션(518)은 모바일 디바이스(504) 로그 데이터의 이벤트-제어 수집, 및/또는 여기에 설명된 다양한 동작들 및 기능들의 수행과 관련된 임의의 다른 적절한 액티비티 를 요청하고 구성할 수 있다.
또한, 진단 어플리케이션(518)은 메모리(516) 및/또는 프로세서(514)에 그 전체가 상주할 수 있다는 점이 이해되어야 한다. 그러나, 몇몇 실시예들에 따라, 진단 어플리케이션(518)은 기지국(502)에 부분적으로 상주하거나 상기 기지국(502)으로부터 완전히 분리될 수 있으며, 원격 네트워크 인터페이스를 통해 프로세서(514) 및/또는 메모리(516)와 통신할 수 있다. 예를 들어, 진단 어플리케이션은 유선 및/또는 무선 데이터 연결(예를 들어, 전송 제어 프로토콜, 인터넷 프로토콜[TCPIP] 연결)에 의해 기지국(502)과 통신상으로 커플링되는 모바일 네트워크의 무선 네트워크 제어기(RNC)에 근접하여 상주할 수 있다. 따라서, 본 발명은 여기에 설명된 바와 같은 진단 어플리케이션(518) 또는 이러한 어플리케이션(518)과 관련된 기능들이 기지국(502)에서만 수행되도록 제한되지 않아야 한다.
여기서 설명된 실시예들이 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 이들의 임의의 조합으로 구현될 수 있음이 이해되어야 한다. 하드웨어 구현을 위해, 프로세싱 유닛들은 하나 이상의 주문형 집적 회로(ASIC)들, 디지털 신호 프로세서(DSP)들, 디지털 신호 처리 디바이스(DSPD)들, 프로그램가능 로직 디바이스(PLD)들, 필드 프로그램가능 게이트 어레이(FPGA)들, 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 여기서 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수 있다.
상기 실시예들이 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드, 프로그램 코드 또는 코드 세그먼트들로 구현되는 경우, 이들은 저장 컴포넌트와 같은 기 계-판독가능 매체에 저장될 수 있다. 코드 세그먼트는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스 , 또는 명령들의 임의의 조합, 데이터 구조들, 또는 프로그램 선언문들을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 독립인수들, 파라미터들, 또는 메모리 컨텐츠들을 전달시키고 그리고/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 독립인수들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 전송 등을 포함한 임의의 적절한 수단을 사용하여 전달, 포워딩, 또는 전송될 수 있다.
소프트웨어 구현을 위해, 여기에 설명된 기법들은 여기에 설명된 기능들을 수행하는 모듈들(예를 들어, 프로시저들, 함수들 등)을 사용하여 구현될 수 있다. 소프트웨어 코드들은 메모리 유닛들에 저장되고 프로세서들에 의해 실행될 수 있다. 메모리 유닛은 프로세서 내부 또는 프로세서 외부에서 구현될 수 있으며, 어느 경우든 당해 기술분야에 공지된 바와 같은 다양한 수단들을 통해 상기 프로세서에 통신상으로 연결될 수 있다.
도 6은 본 발명의 하나 이상의 양상들에 따른 다양한 페어링된 트리거 이벤트들(602, 604, 606, 608)을 위해 예시적인 로그(610) 및 수집된 로그(612)의 예시이다. 여기에 설명된 바와 같은 로그 데이터(610)의 수집을 시작하고 그리고/또는 종료하도록 정의된 트리거들(602, 604, 606, 608)은 이벤트 플래그(614, 618)에 의해 추가로 상관될 수 있다. 이벤트 플래그(614, 618)는 다수의 중지 트리거들(604, 608) 중 적어도 하나와 시작 트리거(602, 606)를 커플링시킬 수 있다(예를 들어, 여기서 설명된 바와 같이, 시작 트리거(602,606)는 모든 로그 데이터(610) 또는 시작 트리거(들)(602, 606)와 연관된 하나 이상의 인덱스 코드들(616)에 의해 식별되는 로그 데이터(610)의 서브세트의 연속적인 수집을 시작할 수 있고, 중지 트리거들(604, 608)은 모든 로그 데이터(610) 또는 중지 트리거(들)(604,608)와 연관된 인덱스 코드(들)(616)에 의해 식별되는 로그 데이터(610)의 서브세트의 수집을 종료할 수 있다). 또한, 이벤트 플래그들(614, 618)은 공통 이벤트 플래그(614, 618)를 가지는 시작 및 중지 트리거(602, 604, 606, 608)에 대하여 로그 데이터(610)의 종료의 조정을 용이하게 할 수 있다. 특히, 로그 데이터(610)의 수집을 종료하는 중지 트리거(604, 606)의 실행은 이러한 수집을 시작한 시작 트리거(602, 606)와 공통인 이벤트 플래그 값(614,618)을 가지는 이러한 중지 트리거(606, 610)에 대해 조정될 수 있다. 달리 말하자면, 중지 트리거(604, 608)는 (예를 들어, 공통 이벤트 플래그 값(614 또는 618)에 의해 관련된) 관련 시작 트리거(602, 606 각각)에 의해 시작된 데이터 수집(612)만이 상기 중지 트리거(604, 608)에 의해 종료되도록 제한될 수 있다.
도 6에 도시된 바와 같이, 각각의 트리거(602, 604, 606, 608)는 이벤트(예를 들어, 여기에 설명된 바와 같은 임의의 이벤트를 포함할 수 있는 이벤트 1, 이벤트 2, 또는 이벤트 3)에 의해 트리거되며, 인덱스 코드(616) 및 이벤트 플래그(614, 618)와 연관된다. 특히, 트리거 1(602)의 수집은 이벤트 1의 발생시 실행될 수 있는 반면 트리거 2(606)의 수집은 이벤트 2의 발생시 시작된다. 수집 트리 거들(602, 606) 모두는 인덱스 1 인덱스 코드(616)와 연관되며, 그 결과 오직 인덱스 1(612)와 연관된 로그 데이터(610)의 수집을 시작하고, 다른 인덱스들(예를 들어, 인덱스 2, 인덱스 3 등)은 이들 트리거들(602, 606)의 실행의 결과로서 무시된다.
전술 내용에 부가하여, 수집 트리거들(606, 606) 역시 각각 이벤트 플래그와 연관된다. 특히, 수집 트리거1(602)는 이벤트 플래그 1(610)와 연관되는 반면, 수집 트리거 2(606)는 이벤트 플래그 2(618)와 연관된다. 상기 이벤트 플래그들(614, 618)은 전술된 바와 같이 상기 수집 트리거들(602, 606)과 하나 이상의 종료 트리거들(604, 608)을 상관시킬 수 있다. 도시된 바와 같이, 종료 트리거 1(604)은 이벤트 플래그 1(614)와 연관되며, 그 결과 수집 트리거1(602)와 상관/페어링된다. 따라서, 종료 트리거1(604)의 실행시, 수집 트리거1(602)에 의해 시작된 로그 데이터의 수집이 종료될 수 있다. 종료 트리거1(604) 역시 인덱스 1(612)와 연관되므로, 인덱스 1(612)와 관련된 데이터 수집만이 종료될 것이다. 따라서, (예를 들어, 적절한 인덱스 코드(들)(616)에 의한) 인덱스 1 및 인덱스 2와 연관되고 종료 트리거 1(604)와 공통 이벤트 플래그를 가지는 다른 시작 트리거(602, 606)가 활성화되는 경우, 종료 트리거 1(604)의 실행이 인덱스 1 로그 데이터의 수집을 중지할 수 있지만 인덱스 2 로그 데이터의 수집은 계속될 수 있다.
종료 트리거 1(604)에 대해 전술된 것과 유사한 방식으로, 종료 트리거2(608)는 인덱스 코드(616)와 연관되며 또한 이벤트 플래그(이벤트 플래그 2(618))와 연관될 수도 있다. 결과적으로, 종료 트리거 2(608)는 인덱스 1(616)와 관련되며 이벤트 플래그 2(618)(예를 들어, 이 경우 수집 트리거 2(606))와도 연관된 시작 트리거(606)에 의해 시작되었던 데이터의 수집을 중지할 수 있다. 608에서 표시된 바와 같이, 종료 트리거 2(608)는 이벤트 3의 발생시 실행된다.
로그(610)는 모바일 OS(미도시)의 프로세스들과 관련된 이벤트 발생들, 요청-응답 패킷들 및 인덱스-특정 로그 코드들의 순차적 표시를 제공한다. 이벤트 발생들은 로그 데이터의 수집을 시작 및/또는 종료하기 위해 여기서 설명된 바와 같이 로깅 트리거들(602, 604, 606, 608)과 상관될 수 있다. 예를 들어, 로그(610)의 첫번째 라인은 이벤트 1의 발생이다. 그 결과, 수집 트리거 1(602)이 시작될 수 있고, 그 결과 인덱스 1과 연관된 데이터가 수집된 로그(612)에 저장될 수 있다. 추가적인 실시예들에 따라, 이벤트들 및/또는 요청-응답 패킷들(미도시) 역시 인덱스-특정 로그 코드들에 독립적인 수집된 로그(612) 내에 포함될 수도 있다. 따라서, 수집된 로그(612)는 이벤트 1(및 다른 이벤트들)의 발생을 기록할 수 있다. 후속적으로, 인덱스 1 로그 데이터는 로그(610)에 나타나며, 612에서 수집된다. 수집 트리거 1(612)이 인덱스 코드 1(616)와 연관되지 않으므로 인덱스 3 로그 데이터는 수집된 로그(612)에서 수집되지 않으며, 인덱스 1 데이터로 로그 데이터의 수 집이 제한된다. 이벤트 2가 발생하고 수집 트리거 2(606)가 실행될 수 있다. 수집 트리거 2(606)는 또한 인덱스 코드 1(616)와 연관되어 인덱스 1 데이터 및/또는 이벤트 데이터에 대한 로그 데이터(612)의 수집을 제한한다.
이벤트 2가 로그 (610)에서 발생한 후 이벤트 1이 재발생한다. 이벤트 1의 재발생은 (예를 들어, 종료 트리거 1(604)가 이벤트 1와 연관되기 때문에, 그리고, 수집 트리거 1(602)가 이미 실행되었기 때문에) 종료 트리거 1(604)를 트리거하며, 상기 종료 트리거 1(604)는 수집 트리거 1(602) 및 인덱스 코드 1(616)와 연관된 데이터의 수집을 종료할 수 있다. 그러나, 수집 트리거 2(606)가 종료 트리거 1(604)와는 상이한 이벤트 플래그(618)를 가지므로, 수집 트리거 2(606)는 여전히 인덱스 1과 연관된 데이터를 로깅한다. 따라서, 로그(610)에서 이벤트 2의 첫번째 발생 이후, 수집 트리거 2(606)는 수집된 로그(612)에서 여전히 이벤트 1 및 인덱스 1을 수집하며, 인덱스 2를 두 번 스킵하고, 인덱스 1을 수집하고 인덱스 2를 스킵한다. 이후 이벤트 1의 발생이 수집되고 수집 트리거 1(602)의 수집을 재실행한다. 이후 이벤트 2의 발생은 수집 트리거 2(606)를 시작한다(선택적으로, 수집 트리거 2(606)를 다시 시작하며, 이는 적어도 동일한 개수의 상관된 종료 트리거들에 대한 수집 트리거 2(606)의 다수의 실행들에 의해 수집된 데이터의 종료를 조정하는 기준 모듈에 의해 기록될 수 있다). 여기서 설명된 바와 같이, 이벤트 3의 발생은 종료 트 리거 2(608)를 트리거하며, (수집 트리거 2(606) 및 종료 트리거 2(608)는 공통 이벤트 플래그(618)를 공유하므로) 상기 종료 트리거(608)는 수집 트리거 2(606)와 연관된 데이터의 수집을 종료할 수 있거나, 또는 선택적으로, 수집 트리거 2(606)에 의해 데이터의 수집을 종료하도록 요청되는 종료 트리거 2(608)의 두 개의 실행 중 제 1 실행에 대해 카운트할 수 있다. 인덱스 1 로그 코드들에 관한 데이터 수집을 종료하기 위해, 이벤트 1은 다시 종료 트리거 1(604)를 실행하도록 재발생할 필요가 있으며, 선택적으로, 이벤트 3은 예를 들어, 기준 모듈이 연속적인 수집 트리거 2(602, 606) 발생의 수를 트래킹하는지의 여부에 따라, 수집 트리거(606)의 제 2 실행을 종료하기 위해 재발생할 필요가 있을 수 있다.
전술 내용에 대한 대안적인 실시예로서, 시작 및 중지 트리거들은 서로 다른 인덱스 코드들과 연관될 수 있고, 그 결과 서로 다른 인덱스-특정 로그 코드들, 이벤트들, 및/또는 요청-응답 패킷들의 수집 및 상기 수집을 종료할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 수집 트리거 2(606) 및 종료 트리거 2(608)와 연관된 인덱스 코드들(616)은 인덱스 1 로그 코드들이 아닌 인덱스 2 로그 코드들을 특정할 수 있다. 이러한 경우, 이벤트 2의 발생은 인덱스 1 로그 코드들 대신 인덱스 2 로그 코드들의 수집을 트리거할 수 있다. 또한, 이벤트 3의 발생은 (EF 2(618)와 상관된 수집 트리거(606)에 의해 시작되었던) 인덱스 2 로그 코드들의 수집을 종료할 수 있다. 이러한 방식으로, 상기 2개의 종료 트리거들(604, 608)의 실행은 이벤트 플래그들(614, 618)과는 무관하게 페어링되지 않은 수집 트리거들(602, 606)을 간섭하지 않을 것인데, 왜냐하면, 이러한 트리거들은 데이터의 서로 다른 세트들을 수집하고 종료하도록 세팅되기 때문이다. 구체적으로, 이러한 경우, 수집 트리거 1(602)은 인덱스 1 로그 코드들만의 수집을 시작할 것이고, 종료 트리거 2(608)는 인덱스 2 로그 코드들만의 수집을 종료할 것이다(그리고, 수집 트리거 2(606) 및 종료 트리거 1(604)에 대해서 그 역도 성립한다). 도 6은 이벤트-제어 데이터 수집 중 단지 2개의 예들만을 제공한다는 점이 이해되어야 한다. 본 발명 내에서 구체적으로 표현되지는 않았지만 본 발명에 의해 제공되는 상황에 의해 당업자에게 알려지는 많은 다른 예들 역시 참작되며 여기에 명시적으로 통합된다. 따라서, 본 발명은 여기에 개시된 특정 실시예들에 의해 제한되지 않으며, 이러한 실시예들은 명료성을 제공하기 위한 예시로서만 의도된다.
도 7-10을 참조하면, 모바일 OS 데이터 및 이벤트들의 이벤트-제어 로깅의 제공과 관련된 방법들이 도시된다. 설명의 간략화의 목적으로 상기 방법들이 일련의 동작들로서 도시되고 설명되지만, 상기 방법들이 동작들의 순서에 의해 제한되지 않음이 이해되어야 한다. 예를 들어, 하나 이상의 양상들에 따라, 몇몇 동작들은 여기에 도시되고 설명된 것과는 다른 순서들로 그리고/또는 다른 동작들과 동시에 발생할 수 있다. 또한, 당업자는 방법이 예컨대 상태도와 같은 일련의 상호 관련된 상태들 또는 이벤트들로서 대안적으로 나타날 수 있음을 이해할 것이다. 더욱이, 하나 이상의 양상들에 따른 방법을 구현하기 위해 모든 예시된 동작들이 필 수적으로 요구되는 것은 아니다.
도 7은 모바일 동작 환경에서 이벤트-제어 로깅을 제공하기 위한 샘플 방법을 도시한다. 702에서, 방법(700)은 모바일 동작 환경에서 로그 데이터의 수집을 시작하는 시작 트리거를 설정할 수 있다. 시작 트리거는 결정가능한 이벤트 또는 이벤트들과 모바일 동작 환경 데이터의 수집을 연관시키는 전기 로직의 적어도 하드웨어, 소프트웨어 및/또는 펌웨어 구현일 수 있다. 이러한 데이터는 모바일 동작 환경의 임의의 적절한 기능 또는 프로세스(예를 들어, 음성 호출의 수행, 유선 및/또는 무선 인터페이스에 의한 원격 데이터 네트워크와의 데이터 교환의 수행, 전술 내용과 관련한 진단, 유지 및/또는 관리 정보의 수행 등)을 포함할 수 있다. 또한, 결정 가능 이벤트는 모바일 동작 환경의 프로세스에 의해 검출되고 식별될 수 있는 임의의 적절한 이벤트일 수 있다. 이러한 이벤트들은 음성 호출의 시작 또는 수신, 링톤과 같은 모바일 디바이스 어플리케이션의 실행, 링톤 어플리케이션 또는 다른 어플리케이션의 다운로드/인스톨, WAP 브라우저, 주소북, 메시지 이력, 이메일 또는 메시지(예를 들어, SMS, IM, 텍스트, 등) 어플리케이션 등의 실행, 원격 데이터 네트워크(예를 들어, 인터넷)와의 연결을 설정하기 위한 PDP 상황과 같은 모바일 네트워크 자원 및/또는 모바일 디바이스, 음성 암호화된 데이터로서 오디오 정보를 디코딩/인코딩하기 위한 보코더에의 액세스, 또는 이들의 임의의 적절한 조합 등을 포함할 수 있다.
704에서, 방법(700)은 로그 데이터의 수집을 종료할 수 있는 중지 트리거를 설정할 수 있다. 예를 들어, 중지 트리거는 위에서 논의된 시작 트리거의 실행에 의해 시작된 로그 데이터의 수집을 종료할 수 있다. 더욱이, 상기 중지 트리거는 또한 결정가능 이벤트 또는 이벤트들의 발생으로 (일단 시작 트리거에 의해 시작된) 로그 데이터 수집의 종료와 연관된 전기 로직의 적어도 하드웨어, 소프트웨어 및/또는 펌웨어 구현일 수 있다. 상기 이벤트(들)는 시작 트리거에 의해 사용되는 이벤트의 후속적 발생일 수 있거나, 또는 상기 시작 트리거와 관련되지 않은 이벤트의 발생일 수 있다. 중지 트리거가 시작되면, 로그 데이터의 수집이 중지된다.
특정 실시예들에 따라, (시작 트리거 및 중지 트리거 각각의 실행에 대응하는) 로그 수집 시작 시간(들) 및 중지 시간(들)은 수집된 로그 데이터 파일 내에 기록되고 포함될 수 있다. 추가적인 실시예들에 따라, 상기 시작 트리거의 다수의 실행들은 상기 로그 데이터의 종료를 위해 적어도 동일한 수의 중지 트리거 실행들을 요구할 수 있다. 따라서, 다수의 시작 이벤트들은 데이터 수집을 종료하는 단일 중지 이벤트 없이 로그 데이터의 수집을 트리거할 수 있다.
706에서, 방법(700)은 이러한 트리거들과 상관된 적어도 하나의 결정가능 이벤트의 발생에 대한 시작 트리거 및 종료 트리거의 실행을 조정할 수 있다. 상기 이벤트(들)는 단일 이벤트 또는 서로 다른 이벤트들, 또는 이들 모두의 조합의 후속적 발생일 수 있다. 따라서, 트리거와 상관된 이벤트(들)의 발생은 로그 데이터(예를 들어, 모든 로그 데이터 또는 이벤트-전용 데이터, 또는 인덱스 코드와 같은 특정 식별자와 연관된 데이터 등)의 수집을 시작하기 위해 시작 트리거를 실행하거나, 또는 로그 데이터의 수집을 종료하기 위해 중지 데이터를 실행할 수 있다. 그러므로, 방법(700)은 적어도 결정가능 이벤트에 의해 종료될 수 있는, 또는 또 는, 하나 이상의 결정가능 이벤트들에 의해 둘 다 시작되고 종료될 수 있는 모바일 환경 로그 데이터 또는 요청-응답 패킷들의 연속적 로깅을 제공한다.
도 8은 하나 이상의 양상들에 따라 인덱스-특정 로깅 및 페어링된 시작/중지 이벤트들을 제공하기 위한 예시적인 방법을 도시한다. 여기에 설명된 바와 같이, 방법(800)은, 802에서, 모바일 환경 로그 데이터의 수집/종료를 위한 적어도 하나의 시작 트리거 및 적어도 하나의 종료 트리거, 및 상기 트리거들을 실행하는 결정가능 이벤트들을 설정할 수 있다. 804에서, 방법(800)은 특정 인덱스 코드에 관련한 로그 데이터로 상기 로그 데이터의 수집 및/또는 종료를 제한하기 위한 적어도 하나의 인덱스 코드를 채택할 수 있다. 상기 인덱스 코드는 모바일 운영 체제 또는 모바일 네트워크의 임의의 적절한 어플리케이션, 프로세스, 기능, 또는 자원, 또는 이들 또는 유사물들의 조합과 연관된 로그 데이터를 나타낼 수 있다(여기 임의의 곳에서 설명된 예들은 참조 번호(804)에서 채택된 인덱스 코드(들)에 적용가능하다). 806에서, 적어도 하나의 인덱스 코드는 시작 및/또는 중지 트리거, 또는 다수의 시작 및/또는 중지 트리거들 중 임의의 트리거의 조합과 연관될 수 있다. 이러한 연관은 시작 트리거에 의해 수집된 데이터가 특정 인덱스 코드(들)에 관련된 로그 데이터(예를 들어, 로그 코드들, 이벤트들, 및/또는 요청-응답 패킷들)만을 포함하도록 할 수 있다. 대안적으로, 상기 연관은 중지 트리거에 의한 데이터 수집이 인덱스 코드(들)에 관련된 데이터로만 제한되도록 할 수 있고, 다른 데이터 수집은 계속되도록 할 수 있다.
808에서, 방법(800)은 시작 이벤트를 검출하고 인덱스-특정 로깅을 실행할 수 있다. 상기 시작 이벤트는 모바일 운영 체제에 의해 결정가능한 임의의 적절한 이벤트일 수 있고, 시작 트리거(들) 및 인덱스 코드(들)와 연관될 수 있다. 여기에 설명된 바와 같이, 810에서, 방법(800)은 중지 이벤트의 발생을 검출하고, 특정 인덱스 코드와 연관된 로그 데이터의 수집을 종료하는 연관된 중지 트리거를 실행할 수 있다. 812에서, 시작 및/또는 중지 이벤트들은 이러한 이벤트들과 연관된 또는 이러한 이벤트들과 상관된 트리거(들)와 연관된 인덱스 코드의 함수로서 트래킹될 수 있다. 예를 들어, (예를 들어, GPS 어플리케이션들에 관련된) 제 1 인덱스 코드와 연관된 2개의 시작 이벤트들이 발생하는 경우, 방법(800)은 이러한 발생을 트래킹할 수 있다. 추가적으로, 방법(800)은 제 1 인덱스 코드와도 연관된 적어도 동일한 수의 중지 이벤트들의 발생에 대해 이러한 시작 이벤트들로 인해 수집된 데이터의 종료를 조정할 수 있다. 따라서, GPS 어플리케이션들에 관련된 로그 데이터는 (예를 들어, 제 1 인덱스 코드와의 연관에 의해) GPS 어플리케이션들의 종료를 특정하는 2개의 적절한 중지 트리거들이 발생할 때까지 수집될 것이다.
전술 내용에 부가하여, 방법(800)은, 814에서, 시작 및 중지 트리거들을 페어링할 수 있다. 트리거들의 각각의 페어는 페어링된 시작 트리거의 이전 실행에 대해 중지 트리거 및/또는 이벤트의 발생에 의한 로그 데이텅 수집의 종료를 조정할 수 있다. 예를 들어, 중지 트리거는 상기 중지 트리거와 페어링된 시작 트리거에 의해 시작되었던 데이터 수집의 종료로 제한될 수 있다. 상기 페어링은, 예를 들어, 시작 및 중지 트리거들과 연관된 데이터 플래그를 공통값으로 세팅함으로써 달성될 수 있다. 설명된 바와 같이, 중지 트리거가 페어링된 시작 트리거의 실행 이전에 실행되는 경우, 로그 데이터의 임의의 동시적인 수집은 상기 중지 트리거의 실행에 의해 영향을 받지 않은 채 유지된다.
816에서, 트리거 페어링 및 인덱스 코드 모두의 함수로서 중지 및 시작 트리거들이 실행될 수 있다. 구체적으로, 시작 트리거는 모바일 OS의 특정 인덱스 코드와 관련된 데이터의 수집을 시작할 수 있으며, 이러한 데이터의 수집은 상기 시작 트리거에 의해 모두 페어링되며 상기 인덱스 코드와 연관된 중지 트리거에 의해서만 종료된다. 다수의 인덱스 코드들이 시작 트리거와 연관되는 경우, 인덱스-특정 로그 데이터 수집(예를 들어, 상기 인덱스 코드와 관련된 코드들, 이벤트들 및/또는 패킷들의 수집)은 시작 트리거와 페어링되며 상기 시작 트리거로서 적어도 하나의 공통 인덱스 코드와 연관되는 중지 트리거에 의해 종료될 수 있다. 설명된 바와 같이, 방법(800)은 모바일 OS 로그 데이터의 인덱스-특정 로깅의 채택, 및 데이터 로그 수집의 종료를 페어링된 트리거들 및 이벤트들로 제한하기 위한 시작 및 중지 트리거들의 페어링을 제공한다. 따라서, 여기서 설명된 바와 같이, 방법(800)은 플렉시블한 이벤트 제어 모바일 OS 데이터 로깅을 제공한다.
도 9는 하나 이상의 인덱스 코드(들)와 연관된 시작 이벤트의 발생에 기초하여 시작 트리거를 실행하기 위한 예시적인 방법(900)을 도시한다. 여기서 설명된 바와 같이, 902에서, 방법(900)은 시작 트리거의 발생을 결정할 수 있다. 904에서, 방법(900)은 시작 트리거와 연관된 데이터 수집이 이미 활성인지의 여부를 결정할 수 있으며, 데이터 수집이 활성인 경우, 방법(900)은 상기 방법이 종료되는 906으로 진행할 수 있다. 참조 번호(902)에서 시작 트리거에 의해 특정된 로그 데 이터 수집이 아직 활성이지 않은 경우, 방법(900)은 908로 진행한다.
908에서, 인덱스 코드가 시작 트리거와 연관되는지 여부에 대한 결정이 이루어진다. 만약 어떠한 인덱스 코드도 시작 트리거와 연관되지 않는 경우, 방법(900)은 906에서 종료할 수 있다. 만약, 908에서, 시작 트리거와 연관된 인덱스 코드가 식별되는 경우(예를 들어, 제 1 인덱스 코드), 방법(900)은 상기 인덱스 코드와 로그 데이터의 동시 수집에 매치하는지 여부에 대한 결정이 이루어지는 910으로 진행할 수 있다. 달리 말하자면, 참조 번호(910)에서, 특정 인덱스 코드에 관련된 로그 데이터가 이미 수집중인지 여부에 대한 결정이 이루어진다. 만약 수집중이라면, 방법(900)은 특정 인덱스 코드와 연관된 인덱스 카운터가 1만큼 증분될 수 있도록 증가시키기 위해 914로 진행한다. 상기 특정 인덱스 코드와 연관된 로그 데이터가 동시에 수집되고 있지 않은 경우, 방법은 912로 진행할 수 있다.
912에서, 방법(900)은 특정 인덱스에 대한 로깅을 시작할 수 있다. 따라서, 인덱스 코드에 관련된 모바일 OS 데이터의 카테고리와 연관된 로그 데이터는 로그 파일에 연속적으로 수집된다. 상기 로그 데이터는 모바일 디바이스가 파워오프되거나 또는 중지 트리거와 연관된 미리 결정된 이벤트가 발생할 때까지 계속 수집될 것이다(예를 들어, 여기서, 이러한 중지 트리거는 데이터, 특히 인덱스 코드의 수집을 종료한다. 아래 도 10 참조). 이후, 방법(900)은 특정 인덱스 코드와 연관된 인덱스 카운터가 (예를 들어, 실행되었던 인덱스 코드와 연관된 시작 트리거들의 수를 식별하기 위해) 1만큼 증분될 수 있는 914로 진행한다. 후속적으로, 방법(900)은 더 많은 인덱스들이 시작 트리거와 연관되는지 여부를 결정하기 위해 908로 진행할 수 있고, 그렇지 않은 경우 906에서 종료한다.
도 10은 적어도 하나의 인덱스 코드(들)과 연관된 중지 이벤트의 발생에 기초하여 중지 트리거의 실행을 위한 예시적인 방법(1000)을 예시한다. 1002에서, 중지 트리거의 발생이 결정될 수 있다. 1004에서, 중지 트리거와 연관된 하나 이상의 인덱스 코드들과 연관된 데이터 수집이 활성인지의 여부에 대한 결정이 이루어진다. 이러한 인덱스 코드들에 관련된 어떠한 데이터 수집도 활성이지 않은 경우, 방법(1000)은 1006으로 진행하여 종료할 수 있다. 적어도 하나의 이러한 인덱스 코드와 관련된 데이터 수집이 활성인 경우, 방법(1000)은 1004에서 1008로 진행할 수 있다.
1008에서, 중지 트리거와 연관된 인덱스 코드(들)가 처리되지 않았는지에 대한 결정이 이루어진다. 이러한 인덱스 코드(들)가 방법(1000)에 의해 처리된 경우, 방법(1000)은 1006에서 종료할 수 있다. 더 많은 인덱스들이 남아 있는 경우, 방법(1000)은 1010으로 진행한다. 1010에서, 중지 트리거와 연관된 처리되지 않은 인덱스 코드가 선택되며, 처리되지 않은 인덱스 코드가 임의의 동시적인 인덱스-특정 데이터 로그 수집과 매치하는지 여부에 대한 결정이 이루어진다. 만약 매치되지 않는다면, 방법(1000)은 추가적인 처리되지 않은 인덱스 코드들이 중지 트리거와 연관되는지의 여부를 결정하기 위해 1008로 리턴할 수 있다. 만약, 참조 번호(1010)에서, 인덱스 코드가 로그 데이터의 동시적인 수집과 매치하는 경우, 방법(1000)은 인덱스 코드와 연관된 인덱스 카운터가 감소되는 1012로 진행한다. 1014에서, 상기 인덱스 코드와 연관된 인덱스 카운터가 1012에서 감소된 이후 0과 동일한지의 여부에 대한 결정이 이루어지고, 만약 동일하다면 방법(1000)은 상기 인덱스 코드와 관련된 데이터 수집이 종료되는 1016으로 진행한다. 만약, 참조 번호(1014)에서, 감소된 이후 인덱스 카운터가 0과 동일하지 않은 경우, 방법(1000)은 1008로 진행하여 전술된 바와 같이 진행할 수 있다. 따라서, 방법(1000)은 중지 트리거 및 연관된 인덱스 코드(들)의 발생의 검출, 활성인 인덱스 코드들의 수의 검출, 및 활성인 인덱스 코드들이 남아 있지 않은 경우 상기 인덱스 코드(들)와 연관된 로그 데이터의 수집의 결정을 제공한다.
도 11은 본 발명의 하나 이상의 양상들에 따른 모바일 동작 환경에서의 이벤트-제어 로깅을 제공할 수 있는 샘플 시스템(1100)을 예시한다. 시스템(1100)은 적어도 모바일 OS 로깅 시스템에 대한 시작 트리거를 설정하기 위한 모듈(1102)을 포함할 수 있다. 시작 트리거는 모바일 OS 로그 데이터의 수집을 시작할 수 있다. 또한, 모바일 OS 로깅 시스템을 위한 중지 트리거를 설정하기 위한 모듈(1104)이 포함된다. 중지 트리거는 시작 트리거에 의해 시작된 로그 데이터의 수집을 종료할 수 있다. 추가적인 양상들에 따라, 시스템(1100)은 또한 트리거 실행을 조정하기 위한 모듈(1106)을 포함할 수 있다. 구체적으로, 상기 모듈(1106)은 시작 트리거 및 중지 트리거의 발생에 대해 시작 트리거 및 중지 트리거의 실행을 각각 조정할 수 있다. 상기 시작 이벤트 및 중지 이벤트는 모바일 OS의 임의의 적절한 결정가능 프로세스 또는 어플리케이션일 수 있다. 이벤트들 및/또는 트리거들은 모바일 OS 또는 모바일 네트워크의 어플리케이션, 기능, 프로세스, 또는 자원 또는 이들의 조합의 인덱스 코드와 관련된 모바일 OS의 로그 데이터로 상기 로그 데이터의 수집 및/또는 종료를 제한하는 하나 이상의 인덱스 코드들과 연관될 수 있다. 또한, 다수의 시작 및 중지 트리거들은 모듈들(1102, 1104)에 의해 설정될 수 있으며, 이벤트 플래그를 포함할 수 있다. 공통 이벤트 플래그 값들은 시작 트리거(들)와 중지 트리거(들)를 페어링할 수 있으며, 그 결과 중지 트리거의 실행은 페어링된 시작 트리거에 의해 시작된(그리고, 예를 들어, 공통 인덱스 코드를 가지는) 데이터의 수집만을 종료한다. 따라서, 시스템(1100)은 모바일 OS 및/또는 모바일 네트워크와 연관된 결정가능 이벤트들에 기초하여 로그 데이터의 수집을 제어하기 위한 플렉시블한 메커니즘을 제공한다.
전술된 내용은 하나 이상의 양상들의 예들을 설명한다. 물론, 전술된 양상들을 설명할 목적으로 모든 참작가능한 컴포넌트들 또는 방법들의 조합을 설명하는 것은 불가능하지만, 당업자라면 다양한 양상들의 많은 추가적인 조합들 또는 치환들이 가능함을 인지할 것이다. 따라서, 전술된 양상들은 첨부된 청구항들의 범위 내에 있는 모든 이러한 변경들, 수정들 및 변형들을 포함하도록 의도된다. 또한, 용어 "포함하다"가 상세한 설명 또는 청구항들에서 사용되는 범위에 대해, 이러한 용어는 용어 "내포하다"가 청구항에서 과도기적 단어로서 채택될 때 "내포하다"가 해석되는 바와 유사한 방식으로 내포적인 것으로 의도된다.

Claims (40)

  1. 모바일 디바이스 운영 체제(OS)를 위한 프로그램가능 이벤트-제어(event-controlled) 연속 코드 로깅을 제공하는 방법으로서,
    모바일 OS의 로그 코드, 이벤트 코드 또는 요청-응답 패킷(로그 데이터)의 연속적인 수집(collection)을 시작하는 제 1 트리거를 설정하는 단계;
    상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하는 단계;
    시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정(condition)하는 단계 ― 상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어(non-hardware) 시작(start up) 또는 넌-하드웨어 종료(shut down)와 연관되고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능함 ― ; 및
    미리 결정된 샘플링 함수에 기초하여 선택된, 연속으로 수집된 로그 데이터 중 선택된 데이터들로의 액세스를 제 2 어플리케이션 또는 프로세스에 제공하는 단계를 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  2. 제1항에 있어서,
    상기 시작 이벤트의 발생을 검출하고, 상기 제 1 트리거를 실행하고, 로그 수집 시작 시간을 기록하는 단계; 또는
    상기 중지 이벤트의 발생을 검출하고, 상기 로그 데이터의 수집이 시작된 경우 상기 제 2 트리거를 실행하고, 상기 제 2 트리거의 실행과 연관된 중지 시간을 기록(record)하는 단계 중 적어도 하나를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  3. 제1항에 있어서,
    상기 모바일 OS의 인덱스 코드와 관련된 로그 데이터로 상기 수집 또는 상기 수집의 종료, 또는 상기 수집 또는 상기 수집의 종료 모두를 제한하는 단계를 더 포함하며, 상기 인덱스 코드는 모바일 OS 로그 데이터를 카테고리화하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  4. 제3항에 있어서,
    상기 시작 이벤트와 상기 인덱스 코드를 연관시키는 단계;
    상기 시작 이벤트의 발생을 검출하는 단계;
    상기 제 1 트리거를 실행하는 단계;
    상기 인덱스 코드와 관련된 로그 데이터를 수집하거나 또는 상기 인덱스와 관련되지 않은 로그 데이터를 무시하는 단계; 또는
    상기 수집 또는 상기 무시와 연관된 인덱스 코드 시작 시간을 기록하는 단계 중 적어도 하나를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  5. 제3항에 있어서,
    상기 중지 이벤트와 상기 인덱스 코드를 연관시키는 단계;
    상기 중지 이벤트의 발생을 결정하는 단계;
    상기 인덱스 코드와 연관된 로그 데이터의 수집을 종료하기 위해 또는 상기 인덱스 코드와 관련되지 않은 로그 데이터의 무시를 종료하기 위해 상기 제 2 트리거를 실행하는 단계; 또는
    상기 제 2 트리거의 실행과 연관된 인덱스 코드 중지 시간을 기록하는 단계 중 적어도 하나를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  6. 제1항에 있어서,
    상기 제 1 트리거를 실행하기 위한 다수의 시작 이벤트들 및 상기 제 2 트리거를 실행하기 위한 다수의 중지 이벤트들을 인에이블하는 단계를 더 포함하고,
    상기 다수의 시작 및 중지 이벤트들은 각각 하나 이상의 인덱스 코드들과 연관되는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  7. 제6항에 있어서,
    제 1 인덱스 코드와 연관된 시작 또는 중지 이벤트들의 수를 트래킹하는 단계 및 상기 제 1 인덱스와 연관된 동일한 개수의 중지 이벤트들의 발생시 상기 제 1 인덱스 코드와 연관된 로그 데이터의 수집의 종료를 조정하는 단계를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  8. 제3항에 있어서,
    상기 제 1 트리거를 실행하는 시작 이벤트들의 수를 트래킹하는 단계 및 상기 시작 이벤트들의 수와 동일한 수의 중지 이벤트들의 발생시 상기 제 2 트리거의 실행을 조정하는 단계를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  9. 제1항에 있어서,
    다수의 제 2 트리거들 중 적어도 하나와 상기 제 1 트리거를 커플링시키는 이벤트 플래그를 정의하는 단계; 및
    상기 이벤트 플래그에 의해 상기 제 1 트리거와 커플링된 상기 다수의 제 2 트리거들 중 하나의 실행시 상기 제 1 트리거의 결과로서 수집된 로그 데이터의 종료를 조정하는 단계를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  10. 제1항에 있어서,
    상기 시작 이벤트 및 상기 중지 이벤트에 독립적인 로그 데이터의 연속적인(perpetual) 기록을 시작하는 연속 로깅 트리거를 제공하는 단계; 및
    상기 연속 로깅 트리거에 의해 시작되는 로그 데이터의 수집을 위해, 이벤트-트리거 샘플링 레이트와는 구별되는 특정 샘플링 레이트를 선택적으로 채택하는 단계를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  11. 제1항에 있어서,
    상기 제 1 트리거에 의해 시작되는 로그 데이터의 수집을 위해 트리거된 샘플링 레이트를 채택하는 단계를 더 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하는 방법.
  12. 모바일 동작 환경을 위한 연속적인 이벤트-제어 코드 로깅을 제공하는 장치로서,
    모바일 디바이스 OS에서 로그 데이터를 연속적으로 수집하도록 구성된 로깅 모듈;
    상기 로그 데이터의 수집을 시작하는 제 1 트리거 및 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하도록 구성된 관리 모듈; 및
    시작 이벤트의 발생시 상기 제 1 트리거의 실행을 조정하고, 중지 이벤트의 발생시 상기 제 2 트리거의 실행을 조정하는 로직 모듈을 포함하고,
    상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어 시작 또는 넌-하드웨어 종료 동작과 연관되고,
    상기 시작 및 중지 이벤트는 상기 모바일 OS 또는 원격 네트워크 컴포넌트, 또는 이 둘 모두의 어플리케이션 또는 프로세스에 의해 결정가능하고,
    상기 로직 모듈은 미리 결정된 샘플링 함수에 기초하여 선택된, 연속적으로 수집된 로그 데이터 중 선택된 데이터들로의 액세스를 제 2 어플리케이션 또는 프로세스에 제공하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  13. 제12항에 있어서,
    상기 제 1 트리거의 실행시 로그 수집 시작 시간을 기록하거나, 또는 상기 제 2 트리거의 실행시 로그 수집 중지 시간을 기록하거나, 또는 상기 로그 수집 시작 시간 및 상기 로그 수집 중지 시간의 기록 모두를 실행하도록 구성된 검출 및 타이밍 모듈을 더 포함하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  14. 제12항에 있어서,
    인덱스 코드에 관련된 로그 데이터로 상기 수집 또는 상기 수집의 종료 또는 상기 수집 및 상기 수집의 종료 모두를 제한하기 위해 모바일 OS 로그 데이터를 카 테고리화하는 상기 인덱스 코드를 채택하는 인덱스 파싱(parsing) 모듈을 더 포함하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  15. 제 14항에 있어서,
    상기 관리 모듈은 상기 시작 이벤트와 상기 인덱스 코드를 연관시키도록 추가적으로 구성되고,
    상기 검출 및 타이밍 모듈은 상기 시작 이벤트의 발생을 결정하도록 구성되고,
    상기 로직 모듈은 상기 제 1 트리거를 실행하고,
    상기 로깅 모듈은 상기 인덱스 코드와 관련된 로그 데이터를 수집하거나 또는 상기 인덱스 코드와 관련되지 않은 로그 데이터를 무시하도록 구성되고; 또는
    상기 검출 및 타이밍 모듈은 상기 인덱스 코드와 관련된 로그 데이터의 수집시 인덱스 코드 시작 시간을 기록하도록 구성되는 것 중 적어도 하나인,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  16. 제14항에 있어서,
    상기 관리 모듈은 상기 중지 이벤트와 상기 인덱스 코드를 연관시키도록 추가적으로 구성되고;
    상기 검출 및 타이밍 모듈은 상기 중지 이벤트의 발생을 결정하도록 구성되 고;
    상기 로직 모듈은 상기 인덱스 코드와 연관된 로그 데이터의 수집을 종료하기 위해 상기 제 2 트리거를 실행하도록 구성되고; 또는
    상기 검출 및 타이밍 모듈은 상기 인덱스 코드와 관련된 로그 데이터의 수집의 종료시 인덱스 코드 종료 시간을 기록하도록 구성되는 것 중 적어도 하나인,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  17. 제12항에 있어서,
    상기 로직 모듈은 상기 제 1 트리거를 실행하기 위해 다수의 시작 이벤트들을 인에이블하고 상기 제 2 트리거를 실행하기 위해 다수의 중지 이벤트들을 인에이블하도록 구성되며,
    상기 다수의 시작 및 중지 이벤트들은 모바일 OS 로그 데이터를 카테고리화하는 하나 이상의 인덱스 코드들과 각각 연관되는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  18. 제17항에 있어서,
    제 1 인덱스 코드와 연관된 시작 이벤트들 및 중지 이벤트들의 수를 트래킹하는 기준 모듈을 더 포함하며,
    상기 로직 모듈은 상기 시작 이벤트들의 수와 동일한 수의 중지 이벤트들의 발생시 상기 제 1 인덱스 코드와 연관된 로그 데이터의 종료를 조정하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  19. 제12항에 있어서,
    상기 로직 모듈은 상기 제 1 트리거를 실행하는 시작 이벤트들의 수를 트래킹하고, 상기 시작 이벤트들의 수와 동일한 수의 중지 이벤트들의 발생시 상기 제 2 트리거의 실행을 조정하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  20. 제12항에 있어서,
    상기 관리 모듈은 상기 제 1 트리거와 다수의 제 2 트리거들 중 적어도 하나를 커플링시키는 이벤트 플래그를 정의하도록 추가적으로 구성되고;
    상기 로직 모듈은 상기 이벤트 플래그에 의해 상기 제 1 트리거에 커플링되는 상기 다수의 제 2 트리거들 중 하나의 실행시 상기 제 1 트리거에 의해 시작되는 로그 데이터 수집의 종료를 조정하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  21. 제12항에 있어서,
    상기 로깅 모듈은, 일단 시작되면, 상기 시작 이벤트 및 상기 중지 이벤트와는 독립적인 로그 데이터를 기록하는 연속(continuity) 트리거를 포함하거나; 또는
    상기 로깅 모듈은 이벤트-제어 로깅을 위해 사용된 트리거된 샘플링 레이트 와는 상이한 상기 연속 로깅 트리거에 의해 시작된 로그 데이터의 수집을 위한 특정 샘플링 레이트를 선택적으로 채택하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  22. 제12항에 있어서,
    상기 로깅 모듈은 상기 제 1 트리거에 의해 시작되는 로그 데이터의 수집을 위해 트리거된 샘플링 레이트를 채택하는,
    연속 이벤트-제어 코드 로깅을 제공하는 장치.
  23. 모바일 디바이스 OS를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 적어도 하나의 프로세서로서,
    모바일 OS의 로그 데이터의 연속적인 수집을 시작하는 제 1 트리거를 설정하도록 구성된 제 1 모듈;
    상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하도록 구성된 제 2 모듈;
    시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하도록 구성된 제 3 모듈 ― 상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어 시작 또는 넌-하드웨어 종료와 연관되고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능함 ― ; 및
    미리 결정된 샘플링 함수에 기초하여 선택된, 연속적으로 수집된 로그 데이터 중 선택된 데이터들로의 액세스를 제 2 어플리케이션 또는 프로세스에 제공하도록 구성된 제 4 모듈을 포함하는,
    프로세서.
  24. 모바일 디바이스 OS를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 장치로서,
    모바일 OS의 로그 데이터의 연속적인 수집을 시작하는 제 1 트리거를 설정하기 위한 수단;
    상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하기 위한 수단;
    시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하기 위한 수단 ― 상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어 시작 또는 넌-하드웨어 종료와 연관되고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능함 ― ; 및
    미리 결정된 샘플링 함수에 기초하여 선택된, 연속으로 수집된 로그 데이터 중 선택된 데이터들로의 액세스를 제 2 어플리케이션 또는 프로세스에 제공하기 위한 수단을 포함하는,
    프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 장치.
  25. 모바일 디바이스 OS를 위한 프로그램가능 이벤트-제어 연속 코드 로깅을 제공하도록 구성된 명령들을 포함하는 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 물건으로서, 상기 컴퓨터-판독가능 매체는,
    컴퓨터로 하여금 모바일 OS의 로그 데이터의 연속적인 수집을 시작하는 제 1 트리거를 설정하게 하도록 구성된 적어도 하나의 명령;
    컴퓨터로 하여금 상기 로그 데이터의 수집을 종료하는 제 2 트리거를 설정하게 하도록 구성된 적어도 하나의 명령;
    컴퓨터로 하여금 시작 이벤트 및 중지 이벤트의 발생시 상기 제 1 트리거 및 상기 제 2 트리거의 실행을 각각 조정하게 하도록 구성된 적어도 하나의 명령 ― 상기 시작 이벤트 또는 상기 중지 이벤트 중 적어도 하나는 모바일 디바이스의 넌-하드웨어 시작 또는 넌-하드웨어 종료와 연관되고, 상기 시작 이벤트 및 중지 이벤트는 상기 모바일 OS의 어플리케이션 또는 프로세스에 의해 결정가능함 ― ; 및
    컴퓨터로 하여금 미리 결정된 샘플링 함수에 기초하여 선택된, 연속으로 수집된 로그 데이터 중 선택된 데이터들로의 액세스를 제 2 어플리케이션 또는 프로세스에 제공하게 하도록 구성된 적어도 하나의 명령을 포함하는,
    컴퓨터 프로그램 물건.
  26. 하나 이상의 모바일 OS들에서 컴파일된 이벤트-제어 로그 데이터를 구성 및/또는 사용(consuming)하기 위한 방법으로서,
    모바일 디바이스로부터의 로그 데이터를 요청하는 쿼리(query)를 상기 모바 일 디바이스로 전송하는 단계;
    상기 모바일 디바이스의 OS에 의해 결정가능한 적어도 하나의 이벤트를 특정하는 구성 파라미터를 전송하는 단계 ― 상기 적어도 하나의 이벤트의 발생은 연속적인 로그 데이터 수집의 종료를 트리거함 ― ; 및
    상기 모바일 디바이스로부터 수집된 로그 데이터를 수신하는 단계 ― 상기 로그 데이터의 연속적인 수집은 미리 결정된 샘플링 함수에 따른 선택에 적어도 부분적으로 기초하고, 상기 모바일 디바이스에서의 상기 로그 데이터의 연속적인 수집은 상기 적어도 하나의 이벤트의 발생시 종료되었음 ― 를 포함하는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  27. 제26항에 있어서,
    상기 구성 파라미터를 사용하여 상기 모바일 디바이스의 OS에 의해 결정가능한 적어도 하나의 시작 이벤트를 특정하는 단계를 더 포함하고,
    상기 적어도 하나의 시작 이벤트의 발생은 상기 로그 데이터의 수집을 트리거하기 위해 사용되는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  28. 제26항에 있어서,
    모바일 OS의 로그 데이터를 카테고리화하는 인덱스 코드를 상기 적어도 하나의 이벤트와 함께 포함시키는 단계를 추가로 포함하고,
    상기 인덱스 코드는 상기 인덱스 코드와 연관된 로그 데이터의 카테고리로 로그 데이터 수집의 종료를 제한하는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  29. 제26항에 있어서,
    로그 데이터의 수집을 시작하는 적어도 하나의 시작 이벤트와 함께 상기 적어도 하나의 이벤트를 페어링(pair)하는 구성 파라미터를 가지는 이벤트 플래그를 포함시키는 단계를 더 포함하고,
    상기 이벤트 플래그는 상기 적어도 하나의 시작 이벤트에 의해 시작되는 로그 데이터로 상기 적어도 하나의 이벤트의 발생으로부터 야기되는 로그 데이터 수집의 종료를 제한하는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  30. 제26항에 있어서,
    네트워크의 진단, 관리 또는 유지보수 기능, 또는 상기 네트워크의 진단, 관리 또는 유지보수 기능의 조합과 관련하여 상기 수신된 로그 데이터를 사용하는 단계를 더 포함하는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  31. 제26항에 있어서,
    네트워크 서비스 공급자 또는 상기 네트워크 서비스 공급자의 컴포넌트로 상기 수신된 로그 데이터를 포워딩하는 단계를 더 포함하는,
    이벤트-제어 로그 데이터를 구성 및/또는 사용하기 위한 방법.
  32. 하나 이상의 모바일 OS들에서 컴파일된 이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용(consume)하는 장치로서,
    적어도 하나의 모바일 디바이스와 통신상으로 커플링된 트랜시버;
    로그 데이터를 요청하는 쿼리를 상기 적어도 하나의 모바일 디바이스로 전송하도록 구성되고, 적어도 하나의 이벤트를 식별하는 파라미터를 제공하도록 구성된 진단 어플리케이션을 포함하는 메모리 ― 상기 적어도 하나의 이벤트의 발생은 적어도 상기 로그 데이터의 연속적인 수집을 종료하기 위해 사용될 수 있고, 연속적인 수집을 위한 로그 데이터의 선택은 미리 결정된 샘플링 함수에 적어도 부분적으로 기초함 ― ; 및
    상기 진단 어플리케이션을 실행하고 상기 쿼리 및 상기 구성 파라미터와 관련된 정보를 전송하고 수신하는 프로세서를 포함하는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  33. 제32항에 있어서,
    상기 진단 어플리케이션은 적어도 하나의 시작 이벤트를 특정하도록 추가적으로 구성되고,
    상기 적어도 하나의 시작 이벤트의 발생은 상기 로그 데이터의 수집을 시작하기 위해 사용되는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  34. 제32항에 있어서,
    상기 진단 어플리케이션은 적어도 하나의 인덱스 코드와 상기 적어도 하나의 이벤트를 함께 포함시키도록 추가적으로 구성되고,
    상기 적어도 하나의 인덱스 코드는 상기 OS의 인덱스 코드와 관련된 로그 데이터로 로그 데이터의 수집의 종료를 제한하는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  35. 제32항에 있어서,
    상기 진단 어플리케이션은 데이터 수집을 시작하는 적어도 하나의 시작 이벤트와 상기 적어도 하나의 이벤트를 페어링하는 구성 파라미터를 가지는 이벤트 플래그를 포함하도록 추가로 구성되고,
    상기 이벤트 플래그는 상기 적어도 하나의 시작 이벤트에 의해 시작되는 상기 적어도 하나의 이벤트의 발생으로 야기된 로그 데이터 수집의 종료를 제한하는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  36. 제32항에 있어서,
    상기 진단 어플리케이션은 네트워크의 진단, 관리 또는 유지보수 기능, 또는 상기 네트워크의 진단, 관리 또는 유지보수 기능의 조합과 관련하여 상기 수신된 로그 데이터를 사용하도록 추가적으로 구성되는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  37. 제32항에 있어서,
    상기 진단 어플리케이션은 네트워크 서비스 공급자 또는 상기 네트워크 서비스 공급자의 컴포넌트로 상기 수신된 로그 데이터를 포워딩하도록 추가적으로 구성되는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하는 장치.
  38. 하나 이상의 모바일 OS들에서 컴파일된 이벤트-제어 로그 데이터를 관리(direct) 및/또는 사용하도록 구성된 적어도 하나의 프로세서로서,
    모바일 디바이스로부터의 로그 데이터를 요청하는 쿼리를 모바일 디바이스로 전송하도록 구성된 제 1 모듈;
    상기 모바일 디바이스의 OS에 의해 결정가능한 적어도 하나의 이벤트를 특정하도록 구성된 제 2 모듈 ― 상기 적어도 하나의 이벤트의 발생은 연속적인 로그 데이터 수집의 종료를 트리거하고, 로그 데이터는 미리 결정된 샘플링 함수에 적어도 부분적으로 기초하여 상기 연속적인 수집을 위해 선택됨 ― ; 및
    상기 진단 어플리케이션을 실행하고 상기 쿼리 및 상기 구성 파라미터와 관 련된 정보를 전송 및 수신하도록 구성된 제 3 모듈을 포함하는,
    프로세서.
  39. 하나 이상의 OS들에서 컴파일된 이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하도록 구성된 장치로서,
    모바일 디바이스로부터의 로그 데이터를 요청하는 쿼리를 상기 모바일 디바이스로 전송하도록 구성된 제 1 모듈;
    상기 모바일 디바이스의 OS에 의해 결정가능한 적어도 하나의 이벤트를 특정하도록 구성된 제 2 모듈 ― 상기 적어도 하나의 이벤트의 발생은 연속 로그 데이터 수집의 종료를 트리거하고, 로그 데이터는 미리 결정된 샘플링 함수에 적어도 부분적으로 기초하여 상기 연속적인 수집을 위해 선택됨 ― ; 및
    상기 진단 어플리케이션을 실행하고 상기 쿼리 및 상기 구성 파라미터와 관련된 정보를 전송 및 수신하도록 구성되는 제 3 모듈을 포함하는,
    이벤트-제어 로그 데이터를 프로그래밍 및/또는 사용하도록 구성된 장치.
  40. 하나 이상의 모바일 OS들에서 컴파일된 이벤트-제어 로그 데이터의 구성 및/또는 사용(consumption)을 제공하도록 구성된 명령들을 포함하는 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 물건으로서, 상기 컴퓨터 판독가능 매체는,
    컴퓨터로 하여금 모바일 디바이스로부터의 로그 데이터를 요청하는 쿼리를 상기 모바일 디바이스로 전송하게 하도록 구성되는 적어도 하나의 명령;
    컴퓨터로 하여금 상기 모바일 디바이스에 의해 결정가능한 적어도 하나의 이벤트를 특정하게 하도록 구성되는 적어도 하나의 명령 ― 상기 적어도 하나의 이벤트의 발생은 연속 로그 데이터 수집의 종료를 트리거하고, 로그 데이터는 미리 결정된 샘플링 함수에 적어도 부분적으로 기초하여 상기 연속적인 수집을 위해 선택됨 ― ; 및
    컴퓨터로 하여금 상기 진단 어플리케이션을 실행하고 상기 쿼리 및 상기 구성 파라미터와 관련된 정보를 전송 및 수신하게 하도록 구성된 적어도 하나의 명령을 포함하는,
    컴퓨터 프로그램 물건.
KR1020097026643A 2007-05-21 2008-05-21 모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공 KR101194141B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US93911307P 2007-05-21 2007-05-21
US60/939,113 2007-05-21
US11/970,253 2008-01-07
US11/970,253 US7890299B2 (en) 2007-05-21 2008-01-07 Providing event-controlled continuous logging for a mobile operating environment
PCT/US2008/064434 WO2008144765A2 (en) 2007-05-21 2008-05-21 Providing event-controlled continuous logging for a mobile operating environment

Publications (2)

Publication Number Publication Date
KR20100022993A true KR20100022993A (ko) 2010-03-03
KR101194141B1 KR101194141B1 (ko) 2012-10-23

Family

ID=40073200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026643A KR101194141B1 (ko) 2007-05-21 2008-05-21 모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공

Country Status (7)

Country Link
US (1) US7890299B2 (ko)
EP (1) EP2171587A2 (ko)
JP (3) JP2010528375A (ko)
KR (1) KR101194141B1 (ko)
CN (1) CN101681288B (ko)
TW (1) TW200904139A (ko)
WO (1) WO2008144765A2 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892112B2 (en) 2011-07-21 2014-11-18 At&T Mobility Ii Llc Selection of a radio access bearer resource based on radio access bearer resource historical information
US20090106366A1 (en) * 2007-10-17 2009-04-23 Nokia Corporation System and method for visualizing threaded communication across multiple communication channels using a mobile web server
US8031053B2 (en) * 2007-10-26 2011-10-04 Round Rock Research, Llc RFID label time synchronization
US8301330B2 (en) * 2008-05-02 2012-10-30 General Electric Company Method and system for providing supplemental services to telematics systems
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
US9141860B2 (en) * 2008-11-17 2015-09-22 Liveclips Llc Method and system for segmenting and transmitting on-demand live-action video in real-time
US8326319B2 (en) 2009-01-23 2012-12-04 At&T Mobility Ii Llc Compensation of propagation delays of wireless signals
US7961613B2 (en) * 2009-02-05 2011-06-14 Silver Spring Networks, Inc. System and method of monitoring packets in flight for optimizing packet traffic in a network
US8796999B2 (en) 2009-02-12 2014-08-05 Qualcomm Incorporated Wireless power transfer for low power devices
US8849190B2 (en) 2009-04-21 2014-09-30 Andrew Llc Radio communication systems with integrated location-based measurements for diagnostics and performance optimization
US8346915B2 (en) * 2009-05-04 2013-01-01 Qualcomm Incorporated System and method of recording and sharing mobile application activities
US8406784B2 (en) * 2009-08-12 2013-03-26 Cellco Partnership Mobile device data collection for use in mobile communication network improvements
US8224349B2 (en) 2010-02-25 2012-07-17 At&T Mobility Ii Llc Timed fingerprint locating in wireless networks
US9196157B2 (en) 2010-02-25 2015-11-24 AT&T Mobolity II LLC Transportation analytics employing timed fingerprint location information
US9053513B2 (en) 2010-02-25 2015-06-09 At&T Mobility Ii Llc Fraud analysis for a location aware transaction
US9008684B2 (en) 2010-02-25 2015-04-14 At&T Mobility Ii Llc Sharing timed fingerprint location information
US9071370B2 (en) * 2010-05-20 2015-06-30 CSC Holdings, LLC System and method for set top box viewing data
US8447328B2 (en) 2010-08-27 2013-05-21 At&T Mobility Ii Llc Location estimation of a mobile device in a UMTS network
US9294946B2 (en) * 2010-08-27 2016-03-22 Qualcomm Incorporated Adaptive automatic detail diagnostic log collection in a wireless communication system
US9009629B2 (en) 2010-12-01 2015-04-14 At&T Mobility Ii Llc Motion-based user interface feature subsets
AU2011349513B2 (en) * 2010-12-20 2015-04-02 Apple Inc. Event recognition
GB2487355B (en) 2011-01-13 2020-03-25 Advanced Risc Mach Ltd Processing apparatus, trace unit and diagnostic apparatus
US9462497B2 (en) 2011-07-01 2016-10-04 At&T Mobility Ii Llc Subscriber data analysis and graphical rendering
US8761799B2 (en) 2011-07-21 2014-06-24 At&T Mobility Ii Llc Location analytics employing timed fingerprint location information
US9519043B2 (en) 2011-07-21 2016-12-13 At&T Mobility Ii Llc Estimating network based locating error in wireless networks
US8897802B2 (en) 2011-07-21 2014-11-25 At&T Mobility Ii Llc Selection of a radio access technology resource based on radio access technology resource historical information
US8923134B2 (en) 2011-08-29 2014-12-30 At&T Mobility Ii Llc Prioritizing network failure tickets using mobile location data
CN102438259A (zh) * 2011-09-09 2012-05-02 华南农业大学 一种无干扰式手机远程可用性测试系统及其测试方法
US8762048B2 (en) 2011-10-28 2014-06-24 At&T Mobility Ii Llc Automatic travel time and routing determinations in a wireless network
US8909247B2 (en) 2011-11-08 2014-12-09 At&T Mobility Ii Llc Location based sharing of a network access credential
US8970432B2 (en) 2011-11-28 2015-03-03 At&T Mobility Ii Llc Femtocell calibration for timing based locating systems
US9026133B2 (en) 2011-11-28 2015-05-05 At&T Mobility Ii Llc Handset agent calibration for timing based locating systems
US8811912B2 (en) 2012-04-06 2014-08-19 At&T Mobility Ii Llc Remote control of mobile devices to perform testing of wireless communications networks
US8925104B2 (en) 2012-04-13 2014-12-30 At&T Mobility Ii Llc Event driven permissive sharing of information
CN103733653B (zh) * 2012-05-25 2017-12-05 华为技术有限公司 位置信息采集控制方法和终端
CN103458454A (zh) * 2012-05-31 2013-12-18 北京鼹鼠科技发展有限公司 一种基于安卓系统的通信终端掉话测试方法和测试装置
CN103458445A (zh) * 2012-05-31 2013-12-18 北京鼹鼠科技发展有限公司 一种基于安卓系统的通信终端测试方法和装置
US9094929B2 (en) 2012-06-12 2015-07-28 At&T Mobility Ii Llc Event tagging for mobile networks
US9046592B2 (en) 2012-06-13 2015-06-02 At&T Mobility Ii Llc Timed fingerprint locating at user equipment
US9326263B2 (en) 2012-06-13 2016-04-26 At&T Mobility Ii Llc Site location determination using crowd sourced propagation delay and location data
US8938258B2 (en) 2012-06-14 2015-01-20 At&T Mobility Ii Llc Reference based location information for a wireless network
US8897805B2 (en) 2012-06-15 2014-11-25 At&T Intellectual Property I, L.P. Geographic redundancy determination for time based location information in a wireless radio network
US9408174B2 (en) 2012-06-19 2016-08-02 At&T Mobility Ii Llc Facilitation of timed fingerprint mobile device locating
US8892054B2 (en) 2012-07-17 2014-11-18 At&T Mobility Ii Llc Facilitation of delay error correction in timing-based location systems
US9351223B2 (en) 2012-07-25 2016-05-24 At&T Mobility Ii Llc Assignment of hierarchical cell structures employing geolocation techniques
US9058414B2 (en) * 2012-11-20 2015-06-16 Thomson Licensing Remotely controlled data logging
CN103023984B (zh) * 2012-11-23 2015-05-20 青岛海信传媒网络技术有限公司 终端应用服务器及其应用日志过滤方法
US8548900B1 (en) * 2012-12-19 2013-10-01 Nyse Group, Inc. FPGA memory paging
US8966068B2 (en) 2013-01-15 2015-02-24 International Business Machines Corporation Selective logging of network requests based on subsets of the program that were executed
CN103118182A (zh) * 2013-01-17 2013-05-22 广东欧珀移动通信有限公司 记录移动终端的应用日记的方法及装置
JP6079266B2 (ja) * 2013-01-25 2017-02-15 富士通株式会社 制御装置、ログ格納方法及び制御プログラム
US9846721B2 (en) * 2013-03-13 2017-12-19 Genesys Telecommunications Laboratories, Inc. Log file management tool
US10708654B1 (en) 2013-03-15 2020-07-07 CSC Holdings, LLC Optimizing inventory based on predicted viewership
JP5863701B2 (ja) * 2013-04-24 2016-02-17 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成装置におけるログ記録方法
CN103645982B (zh) 2013-11-29 2017-11-14 北京奇虎科技有限公司 日志处理方法及客户端
US9639412B1 (en) 2014-03-11 2017-05-02 Apteligent, Inc. Application performance management tools with a service monitor for collecting network breadcrumb data
EP2927818B1 (de) * 2014-04-04 2019-05-29 Siemens Aktiengesellschaft Verfahren zur automatischen verarbeitung einer anzahl von protokolldateien eines automatisierungssystems
CN104123104B (zh) * 2014-08-13 2018-05-15 中国银行股份有限公司 日志控制系统及方法
US9351111B1 (en) 2015-03-06 2016-05-24 At&T Mobility Ii Llc Access to mobile location related information
JP6658311B2 (ja) * 2015-07-29 2020-03-04 株式会社リコー 電子装置、ログ保存方法及び画像形成装置
WO2017208376A1 (ja) * 2016-06-01 2017-12-07 三菱電機株式会社 ログデータ退避装置およびログデータ退避方法
US10372588B2 (en) * 2016-07-08 2019-08-06 International Business Machines Corporation Providing debug information on production containers using debug containers
US9584381B1 (en) 2016-10-10 2017-02-28 Extrahop Networks, Inc. Dynamic snapshot value by turn for continuous packet capture
JP6492234B2 (ja) * 2016-12-06 2019-03-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置及び情報処理方法
JP6490879B2 (ja) * 2016-12-06 2019-03-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置及び情報処理方法
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US20180324061A1 (en) * 2017-05-03 2018-11-08 Extrahop Networks, Inc. Detecting network flow states for network traffic analysis
US20190050560A1 (en) * 2017-08-08 2019-02-14 Microsoft Technology Licensing, Llc Systems and methods for auditing isolated computing environments
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
JP6824151B2 (ja) * 2017-12-26 2021-02-03 三菱電機株式会社 インシデント対応支援装置
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US11171846B1 (en) * 2018-05-14 2021-11-09 Vmware, Inc. Log throttling
US10516972B1 (en) 2018-06-01 2019-12-24 At&T Intellectual Property I, L.P. Employing an alternate identifier for subscription access to mobile location information
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
US11599403B2 (en) * 2018-10-03 2023-03-07 SK Hynix Inc. Logging mechanism for memory system
CN109471776B (zh) * 2018-11-13 2022-04-19 天津津航计算技术研究所 一种基于以太网的VxWorks操作系统日志收集方法
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
JP2022050219A (ja) * 2020-09-17 2022-03-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11310256B2 (en) 2020-09-23 2022-04-19 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4382179A (en) 1980-07-21 1983-05-03 Ncr Corporation Address range timer/counter
US6581025B2 (en) 1995-04-17 2003-06-17 Discovision Associates Time and work tracker for wireless devices
JPH10207737A (ja) * 1997-01-20 1998-08-07 Toshiba Corp エミュレータ及びエミュレーションシステム
JPH1196046A (ja) * 1997-09-17 1999-04-09 Hitachi Ltd ジャーナル取得装置
US9374435B2 (en) * 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US20020112047A1 (en) 2000-12-05 2002-08-15 Rakesh Kushwaha System and method for wireless data terminal management using general packet radio service network
US6871228B2 (en) 2001-06-29 2005-03-22 International Business Machines Corporation Methods and apparatus in distributed remote logging system for remote adhoc data analysis customized with multilevel hierarchical logger tree
JP2004094374A (ja) * 2002-08-29 2004-03-25 Ntt Comware Corp ロギングシステム
US20050183143A1 (en) 2004-02-13 2005-08-18 Anderholm Eric J. Methods and systems for monitoring user, application or device activity
US20050276385A1 (en) * 2004-06-01 2005-12-15 Mccormick James S Communication network event logging systems and methods
JP2006109238A (ja) * 2004-10-07 2006-04-20 Nec Corp 携帯電話端末および操作履歴表示方法
KR100608833B1 (ko) 2004-11-22 2006-08-08 엘지전자 주식회사 인터넷을 통한 디버깅 장치의 원격 제어 장치 및 방법
JP2006172401A (ja) * 2004-12-20 2006-06-29 Olympus Corp 情報収集装置
US7817983B2 (en) * 2005-03-14 2010-10-19 Qualcomm Incorporated Method and apparatus for monitoring usage patterns of a wireless device
US8135395B2 (en) * 2005-03-18 2012-03-13 Qualcomm Incorporated Methods and apparatus for monitoring configurable performance levels in a wireless device
US7561877B2 (en) * 2005-03-18 2009-07-14 Qualcomm Incorporated Apparatus and methods for managing malfunctions on a wireless device
US7283816B2 (en) * 2005-04-14 2007-10-16 Qualcomm Incorporated Apparatus and process for a universal diagnostic monitor module on a wireless device
US20060258342A1 (en) * 2005-04-21 2006-11-16 Kenny Fok Methods and apparatus for providing wireless device-centric control of an external computing device
US7770785B2 (en) * 2005-06-13 2010-08-10 Qualcomm Incorporated Apparatus and methods for detection and management of unauthorized executable instructions on a wireless device
CN100407656C (zh) * 2005-12-09 2008-07-30 华为技术有限公司 对终端设备进行管理的方法和系统
US9137664B2 (en) * 2007-05-01 2015-09-15 Qualcomm Incorporated Application logging interface for a mobile device

Also Published As

Publication number Publication date
CN101681288B (zh) 2013-12-04
WO2008144765A3 (en) 2009-10-15
EP2171587A2 (en) 2010-04-07
CN101681288A (zh) 2010-03-24
WO2008144765A9 (en) 2009-07-30
US7890299B2 (en) 2011-02-15
WO2008144765A2 (en) 2008-11-27
JP2013211019A (ja) 2013-10-10
JP2010528375A (ja) 2010-08-19
JP2015097107A (ja) 2015-05-21
JP5911949B2 (ja) 2016-04-27
TW200904139A (en) 2009-01-16
KR101194141B1 (ko) 2012-10-23
US20080294384A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
KR101194141B1 (ko) 모바일 동작 환경을 위한 이벤트-제어 연속 로깅의 제공
US8818389B2 (en) Apparatus and methods for determining connection quality metrics
US8509100B2 (en) User-initiated reporting of mobile communication system errors
US8565746B2 (en) Programmable agent for monitoring mobile communication in a wireless communication network
JP4965665B2 (ja) ワイヤレス通信デバイス性能データを要求して、データを最適ファイルサイズで提供する方法および装置
Athivarapu et al. Radiojockey: mining program execution to optimize cellular radio usage
EP2752058B1 (en) Apparatus and method for monitoring of background application events
EP2382812B1 (en) Distributed architecture for monitoring mobile communication in a wireless communication network
KR20080094083A (ko) 무선 디바이스 상에서 구성가능한 태스크 관리를 제공하기 위한 장치 및 방법들
KR102280465B1 (ko) 단말 및 그 단말에서 애플리케이션 동기화 방법
EP2814290B1 (en) Power efficient sensor accessory management through sensor subsystem
KR101488650B1 (ko) 백그라운드 애플리케이션 이벤트들의 관리를 위한 시스템들 및 방법들
CN103810033A (zh) 一种检测用程序启动的方法和装置
TW201029495A (en) Methods and apparatus for robust slotted mode operation in fading wireless environments
CN105808288A (zh) 操作系统推送消息的控制方法及装置
CN105893132B (zh) 一种控制方法及电子设备
JP2009296314A (ja) サービス移動制御システム、サービス移動制御方法及びサービス移動制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20150930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7