KR20060057008A - Method and system for monitoring communication and monitoring protocol - Google Patents

Method and system for monitoring communication and monitoring protocol Download PDF

Info

Publication number
KR20060057008A
KR20060057008A KR1020067004798A KR20067004798A KR20060057008A KR 20060057008 A KR20060057008 A KR 20060057008A KR 1020067004798 A KR1020067004798 A KR 1020067004798A KR 20067004798 A KR20067004798 A KR 20067004798A KR 20060057008 A KR20060057008 A KR 20060057008A
Authority
KR
South Korea
Prior art keywords
monitoring
message
data
monitoring data
protocol
Prior art date
Application number
KR1020067004798A
Other languages
Korean (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 KR20060057008A publication Critical patent/KR20060057008A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

A method, system and monitoring protocol for monitoring of software processes when communications other than network interfaces are used during communication in a mobile telecommunication system. In the invention monitoring data is captured in at least one process and serialized. The monitoring data is then encapsulated to at least one data packet and sent to a monitoring endpoint outside the at least one process. A monitoring tool captures the monitoring data from the monitoring endpoint and processes it further.

Description

통신을 모니터링하는 방법 및 시스템 및 모니터링 프로토콜{METHOD AND SYSTEM FOR MONITORING COMMUNICATION AND MONITORING PROTOCOL}METHOD AND SYSTEM FOR MONITORING COMMUNICATION AND MONITORING PROTOCOL}

본 발명은 이동 통신 시스템에 관한 것이다. 특히, 본 발명은 네트워크 인터페이스 이외의 통신이 이동 통신 시스템에서의 통신 동안 사용될 때 소프트웨어 프로세스를 모니터링하는 신규하고 개선된 방법 및 시스템에 관한 것이다. 부가하여, 프로토콜의 모니터링이 개시된다.The present invention relates to a mobile communication system. In particular, the present invention relates to a novel and improved method and system for monitoring a software process when communication other than a network interface is used during communication in a mobile communication system. In addition, monitoring of the protocol is initiated.

상이한 엔터티 사이(예를 들어, 네트워크 엘리먼트, 컴퓨터 유닛, 소프트웨어 구성요소, 프로세스 등)의 통신 메시지를 모니터링하는 것은 통상적으로 통신 네트워크 요소 소프트웨어에서의 에러를 추적하는데 중요한 역할을 한다. 모니터링을 통한 에러 추적은 라이브(live) 네트워크 환경에서 문제가 발생할 때 특히 중요하다.Monitoring communication messages between different entities (eg, network elements, computer units, software components, processes, etc.) typically plays an important role in tracking errors in communication network element software. Error tracking through monitoring is especially important when problems occur in live network environments.

프로세스 사이의 통신을 모니터링하는 많은 도구가 있다. 일반적으로, 이러한 도구는 전송된 데이터를 캡쳐링하는 사상에 근거한다. 따라서, 트래픽 모니터링은 네트워크 인터페이스 레벨에서 실행될 수 있다. 이는 일반성 및 모니터링 기능으로의 애플리케이션의 연관 회피의 견지에서 가장 비용-효율적인 방법이다. 네트워크 인터페이스 레벨 해결을 위해, 네트워크 인터페이스를 사용하는 데이터 통신 이 사용될 수 있는 강력하고 상세한 상업적 모니터링 도구가 제공된다. 모니터링은 예를 들어 특정 IP (인터넷 프로토콜) 주소, 포트, 프로토콜 등에 기반하여 이루어질 수 있다.There are many tools for monitoring communication between processes. In general, such a tool is based on the idea of capturing transmitted data. Thus, traffic monitoring can be performed at the network interface level. This is the most cost-effective method in terms of avoiding the association of applications to generality and monitoring functions. To solve the network interface level, a powerful and detailed commercial monitoring tool is provided in which data communication using the network interface can be used. Monitoring can be based on, for example, specific IP (Internet Protocol) addresses, ports, protocols and the like.

그러나, 고성능 통신 애플리케이션에서, (성능 실현을 위해) 프로세스 내부에 포함된 많은 기능이 있을 수 있다. 나아가, 프로세스 내부의 엔터티는 서로와 많은 통신을 행할 수 있다. 개발 및 오류수정(troubleshooting)을 용이하게 하기 위해, 프로세스 내(intra process) 통신 흐름을 모니터링할 수 있도록 하는 것이 필수적이다.However, in high performance communication applications, there may be many functions contained within the process (to achieve performance). In addition, the entities within a process can communicate a lot with each other. In order to facilitate development and troubleshooting, it is essential to be able to monitor the flow of intra process communications.

예를 들어 에러 추적 및 오류수정을 모니터링하는 것은 보통 예를 들어 콘솔 인쇄출력(printout) 또는 파일 로깅(logging)으로써 실행을 디버깅(debugging)하거나, 로깅하거나 추적하는 것에 기반한다. 이러한 수단은 실시간 실행 속도가 필수적인 요건이 아닌 개발 시간에서 적용가능하다. 불행히도, 이러한 수단은 실제 실시간 네트워크 환경에서, 또는 실시간 실행이 양보될 수 없는 경우의 오류수정을 위해 적용가능하지 않다.For example, monitoring error tracing and error correction is usually based on debugging, logging, or tracing execution, for example, by console printout or file logging. This means is applicable at development time where real-time execution speed is not an essential requirement. Unfortunately, such measures are not applicable in real-time network environments or for error correction when real-time execution cannot be yielded.

상이한 네트워크 프로토콜의 최상부 상의 트랜스포트(transport) 네트워크 인터페이스를 사용하지 않는 프로세스의 모니터링은 네트워크 인터페이스 레벨에서 데이터를 캡쳐링하는 것에 기반하는 모니터링 도구를 사용하여 가능하지 않다. 통신 당사자가 동일한 프로세스에 상주하는 경우, 더 일반적으로, 통신이 네트워크 인터페이스를 사용하지 않는 경우(예를 들어, 공유 메모리, UNIX 소켓, 프로세스의 범용 메모리 등), 이러한 모니터링 접근방법은 사용될 수 없다. 이러한 경우에, 프 로세스 또는 예를 들어 객체(object)와 같은 엔터티 사이의 메시지 송수신은 네트워크 인터페이스 레벨에서 전혀 수행되지 않고, 메시지 모니터링은 종래 수단을 사용하여 실행될 수 없다.Monitoring of processes that do not use a transport network interface on top of different network protocols is not possible using a monitoring tool based on capturing data at the network interface level. If the communicating parties reside in the same process, more generally, if the communication does not use a network interface (eg, shared memory, UNIX sockets, general purpose memory of the process, etc.) this monitoring approach cannot be used. In this case, message transmission and reception between a process or an entity, for example an object, is not performed at the network interface level at all, and message monitoring cannot be performed using conventional means.

나아가, 본질적으로 실시간인 통신 객체의 인스턴스 데이터(instance data)의 모니터링은 종래의 모니터링 소프트웨어 수단을 사용하여 가능하지 않다. 인스턴스 데이터는 또한 예를 들어 통신 객체가 상태 기계 객체인 경우의 데이터를 표시하는 상태를 의미할 수 있다.Furthermore, monitoring of instance data of communication objects that are essentially real time is not possible using conventional monitoring software means. Instance data may also refer to a state representing data when, for example, the communication object is a state machine object.

본 발명의 일실시예에 따라, 네트워크 인터페이스 이외의 통신이 이동 통신 시스템에서의 통신 동안 사용될 때 소프트웨어 프로세스를 모니터링하는 방법에 제공된다. 본 방법은 적어도 하나의 프로세스에서 모니터링 데이터(monitoring data)를 캡쳐링하는 단계와, 상기 모니터링 데이터를 직렬화(serializing)하는 단계와. 상기 직렬화된 모니터링 데이터를 적어도 하나의 데이터 패킷에 캡슐화(encapsulating)하는 단계와, 상기 적어도 하나의 프로세스로부터 상기 적어도 하나의 프로세스 외부의 모니터링 말단(monitoring endpoint)으로 상기 직렬화된 모니터링 데이터를 포함하는 적어도 하나의 캡슐화된 데이터 패킷을 전송하는 단계를 포함한다.According to one embodiment of the invention, a method is provided for monitoring a software process when communication other than a network interface is used during communication in a mobile communication system. The method includes capturing monitoring data in at least one process, and serializing the monitoring data. Encapsulating the serialized monitoring data into at least one data packet and at least one comprising the serialized monitoring data from the at least one process to a monitoring endpoint external to the at least one process. Transmitting the encapsulated data packet of the.

