KR102213693B1 - 데이터 레코드를 로깅하는 방법 및 장치 - Google Patents

데이터 레코드를 로깅하는 방법 및 장치 Download PDF

Info

Publication number
KR102213693B1
KR102213693B1 KR1020157036012A KR20157036012A KR102213693B1 KR 102213693 B1 KR102213693 B1 KR 102213693B1 KR 1020157036012 A KR1020157036012 A KR 1020157036012A KR 20157036012 A KR20157036012 A KR 20157036012A KR 102213693 B1 KR102213693 B1 KR 102213693B1
Authority
KR
South Korea
Prior art keywords
data
delete delete
log
record
protocol
Prior art date
Application number
KR1020157036012A
Other languages
English (en)
Other versions
KR20160013100A (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 KR20160013100A publication Critical patent/KR20160013100A/ko
Application granted granted Critical
Publication of KR102213693B1 publication Critical patent/KR102213693B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 복수의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 데이터에 대해 데이터 레코드를 로깅하는 방법 및 장치로서, 상기 장치는, 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키기 위해 로그 파일 데이터 포맷으로 인코딩된 고유한 레코드 식별자로 인코딩된 상기 로그 파일 데이터 포맷으로 상기 수신된 데이터를 포맷하는 프로세서를 포함하는 것을 특징으로 하는, 상기 로깅 방법 및 장치에 관한 것이다.

Description

데이터 레코드를 로깅하는 방법 및 장치{METHOD AND APPARATUS FOR LOGGING DATA RECORDS}
본 발명은 데이터 레코드를 로깅(logging)하는 방법 및 장치에 관한 것으로, 보다 상세하게는, 예를 들어 모바일 통신 네트워크 시뮬레이션 테스트 시스템과 같은 네트워크에서 다수의 로그 소스(log source)로부터 데이터 레코드를 동시에 로깅하는 방법 및 장치에 관한 것이다.
여러 상이한 무선 통신 프로토콜과 표준이 현재 사용되고 있다. 더 많은 무선 통신 프로토콜과 표준이 미래에 개발될 것으로 예상된다. 모바일 통신 분야에서, 통신 프로토콜과 표준은, 예를 들어, GSM(Global System for Mobile communications)(2G), 3GPP(3rd Generation Partnership Project)(3G), LTE(Long Term Evolution), 및 LTE 어드밴스드(Advanced)(4G)를 포함한다.
통신 네트워크의 일부를 형성하는 유저 장비(user equipment: UE), 예를 들어, 모바일 폰, 스마트폰 등은 상이한 모바일 통신 프로토콜과 표준들 사이를 스위칭하는데 요구되는 무선 트랜시버를 구비한다. 종종 UE 개발자와 모바일 네트워크 운영자는 개발 테스트, 순응 테스트, 및 상호 동작 가능성 테스트를 위해 UE에서 모바일 통신 네트워크 시뮬레이션 테스트를 실행한다. 이러한 모바일 통신 네트워크 시뮬레이션 테스트 시스템 내에서 테스트 데이터를 로깅하고 분석하는 것은 1.2 Gb/초를 초과하는 데이터 속도에서는 다수의 소스로부터 다수의 유형의 로그 레코드가 동시에 수신되기 때문에 점점 더 복잡해지고 있다.
상기 문제를 해결하거나 적어도 경감하는 예를 들어 모바일 통신 네트워크 시뮬레이션 테스트 시스템과 같은 네트워크에서 데이터 레코드를 로깅하는 방법 및 장치가 요구된다.
본 개요는 아래 상세한 설명에서 더 설명되는 것을 간략한 형태로 선택된 개념을 소개하기 위해 제공된 것이다. 본 개요는 청구된 주제의 핵심적인 특징이나 본질적인 특징을 식별하려고 의도된 것도 아니고, 청구된 주제의 범위를 결정하는 것을 도와주는 것으로 사용되려고 의도된 것도 전혀 아니다.
본 발명의 일 측면은, 프로토콜 데이터 유닛 층(protocol data unit layer)을 구비하는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 데이터를 로깅하는 장치로서, 상기 장치는, 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키는 고유한 레코드 식별자(unique record identifier)로 인코딩된 로그 파일 데이터 포맷(log file data format)으로 상기 수신된 데이터를 포맷하는 프로세서를 포함하는, 장치에 있다.
일 실시예에서 상기 제1 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(open systems interconnection: OSI) 프로토콜의 물리적 층일 수 있다. 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 데이터 링크 층일 수 있다. 상기 수신된 데이터는 다운링크 데이터일 수 있고 여기서 상기 데이터는 상기 제2 프로토콜 데이터 유닛 층으로부터 상기 제1 프로토콜 데이터 유닛 층으로 전달된다. 상기 수신된 데이터는 업링크 데이터일 수 있고 여기서 상기 데이터는 상기 제1 프로토콜 데이터 유닛 층으로부터 상기 제2 프로토콜 데이터 유닛 층으로 전달된다. 상기 제1 데이터 레코드는 무선 링크 제어(radio link control: RLC) 데이터일 수 있다. 상기 제2 데이터 레코드는 매체 액세스 제어(media access control: MAC) 데이터일 수 있다.
일 실시예에서 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 네트워크 층일 수 있다.
일 실시예에서 상기 제1 레코드 및 제2 레코드는 상이한 로그 소스로부터 수신될 수 있다. 상기 다수의 소스 프로토콜 데이터 유닛 층 레코드는 상기 제1 프로토콜 데이터 유닛 층 또는 제2 프로토콜 데이터 유닛 층을 통해 전송될 수 있다.
일 실시예에서 각 레코드는, 상기 고유한 레코드 식별자를 포함하는 헤더와, 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하고 데이터가 유래하는 로그 소스를 식별하기 위한 시간 식별자를 포함할 수 있다. 상기 고유한 레코드 식별자는 로그 소스로부터 유래하는 각 레코드로 증분되는 카운터(counter)를 포함할 수 있다. 상기 로그 파일 데이터 포맷은 압축된 데이터 부분을 포함할 수 있다.
일 실시예에서 상기 장치는 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하는 시간 식별자와, 데이터가 유래하는 로그 소스를 식별하는 로그 소스 식별자로 상기 데이터를 인코딩하는 인코더를 포함할 수 있다.
일 실시예에서 상기 프로세서는 제1 로그 파일 데이터 포맷을 제2 로그 파일 데이터 포맷을 재포맷(reformat)하도록 배열될 수 있다. 상기 프로세서는 상기 로그 파일 데이터 포맷을 출력을 위해 로그 파일 뷰 데이터 포맷(log file view data format)으로 재포맷하도록 배열될 수 있다. 상기 프로세서는 상기 제1 프로토콜 데이터 유닛 층과 관련된 제1 데이터 레코드 없이 상기 로그 파일 뷰 데이터 포맷을 필터링된 포맷으로 포맷하도록 배열될 수 있다. 상기 프로세서는 상기 로그 데이터의 출력 요청의 수신시 출력을 위해 상기 로그 파일 데이터 포맷을 상기 로그 파일 뷰 데이터 포맷으로 포맷할 수 있다. 상기 프로세서는 출력에 필요한 상기 로그 파일 뷰 데이터의 일부 세트를 로딩(load)하도록 배열될 수 있다. 상기 부분적으로 로딩된 로그 파일 뷰 데이터는 메모리에 캐싱(cached)될 수 있고 상기 프로세서는 출력에 필요한 언로딩된(unloaded) 로그 파일 뷰 데이터를 로딩하도록 배열될 수 있다. 상기 프로세서는 미리 결정된 시간 후에 메모리에 캐싱된 로그 파일 뷰 데이터를 메모리로부터 제거하도록 배열될 수 있다.
일 실시예에서 상기 로그 소스의 네트워크는 유저 장비에서 테스트 활동을 실행하는 모바일 통신 네트워크 시뮬레이션 테스트 시스템일 수 있다. 상기 제1 데이터 레코드와 제2 데이터 레코드는 상기 로그 소스 식별자에 따라 배취(batched)되고 저장될 수 있다. 상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크 시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열될 수 있다. 상기 로그 파일 데이터 포맷은 헤더를 포함할 수 있고 여기서 상기 헤더는 압축되지 않은 것일 수 있다. 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함할 수 있다. 상기 로그 파일 데이터 포맷은 트리거 이벤트(trigger event)에 따라 배취될 수 있다. 상기 트리거 이벤트는 미리 결정된 시간에 기초할 수 있다.
본 발명의 일 측면은 프로토콜 데이터 유닛 층을 구비하는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 데이터를 로깅하는 로깅 서버(logging server)이고, 상기 로깅 서버는, 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키는 고유한 레코드 식별자로 인코딩된 로그 파일 데이터 포맷으로 포맷된 로그 파일 데이터를 수신하고 처리하는 프로세서를 포함한다.
일 실시예에서 상기 로깅 서버는 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키는 고유한 레코드 식별자로 인코딩된 로그 파일 데이터 포맷으로 포맷된 상기 로그 파일 데이터를 디코딩하는 디코더를 더 포함할 수 있다. 상기 로그 파일 데이터는 로그 파일로 저장될 수 있다. 상기 로그 파일 데이터 포맷은 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하는 시간 식별자와, 데이터가 유래하는 로그 소스를 식별하는 로그 소스 식별자를 포함할 수 있다. 상기 프로세서는 상기 제1 로그 파일 데이터 포맷의 수신된 데이터를 제2 로그 파일 데이터 포맷으로 재포맷하도록 배열될 수 있다. 상기 프로세서는 로그 파일 데이터 포맷의 수신된 데이터를 출력을 위해 로그 파일 뷰 데이터 포맷으로 재포맷하도록 배열될 수 있다. 상기 프로세서는 제1 프로토콜 데이터 유닛 층과 관련된 제1 데이터 레코드 없이 상기 로그 파일 뷰 데이터 포맷을 필터링된 포맷으로 포맷하도록 배열될 수 있다. 상기 프로세서는 상기 로그 데이터의 출력 요청의 수신시 출력을 위해 상기 로그 파일 데이터 포맷을 상기 로그 파일 뷰 데이터 포맷으로 포맷할 수 있다. 상기 프로세서는 출력에 필요한 상기 로그 파일 뷰 데이터의 일부 세트를 로딩하도록 배열될 수 있다.
일 실시예에서 상기 로깅 서버는 메모리를 더 포함할 수 있고 여기서 상기 부분적으로 로딩된 로그 파일 뷰 데이터는 상기 메모리에 캐싱되고 상기 프로세서는 출력에 필요한 언로딩된 로그 파일 뷰 데이터를 로딩하도록 배열된다. 상기 프로세서는 미리 결정된 시간 후에 메모리에 캐싱된 로그 파일 뷰 데이터를 메모리로부터 제거하도록 배열될 수 있다.
일 실시예에서 상기 로그 소스의 네트워크는 유저 장비에서 테스트 활동을 실행하는 모바일 통신 네트워크 시뮬레이션 테스트 시스템이다. 상기 제1 데이터 레코드와 제2 데이터 레코드는 상기 로그 소스 식별자에 따라 배취되고 저장될 수 있다.
일 실시예에서 상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크 시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열될 수 있다. 상기 로그 파일 데이터 포맷은 헤더를 포함할 수 있고 여기서 상기 헤더는 압축되지 않은 것일 수 있다. 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함할 수 있다. 상기 로그 파일 데이터 포맷은 트리거 이벤트에 따라 배취될 수 있다. 상기 트리거 이벤트는 미리 결정된 시간에 기초할 수 있다.
본 발명의 일 측면은, 프로토콜 데이터 유닛 층을 구비하는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 로그 데이터를 포맷하는 방법으로서, 상기 방법은 로그 소스로부터 상기 로그 데이터를 수신하는 단계; 및 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들을 연관시키기 위해 로그 파일 데이터 포맷으로 인코딩된 고유한 레코드 식별자로 상기 수신된 로그 데이터를 로그 파일 포맷으로 포맷하는 단계를 포함하는, 방법에 있다.
일 실시예에서 상기 제1 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 물리적 층일 수 있다. 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 데이터 링크 층일 수 있다. 상기 방법은 상기 데이터를 다운링크 데이터로 수신하는 단계를 더 포함할 수 있고 여기서 상기 데이터는 상기 제2 프로토콜 데이터 유닛 층으로부터 상기 제1 프로토콜 데이터 유닛 층으로 전달한다. 상기 데이터는 업링크 데이터로 수신될 수 있고 여기서 상기 데이터는 상기 제1 프로토콜 데이터 유닛 층으로부터 상기 제2 프로토콜 데이터 유닛 층으로 전달된다. 일 실시예에서 상기 제1 데이터 레코드는 무선 링크 제어(RLC) 데이터일 수 있다. 상기 제2 데이터 레코드는 매체 액세스 제어(MAC) 데이터일 수 있다. 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 네트워크 층일 수 있다. 상기 제1 레코드와 제2 레코드는 상이한 로그 소스로부터 수신될 수 있다. 상기 다수의 소스 프로토콜 데이터 유닛 층 레코드는 상기 제1 프로토콜 데이터 유닛 층 또는 제2 프로토콜 데이터 유닛 층을 통해 전송될 수 있다.
일 실시예에서 각 레코드는 상기 고유한 레코드 식별자를 포함하는 헤더와, 상기 데이터가 상기 로그 소스에 로깅된 시간과 데이터가 유래하는 로그 소스를 식별하기 위한 시간 식별자를 포함할 수 있다. 상기 고유한 레코드 식별자는 로그 소스로부터 유래되는 각 레코드로 증분된 카운터를 포함할 수 있다. 상기 로그 파일 데이터 포맷은 압축된 데이터 부분을 포함할 수 있다. 상기 데이터는 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하는 시간 식별자와, 데이터가 유래하는 로그 소스를 식별하는 로그 소스 식별자로 인코딩될 수 있다. 제1 로그 파일 데이터 포맷은 제2 로그 파일 데이터 포맷으로 재포맷될 수 있다. 상기 로그 파일 데이터 포맷은 출력을 위해 로그 파일 뷰 데이터 포맷으로 포맷될 수 있다. 상기 로그 파일 뷰 데이터 포맷은 제1 프로토콜 데이터 유닛 층과 관련된 상기 제1 데이터 레코드 없이, 필터링된 포맷으로 포맷될 수 있다. 상기 로그 파일 데이터 포맷은 상기 로그 데이터의 출력 요청의 수신시 출력을 위해 상기 로그 파일 뷰 데이터 포맷으로 포맷될 수 있다. 상기 로그 파일 뷰 데이터는 출력에 필요한 상기 로그 파일 뷰 데이터의 일부 세트로 로딩될 수 있다. 상기 부분적으로 로딩된 로그 파일 뷰 데이터는 메모리에 캐싱될 수 있고, 출력에 필요한 언로딩된 로그 파일 뷰 데이터를 로딩할 수 있다. 상기 메모리에 캐싱된 로그 파일 뷰 데이터는 미리 결정된 시간 후 메모리로부터 제거될 수 있다.
일 실시예에서 상기 로그 소스의 네트워크는 유저 장비에서 테스트 활동을 실행하는 모바일 통신 네트워크 시뮬레이션 테스트 시스템이다. 상기 제1 데이터 레코드와 제2 데이터 레코드는 상기 로그 소스 식별자에 따라 배취되고 저장될 수 있다. 상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열될 수 있다. 상기 로그 파일 데이터 포맷은 헤더를 포함할 수 있고 여기서 상기 헤더는 압축되지 않은 것일 수 있다. 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함할 수 있다. 상기 로그 파일 데이터 포맷은 트리거 이벤트에 따라 배취될 수 있다. 상기 트리거 이벤트는 미리 결정된 시간에 기초할 수 있다.
본 발명의 일 측면은, 프로토콜 데이터 유닛 층을 구비하는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 데이터를 로깅하는 로그 파일 데이터 포맷으로서, 상기 로그 파일 데이터 포맷은 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들을 연관시키기 위해 상기 로그 파일 데이터 포맷으로 인코딩된 고유한 레코드 식별자를 포함하는, 로그 파일 데이터 포맷에 있다.
일 실시예에서 상기 제1 레코드와 제2 레코드는 상이한 로그 소스로부터 수신된다. 다수의 소스 프로토콜 데이터 유닛 층 레코드는 상기 제1 프로토콜 데이터 유닛 층 또는 제2 프로토콜 데이터 유닛 층을 통해 전송될 수 있다. 각 레코드는 상기 고유한 레코드 식별자를 포함하는 헤더와, 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하고 데이터가 유래한 로그 소스를 식별하기 위한 시간 식별자를 포함할 수 있다. 상기 고유한 레코드 식별자는 로그 소스로부터 유래하는 각 레코드로 증분된 카운터를 포함할 수 있다. 상기 로그 파일 데이터 포맷은 압축된 데이터 부분을 포함할 수 있다. 상기 로그 파일 데이터 포맷은 출력을 위해 로그 파일 뷰 데이터 포맷으로 포맷될 수 있다. 상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크 시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열될 수 있다. 상기 로그 파일 데이터 포맷은 헤더를 포함할 수 있고 여기서 상기 헤더는 압축되지 않은 것일 수 있다. 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함할 수 있다.
본 발명의 일 측면은, 명령을 저장한 컴퓨터 판독가능한 저장 매체로서, 상기 명령은, 스크린 디스플레이를 갖는 디바이스에 의해 실행될 때, 상기 디바이스로 하여금 프로토콜 데이터 유닛 층을 갖는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 로그 데이터를 디스플레이하게 하고, 상기 디바이스는 상기 로그 데이터를 상기 스크린 디스플레이에 디스플레이하기 위한 로그 파일 뷰 데이터 포맷으로 포맷하는 요청을 장치에 송신하고, 상기 장치는 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키기 위해 로그 파일 데이터 포맷으로 인코딩된 고유한 레코드 식별자로 로그 파일 포맷으로부터 상기 로그 파일 뷰 데이터 포맷을 포맷하는, 컴퓨터 판독가능한 저장 매체에 있다.
일 실시예에서 상기 제1 레코드와 제2 레코드는 상이한 로그 소스로부터 수신될 수 있다. 다수의 소스 프로토콜 데이터 유닛 층 레코드는 상기 제1 프로토콜 데이터 유닛 층 또는 제2 프로토콜 데이터 유닛 층을 통해 전송될 수 있다. 각 레코드는 상기 고유한 레코드 식별자를 포함하는 헤더와, 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하고 데이터가 유래하는 로그 소스를 식별하기 위한 시간 식별자를 포함할 수 있다. 상기 고유한 레코드 식별자는 로그 소스로부터 유래하는 각 레코드로 증분된 카운터를 포함할 수 있다. 상기 로그 파일 데이터 포맷은 압축된 데이터 부분을 포함할 수 있다. 상기 데이터는 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하는 시간 식별자와, 데이터가 유래하는 로그 소스를 식별하기 위한 로그 소스 식별자로 인코딩될 수 있다. 상기 제1 로그 파일 데이터 포맷은 제2 로그 파일 데이터 포맷으로 포맷되거나 재포맷될 수 있다. 상기 로그 파일 데이터 포맷은 출력을 위해 로그 파일 뷰 데이터 포맷으로 포맷되거나 재포맷될 수 있다. 상기 로그 파일 뷰 데이터 포맷은 제1 프로토콜 데이터 유닛 층과 관련된 제1 데이터 레코드 없이, 필터링된 포맷으로 포맷되거나 재포맷될 수 있다. 상기 로그 파일 데이터 포맷은 상기 로그 데이터의 출력 요청의 수신시 출력을 위해 상기 로그 파일 뷰 데이터 포맷으로 포맷될 수 있다. 상기 로그 파일 뷰 데이터의 일부 세트는 출력에 필요한 만큼 로딩될 수 있다. 상기 로그 파일 뷰 데이터는 메모리에 부분적으로 로딩되고 캐싱될 수 있고, 출력에 필요한 만큼 언로딩된 로그 파일 뷰 데이터를 로딩할 수 있다. 상기 메모리에 캐싱된 로그 파일 뷰 데이터는 미리 결정된 시간 후 메모리로부터 제거될 수 있다.
일 실시예에서 상기 로그 소스의 네트워크는 유저 장비에서 테스트 활동을 실행하는 모바일 통신 네트워크 시뮬레이션 테스트 시스템일 수 있다. 상기 제1 데이터 레코드와 제2 데이터 레코드는 상기 로그 소스 식별자에 따라 배취되고 저장될 수 있다.
상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크 시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열될 수 있다. 상기 로그 파일 데이터 포맷은 헤더를 포함할 수 있고 여기서 상기 헤더는 압축되지 않은 것일 수 있다. 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함할 수 있다. 상기 로그 파일 데이터 포맷은 트리거 이벤트에 따라 배취될 수 있다. 상기 트리거 이벤트는 미리 결정된 시간에 기초할 수 있다.
상기 측면 및/또는 실시예 각각의 특징은 이 기술 분야에 통상의 지식을 가진 자에 명백한 바와 같이 적절한 경우 결합될 수 있고, 본 발명의 임의의 측면과 결합될 수 있다.
본 발명을 더 잘 이해하고 본 발명을 실시할 수 있는 방법을 제시하기 위해, 이제 예로서 첨부 도면을 참조하여 설명된다.
도 1은 일 실시예에 따라 로깅 도구(logging tool)를 구현할 수 있는 네트워크 시뮬레이션 테스트 시스템의 개요를 개략적으로 도시하는 도면;
도 2는 일 실시예에 따라 데이터를 로깅하는 장치를 구현할 수 있는 도 1의 네트워크 시뮬레이션 테스트 시스템의 모듈의 블록도를 보다 상세히 개략적으로 도시하는 도면;
도 3은 일 실시예에 따른 로깅 서버의 블록도를 개략적으로 도시하는 도면;
도 4는 일 실시예에 따른 테스트 애플리케이션의 컴포넌트의 블록도를 개략적으로 도시하는 도면;
도 5는 일 실시예에 따른 테스트 애플리케이션과 상호 연결된 로깅 서버의 블록도를 개략적으로 도시하는 도면;
도 6은 일 실시예에 따른 테스트 애플리케이션과 상호 연결된 시간 동기화기(time synchronizer)의 블록도를 개략적으로 도시하는 도면;
도 7은 일 실시예에 따른 테스트 애플리케이션과 상호 연결된 테스트 감시자(test sentinel)의 블록도를 개략적으로 도시하는 도면;
도 8은 일 실시예에 따라 프로토콜 층들 사이의 연관성을 제출된 레코드와 이전에 제출된 레코드로 식별하는 고유한 레코드 식별(unique record identification: URID)의 블록도를 개략적으로 도시하는 도면;
도 9는 일 실시예에 따라 로그 파일로부터 로그 파일 뷰 포맷으로 변환하는 블록도를 개략적으로 도시하는 도면;
도 10은 일 실시예에 따른 로그 파일 구조의 다이아그램을 개략적으로 도시하는 도면;
도 11은 일 실시예에 따라 도 10에 도시된 로그 파일 구조의 제어 레코드의 다이아그램을 개략적으로 도시하는 도면;
도 12는 일 실시예에 따라 확장된 서브-헤더 구조(sub-header structure)를 갖는 도 11에 도시된 로그 파일 구조의 제어 레코드의 다이아그램을 개략적으로 도시하는 도면;
도 13은 일 실시예에 따른 로그 데이터 처리 및 배취 시퀀스(logging date handling and batching sequence)의 블록도를 개략적으로 도시하는 도면;
도 14는 일 실시예에 따라 로그 파일과 이 로그 데이터를 제시하는 로깅 그래픽 유저 인터페이스(logging graphical user interface: GUI) 모듈 애플리케이션 사이에 게이트웨이로서 로깅 서버의 다이아그램을 개략적으로 도시하는 도면; 및
도 15는 일 실시예에 따라 그래픽 유저 인터페이스(GUI) 모듈에서 로그 데이터를 로딩하기 위한 데이터 가상화(data virtual) 및 데이터 캐싱을 도시하는 시퀀스 다이아그램을 도시하는 도면.
각 실시예에 있는 특징은 본 도면과 상세한 설명에서 상이한 참조 부호로 식별될 수 있으나, 하나의 실시예에 있는 특성과 이에 속하는 기능을 포함하는 유사한 특징은 다른 실시예에 있는 것과 상호 교환가능할 수 있는 것으로 또한 이해된다.
이제 첨부 도면에 도시된 실시예를 상세히 참조한다. 이하 상세한 설명에서, 다수의 특정 상세들이 본 발명을 철저히 이해하기 위해 제시된다. 그러나, 이 기술 분야에 통상의 지식을 가진 자라면 본 발명이 이들 특정 상세 없이 실시될 수 있다는 것을 명백히 이해할 수 있을 것이다.
도 1은 일 실시예에 따른 로깅 도구를 구현할 수 있는 네트워크 시뮬레이션 테스트 시스템의 개요를 개략적으로 도시한다. 개요 시스템(10)은 유저 장비(UE)(14)와 테스트 시스템 컴퓨터 또는 퍼스널 컴퓨터(personal computer: PC)(16)와 상호 연결가능한 네트워크 시뮬레이션 테스트 시스템(12)을 포함한다. UE(14)는 모바일 폰, 스마트폰 등과 같은 테스트 받는 통신 디바이스일 수 있고, 상이한 모바일 통신 프로토콜과 표준들 사이를 스위칭하도록 배열될 수 있다. 도 1에 도시된 UE(14)는, 예를 들어, UE 개발 하드웨어, 예를 들어, PC, ASIC 등에서 호스트되는 개발 중인 UE 소프트웨어, 및/또는 개발 중인 UE 하드웨어 등과 같은 미완성된 상태의 개발 중인 제품일 수 있다.
테스트 시스템 PC(16)은 이 예에서 네트워크 시뮬레이션 테스트 시스템(12)을 관리하고 제어하는, 네트워크 시뮬레이션 테스트 시스템(12)의 출력과 연관된 그래픽 유저 인터페이스(GUI)를 디스플레이하는 디스플레이(18)를 구비한다. UE 자동화 컴퓨터 또는 PC(20)는, 전력 온/오프, 번호 다이얼링(dialing) 등과 같은 UE를 테스트 동안 UE(14)를 제어하고 자동화하기 위해 디바이스 제어(26)를 통해 UE(14)에 직접 액세스하는 시스템(12)에 포함될 수 있다. UE 자동화 컴퓨터(20)는 네트워크 시뮬레이션 테스트 시스템(12)을 실행하면서 UE(14)를 제어하고 자동화하는 것과 연관된 GUI를 디스플레이하는 디스플레이(22)를 선택적으로 구비할 수 있다. UE 자동화 컴퓨터(20)가 도 1에 도시되어 있으나, UE(14)는 UE 자동화 컴퓨터(20) 없이 일 실시예에 따라 네트워크 시뮬레이션 테스트 시스템(12) 내에서 테스트될 수 있는 것으로 이해된다.
테스트 시스템 컴퓨터(16)는 이 예에서 네트워크 시뮬레이션 테스트 시스템(12)과 연결된다. 테스트 시스템 컴퓨터(16)는 UE 사람-기계 인터페이스(man-machine interface: MMI) 기능과 UE(14)의 다른 유사한 기능을 제어하기 위해 원격 제어(24)를 통해 UE 자동화 컴퓨터(20)에 연결될 수 있다. 네트워크 시뮬레이션 테스트 시스템(12)은 무선 주파수(radio frequency: RF) 등과 같은 통신 유선 또는 무선 링크(28)를 통해 UE(14)에 연결되고, 여기서 테스트 시스템 컴퓨터(16)와 네트워크 시뮬레이션 테스트 시스템(12)은, 시스템(12)의 모바일 통신 네트워크 시뮬레이션 모듈에 따라, 예를 들어, GSM(Global System for Mobile communications)(2G), 3GPP(3rd Generation Partnership Project)(3G), LTE(Long Term Evolution), LTE 어드밴스드(4G) 등과 같은 상이한 통신 프로토콜과 표준을 가지는 베이스 스테이션을 에뮬레이팅(emulate)한다.
도 2는 일 실시예에 따라 데이터를 로깅하는 장치를 구현할 수 있는 도 1의 시스템(10)의 모듈(30)의 블록도를 보다 상세히 개략적으로 도시한다. 네트워크 시뮬레이션 테스트 시스템(12)은, 도 1의 네트워크 시뮬레이션 테스트 시스템(12)에 상주할 수 있는, 트랜시버(32), 모바일 통신 테스트 네트워크 시뮬레이션 모듈(34), 프로세서(36) 및 메모리(38)와, 도 1의 테스트 시스템 컴퓨터(16)에 상주할 수 있는 점선 박스(40) 내에 도시된 일 실시예에 따른 시스템(10) 내에 데이터를 로깅하는 장치의 컴포넌트를 포함한다. 네트워크 시뮬레이션 테스트 시스템(12) 내에 데이터를 로깅하는 장치의 컴포넌트는 로깅 서버(42), 예를 들어, 프로토콜 분석기 등을 포함하는 로깅 그래픽 유저 인터페이스(GUI) 모듈(44), 테스트 애플리케이션(46), 시간 동기화기(48), 테스트 감시자(50), 디코더(52) 및 로그 파일 또는 데이터베이스(54)를 포함한다. 점선 박스(40) 내에 네트워크 시뮬레이션 테스트 시스템(12)의 컴포넌트는 테스트 시스템 컴퓨터(16)에 호스트될 수 있다. 시간 동기화기(48)와 로깅 클라이언트(logging client) 애플리케이션 프로그래밍 인터페이스(application programming interface: API)의 추가적인 인스턴스(instance)는 모바일 통신 네트워크 시뮬레이션 모듈(34)과 함께 호스트될 수 있다. 모바일 통신 테스트 네트워크시뮬레이션 모듈(34)은 RF 연결, SAT(H) 등과 같은 유선 및/또는 무선 통신 전송 수단과 같은 연결을 통해 테스트 시스템 컴퓨터(16)와 UE 자동화 컴퓨터(20)를 거쳐 무선 주파수(RF) 트랜시버(32)를 통해 UE(14)와 통신하며, 예를 들어, GSM(2G), 3GPP(3G), LTE, LTE 어드밴스드(4G) 등을 포함할 수 있는 각 모듈의 다수의 통신 프로토콜과 표준에 따라 실제 통신을 에뮬레이팅한다. 각 모듈의 요구조건은 임의의 요구되는 사양에 따라 변경될 수 있고; 예를 들어, 예를 들어 SAT(H) 애플리케이션에 임의의 개수의 트랜시버(32)가 있거나 또는 트랜시버가 전혀 없을 수도 있고, 또는 예를 들어, 연관된 중앙 처리 유닛(central processing unit: CPU), 메모리 등을 각각 갖는 다수의 처리 디바이스가 있을 수 있는 것으로 이해된다.
네트워크 시뮬레이션 테스트 시스템 내에 데이터를 로깅하는 장치의 컴포넌트에서, 로거 또는 로깅 서버(42)는 싱글톤 윈도우즈 서비스(Singleton Windows service) 등과 같은 상이한 포맷 또는 플랫폼으로 구성될 수 있고, 다수의 테스트 애플리케이션(46) 또는 모바일 통신 테스트 네트워크 시뮬레이션 모듈 등으로부터 시스템에 수신된 모든 로그 레코드(log record), 구체적으로 보다 상세히 설명된 로깅 클라이언트 애플리케이션 프로그래밍 인터페이스(API)의 각 인스턴스를 대조(collate)하고, 로그 레코드를 파일에 기록한다. 로깅 서버(42)는 로깅 그래픽 유저 인터페이스(GUI) 모듈(44)에 의해 요청된 파일로부터 로그 레코드를 판독한다. 로깅 서버(42)는, 로깅 클라이언트 API로부터 수신된 로그 데이터 레코드로부터, 사용될 수 있고 로깅 GUI 모듈(44)에 의해 디스플레이 상에 디스플레이될 수 있는 포맷으로 로그 레코드를 디코딩한다. 로깅 클라이언트 API로부터 수신된 데이터는, 로깅 서버(42)가 로그 파일(54)에 직접 기록하기에 적절한, 예를 들어, 이진 포맷(binary format), 예를 들어 올바르게 포맷된 로그 레코드 세트로 구성될 수 있다. 로깅 서버(42)는 요청된 디코딩된 로그 레코드를 로깅 GUI 모듈 인스턴스에 제시하고, 로깅 GUI 인스턴스로부터 제어 신호를 로깅 클라이언트 API 인스턴스로 전달한다. 로깅 GUI 모듈(44) 컴포넌트는 예를 들어 디스플레이 등에 시각적 형태로 유저에 로그 레코드를 제시하는데 사용된다. 로깅 GUI 모듈(44)은 상이한 공정에 의해 호스트된 로깅 GUI 모듈(44)의 다수의 인스턴스일 수 있다. 테스트 애플리케이션(46)은 도 4에 대해 도시되고 상세히 설명된다.
시간 동기화기(48) 컴포넌트는 테스트 시스템 컴퓨터(16)와 임베디드 테스트 장비(embedded test equipment)에 공통의 고정밀도의 시간 값을 수립하는데 사용된다. 모든 로그 레코드에는 시간 동기화기 컴포넌트(48)의 인스턴스로부터 유래하는 시간-스탬프(time-stamp)가 배정(assigned)된다.
테스트 감시자(50)는, 테스트 애플리케이션(46)의 일생(lifetime)을 추적하고, 테스트가 시작하거나 종료할 때 클라이언트에 통지하는 테스트 시스템 컴포넌트일 수 있다. 로깅 시스템(logging system)은 테스트 케이스(test case)의 감시자 통지를 사용하여, 예를 들어, 테스트 애플리케이션이 예기치 않게 닫힌(closed) 때와, 연관된 테스트 활동 로그 파일이 강제로 닫혀야 하는 때를 결정할 수 있다.
도 3은 일 실시예에 따른 로깅 서버(42)의 블록도를 개략적으로 도시한다. 로깅 서버(42)는 프로세서(60)와 메모리(62)를 포함하고, 로그 레코드 디코더(52)와 로그 파일 또는 데이터베이스(54)를 사용한다. 로깅 서버(42)는 이더넷 어댑터(ethernet adapter), 하드 디스크 등과 같은 도 3에는 미도시된 다른 설비(facility)를 사용할 수 있는 것으로 이해된다. 로그 레코드 디코더(52)는 다수의 디코더, 일반적으로 각 무선 표준 내 각 층에 대해 하나의 디코더를 포함할 수 있다. 로그 레코드 디코더(52)는 로그 레코드가 로깅 서버(42)에 수신될 때 로그 레코드(54)를, 로깅 GUI 인스턴스에 의해 이해될 수 있는 형태로 디코딩한다. 로그 레코드 디코더(52)는 C 인터페이스를 갖는 윈도우즈 동적 링크 라이브러리(Windows dynamic link library: DLL)로서 구현될 수 있고 로깅 서버(42)에 의해 사용된다.
도 4는 일 실시예에 따른 테스트 애플리케이션의 컴포넌트의 블록도를 개략적으로 도시한다. 테스트 애플리케이션(70)은 시스템 내 로그 소스의 기본 컴포넌트를 도시한다. 예를 들어, 테스트 애플리케이션(70)은 로그 레코드 인코더(72), 로깅 클라이언트 애플리케이션 프로그래밍 인터페이스(API)(74) 및 시간 동기화기 모듈(76)을 포함한다. 진단 시스템 데이터와 테스트 활동 데이터(78)를 포함하는 로그 데이터는 로깅 클라이언트 API로부터 로깅 서버(42)로 송신되고, 시간 동기화기 모듈(48)로부터 시간 동기화 신호(79)를 수신한다. 로그 레코드 인코더는 로그 데이터 레코드를, 로깅 서버(42)에 전송하여 파일에 기록하기에 적절한 형태로 인코딩한다. 로그 레코드 인코더(72)는 로깅 클라이언트 API 인스턴스를 직접 사용하고, 다른 테스트 컴포넌트와 같은 테스트 시스템 또는 임베디드 디바이스에 사용하기 위한 동일한 이미지로 컴파일될 수 있다. 로깅 클라이언트 API 인스턴스에서와 같이, 로그 레코드 디코더(52)는 테스트 시스템에 사용하기 위한 인-프로세스(in-process) COM 서버로 구현되고, 임베디드 디바이스에 사용하기 위한 소스 코드 라이브러리로 구현될 수 있다. 로깅 클라이언트 애플리케이션 프로그래밍 인터페이스(API)(74)는 모든 로깅 클라이언트에 의해 사용된 API이다. 일 실시예에서, 로깅 클라이언트 API(74)는 테스트 시스템에 사용하기 위한 인-프로세스 컴포넌트 객체 모델(COM) 서버로 구현되고, 임베디드 디바이스에 사용하기 위한 소스 코드 라이브러리로 구현된다. 로깅 클라이언트는 상이하게 구현될 수 있는 것으로 이해된다. 로깅 클라이언트 API(74)는 로그 레코드를 클라이언트로부터 로깅 서버(42)로 통신하는 것, 제어 신호를 로깅 서버(42)로부터 클라이언트로 통신하는 것 등을 포함하는 여러 메커니즘을 구현한다. 미도시된 시스템에 추가적인 로그 소스가 있을 수 있는 것으로 이해된다.
도 5는 일 실시예에 따른 테스트 애플리케이션(46)과 상호 연결된 로깅 서버(42)의 블록도를 개략적으로 도시한다. 테스트 애플리케이션 컴포넌트는, 모바일 통신 테스트 네트워크 시뮬레이션 모듈의 예로서, 테스트 애플리케이션(70), 테스트 애플리케이션 프로그래밍 인터페이스(82), 유틸리티 서비스(utility service)(84) 및 테스트 컴포넌트(86)를 포함한다. API 제어 신호는 테스트 애플리케이션(70)과 테스트 API(82) 사이에 송신된다(88). API 제어 신호는 테스트 컴포넌트(86)와 이와는 다른 임베디드 소프트웨어와 테스트 API(90) 사이에 송신된다. API 제어 신호는 유틸리티 서비스(84)와 테스트 API(82) 사이에 송신된다(92).
로깅 서버는, 100을 통해 로깅 서버(42) 및 테스트 애플리케이션(70)과, 102를 통해 테스트 API(82)와, 104를 통해 유틸리티 서비스(84)와, 106을 통해 테스트 컴포넌트(86) 및 다른 임베디드 소프트웨어와, 108을 통해 로깅 GUI 모듈(44)과, 및 109를 통해 로그 파일 또는 데이터베이스(54)와 상호 연결이 이루어질 수 있다.
테스트 애플리케이션(70)은 시스템 개발자 또는 제3자 개발자에 의해 구현될 수 있다. 테스트 애플리케이션(70)은 테스트 시스템 컴퓨터(46)에서 실행될 수 있고 하나 이상의 테스트 API(82)를 사용하여 특정 테스트 활동을 구현할 수 있다. 테스트 애플리케이션은 로그 레코드를 직접 로깅 시스템에 제시할 수 있다. 테스트 API(82)는 테스트 장비의 제어를 포함하는 테스트 애플리케이션을 구현하는데 유용한 여러 기능을 구현한다. 테스트 API(82)는 일반적으로 인-프로세스 COM 서버, 또는 C 인터페이스를 갖는 DLL로 구현된다. 테스트 API(82), 테스트 애플리케이션(70), 유틸리티 서비스(84), 테스트 컴포넌트(86) 등은 로그 레코드를 로그 레코드 인코더(72)와 로깅 클라이언트 API 인스턴스를 통해 로깅 시스템에 제시할 수 있다. 유틸리티 서비스(84)는 특정 유틸리티 기능을 구현하고, 일반적으로 테스트 애플리케이션(70) 및/또는 테스트 API(82)에 의해 사용된다. 테스트 컴포넌트 또는 다른 임베디드 소프트웨어 컴포넌트는 테스트 시스템 컴퓨터(16) 또는 다른 임베디드 디바이스와 장비에 설치되고 이에서 실행될 수 있고, 원격으로(미도시) 호스트될 수 있다. 테스트 컴포넌트 또는 임베디드 소프트웨어 컴포넌트는 테스트 API에 의해 제어되고, 예를 들어 이더넷 등과 같은 통신 링크를 통해 테스트 시스템 상의 로깅 시스템으로 송신되는 로그 레코드를 생성한다.
도 6은 일 실시예에 따른 테스트 애플리케이션(46)과 상호 연결된 시간 동기화기(48)의 블록도를 개략적으로 도시한다. 시간 동기화기(48)는, 본 명세서에 도시된 바와 같이, 110을 통해 테스트 애플리케이션(70)과, 112를 통해 테스트 API(82)와, 114를 통해 유틸리티 서비스(84)와, 및 116을 통해 테스트 컴포넌트(86)와 상호 연결이 이루어질 수 있다.
도 7은 일 실시예에 따른 테스트 애플리케이션(46)과 상호 연결된 테스트 감시자(50)의 블록도를 개략적으로 도시한다. 테스트 감시자(50)는, 도시된 바와 같이, 120을 통해 테스트 애플리케이션(70)과, 122를 통해 테스트 API(82)와, 124를 통해 유틸리티 서비스(84)와, 및 126을 통해 로깅 서버(42)와 상호 연결이 이루어질 수 있다. 로깅 서버(42)는 도시된 바와 같이 로깅 서버(42)와 로깅 GUI 모듈(44)과 로그 파일 또는 데이터베이스(54) 사이에 상호 연결이 이루어질 수 있다.
도 8은 일 실시예에 따라 프로토콜 층들 사이의 연관을 제출된 레코드와 이전에 제출된 레코드 또는 이전에 제출된 레코드로 식별하는 고유한 레코드 식별자(URID)의 블록도를 개략적으로 도시한다. 로깅 클라이언트 API(74)는 로그 소스로부터 층 1 (130)과 층 2 (132)로부터 제출된 레코드를 수신한다. 일 실시예에서, 층 1은 물리적(PHY) 층일 수 있고, 층 2는 개방 시스템 상호 연결(OSI) 모델 표준 프로토콜에서 한정된 데이터 링크 층의 무선 링크 제어(RLC) 프로토콜 및/또는 매체 액세스 제어(MAC) 프로토콜(132)일 수 있다. 추가적인 층은 점선 박스 내에 층 N 데이터(134)로 도시되고 층 2 위에 점선 화살표로 도시되는데, 이는 도시된 2개의 층에 더하여 층 1 및 층 2와 상이할 수 있는 하나 이상의 추가적인 층이 식별될 수 있다는 것을 나타낸다. 다른 프로토콜 층은 예를 들어, 층 3, 층 4, 층 5, 층 6 등으로 식별될 수 있는 것으로 이해된다.
개선된 로깅 시스템은 레코드를 다른 레코드와 연관시키는 메커니즘을 지원한다. 이것에 의해 프로토콜 데이터 유닛(protocol data unit: PDU)은 프로토콜 층들 사이에 PDU를 전송하는 인터페이스로 작용하는 ASP(abstract service primitive)와 연관될 수 있고, 이 층에서 PDU는 모바일 통신 테스트 네트워크 시뮬레이션 모듈(34) 내 층들 사이에서 전달되고, 이 PDU는 데이터를 페이로드로 운반하는 다른 층으로부터 오는 PDU와 연관된다. 레코드가 로깅 클라이언트 API(74)에 제출될 때마다, 적어도 2개의 부분, 예를 들어, 로그 소스를 식별하는 32 비트 소스 ID, 로깅 클라이언트 API 인스턴스에 제출된 각 레코드로 증분된 32 비트 카운터 등으로부터 구성된 고유한 64 비트 식별자가 리턴된다.
후속 레코드를 제출할 때, 이 고유한 레코드 ID(URID)는 제출되는 레코드와 이전에 제출된 레코드 또는 이전에 제출된 레코드 사이에 연관을 식별하는데 사용될 수 있다. 프로토콜 층이 도 8에 도시된 메커니즘을 사용할 수 있는 것으로 예상된다. 예를 들어, RLC 프로토콜 실체(protocol entity)(132)는 RLC PDU를 로깅 시스템(74)에 제출하고, 이 로깅 시스템, 예를 들어 로깅 클라이언트 API(74)는 PDU를 식별하는 URID를 생성하고 배정한다. RLC 프로토콜 실체(132)는 그 피어(peer)에 전송하기 위해 RLC PDU를 그 기초가 되는 MAC 실체(130)에 제출한다. PDU 데이터와 함께, URID가 또한 공급된다. MAC 프로토콜 실체(130)는 MAC ASP를 이것이 포함하는 RLC PDU의 URID를 명시하는 로깅 시스템에 제출한다. 이것에는 로깅된 ASP를 식별하는 다른 URID가 주어진다. MAC는 자체 PDU를 생성하고 이 PDU를 이것이 포함하는 RLC PDU의 URID를 명시하는 로깅 시스템(74)에 제출한다. 이것에는 로깅된 MAC PDU를 식별하는 다른 URID가 주어진다. 예를 들어, MAC 프로토콜 실체(130)는 RLC PDU 데이터와 이 RLC PDU의 대응하는 URID와 함께 MAC PDU를 로깅 시스템(74)에, 및 로깅 시스템에, 예를 들어 로깅 클라이언트 API(74)에 제출하고, MAC PDU를 식별하는 URID를 생성하고 배정한다.
상기 예에서, RLC 및 MAC 프로토콜 실체는 동일한 로깅 클라이언트 API 인스턴스를 사용하여 동일한 호스트에 위치되거나, 또는 상이한 로깅 클라이언트 API 인스턴스를 사용하여 상이한 호스트에 위치될 수 있는 것으로 이해된다. 업링크 PDU에 대해서도, 유사한 접근법이 취해지지만 역(reverse)으로 취해지는데, 즉 하부(lower) 층이 로깅된 레코드의 URID를 상부(upper) 층에 공급한다. 다수의 연관은 (예를 들어, 다수의 하부 층 PDU이 단일 상부 층 PDU을 전송하기 위해 생성될 때) 식별될 수 있다. 연관이 설명된 단편화(segmentation), 연쇄화(concatenation) 등에 의해 이루어질 수 있는 것으로 이해된다. 연쇄화를 위해, 다수의 소스 PDU가 단일 하부 층 PDU를 통해 전송된다. 로깅된 PDU는 로그 레코드에서 그 선행자(predecessor)만을 식별할 수 있으나, 로깅 서버는 선행자로 식별되는 레코드를 검색하는 것에 의해 PDU의 후행자(successor)를 결정하는 것으로 이해된다.
도 9는 일 실시예에 따라 로그 파일로부터 로그 파일 뷰 포맷으로 변환하는 블록도를 개략적으로 도시한다. 로그 파일 데이터 포맷(140)과 로그 파일 뷰 데이터 포맷(142)이 도시된다. 로그 파일, 로그 파일 데이터 포맷, 및 로그 파일 뷰 데이터 포맷을 처리하기 위해 클라이언트(판독기)에 의해 사용될 수 있는 2개의 메인 클래스(main class)가 있다. 로그 파일 데이터 포맷은 디스크에 있는 실제 로그 파일(real log file)의 모든 단일 인스턴스를 담당한다. 이것은 파일에 한정된 모든 뷰에 공통인 방법을 공유한다. 로그 파일 뷰 데이터 포맷은 현재 로그 파일 클래스(current log file class)에 대해 모든 뷰의 인스턴스를 나타낼 수 있고, 이 포맷은 부모 로그 파일 클래스(parent log file class)에 의해 생성될 수 있다. 뷰는 데이터를 유저(들)에 보여주는 방법을 유지하는 상이한 필터를 구비할 수 있다. 이들 모두는 부모 로그 파일로부터 원시 데이터(레코드)에 의존하고 이를 사용할 수 있다.
일 실시예에서, 로깅 서버는 파일 열기, 레코드를 필터, 북마크(bookmark), 로그 데이터 등을 포함하는 파일에 읽기/쓰기와 같은 파일 조작과 관련된 기능을 제공한다. 읽기 위한 파일을 연 후, 데이터는 전-처리(pro-processed)되기 시작한다. 생성되는 2개의 구조; 즉 특정 레코드가 파일에 얼마나 많이 나타나는지를 카운트하는 레코드 유형 카운트(record type count)와, 현재 레코드의 파일과 헤더 정보 내 위치와 레코드 색인(record index)을 맵핑(map)하는 전체 시간-정렬된 레코드 맵(global, time-ordered record map)이 있다. 이것은 데이터 업데이트 이벤트(data update event)를 사용하여 판독 클라이언트에 리포트(reported)된 상태와 비동기적으로 일어난다. 데이터를 보여주기 위해 클라이언트는 로그 파일 뷰 데이터 포맷을 사용할 것을 요구할 수 있다. 이 클래스는 데이터(로그 파일에 있는 레코드)와 관련된 기능을 필터링 및 검색으로 제공한다. 로그 파일 뷰 데이터 포맷은 부모 로그 파일로부터 "전체 레코드 맵"으로부터 그 색인과 (필터링 후) 레코드 색인을 맵핑하는 자체 "국부(local) 데이터 맵"을 생성한다. 따라서, 클라이언트는 상이한 로그 파일 뷰 데이터 포맷으로부터 상이한 데이터를 보여줄 수 있다. 로그 파일의 로그 파일(140) 뷰는 실행시간 생성 동안 또는 이벤트 후에 테스트 시스템 컴퓨터(16)의 디스플레이(18)에서 볼 수 있고, 제시된 컴퓨터(16, 20) 또는 시스템의 내부 또는 외부에 있는 별개의 컴퓨터(미도시)에서 재호출(recalled)될 수 있는 것으로 이해된다.
도 10은 일 실시예에 따른 로그 파일 구조 포맷(150)의 다이아그램을 개략적으로 도시한다. 로그 파일(150)은 이 예에서 헤더(152), 데이터 및 제어 레코드(154), 및 푸터(footer)(156)를 포함한다. 로그 파일(150)은 압축 알고리즘을 사용하여 전체 로그를 훨씬 더 작게 만들 수 있는 가능성과, 이전 기종과 호환성을 유지하면서 추가적인 확장을 사용하는 추가적인 방식을 제공할 수 있다. 또한 로그의 로그 파일 구조에 의해 로그 레코드를 더 빨리 검색하고 필터링할 수 있다.
로그 파일은 데이터 레코드와 제어 레코드를 포함하는 2개의 데이터 그룹으로 분할될 수 있는 레코드로 형성될 수 있다. 데이터 레코드는 로깅 GUI 모듈(44)의 종료 유저 또는 유저가 일반적으로 관심 있는 것이고, 연관된 데이터는 데이터 레코드로 대응한다. 제어 레코드는 서버가 로그 처리를 관리하기 위해 사용하는 것이고, 연관된 데이터는 제어 레코드로 대응한다. 로그 파일은 임의의 요구되는 사양 또는 특정 애플리케이션에 대해 상이한 로그 파일과 데이터베이스에 대해 단일 또는 임의의 개수의 상이한 레코드와 시리즈의 로그 레코드(series of log records)와 정보로 형성되고 식별되고 분리될 수 있는 것으로 이해된다.
일 실시예에서, 로그 파일 헤더(152)는 압축(헤더를 압축하는데 사용되는 압축 유형), 버전(로그 파일의 버전), 날짜(생성 날짜), 컴퓨터의 고유한 식별자(예를 들어 퍼스널 컴퓨터 이름), 파일의 시작으로부터 푸터까지 오프셋을 식별하는 64 비트 값(아래 참조), 레코드 번호 등과 같은 로그 파일로부터 정보를 취하는데 필요한 정보를 포함할 수 있다.
일 실시예에서, 로그 파일에서 헤더(152)는 압축되지 않은 것일 수 있어서, 헤더(152)는 로그의 나머지 부분을 압축하는데 사용되는 알고리즘 지식 없이도 용이하게 판독될 수 있을 수 있다. 로그 파일 푸터 제어 정보는 특수 레코드에서 로그 파일(150)의 푸터(156)에 놓일 수 있다. 로그 파일 헤더(150)는 푸터의 시작을 나타내는 포인트를 포함할 수 있고, 푸터(156)는 사이즈 재조정가능할 수 있다. 제어 및 데이터 레코드(154)는 파일의 제어 및 데이터 레코드 부분에 임의의 순서로 혼합될 수 있다. 로그 파일(150)이 생성된 후에 절감되는 데이터는 하나 이상의 원시 데이터 제어 레코드에서 푸터(156)에 기록될 수 있다.
도 11은 일 실시예에 따라 도 10에 도시된 로그 파일 구조 포맷(150)의 데이터 및 제어 레코드(154)의 다이아그램을 개략적으로 도시한다. 데이터 및 제어 레코드(154)는 헤더(170)와 페이로드(172)를 보여준다. 데이터 로그 레코드는 헤더와 페이로드를 포함하는 공통 구조를 구비한다. 헤더(170)는 레코드 사이즈, 프로토콜 유형, 인코딩되는 레코드와 버전 등에 관한 정보를 저장한다. 페이로드(172)는 레코드 상세(필드)를 저장하고, 특정 디코더를 사용하여 디코딩된다.
도 12는 일 실시예에 따라 확장된 서브-헤더 구조(180)를 갖는 도 11에 도시된 로그 파일 구조의 데이터 및 제어 레코드(154)의 다이아그램을 개략적으로 도시한다. 데이터 레코드 유형은 데이터 레코드의 나머지 부분을 디코딩하는데 필요한 정보를 포함하는 공통 일반 헤더(170)를 구비할 수 있다. 레코드 헤더(170)의 내용은 상위 레벨 필터링 및 분류 수단을 제공한다. 헤더(170)는 표 1에 한정된 데이터와 제어 레코드(154)에 공통일 수 있다.
표 1: 공통 레코드 헤더 필드
Figure 112015124644168-pct00001
일 예에서, 제1차 데이터 헤더의 사이즈는 (임의의 압축 방법 없이) 27B일 수 있다. 추가적인 필드를 일부 레코드에 추가하는 가능성을 제공하고 차후 사용시 융통성을 제공하는 헤더 확장 플래그 필드가 헤더에 있다.
일 실시예에서, 헤더 확장 플래그는 최대 255개의 확장을 가지는 가능성을 제공하고, 현재 레코드에 얼마나 많은 확장이 있을 수 있는지를 나타낸다. 헤더 확장은, 제1 필드에 그 유형과 그 유형에 따라 그 다음 필드 세트를 구비할 수 있는 서브-헤더(182, 184)로 기록될 수 있다.
일 실시예에서, 특수 프로토콜은 특히 제어 레코드에 의해 설명되는 정보를 포함하도록 생성될 수 있다. 이 레코드는 로거 서버에 유용한 정보를 저장할 수 있으나 클라이언트에 의해서 로그 레코드로 보이지 않는다. 제어 레코드는 레코드의 개수, 압축 유형 등에 관한 정보를 포함할 수 있다.
도 13은 일 실시예에 따른 로그 데이터 처리 및 배취 시퀀스(190)의 블록도를 개략적으로 도시한다. 로그 데이터 처리 및 배취 시퀀스(190)는 바람직하게는 네트워크 시뮬레이션 테스트 시스템(12)에서 수행되고, 이후 각 테스트 애플리케이션(70)의 로깅 클라이언트 API(74)를 통해 로깅 서버(42)에 송신된다. 로그 데이터 처리 및 배취 시퀀스(190)는 지연 큐(delay queue)(200)에 데이터를 제공하는 다수의 로그 소스(192, 194, 196)를 보여준다. 지연된 데이터(202, 204, 206, 208, 210)는 시퀀스로 취해지고, 테스트 활동의 시작을 확인하는 제어 레코드(228)가 추가된다(220). 제어 레코드는 로그 소스에 의해 제출된 데이터 레코드와 시퀀스로 로깅 클라이언트 API(74)에 의해 전송 큐(transmission queue)(230)에 추가된다. 제어 레코드는 데이터를 시스템 배취(222) 유형 데이터로 식별하거나, 또는 테스트 활동 배취(224) 유형 데이터로 식별한다. 시스템 배취(222) 유형 데이터와 테스트 활동 배취(224) 유형 데이터는 제어 레코드(238)로 데이터(232, 234, 236)를 배취한 상태로 지연된 데이터로 전송 큐(230)에 유지된다. 제어 레코드는 로깅 서버(42)로 가는 소켓(242)으로 송신되기 전에 송신 큐(230)로부터 제거된다(240). 일 실시예에서 제어 레코드는 이더넷을 통해 로거 서버를 로깅 서버(42)에 상호 연결한 것(106)을 통해 파일로 송신되는 것으로 이해된다.
일 실시예에서, 로깅 클라이언트 API(74)의 활동은, 이것이 서비스하는 로그 소스에 의해 제출된 로그 데이터를 대조하고 이 로그 데이터를 파일에 쓸 수 있는 로깅 서버(42)에 전송하는 것이다. 이 활동은, 고정된 기간 동안 데이터를 지연시키고, 데이터를 대조하고 로그 레코드를 구성하며, 준비된 로그 레코드를 로깅 서버(42)에 전송하는 3개의 서브-태스크로 분할될 수 있다.
일 실시예에서, 로그 소스는 로그 데이터를 생성하는 시스템 내 임의의 실체이다. 각 로그 소스는 바람직하게는 로그 소스가 로그 데이터를 제출하기 전에 하나의 로깅 클라이언트 API 인스턴스로 등록된다. 로그 데이터가 먼저 제출될 때, 이 로그 데이터는 시간-스탬프되고 시간 지연 큐(200)에 직접 놓인다. 이 동작은 호출 클라이언트의 스레드(thread)의 상황에서 일어난다. 이 시간 지연 큐는 로깅 클라이언트 API(74) 내 전용 스레드에 의해 비워지고(emptied), 이 로깅 클라이언트 API는 이후 각 레코드가 현재 로그 설정에 따라 캡처되어야 하는지 여부를 결정하고, 현재 로그 설정에 따라 캡처되어야 하는 레코드만을 포함하는 시리즈 배취 레코드(series batch records)를 구성하고, 포맷된 배취 레코드를 로깅 서버(42)에 전송할 전송 큐(230)에 놓는다.
시간 지연 큐(200)는 로그 레코드를 로깅 서버(42)로 통과(transit)하는 것을 지연시키기 위한 것이다. 시간 지연 큐(200)는, 지연이 레코드가 시간 지연 큐(200)에서 대기하는데 요구되는 시간 이하인 것으로 가정하여, 현재 로그 설정을 변경할 수 있는 통지로 지연을 극복하는 역할을 한다. 시간 지연 큐(200)는, 예를 들어, 250ms와 같은 시간 기간만큼 레코드가 통과하는 것을 지연시킬 수 있다. 임의의 시간 기간이 지정될 수 있는 것으로 이해된다.
일 실시예에서, 로그 설정을 조정하는 다른 로그 설정 규칙이 구현될 수 있다. 예를 들어, 이벤트 트리거된 로그는 시간 지연된 로그 설정 기준, 프로토콜 한정된 로그 설정 기준 등과 같은 상이한 특정 애플리케이션에 대해 한정되고 설정될 수 있다.
일 실시예에서, 상이한 시리즈의 로그 레코드는 상이한 로그 파일/데이터베이스에 저장하기 위해 별개로 배취될 수 있다. 예를 들어, 로그 레코드는, 상이한 유래하는 로그 소스로부터 생성되고 이에 따라 배취된 로그 소스의 유형, 로그 소스와 연관된 데이터 유형 등에 따라 상이한 로그 유형으로 식별될 수 있다. 일 예에서, 로그 소스는 시스템 또는 제어 레코드와 연관된 데이터를 생성하는 제1 유형의 로그 소스와, 테스트 활동 또는 데이터 레코드와 연관된 데이터를 생성하는 제2 유형의 로그 소스로 식별된다. 예를 들어, 테스트 시스템 활동과 관련되지 않는 로그 레코드는 일반적으로 시스템의 관리와 관련될 수 있는 시스템 로그 제어 레코드로 식별될 수 있다. 이러한 시스템 로그 데이터와 제어 데이터는 테스트 활동 로그 데이터와 테스트 활동 데이터와 별개로 식별될 수 있다. 이 예에서, 시스템 로그 소스에 의해 생성된 로그 레코드는 이들이 별개의 로그 파일을 향할 수 있기 때문에 테스트 활동 로그 소스로부터 오는 것으로 배취되지 않는다. 각 스트림은 별개의 로깅 클라이언트 ID로 로깅되어, 로깅 서버(42)로 하여금 개별 로깅 클라이언트 ID로 제출된 로그 레코드가 모두 시간-정렬된 것으로 가정할 수 있게 한다. 예를 들어, 다른 레코드가 추가된 경우 컴파일 시간에 구성가능한 사이즈 한계가 초과되었을 때, 또는 전송 타이머가 만료된 때 배취 레코드는 송신 또는 전송 큐(230)에 제출된다. 예를 들어, 송신 큐(230)에서 로그 스트림으로부터 배취 레코드가 없을 수 있고, 연결은 로깅 서버(42) 인스턴스로 수립되고, 배취에서 제1 레코드는 마지막 레코드보다, 예를 들어, 1 초 더 오래된 것이다. 상기 예는 단지 예시를 위한 것일 뿐, 로그 레코드는 상이한 시리즈의 로그 레코드와 기준에 따라, 및 본 명세서에서 예로 설명된 시리즈의 로그 레코드 중 임의의 개수의 로그 레코드에 따라 식별되고 배취될 수 있는 것으로 이해된다.
나아가, 테스트 활동 로그 소스(224)에 의해 구성된 배취 레코드는 로깅 클라이언트 API(74)가 테스트 활동 로그 파일이 생성되고 있거나 닫히고 있는 것을 통지받는 즉시, 송신 큐(230)에 제출될 수 있다.
전송 큐(230)는 로깅 클라이언트 API(74)의 내부에 있는 다른 스레드에 의해 서비스될 수 있다. 이 스레드는 로깅 서버(42) 인스턴스에 연결을 수립하는 동안 대기하고, 전송 큐(230)에 도달할 데이터를 계류시킨다. 이들 조건이 모두 충족되면, 스레드는 큐의 전방으로부터 항목을 제거하고 이 항목을 로깅 서버(42)에 송신할 수 있다.
로깅 클라이언트 API(74)가 테스트 활동 로그 파일이 생성되고 있다는 것을 통지받을 때, 이 로깅 클라이언트 API는 제어 레코드를 시간 지연 큐(200)에 제출한다. 이 제어 레코드(228)가 시간 지연 큐에 도달하면, 테스트 활동 로그 스트림에 의해 구성된 현재 배취 레코드는 전송 큐(230)에 제출된다. 테스트 활동의 시작을 확인하는 제어 레코드(238)가 송신 큐에 더 추가된다. 제어 레코드가 전송 큐로부터 제거될 때, 로깅 클라이언트 API는 테스트 활동의 시작을 확인하는 메시지를 로깅 서버(42)에 송신한다.
로깅 클라이언트 API(74)가 테스트 활동 로그 파일이 닫히고 있는 것을 통지받을 때, 로깅 클라이언트 API(74)는 제어 레코드(220)를 시간 지연 큐(200)에 제출한다. 이 제어 레코드(220)가 시간 지연 큐(200)에 도달할 때, 테스트 활동 로그 스트림에 의해 구성된 현재 배취 레코드는 전송 큐(230)에 제출된다. 테스트 활동의 종료를 확인하는 제어 레코드(238)가 전송 큐(230)에 더 추가된다(240). 제어 레코드(220)가 전송 큐(230)로부터 제거될 때, 로깅 클라이언트 API(74)는 테스트 활동이 닫힌 것을 확인하는 메시지를 로깅 서버(42)에 송신한다.
도 14는 일 실시예에 따라 로그 파일(252, 254, 256)과 로그 데이터(262, 264, 266)를 제시하는 로깅 그래픽 유저 인터페이스(GUI) 모듈(44) 애플리케이션 사이에 게이트웨이로 로깅 서버(42)를 개략적으로 도시하는 다이아그램(250)이다. 로그 데이터(262, 264, 266)는 예를 들어 테스트 시스템 컴퓨터(16)의 디스플레이(18) 등과 같은 컴퓨터 스크린에 디스플레이되는 GUI에 상이한 포맷으로 디스플레이될 수 있다. 로그 파일의 로그 데이터 뷰는 실행시간 생성하는 동안 또는 이벤트 후에 테스트 시스템 컴퓨터(16)의 디스플레이(18)에서 볼 수 있고, 제시된 컴퓨터(16, 20) 또는 시스템의 내부 또는 외부에 있는 별개의 컴퓨터(미도시)에서 재호출될 수 있다. GUI에서 로그 파일은 상이한 뷰 세트로 애플리케이션에서 제시될 수 있고, 임의의 개수의 상이한 방식으로 로그 데이터로 제시될 수 있다. 로그 뷰(log view)는, 열린 로그 파일 애플리케이션이 모든 제공된 플러그-인(plug-in) DLL로부터 로그 뷰 세트를 형성하도록 특정 뷰 또는 포맷으로 로그 파일에 포함된 데이터를 디스플레이하는데 사용되는 기능 세트로 플러그가능한 제어에서 배열될 수 있다. 예를 들어, 로그 데이터는 로그 파일에 대한 정보의 개요를 갖는 개요 뷰(summary view), 로그 레코드 뷰들 사이의 계층적 연결 등과 같은 상이한 그래픽 형태와 뷰로 제시될 수 있다. 유저가 뷰를 턴온/턴오프할 수 있게 하는 등을 제공하는 필터링, 검색, 북마크, 설비와 같은 추가적인 특징이 제공될 수 있다.
도 15는 일 실시예에 따라 그래픽 유저 인터페이스(GUI) 모듈(44)에 로그 데이터를 로딩하는 데이터 가상화 및 데이터 캐싱을 도시하는 시퀀스 다이아그램(280)이다. 일 실시예에서, 다수의 데이터 레코드를 갖는 로그 데이터의 사이즈를 고려하여 로그 데이터 뷰로 도시된 데이터의 양을 제한하기 위해 데이터 캐싱, 데이터 가상화 및 GUI 가상화 기술이 구현될 수 있다. 시퀀스 다이아그램(280)은 레코드 리스트 뷰(282), 가상 집합(284) 및 서버(286) 사이에 데이터 가상화 및 데이터 캐싱 공정을 도시한다. GUI 가상화는 현재 볼 수 있는 요소만을 생성하는 방식으로 GUI 요소를 디스플레이하는 공정이다. GUI 가상화는 단지 몇몇 개의 레코드, 즉 레코드의 일부 세트만이 한번에 GUI에서 볼 수 있을 때, 다수의 레코드, 즉 총 레코드 세트를 갖는 리스트를 디스플레이하는 데 사용되는 메모리를 감소시킨다. 데이터 가상화는, 디스플레이 또는 제시하는데 필요한 데이터 부분만, 즉 일부 레코드 세트만을 로딩하는 데이터 집합 기술이다. 가상 집합을 사용하여 클라이언트 측에 데이터를 저장할 수 있다. 본질적으로, 가상 집합은 현재 사용되는 요소들만을 로딩한다. 예를 들어, 로그 데이터가 1000개의 요소를 포함할 때, GUI는 GUI 모듈의 처리 능력과 메모리에 미리 결정된 한계, 예를 들어, 이 예에서는 단 100개의 요소 내에서만 적절히 디스플레이하거나 제시할 수 있기 때문에 단 100개의 요소만이 로딩될 수 있다. GUI를 통해 현재 프리젠테이션에 더 이상 요구되지 않은 요소는 메모리로부터 제거된다. 데이터 가상화와 함께, 데이터 캐싱은 현재 프리젠테이션에 더 이상 요구되지 않는 가상 집합 내 요소가 바로 제거되지 않고, 지정된 기간 동안 저장되는 데 사용된다.
전술된 시스템 및 장치는 적어도 부분적으로 컴퓨터 소프트웨어로 구현될 수 있다. 이 기술 분야에 통상의 지식을 가진 자라면 전술된 장치가 일반 목적 컴퓨터 장비 또는 맞춤 장비를 사용하여 구현될 수 있다는 것을 이해할 수 있을 것이다. 시스템의 여러 컴포넌트는 컴퓨터에서 실행되는 소프트웨어 모듈에 의해 제공될 수 있다.
이 컴퓨터의 하드웨어 요소, 운영 시스템 및 프로그래밍 언어는 특성상 종래의 것이고, 이 기술 분야에 통상의 지식을 가진 자라면 이에 적절히 친숙한 것으로 추정된다. 일 실시예에서 서버는 중앙에 위치될 수 있고 클라이언트는 분배될 수 있다. 다른 실시예에서, 서버 기능은 다수의 유사한 플랫폼에서 분배된 방식으로 구현되어, 처리 부하를 분배할 수 있다.
여기서, 본 명세서에 설명된 방법과 장치의 측면은 서버와 같은 컴퓨팅 디바이스에서 실행될 수 있다. 기술의 프로그램 측면은 일반적으로 기계 판독가능한 매체의 유형으로 운반되거나 구현되는 실행가능한 코드 및/또는 연관된 데이터 형태로 된 "제품" 또는 "제조 물품"인 것으로 고려될 수 있다. "저장" 유형 매체는 소프트웨어 프로그래밍을 위해 언제나 저장을 제공할 수 있는 컴퓨터, 프로세서 등의 임의의 또는 모든 메모리, 또는 그 연관된 모듈, 예를 들어, 여러 반도체 메모리, 테이프 드라이브, 디스크 드라이브 등을 포함한다. 소프트웨어의 전부 또는 일부는 종종 인터넷 또는 여러 다른 원격통신 네트워크를 통해 통신될 수 있다. 이러한 통신을 통해, 예를 들어, 소프트웨어는 하나의 컴퓨터 또는 프로세서로부터 다른 컴퓨터 또는 프로세서로 로딩될 수 있다. 따라서, 소프트웨어 요소를 포함할 수 있는 다른 유형의 매체는, 국부 디바이스들 사이의 물리적 인터페이스를 통해, 유선 및 광 지상 라인 네트워크를 통해, 및 여러 무선-링크를 통해 사용되는 광, 전기 및 전자기파를 포함한다. 유선 또는 무선 링크, 광 링크 등과 같은 파를 운반하는 물리적 요소는 또한 소프트웨어를 포함하는 매체인 것으로 고려될 수 있다. 본 명세서에 사용된 바와 같이, 유형적인 비-일시적인 "저장" 매체로 제한되지 않는 한, 컴퓨터 또는 기계 "판독가능한 매체"와 같은 용어는 실행할 명령을 프로세서에 제공하는 것에 참여하는 임의의 매체를 말한다.
그리하여, 기계 판독가능한 매체는, 유형적인 저장 매체, 반송파 매체 또는 물리적 거래 매체(physical transaction medium)를 포함하지만 이로 제한되지 않는 많은 형태를 취할 수 있다. 비-휘발성 저장 매체는 도면에 도시된 인코더, 디코더 등을 구현하는데 사용될 수 있는 컴퓨터(들) 등에 임의의 저장 디바이스와 같은, 예를 들어, 광 또는 자기 디스크를 포함한다. 휘발성 저장 매체는 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형적인 전송 매체는 동축 케이블; 컴퓨터 시스템 내 버스를 포함하는 와이어를 포함하는 구리선 및 광섬유를 포함한다. 반송파 전송 매체는 무선 주파수(RF) 및 적외선(IR) 데이터 통신 동안 생성되는 것과 같은 전기 또는 전자기 신호, 또는 음향 또는 광파의 형태를 취할 수 있다. 컴퓨터-판독가능한 매체의 공통 형태는 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광 매체, 홀 패턴을 갖는 임의의 다른 물리적 저장 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 반송파 전송 데이터 또는 명령, 이러한 반송파를 전송하는 케이블 또는 링크, 또는 컴퓨터가 프로그래밍 코드 및/또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 컴퓨터 판독가능한 매체의 많은 이들 형태는 실행할 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서에 전달하는 것을 수반할 수 있다.
이 기술 분야에 통상의 지식을 가진 자라면 전술된 내용이 최상의 형태와, 적절한 경우, 본 발명을 수행하는 다른 모드인 것으로 고려되는 것을 설명한 것이나, 본 발명은 바람직한 실시예의 상세한 설명에 개시된 특정 장치 구성 또는 방법 단계로 제한되어서는 안된다는 것을 이해할 수 있을 것이다. 본 명세서에 여러 변형이 이루어질 수 있고 본 명세서에 개시된 내용은 여러 형태와 예시로 구현될 수 있고, 개시 내용은 다수의 응용에 적용될 수 있으나, 단지 일부 내용만이 본 명세서에 설명된 것으로 이해된다. 제시된 개시 내용의 참된 범위 내에 있는 임의의 및 모든 응용, 변형, 및 변경을 청구하는 것은 이하 청구범위에서 의도된다. 이 기술 분야에 통상의 지식을 가진 자라면 본 발명이 넓은 응용 범위를 가지고 있고, 실시예들이 첨부된 청구범위에 한정된 본 발명의 개념을 벗어남이 없이 넓은 변경 범위를 취할 수 있다는 것을 인식할 수 있을 것이다.
본 발명은 특정 예시적인 실시예 측면에서 설명되었으나, 이하 청구범위에 제시된 본 발명의 범위를 벗어남이 없이 이 기술 분야에 통상의 지식을 가진 자에게는 본 명세서에 개시된 특징의 여러 변형, 변경 및/또는 조합이 명백할 것으로 이해된다.

Claims (105)

  1. 프로토콜 데이터 유닛 층(protocol data unit layer)을 구비하는 적어도 하나의 로그 소스(log source)를 포함하는 네트워크에서 로그 소스로부터 수신된 데이터를 로깅(logging)하는 장치로서,
    상기 장치는 상기 로그 소스로부터 수신된 데이터를 포맷하도록 구성되는 프로세서를 포함하되, 제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래하는 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키는 고유한 레코드 식별자(unique record identifier)로 인코딩된 로그 파일 데이터 포맷(log file data format)으로 상기 로그 소스로부터 수신된 데이터를 포맷하도록 구성되는 프로세서를 포함하는 것을 특징으로 하는 로깅 장치.
  2. 제1항에 있어서, 상기 제1 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(open systems interconnection: OSI) 프로토콜의 물리적 층인 것을 특징으로 하는 로깅 장치.
  3. 제1항에 있어서, 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 데이터 링크 층인 것을 특징으로 하는 로깅 장치.
  4. 제1항에 있어서, 상기 수신된 데이터는 다운링크 데이터이고 여기서 상기 데이터는 상기 제2 프로토콜 데이터 유닛 층으로부터 상기 제1 프로토콜 데이터 유닛 층으로 전달되는 것을 특징으로 하는 로깅 장치.
  5. 제1항에 있어서, 상기 수신된 데이터는 업링크 데이터이고 여기서 상기 데이터는 상기 제1 프로토콜 데이터 유닛 층으로부터 상기 제2 프로토콜 데이터 유닛 층으로 전달되는 것을 특징으로 하는 로깅 장치.
  6. 제1항에 있어서, 상기 제1 레코드의 레코드 데이터는 무선 링크 제어(radio link control: RLC) 데이터인 것을 특징으로 하는 로깅 장치.
  7. 제1항에 있어서, 상기 제2 레코드의 레코드 데이터는 매체 액세스 제어(media access control: MAC) 데이터인 것을 특징으로 하는 로깅 장치.
  8. 제1항에 있어서, 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 네트워크 층인 것을 특징으로 하는 로깅 장치.
  9. 제1항에 있어서, 상기 제1 레코드와 제2 레코드는 상이한 로그 소스로부터 수신된 것을 특징으로 하는 로깅 장치.
  10. 제1항에 있어서, 다수의 소스 프로토콜 데이터 유닛 층 레코드는 상기 제1 프로토콜 데이터 유닛 층 또는 제2 프로토콜 데이터 유닛 층을 통해 전송되는 것을 특징으로 하는 로깅 장치.
  11. 제1항에 있어서, 각 레코드는 상기 고유한 레코드 식별자를 포함하는 헤더와, 상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하고 데이터가 유래하는 로그 소스를 식별하기 위한 시간 식별자를 포함하는 것을 특징으로 하는 로깅 장치.
  12. 제1항에 있어서, 상기 고유한 레코드 식별자는 로그 소스로부터 유래하는 각 레코드로 증분된 카운터(counter)를 포함하는 것을 특징으로 하는 로깅 장치.
  13. 제1항에 있어서, 상기 로그 파일 데이터 포맷은 압축된 데이터 부분을 포함하는 것을 특징으로 하는 로깅 장치.
  14. 제1항에 있어서, 상기 로깅 장치는,
    상기 데이터가 상기 로그 소스에 로깅된 시간을 식별하기 위한 시간 식별자를 갖는, 상기 데이터를 인코딩하는 인코더와,
    데이터가 수신되는 로그 소스를 식별하기 위한 로그 소스 식별자를 더 포함하는 것을 특징으로 하는 로깅 장치.
  15. 제1항에 있어서, 상기 프로세서는 제1 로그 파일 데이터 포맷을 제2 로그 파일 데이터 포맷으로 재포맷(reformat)하도록 배열된 것을 특징으로 하는 로깅 장치.
  16. 제1항에 있어서, 상기 프로세서는 상기 로그 파일 데이터 포맷을 출력을 위해 로그 파일 뷰 데이터 포맷(log file view data format)으로 재포맷하도록 배열된 것을 특징으로 하는 로깅 장치.
  17. 제16항에 있어서, 상기 프로세서는 제1 프로토콜 데이터 유닛 층과 관련된 제1 데이터 레코드 없이 상기 로그 파일 뷰 데이터 포맷을 필터링된 포맷으로 포맷하도록 배열된 것을 특징으로 하는 로깅 장치.
  18. 제16항에 있어서, 상기 프로세서는 상기 로깅된 데이터의 출력 요청의 수신시 출력을 위해 상기 로그 파일 데이터 포맷을 상기 로그 파일 뷰 데이터 포맷으로 포맷하도록 구성되는 것을 특징으로 하는 로깅 장치.
  19. 제16항에 있어서, 상기 프로세서는 출력에 필요한 상기 로그 파일 뷰 데이터 포맷의 일부 세트를 로딩(load)하도록 배열된 것을 특징으로 하는 로깅 장치.
  20. 제19항에 있어서, 일부 세트가 로딩된 상기 로그 파일 뷰 데이터는 메모리에 캐싱되고 상기 프로세서는 출력에 필요한 언로딩된(unloaded) 로그 파일 뷰 데이터를 로딩하도록 배열된 것을 특징으로 하는 로깅 장치.
  21. 제20항에 있어서, 상기 프로세서는 미리 결정된 시간 후에 메모리에 캐싱된 로그 파일 뷰 데이터를 메모리로부터 제거하도록 배열된 것을 특징으로 하는 로깅 장치.
  22. 제1항에 있어서, 상기 로그 소스의 네트워크는 유저 장비에서 테스트 활동을 실행하는 모바일 통신 네트워크 시뮬레이션 테스트 시스템인 것을 특징으로 하는 로깅 장치.
  23. 제14항에 있어서, 상기 제1 레코드의 레코드 데이터와 제2 레코드의 레코드 데이터는 상기 로그 소스 식별자에 따라 배취(batched)되고 저장되는 것을 특징으로 하는 로깅 장치.
  24. 제1항에 있어서, 상기 로그 파일 데이터 포맷은 적어도 2개의 유형의 레코드 데이터, 즉 모바일 통신 네트워크 시뮬레이션 테스트 시스템의 제어 레코드와 관련된 제1 유형의 로그 데이터와, 유저 장비의 테스트의 데이터 레코드와 관련된 제2 유형의 로그 데이터로 배열된 것을 특징으로 하는 로깅 장치.
  25. 제1항에 있어서, 상기 로그 파일 데이터 포맷은 헤더를 포함하고 여기서 상기 헤더는 압축되지 않은 것을 특징으로 하는 로깅 장치.
  26. 제1항에 있어서, 상기 로그 파일 데이터 포맷은 임의의 순서로 혼합된 데이터 레코드와 제어 레코드를 갖는 데이터 및 제어 레코드 부분을 포함하는 것을 특징으로 하는 로깅 장치.
  27. 제1항에 있어서, 상기 로그 파일 데이터 포맷은 트리거 이벤트(trigger event)에 따라 배취된 것을 특징으로 하는 로깅 장치.
  28. 제27항에 있어서, 상기 트리거 이벤트는 미리 결정된 시간에 기초하는 것을 특징으로 하는 로깅 장치.
  29. 제1항에 있어서, 상기 장치는 프로토콜 데이터 유닛 층을 구비하는 상기 로그 소스로부터 수신된 데이터를 로깅하도록 구성되는 로깅 서버(logging server)인 것을 특징으로 하는 로깅 장치.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 디바이스의 프로세서에서 실행 가능한 명령을 저장하는 컴퓨터 판독가능한 비-일시적인(not-transitory) 저장 매체로서,
    상기 명령은, 스크린 디스플레이를 갖는 네트워크 디바이스에서 로그 소스로부터 수신된 데이터를 로깅하기 위한 장치에 의해 실행될 때, 상기 장치로 하여금 프로토콜 데이터 유닛 층을 구비하는 적어도 하나의 로그 소스를 포함하는 네트워크에서 로그 소스로부터 수신된 로그 데이터를 포맷하는 방법을 수행하게 하되,
    상기 방법은,
    로그 소스로부터 상기 로그 데이터를 수신하는 단계; 및
    제1 프로토콜 데이터 유닛 층으로부터 유래하는 제1 레코드의 레코드 데이터와, 상기 제1 프로토콜 데이터 유닛 층과는 상이한 제2 프로토콜 데이터 유닛 층으로부터 유래한 제2 레코드의 레코드 데이터를 식별하고 이들 사이를 연관시키기 위해 로그 파일 데이터 포맷으로 인코딩된 고유한 레코드 식별자로 상기 수신된 로그 데이터를 로그 파일 포맷으로 포맷하는 단계를 포함하는 것을 특징으로 하는 저장 매체.
  48. 제47항에 있어서, 상기 제1 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 물리적 층인 것을 특징으로 하는 저장 매체.
  49. 제47항에 있어서, 상기 제2 프로토콜 데이터 유닛 층은 개방 시스템 상호 연결(OSI) 프로토콜의 데이터 링크 층인 것을 특징으로 하는 저장 매체.
  50. 제47항에 있어서, 상기 데이터를 다운링크 데이터로 수신하는 단계를 포함하고 여기서 상기 데이터는 상기 제2 프로토콜 데이터 유닛 층으로부터 상기 제1 프로토콜 데이터 유닛 층으로 전달되는 것을 특징으로 하는 저장 매체.
  51. 제47항에 있어서, 상기 데이터를 업링크 데이터로 수신하는 단계를 포함하고 여기서 상기 데이터는 상기 제1 프로토콜 데이터 유닛 층으로부터 상기 제2 프로토콜 데이터 유닛 층으로 전달되는 것을 특징으로 하는 저장 매체.
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
  105. 삭제
KR1020157036012A 2013-05-30 2014-05-27 데이터 레코드를 로깅하는 방법 및 장치 KR102213693B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1309656.5 2013-05-30
GB1309656.5A GB2514590B (en) 2013-05-30 2013-05-30 Method and apparatus for logging data records
PCT/GB2014/051611 WO2014191728A1 (en) 2013-05-30 2014-05-27 Method and apparatus for logging data records

Publications (2)

Publication Number Publication Date
KR20160013100A KR20160013100A (ko) 2016-02-03
KR102213693B1 true KR102213693B1 (ko) 2021-02-05

Family

ID=48805477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036012A KR102213693B1 (ko) 2013-05-30 2014-05-27 데이터 레코드를 로깅하는 방법 및 장치

Country Status (7)

Country Link
US (1) US20160110359A1 (ko)
KR (1) KR102213693B1 (ko)
CN (1) CN105519172B (ko)
DE (1) DE112014002585T5 (ko)
GB (1) GB2514590B (ko)
TW (1) TW201518941A (ko)
WO (1) WO2014191728A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11539454B2 (en) * 2014-12-31 2022-12-27 Arris Enterprises Llc Service validation using emulated virtual clients
CN106033458A (zh) * 2015-03-18 2016-10-19 中兴通讯股份有限公司 一种大数据处理方法、装置及系统
CN106162675A (zh) * 2015-03-25 2016-11-23 中兴通讯股份有限公司 一种基于来电提醒的数据处理方法、装置及系统
US10382310B2 (en) * 2015-04-01 2019-08-13 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method for efficiently processing measuring results
GB2544713B (en) * 2015-08-17 2018-06-13 Nextgen Tech Ltd In-vehicle infotainment system interoperability testing device
TWI641247B (zh) * 2017-03-23 2018-11-11 瑞軒科技股份有限公司 訊息處理方法
JP2018195027A (ja) * 2017-05-16 2018-12-06 富士通株式会社 分析システム、分析方法及び分析プログラム
CN107908697B (zh) * 2017-11-03 2022-01-14 中国银行股份有限公司 主机批处理作业结果的自动采集方法及装置
CN107908513A (zh) * 2017-11-14 2018-04-13 郑州云海信息技术有限公司 一种存储介质和存储设备性能的测试方法、装置及设备
CN108062368B (zh) * 2017-12-08 2021-05-07 北京百度网讯科技有限公司 全量数据翻译方法、装置、服务器及存储介质
CN108123840A (zh) * 2017-12-22 2018-06-05 中国联合网络通信集团有限公司 日志处理方法及系统
CN108255688B (zh) * 2018-01-05 2021-05-28 武汉斗鱼网络科技有限公司 应用程序日志的显示方法、存储介质、电子设备及系统
CN110362547B (zh) * 2018-04-02 2023-10-03 杭州阿里巴巴智融数字技术有限公司 日志文件的编码、解析、存储方法和装置
CN112559333B (zh) * 2020-12-10 2022-05-20 武汉联影医疗科技有限公司 日志生产方法、装置、计算机设备和存储介质
US11853040B2 (en) * 2021-06-28 2023-12-26 Rockwell Automation Technologies, Inc. Proxy system for system log messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130314214A1 (en) 2012-05-24 2013-11-28 Research In Motion Limited Creation and management of near field communications tags
US20140066107A1 (en) 2012-09-05 2014-03-06 Intel Mobile Communications GmbH Communication device, mobile terminal method for requesting information and method for providing information

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912486B2 (en) * 2003-06-17 2005-06-28 Nokia Inc. System and method for monitoring network appliances using well-formatted data files
WO2005093576A1 (en) * 2004-03-28 2005-10-06 Robert Iakobashvili Visualization of packet network performance, analysis and optimization for design
US7487396B2 (en) * 2004-10-15 2009-02-03 Broadcom Corporation System and method to locate and correct software errors within a protocol stack for wireless devices
WO2006081215A2 (en) * 2005-01-24 2006-08-03 Daintree Networks Pty.Ltd. Network analysis system and method
US8001075B2 (en) * 2007-06-01 2011-08-16 Microsoft Corporation Log file amnesia detection
US7702694B1 (en) * 2007-09-07 2010-04-20 Southern Company Services, Inc. System and method for organizing managing and accessing large quantities of data from non-homogenous data sources
WO2009103340A1 (en) * 2008-02-21 2009-08-27 Telefonaktiebolaget L M Ericsson (Publ) Data retention and lawful intercept for ip services
SE532053C2 (sv) * 2008-02-22 2009-10-13 Tetra Laval Holdings & Finance Inlopp för en tank
US8086701B2 (en) * 2008-04-28 2011-12-27 Microsoft Corporation Platform for managing and configuring network state
US8259600B1 (en) * 2008-06-13 2012-09-04 Clearwire Ip Holdings Llc Air interface quality
JP5451277B2 (ja) * 2009-09-14 2014-03-26 キヤノン株式会社 管理装置、情報処理装置、ログ情報管理方法、及びコンピュータプログラム
US20120005152A1 (en) * 2010-07-01 2012-01-05 Peter Westen Merged Event Logs
US8380091B2 (en) * 2010-07-30 2013-02-19 Eastman Kodak Company Resonant-frequency measurement of electrophotographic developer density
US20120054675A1 (en) * 2010-08-26 2012-03-01 Unisys Corporation Graphical user interface system for a log analyzer
WO2012110958A1 (en) * 2011-02-14 2012-08-23 Telefonaktiebolaget L M Ericsson (Publ) Backwards-compatible approach to fields of a protocol layer
US20130029781A1 (en) * 2011-07-29 2013-01-31 Cobra Golf Incorporated Golf club with selected length to weight ratio
US8769345B2 (en) * 2011-07-29 2014-07-01 General Electric Company Computing device and methods of presenting data to identify faults within power systems
US9686169B2 (en) * 2012-07-02 2017-06-20 Ixia Real-time highly accurate network latency measurement with low generated traffic or data requirements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130314214A1 (en) 2012-05-24 2013-11-28 Research In Motion Limited Creation and management of near field communications tags
US20140066107A1 (en) 2012-09-05 2014-03-06 Intel Mobile Communications GmbH Communication device, mobile terminal method for requesting information and method for providing information

Also Published As

Publication number Publication date
GB2514590B (en) 2016-01-06
DE112014002585T5 (de) 2016-03-31
CN105519172B (zh) 2019-08-09
GB2514590A (en) 2014-12-03
KR20160013100A (ko) 2016-02-03
US20160110359A1 (en) 2016-04-21
CN105519172A (zh) 2016-04-20
TW201518941A (zh) 2015-05-16
GB201309656D0 (en) 2013-07-17
WO2014191728A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
KR102213693B1 (ko) 데이터 레코드를 로깅하는 방법 및 장치
CN107872823B (zh) 识别移动边缘计算环境中通信操作模式的方法和系统
US10104672B2 (en) Method and a system for identifying operating modes of communications in mobile edge computing environment
US7904580B2 (en) Digital media player exposing operational state data
CN104412276B (zh) 基于规则控制电子签名交易的保管权的系统和方法
KR20170097414A (ko) 전자 장치 및 그의 동작 방법
US10560407B2 (en) Payload description for computer messaging
US20120036275A1 (en) Message traffic interception system
CN112689005B (zh) 消息发送方法及装置、存储介质、电子装置
KR102461022B1 (ko) 로그 데이터 분석 방법 및 장치
CN109254914A (zh) 软件开发包测试方法、系统、计算机装置及可读存储介质
CN104253842A (zh) 同步终端镜像的方法、装置、终端及服务器
US20180255135A1 (en) Computer Device for Distributed Processing
US9582561B2 (en) Size-based data synchronization
US20110093524A1 (en) Access log management method
US20170075748A1 (en) System for monitoring a plurality of distributed devices
CN114173087A (zh) 视频数据获取及处理方法、边缘网关及存储介质
CN105119764A (zh) 用于流量监控的方法和装置
CN110489304B (zh) 系统间资源访问状态的监控方法和装置
CN115134254A (zh) 一种网络模拟方法、装置、设备及存储介质
CN111935316B (zh) 一种前端设备目录获取方法及装置
EP3316141A1 (en) Method and system for determining performance of an application installed on mobile stations
CN111538660A (zh) 云上容器内程序代码覆盖率统计方法及装置
CN108243091B (zh) 一种信息共享装置和信息共享方法
CN111447490A (zh) 流媒体文件处理方法及装置

Legal Events

Date Code Title Description
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