일실시예에서, 본 방법은 모니터링 애플리케이션으로써 상기 모니터링 말단으로 전송된 상기 적어도 하나의 캡슐화된 데이터 패킷을 캡쳐링하는 단계와 상기 적어도 하나의 캡슐화된 데이터 패킷으로부터 상기 모니터링 데이터를 분해(resolving)하는 추가로 단계를 포함한다.In one embodiment, the method further comprises capturing the at least one encapsulated data packet sent to the monitoring end with a monitoring application and further resolving the monitoring data from the at least one encapsulated data packet. Step by step.

일실시예에서, 상기 모니터링 데이터는 프로세스간 통신(inter process communication)을 포함하는 통신과 관련된다.In one embodiment, the monitoring data is associated with a communication including inter process communication.

다른 실시예에서, 상기 모니터링 데이터는 프로세스 내부 통신(intra process communication)과 관련된다.In another embodiment, the monitoring data is related to intra process communication.

일실시예에서, 상기 모니터링 데이터는 다음의 정보 단편들: 상기 적어도 하나의 프로세스의 상태, 적어도 하나의 프로세스로의 전송 메시지 또는 전송 메시지들, 상기 적어도 하나의 프로세스에서 수신된 메시지 또는 수신된 메시지들, 상기 적어도 하나의 프로세스로부터 미리결정된 수신기로의 전송 메시지 또는 전송 메시지들, 상기 적어도 하나의 프로세스에서 미리결정된 송신기로부터의 수신 메시지 또는 메시지들, 및 상기 적어도 하나의 프로세스에 의해 처리된(handled) 메시지 또는 메시지들 중 적어도 하나를 의미한다. 일실시예에서, 처리된 메시지는 수신되고 취급된 메시지를 의미한다. 나아가, 수신 메시지는 아직 처리되지 않은 메시지를 의미한다.In one embodiment, the monitoring data comprises the following pieces of information: the state of the at least one process, a transfer message or transfer messages to at least one process, a message received or received from the at least one process. A transmission message or transmission messages from the at least one process to a predetermined receiver, a reception message or messages from a predetermined transmitter in the at least one process, and a message handled by the at least one process Or at least one of the messages. In one embodiment, processed message means received and handled message. Furthermore, the received message means a message that has not yet been processed.

일실시예에서, 상기 캡쳐링하는 단계는 상기 적어도 하나의 프로세스의 적어도 하나의 객체의 모니터링 데이터를 캡쳐링하는 단계를 포함한다. 상기 모니터링 데이터는 다음의 정보 단편들: 상기 적어도 하나의 객체의 상태, 상기 적어도 하나의 객체의 인스턴스 데이터, 상기 적어도 하나의 객체로의 송신 메시지 또는 메시지들, 상기 적어도 하나의 객체에서의 수신 메시지 또는 메시지들, 상기 적어도 하나의 객체로부터 미리 결정된 수신기로의 송신 메시지 또는 메시지들, 상기 적어도 하나의 객체에서의 미리 결정된 송신기로부터의 수신 메시지 또는 메시지들, 및 상기 적어도 하나의 객체에 의해 처리된 메시지 또는 메시지들 중 적어도 하나를 의미할 수 있다.In one embodiment, the capturing comprises capturing monitoring data of at least one object of the at least one process. The monitoring data may comprise the following pieces of information: the state of the at least one object, the instance data of the at least one object, the transmission message or messages to the at least one object, the received message at the at least one object or Messages, messages or messages sent from the at least one object to a predetermined receiver, messages or messages received from a predetermined transmitter at the at least one object, and messages processed by the at least one object or It may mean at least one of the messages.

일 실시예에서, 상기 직렬화 단계는 정의 언어(definition language)를 사용하여 상기 모니터링 데이터를 직렬화하는 단계를 포함한다. 상기 직렬화 단계는 예를 들어 정의 언어를 사용하여 모니터링 데이터를 정의하는 단계 또는 정의 언어로부터 생성된 직렬화 코드를 사용하여 모니터링 데이터를 직렬화하는 단계를 포함한다. 상기 정의 언어는 예를 들어 객체 관리 그룹(Object Management Group, OMG) 인터페이스 정의 언어(Interface Definition Language)이다.In one embodiment, the serializing step includes serializing the monitoring data using a definition language. The serializing step includes, for example, defining the monitoring data using a definition language or serializing the monitoring data using serialization code generated from the definition language. The definition language is, for example, an Object Management Group (OMG) Interface Definition Language.

일실시예에서, 상기 모니터링 데이터를 직렬화하는 단계 이후에, 본 방법은 모니터링 프로토콜에 따라 상기 모니터링 데이터를 인코딩하는 단계를 추가로 포함한다. 상기 모니터링 데이터는 예를 들어 범용 객체 간 요구 브로커 프로토콜(General Inter Object Request Broker Protocol)에 따라 인코딩될 수 있다.In one embodiment, after serializing the monitoring data, the method further comprises encoding the monitoring data according to a monitoring protocol. The monitoring data may be encoded according to, for example, the General Inter Object Request Broker Protocol.

일실시예에서, 상기 범용 객체 간 요구 브로커 프로토콜에 따라 모니터링 데이터를 인코딩하는 단계는 범용 객체 간 요구 브로커 프로토콜 패킷의 범용 객체 간 요구 브로커 프로토콜 요구 헤더의 객체 키와 동작 필드, 및 상기 모니터링 데이터를 전달하는 범용 객체 간 요구 브로커 프로토콜 요구 바디(body)를 재사용하는 단계를 포함한다.In one embodiment, the encoding of the monitoring data according to the inter-object request broker protocol transfers an object key and an action field of the request broker protocol request header of the inter-object object in the inter-object request broker protocol packet, and the monitoring data. Reusing a general purpose inter-object request broker protocol request body.

본 발명의 제 2 실시예에 따라, 이동 통신 시스템의 프로세스의 모니터링 데이터를 전달하기 위한 모니터링 프로토콜이 제공되고, 여기에서 모니터링 프로토콜 패킷은 적어도 사용된 프로토콜의 식별자 필드, 메시지 크기 필드, 메시지 식별자 필드, 정보 크기 필드 및 정보 필드를 포함하는 프로토콜 헤더, 및 모니터링 페이로드 데이터를 포함하는 모니터링 바디를 포함한다.According to a second embodiment of the invention, a monitoring protocol for delivering monitoring data of a process of a mobile communication system is provided, wherein the monitoring protocol packet comprises at least an identifier field, a message size field, a message identifier field, A protocol header comprising an information size field and an information field, and a monitoring body containing monitoring payload data.

일실시예에서, 모니터링 바디는 직렬화된 바이트 스트림으로서 모니터링 데이터를 포함한다. 직렬화된 바이트 스트림은 예를 들어 인터페이스 정의 언어와 같은 정의 언어를 사용하여 직렬화될 수 있다.In one embodiment, the monitoring body includes monitoring data as a serialized byte stream. The serialized byte stream can be serialized using a definition language such as, for example, an interface definition language.

본 발명의 제 3 실시예에 따라, 이동 통신 시스템에서의 통신 동안 네트워크 인터페이스 이외의 통신이 사용될 때 소프트웨어 프로세스를 모니터링하는 시스템이 제공되고, 여기에서 본 시스템은 적어도 하나의 프로세스에서 모니터링 데이터를 캡쳐링하는 캡쳐링 수단과, 상기 모니터링 데이터를 직렬화하는 직렬화 수단과, 상기 직렬화된 모니터링 데이터를 적어도 하나의 데이터 패킷으로 캡슐화하는 캡슐화 수단과, 상기 적어도 하나의 프로세스로부터 상기 적어도 하나의 프로세스 외부의 모니터링 말단으로 상기 직렬화된 모니터링 데이터를 포함하는 적어도 하나의 캡슐화된 데이터 패킷을 전송하는 전송 수단을 포함한다.According to a third embodiment of the invention, there is provided a system for monitoring a software process when communication other than a network interface is used during communication in a mobile communication system, wherein the system captures monitoring data in at least one process. Capturing means, serializing means for serializing the monitoring data, encapsulating means for encapsulating the serialized monitoring data into at least one data packet, and from the at least one process to a monitoring end outside the at least one process. Means for transmitting at least one encapsulated data packet comprising said serialized monitoring data.

일실시예에서, 본 시스템은 모니터링 애플리케이션으로써 상기 모니터링 말단으로 전송된 적어도 하나의 캡슐화된 데이터 패킷을 캡쳐링하는 캡쳐링 수단과, 상기 적어도 하나의 캡슐화된 데이터 패킷으로부터 상기 모니터링 데이터를 분해하는 분해 수단을 추가로 포함한다.In one embodiment, the system comprises capturing means for capturing at least one encapsulated data packet sent to the monitoring end as a monitoring application and decomposing means for decomposing the monitoring data from the at least one encapsulated data packet. It further includes.

일실시예에서, 상기 모니터링 데이터는 프로세스 간 통신을 포함하는 통신에 관한 것이다.In one embodiment, the monitoring data relates to communication including interprocess communication.

다른 실시예에서, 상기 모니터링 데이터는 프로세스 내부 통신을 포함하는 통신에 관한 것이다.In another embodiment, the monitoring data relates to communication including in-process communication.

일실시예에서, 상기 모니터링 데이터는 상기 적어도 하나의 프로세스의 다음의 정보 상태 단편들인, 상기 적어도 하나의 프로세스로 전송된 메시지 또는 메시지들, 상기 적어도 하나의 프로세스에서 수신된 메시지 또는 메시지들, 상기 적어도 하나의 프로세스로부터 미리 결정된 수신기에 전송된 메시지 또는 메시지들, 상기 적어도 하나의 프로세스에서 미리 결정된 송신기로부터 수신된 메시지 또는 메시지들, 및 상기 적어도 하나의 프로세스에 의해 처리된 메시지 또는 메시지들 중 적어도 하나를 의미한다.In one embodiment, the monitoring data is a message or messages sent to the at least one process, messages or messages received in the at least one process, the next informational state fragments of the at least one process, the at least At least one of a message or messages sent from one process to a predetermined receiver, a message or messages received from a predetermined transmitter in the at least one process, and a message or messages processed by the at least one process it means.

일실시예에서, 상기 캡쳐링 수단은 상기 적어도 하나의 프로세스의 적어도 하나의 객체의 모니터링 데이터를 캡쳐링하도록 구성된다.In one embodiment, the capturing means is configured to capture monitoring data of at least one object of the at least one process.

일실시예에서, 상기 모니터링 데이터는 상기 적어도 하나의 객체의 다음의 정보 상태 단편들인, 상기 적어도 하나의 객체의 인스턴스 데이터, 상기 적어도 하나의 객체로 전송된 메시지 또는 메시지들, 상기 적어도 하나의 객체에서 수신된 메시지 또는 메시지들, 상기 적어도 하나의 객체로부터 미리 결정된 수신기로 전송된 메시지 또는 메시지들, 상기 적어도 하나의 객체에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들, 및 상기 적어도 하나의 객체에 의해 처리된 메시지 또는 메시지들 중에서 적어도 하나를 의미한다.In one embodiment, the monitoring data is instance data of the at least one object, a message or messages sent to the at least one object, the at least one object being subsequent informational state fragments of the at least one object. A message or messages received, a message or messages sent from the at least one object to a predetermined receiver, a message or messages received from a predetermined transmitter at the at least one object, and processed by the at least one object It means at least one of the message or messages.

일실시예에서, 상기 직렬화 수단은 예를 들어 인터페이스 정의 언어와 같은 정의 언어를 사용하여 상기 모니터링 데이터를 직렬화하도록 구성된다.In one embodiment, the serialization means is configured to serialize the monitoring data using a definition language such as, for example, an interface definition language.

일실시예에서, 본 시스템은 모니터링 프로토콜에 따라 상기 모니터링 데이터를 인코딩하는 인코딩 수단을 추가로 포함한다. 상기 인코딩 수단은 범용 객체 간 요구 브로커 프로토콜에 따라 상기 모니터링 데이터를 인코딩하도록 구성될 수 있다. 상기 인코딩 수단은 범용 객체 간 요구 브로커 프로토콜 데이터 패킷의 범용 객체 간 요구 브로커 프로토콜 요구 헤더 및 상기 모니터링 데이터를 전달하는 범용 객체 간 요구 브로커 프로토콜 요구 바디의 객체 키와 동작 키 필드를 재사용하는 범용 객체 간 요구 브로커 프로토콜에 따라 상기 모니터링 데이터를 인코딩하도록 구성될 수 있다.In one embodiment, the system further comprises encoding means for encoding the monitoring data according to a monitoring protocol. The encoding means may be configured to encode the monitoring data according to a universal inter-object request broker protocol. The encoding means is a universal inter-object request broker protocol data header of a universal inter-object request broker protocol data packet and a universal inter-object request that reuses an object key and an action key field of the request broker protocol request body that carries the monitoring data. It may be configured to encode the monitoring data according to a broker protocol.

본 발명은 종래 기술의 해결책보다 다양한 장점을 갖는다. 본 발명은 실시간 에러 추적 및 고장수리를 가능하게 한다. 나아가, 본 발명은 네트워크 인터페이스가 트랜스포트 인터페이스로서 사용되지 않을 때 통신을 모니터링할 수 있는 해결책을 제공한다. 만일 모니터링 기능이 특정 라이브러리 함수(library function)를 사용하여 실행된다면, 상기 메시징 라이브러리(messaging library)는 상기 모니터링된 프로세스 또는 객체를 포함하는 애플리케이션으로부터 모니터링과 관련된 통신을 캡슐화하고, 이에 따라 상기 애플리케이션에 투명한(transparent) 메시지 모니터링을 지원하게 된다.The present invention has various advantages over the prior art solutions. The present invention enables real time error tracking and troubleshooting. Furthermore, the present invention provides a solution capable of monitoring communication when the network interface is not used as a transport interface. If the monitoring function is executed using a specific library function, the messaging library encapsulates the communication related to monitoring from the application containing the monitored process or object and thus is transparent to the application. (transparent) Supports message monitoring.

본 발명의 추가적인 이해를 제공하기 위해 포함되고 본 명세서의 일부를 구성하는 첨부 도면은 본 발명의 실시예를 도시하고, 실시예와 함께 본 발명의 원리를 설명하는 것을 돕는다.The accompanying drawings, which are incorporated in and constitute a part of this specification, to provide a further understanding of the invention, illustrate embodiments of the invention, and together with the embodiments help explain the principles of the invention.

도 1a는 본 발명에 따라 상이한 프로세스 사이의 통신을 모니터링하는 것을 도시하고,1A illustrates monitoring communication between different processes in accordance with the present invention,

도 1b는 본 발명에 따라 프로세스 내의 상이한 객체들 사이의 통신을 모니터링하는 것을 도시하고,1B illustrates monitoring communication between different objects in a process in accordance with the present invention,

도 2는 본 발명에 따라 모니터링 정보를 전달할 때 사용된 범용 ORB간 프로토콜(GIOP) 메시지의 메시지 구조를 도시하며,2 shows a message structure of a universal inter-ORB protocol (GIOP) message used when conveying monitoring information in accordance with the present invention;

도 3은 본 발명에 따라 모니터링 정보를 전달할 때 사용된 모니터링 프로토콜 메시지의 메시지 구조를 도시한다.3 shows the message structure of a monitoring protocol message used when conveying monitoring information in accordance with the present invention.

본 발명의 실시예에 대해 상세한 참조가 이루어질 것이고, 이의 예는 첨부 도면에 도시되어 있다.DETAILED DESCRIPTION Reference will now be made in detail to embodiments of the invention, examples of which are illustrated in the accompanying drawings.

도 1a는 2개의 프로세스(10, 12) 사이의 통신이 모니터링되는 본 발명의 실시예를 설명한다. 모니터링 데이터는 모니터링 말단(14)으로 전송된다. 모니터링 말단(14)은 예를 들어 미리정의된 IP(인터넷 프로토콜) 주소, 포트 등을 의미한다. 용어 '모니터링 말단'은 또한 예를 들어 모니터링 데이터가 기록되고 모니터링 도구가 상기 모니터링 데이터를 판독할 수 있는 파일 또는 공유된 메모리 세그먼트를 의미할 수 있다. 프로세스(10, 12)를 포함하는 애플리케이션은 동시에 다수의 모니터링 말단(s); 전용의 전용 말단이 개방되도록 할 수 있다(도 1b 참조). 그 후에 모니터링 도구(16)는 자신을 모니터링 말단(14)에 부착시키고 상기 말단에 전송된 데이터를 캡쳐링한다. 모니터링 도구(16)는 예를 들어 이더리얼(Ethereal)과 같은 상업적으로 이용가능한 모니터링 도구 또는 전용 모니터링 도구일 수 있다. 이더리얼은 라이브 네트워크로부터의 데이터 또는 디스크 상의 캡쳐 파일(capture file)로부터의 데이터를 조사할 수 있는 네트워크 프로토콜 분석기이다. 이더리얼을 사용하여, 캡쳐링된 데이터를 브라우징하고 각각의 패킷에 대한 요약 및 상세 정보를 볼 수 있다.1A illustrates an embodiment of the present invention in which communication between two processes 10, 12 is monitored. Monitoring data is sent to the monitoring end 14. The monitoring end 14 means, for example, a predefined IP (Internet Protocol) address, port, or the like. The term 'monitoring end' may also refer to a file or shared memory segment, for example, where monitoring data is recorded and a monitoring tool can read the monitoring data. An application comprising processes 10 and 12 simultaneously comprises a plurality of monitoring end s; Dedicated dedicated ends may be opened (see FIG. 1B). The monitoring tool 16 then attaches itself to the monitoring end 14 and captures the data sent to that end. The monitoring tool 16 may be a commercially available monitoring tool such as Ethereous or a dedicated monitoring tool. Ethereal is a network protocol analyzer that can examine data from live networks or data from capture files on disk. Using Ethereal, you can browse the captured data and view summary and detailed information for each packet.

도 1a에 개시되어 있지는 않지만, 프로세스(10 및 12)는 다른 프로세스 객체와의 실제 통신을 수행하는 하나 이상의 객체를 포함할 수 있다.Although not disclosed in FIG. 1A, processes 10 and 12 may include one or more objects that perform actual communication with other process objects.

도 1a의 프로세스(10 및 12)는 소프트웨어 통신용 네트워크 인터페이스를 사용하지 않고 예를 들어 공유 메모리, 유닉스 소켓 등을 사용한다. 도 1a의 일실시예에서, 모니터링 메시지는 예를 들어 공통 객체 요구 브로커 구조(common object request broker architecture, CORBA) 인터페이스 정의 언어(interface definition language, IDL)과 같은 정의 언어를 사용하여 정의된다. 만일 정의 언어가 사용된다면, (모니터링 도구용) 플러그-인(plug-in)이 IDL에 기초하여 생성될 수 있다. 생성된 플러그-인은 인코딩된 모니터링 데이터를 디코딩할 수 있다. 따라서, 예를 들어 범용 ORB간 프로토콜(GIOP) 패킷을 인코딩하기 위해, 예를 들어 직렬화 루틴이 생성된 CORBA IDL 컴파일러가 사용될 수 있다. 예를 들어 C++ 클래스로 정의된 메시지와 같은 다른 메시지 타입에 대해, 애플리케이션 설계자는 메시지에 대한 직렬화 루틴을 기록해야 한다. 모니터링 데이터는 사용자 데이터 프로토콜(user data protocol, UDP)의 최상부 상에 인코딩된 GIOP 데이터로서 전송된다. 기본적인 프로토콜로서 인터넷 프로토콜(IP)와 같은 임의의 다른 전용 프로토콜을 사용할 수도 있다.Processes 10 and 12 in FIG. 1A do not use a network interface for software communication but use, for example, shared memory, Unix sockets, and the like. In one embodiment of FIG. 1A, the monitoring message is defined using a definition language such as, for example, a common object request broker architecture (CORBA) interface definition language (IDL). If a definition language is used, plug-ins (for monitoring tools) can be generated based on IDL. The generated plug-in may decode the encoded monitoring data. Thus, for example, a CORBA IDL compiler, for which a serialization routine has been generated, can be used to encode a general inter-ORB protocol (GIOP) packet. For other message types, for example messages defined as C ++ classes, the application designer must write a serialization routine for the message. The monitoring data is transmitted as GIOP data encoded on top of a user data protocol (UDP). As another basic protocol, any other dedicated protocol may be used, such as the Internet Protocol (IP).

도 1b는 소프트웨어 객체 사이의 통신이 모니터링되는 본 발명의 실시예를 도시한다. 도 1b는 다수의 소프트웨어 객체(28-38)를 포함하는 프로세스(18)를 도시한다. 각 객체 쌍 사이의 통신이 모니터링되고, 모니터링 데이터가 모니터링 말단에 전송된다. 도 1b에서, 객체(32 및 34) 사이의 통신에 관련된 모니터링 데이터는 모니터링 말단(24)에 전송된다. 모니터링 말단(20-24)은 예를 들어 미리정의된 IP(인터넷 프로토콜) 주소, 포트 등을 의미한다. 그 후에, 모니터링 도구(26)는 자신을 모니터링 말단(20-24)에 부착시키고 상기 말단에 전송된 데이터를 캡쳐링한다. 모니터링 도구(26)는 예를 들어 이더리얼과 같은 상업적으로 이용가능한 모니터링 도구 또는 전용 모니터링 도구일 수 있다.1B illustrates an embodiment of the invention in which communication between software objects is monitored. 1B shows a process 18 that includes a number of software objects 28-38. Communication between each pair of objects is monitored and monitoring data is sent to the monitoring end. In FIG. 1B, monitoring data related to communication between objects 32 and 34 is sent to monitoring end 24. Monitoring ends 20-24 refer to, for example, predefined IP (Internet Protocol) addresses, ports, and the like. Thereafter, the monitoring tool 26 attaches itself to the monitoring ends 20-24 and captures the data sent to the ends. The monitoring tool 26 may be a commercially available monitoring tool such as Ethereal or a dedicated monitoring tool, for example.

도 1b의 일실시예에서, 모니터링 메시지는 예를 들어 공통 객체 요구 브로커 구조(CORBA) 인터페이스 정의 연어(IDL)과 같은 정의 언어를 사용하여 정의된다. 만일 정의 언어가 사용된다면, (모니터링 도구용) 플러그-인은 IDL에 기반하여 생성될 수 있다. 생성된 플러그-인은 인코딩된 모니터링 데이터를 디코딩할 수 있다. 따라서, 예를 들어 범용 ORB간 프로토콜(GIOP) 패킷을 인코딩하기 위해, 예를 들어 직렬화 루틴이 생성된 CORBA IDL 컴파일러가 사용될 수 있다. 예를 들어 C++ 클래스로 정의된 메시지와 같은 다른 타입의 메시지에 대해, 애플리케이션 설계자는 메시지에 대해 직렬화 루틴을 기록해야 한다. 모니터링 데이터는 사용자 데이터 프로토콜(UDP)의 최상부에 인코딩된 GIOP 데이터로서 전송된다. 기본적인 프로토콜로서 예를 들어 인터넷 프로토콜(IP)과 같은 임의의 다른 적당한 프로토콜을 사용할 수 도 있다.In the embodiment of FIG. 1B, the monitoring message is defined using a definition language such as, for example, Common Object Request Broker Architecture (CORBA) Interface Definition Salmon (IDL). If a definition language is used, plug-ins (for monitoring tools) can be created based on IDL. The generated plug-in may decode the encoded monitoring data. Thus, for example, a CORBA IDL compiler, for which a serialization routine has been generated, can be used to encode a general inter-ORB protocol (GIOP) packet. For other types of messages, for example messages defined as C ++ classes, application designers must write serialization routines for the messages. The monitoring data is transmitted as GIOP data encoded on top of the User Data Protocol (UDP). As the basic protocol, any other suitable protocol may be used, for example Internet Protocol (IP).

도 1a 및 도 1b에 개시된 해결책은 프로세스 또는 객체 사이의 통신을 모니터링하는 매우 효율적인 방법을 가능하게 한다. 모니터링 정보는 예를 들어 상기 프로세스로 전송된 메시지 또는 메시지들, 상기 프로세스에서 수신된 메시지 또는 메시지들, 상기 프로세스로부터 미리결정된 수신기로 전송된 메시지 또는 메시지들, 상기 프로세스에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들 또는 상기 프로세스에 의해 처리된 메시지 또는 메시지들과 관련될 수 있다. 부가하여 모니터링은 프로세스의 상태와 관련될 수 있다. 만일 모니터링이 객체 사이의 통신에 적용된다면, 모니터링 정보는 예를 들어 상기 객체로 전송된 메시지 또는 메시지들, 상기 객체에서 수신된 메시지 또는 메시지들, 상기 객체로부터 미리결정된 수신기로 전송된 메시지 또는 메시지들, 상기 객체에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들 또는 상기 객체에 의해 처리된 메시지 또는 메시지들과 관련될 수 있다. 부가하여 모니터링은 객체의 상태와 관련될 수 있다. 부가하여 모니터링 정보는 객체의 상태 또는 객체의 인스턴스 데이터와 관련될 수 있다. 실제로, 프로세스 사이의 통신은 일반적으로 하나의 프로세스의 객체 사이 또는 상이한 프로세스의 객체 사이의 통신과 동일한 것을 의미한다. 프로세스는 동일한 컴퓨터 유닛에서 있을 수 있다. 대안적으로, 프로세스는 상이한 컴퓨터 유닛에 분산될 수 있다.The solution disclosed in FIGS. 1A and 1B enables a very efficient method of monitoring communication between processes or objects. The monitoring information may be for example a message or messages sent to the process, a message or messages received in the process, a message or messages sent from the process to a predetermined receiver, a message received from the transmitter predetermined in the process Or messages or messages or messages processed by the process. In addition, monitoring may be associated with the status of the process. If monitoring applies to communication between objects, the monitoring information may be for example a message or messages sent to the object, a message or messages received at the object, a message or messages sent from the object to a predetermined receiver The message or messages received from a predetermined transmitter in the object or the message or messages processed by the object. In addition, monitoring may be associated with the state of the object. In addition, the monitoring information may be related to the state of the object or the instance data of the object. In practice, communication between processes generally means the same as communication between objects of one process or between objects of different processes. The process can be in the same computer unit. In the alternative, the process may be distributed to different computer units.

도 1a 및 도 1b의 일실시예에서, 모니터링 기능은 특정 라이브러리 함수를 사용하여 수행된다. 따라서, 본 시스템은 예를 들어 범용 메시징 인터페이스(예를 들어 ReceiveMessage, SendMesage)를 포함할 수 있고, 상기 인터페이스에 따라 채널의 초기화(개방)뿐만 아니라 모니터링 채널(말단)로의 모니터링 데이터의 전송이 애플리케이션에 투명하게 될 수 있다. 메시징 라이브러리는 애플리케이션으로부터의 모니터링 연관된 통신을 캡슐화하고, 이에 따라 애플리케이션에 투명한 메시지 모니터링에 대한 지원을 제공한다. 본 명세서에서 애플리케이션은 모니터링된 프로세스 또는 객체를 포함하는 애플리케이션을 의미한다.In one embodiment of FIGS. 1A and 1B, the monitoring function is performed using specific library functions. Thus, the system may include, for example, a universal messaging interface (e.g., ReceiveMessage, SendMesage), in which the transmission of monitoring data to the monitoring channel (end) as well as the initialization (opening) of the channel, depending on the interface, is transmitted to the application. Can be transparent. The messaging library encapsulates monitoring associated communication from the application, thus providing support for transparent message monitoring to the application. Application herein refers to an application that includes a monitored process or object.

또한, 라이브러리 함수는 예를 들어 어느 메시지, 객체 및 프로세스가 모니터링될 지를 결정하는 규칙의 정의 및 정의들을 가능하게 한다.In addition, the library function enables the definition and definitions of rules that determine, for example, which messages, objects and processes to be monitored.

도 2는 모니터링 정보를 전달할 때 사용되는 GIOP 메시지의 메시지 구조를 도시한다. 기본 범용 ORB간 프로토콜(GIOP)의 메시지 구조는 GIOP 헤더, GIOP 요구 헤더 및 GIOP 요구 바디를 포함한다. GIOP 요구 바디는 모니터링 데이터가 직렬화된 바이트 스트림인 페이로드 정보를 의미한다.2 shows a message structure of a GIOP message used when conveying monitoring information. The message structure of the basic universal inter-ORB protocol (GIOP) includes a GIOP header, a GIOP request header, and a GIOP request body. The GIOP request body means payload information in which monitoring data is a serialized byte stream.

12-바이트 GIOP 헤더는 다음과 같이 설명된 바에 따라 형성된다:The 12-byte GIOP header is formed as described as follows:

- 매직(Magic): 문자 GIOP를 항상 포함함. 이는 메시지가 GIOP 메시지임을 나타낸다.Magic: always includes the character GIOP. This indicates that the message is a GIOP message.

- 버전: 예를 들어 1.1과 같은, 사용중인 GIOP 프로토콜 버전의 메이저(major) 및 마이너(minor) 버전 번호.Version: The major and minor version number of the GIOP protocol version in use, for example 1.1.

- 플래그: 비트 7 6 5 4 3 2 1 0, 여기에서,Flag: bits 7 6 5 4 3 2 1 0, where,

·비트 0Bit 0

- 0: 메시지의 나머지에 대해 인코딩하는 빅 엔디안(big endian).0: big endian encoding for the rest of the message.

- 1: 메시지의 나머지에 대해 인코딩하는 리틀 엔디안(little endian).1: little endian encoding for the rest of the message.

·비트 1Bit 1

- 메시지가 추가 정보(more to follow)를 갖는 단편 메시지(fragment message)이다.The message is a fragment message with more to follow.

- 메시지가 단편들 시퀀스 내의 완료 메시지(complete message) 또는 최종 메시지(last message)이다.The message is a complete message or a last message in the sequence of fragments.

·다른 비트가 앞으로의 사용을 위해 예약된다.Another bit is reserved for future use.

- 메시지 타입:Message type:

·GIOP 헤더 다음의 메시지 포맷 타입을 지시함Indicates the message format type following the GIOP header

·0: 요구(Request); 1: 응답(Reply); 2: 요구취소(CancelRequest); 3: 요구위치(LocateRequest); 4: 응답위치(LocateReply); 5: 연결닫음(CloseConnection); 6: 메시지에러(MessageError); 7: 단편(Fragment).0: Request; 1: Reply; 2: Cancel Request; 3: request location (LocateRequest); 4: response location (LocateReply); 5: CloseConnection; 6: message error; 7: Fragment.

·본 발명은 값 0(요구)을 사용할 수 있다.The present invention can use a value of 0 (requirement).

- 메시지 크기: 메시지의 나머지의 크기(12-바이트 GIOP 헤더를 제외). 값은 플래그 바이트 중 0비트로 표시되는 바와 같이 빅 또는 리틀 엔디안으로 인코딩된다.Message size: The size of the rest of the message (except the 12-byte GIOP header). The value is encoded in big or little endian as indicated by 0 bits of the flag byte.

GIOP 헤더는 가변 길이를 갖는다. 다음에는, 단지 본 발명의 견지에서 적당한 GIOP 요구 헤더의 필드, 즉 객체 키와 동작키 필드만이 설명된다:The GIOP header has a variable length. In the following, only the fields of the appropriate GIOP request header, i.

- 객체 키: 본 발명에 따른 모니터링 목적에서, 이 필드는 부가적인 모니터링 정보를 전달하기 위해 사용된다. 필드의 형태는 예를 들어 다음과 같을 수 있다.Object key: For monitoring purposes according to the invention, this field is used to convey additional monitoring information. The form of the field may be as follows, for example.

- hh:mm:ss에서 YYYY로의 XXXX <event>, 여기에서,-XXXX <event> from hh: mm: ss to YYYY, where:

·XXXX = 메시지 식별자XXXX = message identifier

·event = 수신 또는 처리Event = receive or process

·YYYY = 수신기 식별자YYYY = receiver identifier

- ZZZZ 에서 YYYY로 전송된 XXXX, 여기에서,-XXXX sent from ZZZZ to YYYY, where:

·XXXX = 메시지 식별자XXXX = message identifier

·YYYY = 수신기 식별자YYYY = receiver identifier

·ZZZZ = 송신기 식별자ZZZZ = transmitter identifier

- 또는 인스턴스 데이터에 대해: hh:mm:ss에서 XXXX의 인스턴스 데이터 여기에서,-Or for instance data: instance data from XXXX in hh: mm: ss,

·XXXX = 인스턴스 데이터 소유자의 식별자XXXX = identifier of the instance data owner

- 동작(Operation): 메시지/동작의 이름. 모니터링할 때, 이 필드는 모니터링 도구에서 올바른 플러그-인을 선택하기 위해 사용된다.Operation: The name of the message / action. When monitoring, this field is used to select the correct plug-in in the monitoring tool.

도 3은 GIOP 대신 본 발명에 따라 모니터링 정보를 전달할 때 사용될 수 있는 모니터링 프로토콜 메시지의 메시지 구조의 예를 도시한다. 메시지 구조는 모니터링 프로토콜 헤더 및 모니터링 바디를 포함한다. 모니터링 바디는 모니터링 데이터가 직렬화된 바이트 스트림으로 있는 페이로드 정보를 의미한다.3 shows an example of a message structure of a monitoring protocol message that can be used when transferring monitoring information according to the present invention instead of GIOP. The message structure includes a monitoring protocol header and a monitoring body. The monitoring body refers to payload information in which monitoring data is a serialized byte stream.

n-바이트 모니터링 프로토콜 헤더는 다음에서 설명된 바와 같이 형성된다:The n-byte monitoring protocol header is formed as described below:

- 매직: 프로토콜의 식별자. 길이 n 바이트.Magic: the identifier of the protocol. Length n bytes.

- 메시지 크기: 메시지의 전체 크기. 길이 4 바이트.Message size: The total size of the message. 4 bytes in length.

- 메시지 ID: 모니터링된 메시지에 대해 4 내지 8 바이트 식별자. 이 필드는 모니터링 도구에서 올바른 플러그-인을 선택하기 위해 사용된다.Message ID: 4 to 8 byte identifier for the monitored message. This field is used by the monitoring tool to select the correct plug-in.

- 정보 크기: 다음의 자유형태(freeform) 정보 텍스트의 길이.Information size: the length of the next freeform information text.

- 정보: 자유형태 정보 텍스트. 본 발명에 따른 모니터링 목적에서, 이 필드는 부가적인 모니터링 정보를 전달하기 위해 사용된다. 필드의 포맷은 예를 들어 hh:mm:ss에서 YYYY로의 XXXX <event>일 수 있고, 여기에서,Information: Freeform infotext. For monitoring purposes according to the invention, this field is used to convey additional monitoring information. The format of the field may be, for example, XXXX <event> from hh: mm: ss to YYYY, where:

·XXXX = 메시지 식별자XXXX = message identifier

·event = 전송 또는 수신Event = send or receive

·YYYY = 예를 들어 프로세스 식별자와 같은 수신기 식별자.YYYY = receiver identifier, for example, a process identifier.

설명된 모니터링 프로토콜은 GIOP가 모니터링 데이터를 전달하기 위해 사용되는 경우보다 더 효율적이다.The monitoring protocol described is more efficient than when GIOP is used to convey monitoring data.

기술의 진보에 따라 본 발명의 기본적인 사상이 다양한 방식으로 실행될 수 있다는 것은 당업자에 명백할 것이다. 따라서 본 발명 및 이의 실시예는 전술한 실시예에 제한되지 않고, 오히려 청구범위 내에서 변화될 수 있다.It will be apparent to those skilled in the art that, with advances in technology, the basic idea of the invention may be implemented in a variety of ways. Therefore, the present invention and its embodiments are not limited to the above-described embodiments, but rather may be changed within the scope of the claims.

Claims (28)

네트워크 인터페이스들 이외의 통신이 이동 통신 시스템 내의 소프트웨어 프로세스들의 통신 동안 사용될 때 소프트웨어 프로세스들을 모니터링하는 방법으로서,A method of monitoring software processes when communication other than network interfaces is used during communication of software processes in a mobile communication system, 적어도 하나의 프로세스에서 모니터링 데이터를 캡쳐링하는 단계와;Capturing monitoring data in at least one process; 상기 모니터링된 데이터를 직렬화하는 단계와;Serializing the monitored data; 상기 직렬화된 모니터링 데이터를 적어도 하나의 데이터 패킷으로 캡슐화하는 단계와;Encapsulating the serialized monitoring data into at least one data packet; 상기 적어도 하나의 프로세스로부터 상기 적어도 하나의 프로세스 외부의 모니터링 말단으로 상기 직렬화된 모니터링 데이터를 포함하는 적어도 하나의 캡슐화된 데이터 패킷을 전송하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.Transmitting at least one encapsulated data packet comprising said serialized monitoring data from said at least one process to a monitoring end outside said at least one process. 제 1항에 있어서,The method of claim 1, 모니터링 애플리케이션으로써 상기 모니터링 말단에 전송된 적어도 하나의 캡슐화된 데이터 패킷을 캡쳐링하는 단계와;Capturing at least one encapsulated data packet sent to the monitoring end as a monitoring application; 상기 적어도 하나의 캡슐화된 데이터 패킷으로부터 상기 모니터링 데이터를 분해하는 단계를 추가로 포함하는 것을 특징으로 하는 모니터링 방법.Decomposing the monitoring data from the at least one encapsulated data packet. 제 1항에 있어서,The method of claim 1, 프로세스 간 통신을 포함하는 통신에 관련된 모니터링 데이터를 포함하는 것을 특징으로 하는 모니터링 방법.Monitoring data related to communication including interprocess communication. 제 1항에 있어서,The method of claim 1, 프로세스 내부 통신을 포함하는 통신에 관련된 모니터링 데이터를 포함하는 것을 특징으로 하는 모니터링 방법.Monitoring data relating to communications including in-process communications. 제 1항에 있어서,The method of claim 1, 상기 캡쳐링 단계는 다음의 정보 단편들:The capturing step includes the following pieces of information: 상기 적어도 하나의 프로세스의 상태와;State of the at least one process; 상기 적어도 하나의 프로세스로의 전송 메시지 또는 메시지들과;A send message or messages to said at least one process; 상기 적어도 하나의 프로세스에서 수신된 메시지 또는 메시지들과;The message or messages received in the at least one process; 상기 적어도 하나의 프로세스로부터 미리결정된 수신기에 전송된 메시지 또는 메시지들과;A message or messages sent from the at least one process to a predetermined receiver; 상기 적어도 하나의 프로세스에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들과;A message or messages received from a predetermined transmitter in the at least one process; 상기 적어도 하나의 프로세스에 의해 처리된 메시지 또는 메시지들, The message or messages processed by the at least one process, 중에서 적어도 하나를 참조함으로써 상기 모니터링 데이터를 캡쳐링하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.Capturing the monitoring data by referring to at least one of the following. 제 1항에 있어서,The method of claim 1, 상기 캡쳐링하는 단계는 상기 적어도 하나의 프로세스의 적어도 하나의 객체의 모니터링 데이터를 캡쳐링하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.And said capturing step comprises capturing monitoring data of at least one object of said at least one process. 제 6항에 있어서,The method of claim 6, 상기 캡쳐링하는 단계는 다음의 정보 단편들:The capturing step includes the following pieces of information: 상기 적어도 하나의 객체의 상태와;A state of the at least one object; 상기 적어도 하나의 객체의 인스턴스 데이터와;Instance data of the at least one object; 상기 적어도 하나의 객체로 전송된 메시지 또는 메시지들과;A message or messages sent to the at least one object; 상기 적어도 하나의 객체에서 수신된 메시지 또는 메시지들과;A message or messages received at the at least one object; 상기 적어도 하나의 객체로부터 미리결정된 수신기로 전송된 메시지 또는 메시지들과;A message or messages sent from the at least one object to a predetermined receiver; 상기 적어도 하나의 객체에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들과;A message or messages received from a predetermined transmitter at the at least one object; 상기 적어도 하나의 객체에 의해 처리된 메시지 또는 메시지들,The message or messages processed by the at least one object, 중에서 적어도 하나를 참조함으로써 상기 모니터링 데이터를 캡쳐링하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.Capturing the monitoring data by referring to at least one of the following. 제 1항에 있어서,The method of claim 1, 상기 직렬화하는 단계는 정의 언어를 사용하여 상기 모니터링 데이터를 직렬화하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.Wherein said serializing comprises serializing said monitoring data using a definition language. 제 8항에 있어서,The method of claim 8, 상기 직렬화 단계는 인터페이스 정의 언어를 포함하는 정의 언어를 사용하여 직렬화하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.Wherein said serializing step comprises serializing using a definition language comprising an interface definition language. 제 1항에 있어서,The method of claim 1, 상기 모니터링 데이터를 직렬화하는 단계 이후에, 모니터링 프로토콜에 따라 상기 모니터링 데이터를 인코딩하는 단계를 추가로 포함하는 것을 특징으로 하는 모니터링 방법.After serializing the monitoring data, further comprising encoding the monitoring data according to a monitoring protocol. 제 10항에 있어서,The method of claim 10, 상기 인코딩 단계는 범용 객체 간 요구 브로커 프로토콜에 따라 상기 모니터링 데이터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.And wherein said encoding step comprises encoding said monitoring data according to a universal inter-object request broker protocol. 제 11항에 있어서,The method of claim 11, 상기 범용 객체 간 요구 브로커 프로토콜에 따라 모니터링 데이터를 인코딩하는 단계는,Encoding monitoring data according to the universal inter-object request broker protocol may include: 범용 객체 간 요구 브로커 프로토콜 데이터 패킷의 범용 객체 간 요구 브로 커 프로토콜 요구 헤더 및 상기 모니터링 데이터를 전달하는 범용 객체 간 요구 브로커 프로토콜 요구 바디의 객체 키와 동작 키 필드를 재사용하는 단계를 포함하는 것을 특징으로 하는 모니터링 방법.And reusing an object key and an action key field of the universal inter-object request broker protocol request body carrying the inter-object request broker protocol data packet and the monitoring data. Monitoring method. 이동 통신 시스템의 프로세스들의 모니터링 데이터를 전달하는 모니터링 프로토콜로서, 모니터링 프로토콜 패킷은 적어도: 사용된 프로토콜의 식별자 필드, 메시지 크기 필드, 메시지 식별자 필드, 정보 크기 필드 및 정보 필드를 포함하는 모니터링 프로토콜 헤더와;A monitoring protocol for carrying monitoring data of processes of a mobile communication system, the monitoring protocol packet comprising at least: a monitoring protocol header comprising an identifier field, a message size field, a message identifier field, an information size field and an information field of a protocol used; 모니터링 페이로드 데이터를 포함하는 모니터링 바디를 포함하는 것을 특징으로 하는 모니터링 프로토콜.A monitoring protocol comprising a monitoring body containing monitoring payload data. 제 13항에 있어서,The method of claim 13, 상기 모니터링 바디는 직렬화된 바이트 스트림으로서 모니터링 데이터를 포함하는 것을 특징으로 하는 모니터링 프로토콜.And said monitoring body comprises monitoring data as a serialized byte stream. 제 14항에 있어서,The method of claim 14, 상기 직렬화된 바이트 스트림은 정의 언어를 사용하여 직렬화되는 것을 특징으로 하는 모니터링 프로토콜.The serialized byte stream is serialized using a definition language. 제 15항에 있어서,The method of claim 15, 상기 정의 언어는 인터페이스 정의 언어를 포함하는 것을 특징으로 하는 모니터링 프로토콜.And the definition language comprises an interface definition language. 네트워크 인터페이스들 이외의 통신이 이동 통신 시스템에서 소프트웨어 프로세스들의 통신 동안 사용될 때, 소프트웨어 프로세스들을 모니터링하는 시스템으로서,A system for monitoring software processes when communication other than network interfaces is used during communication of software processes in a mobile communication system, 적어도 하나의 프로세스에서 모니터링 데이터를 캡쳐링하는 캡쳐링 수단과;Capturing means for capturing monitoring data in at least one process; 상기 모니터링 데이터를 직렬화하는 직렬화 수단과;Serialization means for serializing the monitoring data; 적어도 하나의 데이터 패킷으로 상기 직렬화된 모니터링 데이터를 캡슐화하는 캡슐화 수단과;Encapsulation means for encapsulating the serialized monitoring data into at least one data packet; 상기 적어도 하나의 프로세스로부터 상기 적어도 하나의 프로세스 외부의 모니터링 말단으로 상기 직렬화된 모니터링 데이터를 포함하는 적어도 하나의 캡슐화된 데이터 패킷을 전송하는 전송 수단을 포함하는 것을 특징으로 하는 모니터링 시스템.And transmission means for transmitting at least one encapsulated data packet comprising said serialized monitoring data from said at least one process to a monitoring end outside said at least one process. 제 17항에 있어서,The method of claim 17, 모니터링 애플리케이션으로서 상기 모니터링 말단에 전송된 상기 적어도 하나의 캡슐화된 데이터를 캡쳐링하는 캡쳐링 수단과;Capturing means for capturing said at least one encapsulated data sent to said monitoring end as a monitoring application; 상기 적어도 하나의 캡슐화된 데이터 패킷으로부터 상기 모니터링 데이터를 분해하는 분해 수단을 추가로 포함하는 것을 특징으로 하는 모니터링 시스템.And means for decomposing the monitoring data from the at least one encapsulated data packet. 제 17항에 있어서,The method of claim 17, 상기 모니터링 데이터는 프로세스 간 통신을 포함하는 통신에 관련된 것을 특징으로 하는 모니터링 시스템.And said monitoring data relates to a communication comprising interprocess communication. 제 17항에 있어서,The method of claim 17, 상기 모니터링 데이터는 프로세스 내부 통신을 포함하는 통신에 관련된 것을 특징으로 하는 모니터링 시스템.And said monitoring data relates to a communication comprising in-process communication. 제 17항에 있어서,The method of claim 17, 상기 모니터링 데이터는 다음의 정보 단편들:The monitoring data includes the following pieces of information: 상기 적어도 하나의 프로세스 상태와;The at least one process state; 상기 적어도 하나의 프로세스에 전송된 메시지 또는 메시지들과;The message or messages sent to the at least one process; 상기 적어도 하나의 프로세스에서 수신된 메시지 또는 메시지들과;The message or messages received in the at least one process; 상기 적어도 하나의 프로세스로부터 미리결정된 수신기로 전송된 메시지 또는 메시지들과;The message or messages sent from the at least one process to a predetermined receiver; 상기 적어도 하나의 프로세스에서 미리 결정된 송신기로부터 수신된 메시지 또는 메시지들과;A message or messages received from a predetermined transmitter in the at least one process; 상기 적어도 하나의 프로세스에 의해 처리된 메시지 또는 메시지들,The message or messages processed by the at least one process, 중에서 적어도 하나를 의미하는 것을 특징으로 하는 모니터링 시스템.Monitoring system, characterized in that at least one of. 제 17항에 있어서,The method of claim 17, 상기 캡쳐링 수단은 상기 적어도 하나의 프로세스 중 적어도 하나의 객체의 모니터링 데이터를 캡쳐링하도록 구성된 것을 특징으로 하는 모니터링 시스템.The capturing means is configured to capture monitoring data of at least one object of the at least one process. 제 22항에 있어서,The method of claim 22, 상기 모니터링 데이터는 다음의 정보 단편들:The monitoring data includes the following pieces of information: 상기 적어도 하나의 객체의 상태와;A state of the at least one object; 상기 적어도 하나의 객체의 인스턴스 데이터와;Instance data of the at least one object; 상기 적어도 하나의 객체로 전송된 메시지 또는 메시지들과;A message or messages sent to the at least one object; 상기 적어도 하나의 객체에서 수신된 메시지 또는 메시지들과;A message or messages received at the at least one object; 상기 적어도 하나의 객체로부터 미리결정된 수신기로 전송된 메시지 또는 메시지들과;A message or messages sent from the at least one object to a predetermined receiver; 상기 적어도 하나의 객체에서 미리결정된 송신기로부터 수신된 메시지 또는 메시지들과;A message or messages received from a predetermined transmitter at the at least one object; 상기 적어도 하나의 객체에 의해 처리된 메시지 또는 메시지들,The message or messages processed by the at least one object, 중에서 적어도 하나를 의미하는 것을 특징으로 하는 모니터링 시스템.Monitoring system, characterized in that at least one of. 제17항에 있어서,The method of claim 17, 상기 직렬화 수단은 정의 언어를 사용하여 상기 모니터링 데이터를 직렬화하 도록 구성된 것을 특징으로 하는 모니터링 시스템.And said serializing means is configured to serialize said monitoring data using a definition language. 제 24항에 있어서,The method of claim 24, 상기 정의 언어는 인터페이스 정의 언어를 포함하는 것을 특징으로 하는 모니터링 시스템.And the definition language comprises an interface definition language. 제 17항에 있어서,The method of claim 17, 모니터링 프로토콜에 따라 상기 모니터링 데이터를 인코딩하는 인코딩 수단을 추가로 포함하는 것을 특징으로 하는 모니터링 시스템.And means for encoding said monitoring data according to a monitoring protocol. 제 26항에 있어서,The method of claim 26, 상기 인코딩 수단은 범용 객체 간 요구 브로커 프로토콜에 따라 상기 모니터링 데이터를 인코딩하도록 구성된 것을 특징으로 하는 모니터링 시스템.And said encoding means is configured to encode said monitoring data according to a universal inter-object request broker protocol. 제 27항에 있어서,The method of claim 27, 상기 인코딩 수단은 범용 객체 간 요구 브로커 프로토콜 데이터 패킷의 범용 객체 간 요구 브로커 프로토콜 요구 헤더 및 상기 모니터링 데이터를 전달하는 범용 객체 간 요구 브로커 프로토콜 요구 바디의 객체 키와 동작 키 필드를 재사용하는 범용 객체 간 요구 브로커 프로토콜에 따라 상기 모니터링 데이터를 인코딩하도록 구성된 것을 특징으로 하는 모니터링 시스템.The encoding means is a universal inter-object request broker protocol data header of a universal inter-object request broker protocol data packet and a universal inter-object request that reuses an object key and an action key field of the request broker protocol request body that carries the monitoring data. A monitoring system configured to encode the monitoring data according to a broker protocol.
KR1020067004798A 2003-09-18 2004-08-18 Method and system for monitoring communication and monitoring protocol KR20060057008A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20031340 2003-09-18
FI20031340A FI20031340A0 (en) 2003-09-18 2003-09-18 Method and system for connection monitoring and tracking protocol

Publications (1)

Publication Number Publication Date
KR20060057008A true KR20060057008A (en) 2006-05-25

Family

ID=27839003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004798A KR20060057008A (en) 2003-09-18 2004-08-18 Method and system for monitoring communication and monitoring protocol

Country Status (6)

Country Link
US (1) US20050066334A1 (en)
EP (1) EP1665852A1 (en)
KR (1) KR20060057008A (en)
CN (1) CN1853430A (en)
FI (1) FI20031340A0 (en)
WO (1) WO2005027552A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765630B1 (en) * 2006-10-26 2007-10-09 기아자동차주식회사 Wiper blade and manufacturing method of it for vehicle
KR101648969B1 (en) * 2015-08-03 2016-08-18 주식회사아이오에이솔루션 Server and method for testing based on captured messages

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3007172B1 (en) * 2013-06-12 2020-12-18 Renault Sas METHOD AND SYSTEM FOR IDENTIFYING A DAMAGE CAUSED TO A VEHICLE

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5451839A (en) * 1993-01-12 1995-09-19 Rappaport; Theodore S. Portable real time cellular telephone and pager network system monitor
US6385644B1 (en) * 1997-09-26 2002-05-07 Mci Worldcom, Inc. Multi-threaded web based user inbox for report management
EP1119809B1 (en) * 1998-10-09 2003-05-07 Sun Microsystems, Inc. Process monitoring in a computer system
US6618764B1 (en) * 1999-06-25 2003-09-09 Koninklijke Philips Electronics N.V. Method for enabling interaction between two home networks of different software architectures
WO2001063404A1 (en) * 2000-02-25 2001-08-30 Edgenet, Inc. Method of and system for monitoring an application
US6737992B1 (en) * 2000-03-28 2004-05-18 Prismtech Limited Method, apparatus, and article for GIOP message compression/decompression
US7047293B2 (en) * 2001-02-14 2006-05-16 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols with delegating protocol processor
US7392307B2 (en) * 2001-02-14 2008-06-24 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using a shared resource
US7882253B2 (en) * 2001-04-05 2011-02-01 Real-Time Innovations, Inc. Real-time publish-subscribe system
US6874099B1 (en) * 2001-05-31 2005-03-29 Sprint Communications Company L.P. Method and software for testing and performance monitoring
US6737909B2 (en) * 2001-11-26 2004-05-18 Intel Corporation Integrated circuit current reference
US20030204588A1 (en) * 2002-04-30 2003-10-30 International Business Machines Corporation System for monitoring process performance and generating diagnostic recommendations
US20040010716A1 (en) * 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for monitoring the health of systems management software components in an enterprise
US20040083246A1 (en) * 2002-10-25 2004-04-29 Hakim Kahlouche Method and system for performance management in a computer system
US7660864B2 (en) * 2003-05-27 2010-02-09 Nokia Corporation System and method for user notification

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765630B1 (en) * 2006-10-26 2007-10-09 기아자동차주식회사 Wiper blade and manufacturing method of it for vehicle
KR101648969B1 (en) * 2015-08-03 2016-08-18 주식회사아이오에이솔루션 Server and method for testing based on captured messages

Also Published As

Publication number Publication date
EP1665852A1 (en) 2006-06-07
US20050066334A1 (en) 2005-03-24
WO2005027552A1 (en) 2005-03-24
CN1853430A (en) 2006-10-25
FI20031340A0 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
US6522654B1 (en) Method for hosting the internet protocol suite on the IEEE-1394 high speed serial bus
EP0485252B1 (en) Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US8176187B2 (en) Method, system, and program for enabling communication between nodes
US5574919A (en) Method for thinning a protocol
US8375094B2 (en) Creating a message readable by a plurality of heterogeneous recipients
US7966380B2 (en) Method, system, and program for forwarding messages between nodes
US7685287B2 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
EP2429150A1 (en) Apparatus, web service component and method based on web service
CN110677432A (en) Network protocol internal proxy forwarding method, device, medium and terminal equipment
US20170031739A1 (en) Protocol for communication of data structures
CN109861998B (en) Plug-in type dynamic analysis system and method based on Beidou short message protocol
CN113596017B (en) Protocol analysis method and device, soft gateway and storage medium
CN111818040A (en) Method for realizing communication by Internet of things transmission standard protocol
CN110505244A (en) Long-range tunnel access technique gateway and server
CN110120854B (en) Method and device for transmitting data
US10757032B2 (en) Methods, apparatuses and computer-readable storage mediums for communication via user services platform
CN111416778A (en) Single serial port gateway platform for multi-device Internet of things
CN108093041A (en) Single channel VDI proxy servers and implementation method
KR20060057008A (en) Method and system for monitoring communication and monitoring protocol
KR100795449B1 (en) Method and system for establishing a data link layer protocol on a I2C physical layer connection
CN112968919A (en) Data processing method, device, equipment and storage medium
Persampieri Unibo-BP: an innovative free software implementation of Bundle Protocol Version 7 (RFC 9171)
JP2015216450A (en) Information processing apparatus, information processing system and relay program
US10938960B2 (en) System and method for implementing augmented object members for remote procedure call
CN111865884B (en) Message processing method, device and equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application