KR20090124944A - System and method for identifying application topology - Google Patents

System and method for identifying application topology Download PDF

Info

Publication number
KR20090124944A
KR20090124944A KR20090044189A KR20090044189A KR20090124944A KR 20090124944 A KR20090124944 A KR 20090124944A KR 20090044189 A KR20090044189 A KR 20090044189A KR 20090044189 A KR20090044189 A KR 20090044189A KR 20090124944 A KR20090124944 A KR 20090124944A
Authority
KR
South Korea
Prior art keywords
interaction
packets
streams
stream
type
Prior art date
Application number
KR20090044189A
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 KR20090124944A publication Critical patent/KR20090124944A/en

Links

Images

Classifications

    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A system and a method for distinguishing an application topology within a host are provided to efficiently distinguish the application topology by using interaction carried by packets. CONSTITUTION: A packet extractor(102) extracts packets from network traffic generating in a predetermined period. An interaction identifier(103) identifies interaction mobbed by the packets according to an interaction characteristic. A stream generator(104) occurs streams. The stream comprises the statistics about the interaction having the same type. A correlator(105) discovers transmission stream from lead-ins and transmission stream of nodes.

Description

애플리케이션 토폴러지를 식별하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR IDENTIFYING APPLICATION TOPOLOGY}System and method for identifying application topologies {SYSTEM AND METHOD FOR IDENTIFYING APPLICATION TOPOLOGY}

본 발명은 정보 기술(IT; Information Technology) 시스템에서의 구성 관리에 관한 것으로, 특히, 애플리케이션 토폴러지를 식별하기 위한 방법 및 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates to configuration management in Information Technology (IT) systems, and more particularly to methods and systems for identifying application topologies.

데이터 센터와 같은 IT 시스템에서의 IT 관리를 용이하게 해주는 많은 툴(tool)들이 있다. 그러나, 이들 툴들은 여전히 다양한 해결과제들에 직면해 있다. 예를 들어, 시스템의 스케일과 복잡성은 급속히 증가하고 있고, 서버 및 애플리케이션과 같은 시스템의 컴포넌트들은 자주 바뀌는 등등의 상황에 있다. 관리자들은 대개 IT 시스템 내의 장치와 네트워크 토폴러지를 알고 있지만, 이것들은 IT 시스템을 더 효과적으로 및 더 효율적으로 관리하는데에는 부족하다. 관리자는 IT 시스템에 관하여 더 완전한 지식을 가질 필요성이 있다.There are many tools that facilitate IT management in IT systems such as data centers. However, these tools still face various challenges. For example, the scale and complexity of a system is increasing rapidly, and components of the system such as servers and applications are frequently changing. Administrators usually know the devices and network topologies within the IT system, but these are not enough to manage the IT system more effectively and more efficiently. Managers need to have more complete knowledge about IT systems.

이러한 지식의 한 면은 IT 시스템에서의 애플리케이션 토폴러지, 즉, IT 시스템의 호스트들(예를 들어, 서버들) 내에서의 애플리케이션들(예를 들어, 프로그램, 서비스, 컴포넌트 등)의 컴포넌트들의 배치, 및 이들 배치된 애플리케이션들의 컴포넌트들간의 상호작용(예를 들어, 서비스에 관한 요청-응답)이다.One aspect of this knowledge is the application topology in IT systems, i.e. the deployment of components of applications (e.g. programs, services, components, etc.) within hosts (e.g. servers) of the IT system. , And interaction between components of these deployed applications (eg, a request-response about a service).

애플리케이션 토폴러지를 식별하기 위한 몇가지 툴들이 있어 왔다. 예를 들어, 미국 IBM사의 TADDM(Tivoli Application Dependency Discovery Manager)은, 포트/구성을 스캔함으로써 애플리케이션 토폴러지를 발견할 수 있다. 그러나, 이러한 초기 타입의 툴들은 애플리케이션을 발견하기 위해 IP 어드레스와 미리결정된 포트들을 초기에 스캔해야만 하거나, 애플리케이션 구성 파일을 얻고 분석하기 위해 서버에 로그온해야 하거나, 또는 에이전트를 특별히 설치할 것을 요구해야 한다.There have been several tools for identifying application topologies. For example, IBM's Tivoli Application Dependency Discovery Manager (TADDM) can discover application topologies by scanning ports / configurations. However, these early types of tools must initially scan the IP address and predetermined ports to find the application, log on to the server to obtain and analyze the application configuration file, or require special installation of the agent.

캐나다 EMC사의 NLayers InSight는, 포트 미러링, 네트워크 케이블 탭등과 같은 수단을 통해 얻어진 패킷들을 스캔함으로써 애플리케이션 토폴로지를 식별하기 위한 수동형 툴이다. NLayers InSight는, 패킷에 실려온 유효 부하로부터의 미리정의된 상호작용 특성(핑거 프린트)에 따라 애플리케이션 컴포넌트들과 컴포넌트들 사이의 상호작용을 식별하며, 인과관계를 갖는 상호작용들 사이에는 그에 따라 발생 시간에서의 상관관계가 존재한다는 가정에 기초하여 상호작용들 사이의 상관관계를 식별한다. 그러나, 이런 유형의 툴들에 대해서는 이들이 동작하기 이전에 많은 정보가 준비되어야 한다. 게다가, 애플리케이션 컴포넌트들을 실행하기 위한 동작 환경들 간의 차이때문에, 발생 시간들은 동작 환경에 크게 의존하고, 그에 따라, 동작 환경에서의 변화에 기인하여 큰 지터(jitter)를 보인다. 이들은 식별의 효율성과 성공율을 저하시킬 수 있다.NLayers InSight, a Canadian EMC company, is a passive tool for identifying application topologies by scanning packets obtained through means such as port mirroring, network cable taps, and so on. NLayers InSight identifies application components and their interactions according to predefined interaction characteristics (finger prints) from the effective loads placed on the packet, and the time of occurrence between the causal interactions accordingly. Identify correlations between interactions based on the assumption that a correlation exists in. However, for this type of tool, much information needs to be prepared before they can work. In addition, because of the differences between operating environments for executing application components, the occurrence times are highly dependent on the operating environment, and thus show large jitter due to changes in the operating environment. They can reduce the effectiveness and success rate of identification.

따라서, 보다 적은 정보에 기초하여 애플리케이션 토폴러지를 식별하기 위한 수단을 제공할 필요성이 있다.Thus, there is a need to provide a means for identifying an application topology based on less information.

본 발명의 목적은 애플리케이션 토폴러지의 식별 효율성을 증가시키기 위해, 애플리케이션 토폴러지를 식별하기 위한 방법 및 시스템을 제공하는 것이다.It is an object of the present invention to provide a method and system for identifying an application topology in order to increase the identification efficiency of the application topology.

본 발명의 실시예는 애플리케이션 토폴러지를 식별하기 위한 시스템으로서, 미리결정된 기간에 발생한 네트워크 트래픽으로부터 패킷들을 추출하고, 패킷들의 전송 시간을 얻도록 구성된 패킷 추출기로서, 패킷들 각각의 소스 어드레스 및 목적지 어드레스 중 적어도 하나는 미리결정된 호스트 범위 내에 있는 것인, 상기 패킷 추출기; 상호작용 특성에 따라 패킷들에 의해 운반된 상호작용을 식별하도록 구성된 상호작용 식별기로서, 상호작용들 각각은 상호작용의 유형, 상호작용의 요청측 및 상호작용의 응답측을 포함하는 것인, 상기 상호작용 식별기; 각각이 동일한 유형, 동일한 요청측 및 동일한 응답측을 갖는 상호작용을 나타내고, 미리결정된 기간 내의 각각의 단위 인터벌 동안에 추출된 패킷들에 의해 운반된 상기 동일한 유형을 갖는 상호작용에 관한 통계치를 포함하는 스트림들을 발생하도록 구성된 스트림 생성기; 및 인입 스트림 및/또는 송출 스트림을 갖는 노드들의 모든 인입 스트림들과 송출 스트림들로부터 상관관계가 있는 인입 스트림 및 송출 스트림을 발견하도록 구성된 상관기를 포함하는 상기 시스템을 제공한다.An embodiment of the present invention is a system for identifying an application topology, comprising: a packet extractor configured to extract packets from network traffic occurring in a predetermined period of time, and to obtain transmission times of packets, the source address and destination address of each of the packets; At least one of the packet extractors is within a predetermined host range; An interaction identifier configured to identify an interaction carried by packets according to the interaction characteristic, wherein each of the interactions includes a type of interaction, a requesting side of the interaction, and a response side of the interaction; Interaction identifier; A stream each representing an interaction having the same type, the same requesting side, and the same responding side, and containing statistics about the same type of interaction carried by packets extracted during each unit interval within a predetermined period of time; A stream generator configured to generate audio signals; And a correlator configured to find correlated incoming and outgoing streams from all incoming and outgoing streams of nodes having incoming and / or outgoing streams.

본 발명의 한 실시예는 애플리케이션 토폴러지를 식별하는 방법으로서, 미리결정된 기간에 발생한 네트워크 트래픽으로부터 패킷들을 추출하고, 패킷들의 전송 시간을 얻는 단계로서, 패킷들 각각의 소스 어드레스 및 목적지 어드레스 중 적어도 하나는 미리결정된 호스트 범위 내에 있는 것인, 상기 패킷들을 추출하고 패킷들의 전송 시간을 얻는 단계; 상호작용 특성에 따라 패킷들에 의해 운반된 상호작용을 식별하는 단계로서, 상호작용들 각각은 상호작용의 유형, 상호작용의 요청측, 및 상호작용의 응답측을 포함하는 것인, 상기 식별하는 단계; 각각이 동일한 유형, 동일한 요청측 및 동일한 응답측을 갖는 상호작용을 나타내며, 미리결정된 기간 내의 각각의 단위 인터벌 동안에 추출된 패킷들에 의해 운반된 상기 동일한 유형을 갖는 상호작용에 관한 통계치를 포함하는 스트림들을 발생하는 단계; 및 인입 스트림 및/또는 송출 스트림을 갖는 노드들의 모든 인입 스트림들과 송출 스트림들로부터 상관관계가 있는 인입 스트림 및 송출 스트림을 발견하는 단계를 포함하는, 상기 방법을 제공한다.An embodiment of the present invention is a method of identifying an application topology, the method comprising extracting packets from network traffic occurring in a predetermined period of time and obtaining a transmission time of the packets, wherein at least one of a source address and a destination address of each of the packets is provided. Extracting the packets and obtaining a transmission time of the packets, wherein is within a predetermined host range; Identifying the interaction carried by the packets according to the interaction characteristics, wherein each of the interactions includes a type of interaction, a requesting side of the interaction, and a response side of the interaction. step; A stream, each representing an interaction having the same type, the same requesting side, and the same responding side, the statistics comprising statistics about the same type of interaction carried by packets extracted during each unit interval within a predetermined period of time; Generating them; And finding a correlated incoming stream and outgoing stream from all incoming streams and outgoing streams of nodes having an incoming stream and / or an outgoing stream.

애플리케이션 토폴러지의 식별 효율성이 증가된다.The identification efficiency of the application topology is increased.

본 발명의 실시예들이 도면들을 참조하여 이하에서 기술된다. 주목할 점은, 명료성을 위하여, 본 발명과는 관계없는 당업자에 의해 공지된 이들 컴포넌트들 및 프로세스들에 대한 표현 및 설명은 도면 및 상세한 설명에서 생략된다.Embodiments of the present invention are described below with reference to the drawings. It should be noted that for the sake of clarity, the representations and descriptions of these components and processes known by those skilled in the art that are not related to the present invention are omitted in the drawings and the detailed description.

도 1은 본 발명의 한 실시예에 따른 애플리케이션 토폴러지를 식별하기 위한 시스템(100)의 예시적 구조를 도시한다.1 illustrates an exemplary structure of a system 100 for identifying an application topology in accordance with one embodiment of the present invention.

도 1에 도시된 바와 같이, 시스템(100)은 패킷 추출기(102), 상호작용 식별기(103), 스트림 발생기(104) 및 상관기(105)를 포함한다.As shown in FIG. 1, system 100 includes a packet extractor 102, an interaction identifier 103, a stream generator 104, and a correlator 105.

패킷 추출기(102)는 네트워크로부터 패킷들(즉, 네트워크 패킷)을 수신한다. 시스템(100)을 통해 관리자에 의해 관리되는 시스템들은 소정 범위 내에 들어 있다. 이 범위 내의 호스트들은 네트워크를 통해 상호접속된다. 호스트들 상에 배치되는 애플리케이션 컴포넌트들은 네트워크를 통해 상호작용하여 다양한 애플리케이션들을 구현한다. 통상적인 상호작용에 영향을 주지 않고 모니터링되는 네트워크 접속 상에서 전송되는 패킷들을 실시간으로 얻기 위해 스위치 포트 모니터링, 케이블 탭/광섬유 스플리터 및 허브와 같은 기술을 이용하는 것이 가능하다. 어드레스(예를 들어, 인터넷 프로토콜(IP) 어드레스) 의해 또는 패킷들에 의해 운반되는 유사한 식별자(예를 들어, URL(Uniform Resource identifier))에 의해 호스트를 식별하는것이 가능하기 때문에, 얻어진 패킷들은 대개 균일한 군의 네트워크 프로토콜(예를 들어, 전송 제어 프로토콜(TCP)/IP)에 기초한다. 그러나, 패킷의 획득을 용이하게 하기 위해, 만일 어떠한 어드레스 또는 식별자 충돌도 존재하지 않는다면, 그 프로토콜 군과 호환되는 패킷들을 포착하는 것도 역시 가능하다.Packet extractor 102 receives packets (ie, network packets) from the network. Systems managed by an administrator through system 100 are within certain limits. Hosts within this range are interconnected through the network. Application components deployed on the hosts interact via a network to implement various applications. It is possible to use techniques such as switch port monitoring, cable tap / fiber splitters, and hubs to obtain packets transmitted over a monitored network connection in real time without affecting typical interactions. Since it is possible to identify the host either by an address (e.g. an Internet Protocol (IP) address) or by a similar identifier carried by the packets (e.g. a Uniform Resource Identifier), the packets obtained are usually It is based on a uniform group of network protocols (eg, Transmission Control Protocol (TCP) / IP). However, to facilitate the acquisition of packets, it is also possible to capture packets that are compatible with the protocol family if no address or identifier collision exists.

패킷 추출기(102)는, 실시간으로 얻어진 패킷들로부터, 그 소스 어드레스 및 목적지 어드레스 중 적어도 하나가 미리결정된 호스트 범위 내에 있는 패킷들, 즉, 그 애플리케이션 토폴러지가 바람직한 시스템의 범위 내에 있는 패킷들을 추출하고, 대응하는 추출 시간을 그 패킷들의 전송시간으로서 기록한다. 만일 패킷이 대응하는 전송 시간을 직접적으로 운반한다면, 패킷 추출기(102)는 이 전송 시간을 추출 시간으로서 기록한다. 만일 패킷 추출기(102)에 의해 추출된 패킷들이 실시간으로 분석되지 않는다면, 패킷들의 전송 시간을 근사적으로 나타내기 위해 추출 시간을 패킷 레코드에 기록하는 것이 필요하다.The packet extractor 102 extracts, from packets obtained in real time, packets whose at least one of its source address and destination address are within a predetermined host range, i.e., packets whose system is within the range of which the application topology is desired. Record the corresponding extraction time as the transmission time of the packets. If the packet carries the corresponding transmission time directly, the packet extractor 102 records this transmission time as the extraction time. If the packets extracted by the packet extractor 102 are not analyzed in real time, it is necessary to record the extraction time in the packet record to approximate the transmission time of the packets.

패킷 추출기(102)는, 패킷의 어드레스 변환을 통해 얻어진 식별자들 또는 소스/목적지 어드레스가 미리결정된 호스트 범위 내에 드는지의 여부에 따라 노드들이 분석될지를 판정할 수 있다. 하나의 노드는 호스트 또는 유사한 처리 장치일 수 있다. 하나의 노드는 하나 이상의 어드레스 또는 식별자를 가질 수 있다.Packet extractor 102 may determine whether nodes are to be analyzed according to whether identifiers or source / destination addresses obtained through address translation of the packet fall within a predetermined host range. One node may be a host or similar processing device. One node may have one or more addresses or identifiers.

양호하게는, 패킷 추출기(102)는 불필요한 패킷들을 필터링하기 위한 장치(미도시)를 포함할 수 있다. 이 장치는 동일한 시퀀스 번호를 갖는 패킷과 같은 중복 패킷들을 제거하고, 및/또는 라우팅 프로토콜 패킷과 같은 애플리케이션과 무관한 패킷들을 제거한다.Preferably, packet extractor 102 may include an apparatus (not shown) for filtering out unnecessary packets. The device eliminates duplicate packets, such as packets having the same sequence number, and / or removes application-specific packets such as routing protocol packets.

상호작용 식별자(103)는 상호작용 특성에 따라 패킷 추출기(102)에 의해 추출된 패킷들에 의해 운반되는 상호작용을 식별한다. 상호작용이란, 애플리케이션의 비지니스 논리를 실행하기 위해 애플리케이션 프로토콜에 따라 상호간에 정보를 전송하기 위한 애플리케이션 컴포넌트들의 활동을 말한다. 일반적으로, 상호작용은 요청-응답 모델로서 일반화될 수 있다. 여기서, 요청측으로서의 애플리케이션 컴포넌트는 응답측으로서의 애플리케이션 컴포넌트에 (상호작용을 개시하기 위한) 요청 메시지를 전송하고, 응답측은 그 요청 메시지의 수신시에 요청된 비지니스 논리를 실행하며, 대응하는 결과를 요청측에 반환하거나, 어떠한 정보도 반환하지 않 는다. 본 출원의 정황에서, 상호작용은 대개 요청 메시지에 의해 표현되지만, 전체 요청-응답 프로세스 동안에 발생된 메시지들 모두 또는 일부에 의해 표현될 수도 있다.Interaction identifier 103 identifies the interaction carried by the packets extracted by packet extractor 102 in accordance with the interaction characteristics. Interaction refers to the activity of application components to transfer information between each other according to an application protocol to execute the business logic of the application. In general, interactions can be generalized as a request-response model. Here, the application component as the requesting side sends a request message (to initiate interaction) to the application component as the responding side, the responding side executes the requested business logic upon receipt of the request message, and requests the corresponding result. It does not return to the side or return any information. In the context of the present application, an interaction is usually represented by a request message, but may be represented by some or all of the messages generated during the entire request-response process.

상호작용을 나타내는 메시지들은 대개 애플리케이션 프로토콜에 따라 캡슐화된다. 애플리케이션 프로토콜의 예로는, HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), JDBC(Java Database Connectivity)/ODBC(Open Database Connectivity), LDAP(Light Directory Access Protocol), SMTP(Simple Mail Transfer Protocol), POP3(Post Office Protocol Version 3), NNTP(Network News Transfer Protocol)가 포함되지만, 이들만으로 제한되는 것은 아니다. 애플리케이션 프로토콜에 따라 캡슐화된 메시지들은 패킷에 의해 운반된다. 상호작용을 개시하기 위한 메시지들을 운반하는 패킷들은 상호작용 개시 패킷이라고도 불린다.Messages that represent interaction are usually encapsulated according to the application protocol. Examples of application protocols include Hyper Text Transfer Protocol (HTTP), Hyper Text Transfer Protocol Secure (HTTPS), Java Database Connectivity (JDBC) / Open Database Connectivity (ODBC), Light Directory Access Protocol (LDAP), and Simple Mail Transfer (SMTP). Protocol, Post Office Protocol Version 3 (POP3), and Network News Transfer Protocol (NNTP), but are not limited to these. Messages encapsulated according to the application protocol are carried by packet. Packets carrying messages for initiating an interaction are also called interaction initiation packets.

상호작용의 유형은 애플리케이션 프로토콜의 유형 및 구분 세분화기준(discriminating granularity)에 의존한다. 예를 들어, HTTP 요청 메시지 "GET/index.jsp HTTP/1.1"에 의해 표현된 상호작용에 대해, 만일 구분 세분화기준이 서버라면, 상호작용의 유형은 프로토콜 유형(예를 들어, HTTP) 또는 프로토콜 유형에 프로토콜 버전을 더한 것(예를 들어, HTTP/1.1)에 의해 구분된다. 만일 구분 세분화기준이 서비스라면, 상호작용의 유형은 프로토콜에 비지니스 유형을 더한 것(예를 들어, HTTP(/인덱스)) 또는 프로토콜 유형에 프로토콜 유형과 비지니스 유형을 더한 것(HTTP, HTTP/1.1(/인덱스))에 의해 구분된다. 상이한 애플리케이 션 프로토콜들은 구분을 위한 각각의 방식을 갖는다. 상호작용을 식별하기 위한 프로토콜 및 서비스 특성들은 다양한 애플리케이션 프로토콜에 대해 설계될 수 있다. 예를 들어, EMC사의 nLayers InSight의 상호작용 특성 기술에서 프로토콜을 식별하기 위한 유사한 방법들을 채택하는 것도 가능하다.The type of interaction depends on the type of application protocol and the discretizing granularity. For example, for an interaction represented by the HTTP request message "GET / index.jsp HTTP / 1.1", if the segmentation criteria is a server, then the type of interaction is either a protocol type (eg HTTP) or a protocol. The type is distinguished by the addition of the protocol version (eg HTTP / 1.1). If the segmentation criterion is a service, then the type of interaction is either the protocol plus the business type (eg HTTP (/ index)) or the protocol type plus the protocol type and the business type (HTTP, HTTP / 1.1 ( / Index)). Different application protocols have their own way to distinguish. Protocols and service characteristics for identifying interactions can be designed for various application protocols. For example, it is possible to adopt similar methods for identifying protocols in EMC's nLayers InSight's interactivity characteristics description.

상호작용 식별자(103)에 의해 식별된 상호작용은 예를 들어 다음과 같은 정보를 포함할 수 있다. 상호작용의 유형, 상호작용의 요청측, 및 상호작용의 응답측. 상호작용의 요청측은 상호작용을 개시하기 위한 패킷(예를 들어, 동기화 요청 패킷)의 소스 어드레스 또는 소스 식별자(예를 들어, URL 등)에 표시될 수 있고, 상호작용의 응답측은, 상호작용을 개시하기 위한 패킷(예를 들어, 동기화 요청 패킷)의 목적지 어드레스 또는 목적지 식별자(예를 들어, URL 등)에 의해 표시될 수 있다.The interaction identified by interaction identifier 103 may include, for example, the following information. Type of interaction, requesting side of the interaction, and responding side of the interaction. The requesting side of the interaction may be indicated in the source address or source identifier (eg, URL, etc.) of the packet for initiating the interaction (eg, synchronization request packet), and the responding side of the interaction, It may be indicated by a destination address or a destination identifier (eg, a URL, etc.) of the packet to initiate (eg, a synchronization request packet).

양호하게는, 상호작용 식별자(103)는, 요청측(예를 들어, 상호작용을 개시하는 애플리케이션 컴포넌트의 소스 어드레스 또는 소스 식별자)이 미리결정된 호스트 범위 내에 있지 않은 경우의 요청측을, 예를 들어, 별도 외부 서버(assumed external server)와 같은 바로 그 특정한 요청측으로서 인식할 수 있다. 양호하게는, 상호작용 식별자(103)는, 응답측이 미리결정된 호스트 범위 내에 있지 않은 경우의 상호작용을, 관심대상의 애플리케이션과 무관한 토폴로지들을 배제하기 위해, 무시할 수도 있다.Preferably, the interaction identifier 103 is for example the request side when the requesting side (eg, source address or source identifier of the application component initiating the interaction) is not within a predetermined host range, for example. It can be recognized as that particular requestor, such as a separate external server. Preferably, interaction identifier 103 may ignore the interaction when the responding party is not within a predetermined host range to exclude topologies that are not relevant to the application of interest.

스트림 발생기(104)는 동일한 유형, 요청측 및 응답측을 갖는 상호작용들로부터 스트림을 발생하고, 그 스트림의 패턴을 유도한다. 본 출원의 정황에서, 스 트림은, 소정의 기간 동안에 발생한 패킷들에 의해 운반된 상호작용들 중에서, 동일한 요청측, 동일한 응답측 및 동일한 상호작용 유형을 갖는 모든 상호작용들을 나타낸다. 스트림의 패턴이란, 상기 소정 기간의 각각의 단위 인터벌에서 발생된 패킷들에 의해 운반된 스트림의 상호작용에 관한 통계치에 의해 형성된 패턴을 말한다. 상기 소정 기간(예를 들어, 수시간, 수일 등) 및 단위 인터벌(예를 들어, 초, 분 등)은 특정 구현예에 따라 결정될 수 있다. 통계치는, 예를 들어, 상호작용의 횟수, 상호작용의 데이터량, 또는 이들의 조합(예를 들어, 합계, 가중치 합계 등)일 수 있다.Stream generator 104 generates a stream from interactions having the same type, request side, and response side, and derives the pattern of the stream. In the context of the present application, a stream represents all the interactions having the same requesting side, the same responding side, and the same interaction type, among the interactions carried by packets occurring during a given period of time. The pattern of the stream refers to a pattern formed by statistics on the interaction of the stream carried by packets generated at each unit interval of the predetermined period. The predetermined period of time (eg, hours, days, etc.) and the unit interval (eg, seconds, minutes, etc.) may be determined according to a particular embodiment. The statistics may be, for example, the number of interactions, the amount of data of the interactions, or a combination thereof (eg, a sum, a weighted sum, etc.).

스트림 발생기(104)에 의해 발생된 스트림은, 예를 들어, 다음과 같은 정보를 포함할 수 있다: 스트림의 유형(즉, 상관성 상호작용의 유형), 스트림의 요청측(즉, 상관성 상호작용의 요청측), 스트림의 응답측(즉, 상관성 상호작용의 응답측), 및 스트림의 패턴. 도 2는 스트림의 예시적 거동 패턴을 그래프로 나타낸다. 여기서, 횡축은 시간을 나타내고, 종축은 분당 HTTP 상호작용의 횟수를 나타낸다.The stream generated by the stream generator 104 may include, for example, the following information: the type of stream (ie, the type of correlation interaction), the requesting side of the stream (ie, the correlation interaction). Requesting side), the responding side of the stream (ie, the responding side of the correlation interaction), and the pattern of the stream. 2 graphically illustrates an example behavior pattern of a stream. Where the horizontal axis represents time and the vertical axis represents the number of HTTP interactions per minute.

스트림 발생기(104)에 의해 발생된 모든 스트림들 각각의 종료 포인트(즉, 노드들은 물리적으로 종료 포인트에 대응하고, 스트림의 요청측 또는 응답측일 수 있다)에 대해, 상관기(105)는, 종료 포인트의 모든 인입 스트림들(즉, 그들의 응답측으로서의 종료 포인트를 갖는 스트림) 및 모든 송출 스트림들(즉, 그들의 요청측으로서의 종료 포인트를 갖는 스트림)을 획득한다. 주목할 점은, 종료 포인트는 인입 스트림과 송출 스트림을 갖는 종료 포인트 뿐만 아니라, 인입 스트림 또는 송 출 스트림만을 갖는 종료 포인트를 포함하는 것으로 이해해야 한다는 점이다. 인입 스트림들 각각 및 송출 스트림들 각각에 대한 통계적 패턴들 사이의 상관값이 계산된다. 상관기(105)는, 그 상관값이 미리결정된 임계치(임계치는 0일 수 있다)를 초과하며 모든 상관값들 중에서 최대치가 되는 한쌍의 인입 스트림과 송출 스트림을 상관성 인입 스트림 및 송출 스트림으로서 선택한다. 즉, 이들을 동일한 상관관계에 속하는 것으로 식별한다. 이러한 인입 및 송출 스트림 쌍을 배제하는 경우에, 상관기(105)는 상기의 계산과 선택을 다시 한번 수행한다. 이어서, 상기 프로세스들은, 미리결정된 임계치(임계치는 0일수 있다)를 초과하는 상관값을 갖는 인입 스트림과 송출 스트림이 남아 있지 않을 때까지, 또는 모든 인입 스트림이 각각의 송출 스트림과 상관될 때까지, 또는 모든 송출 스트림이 각각의 인입 스트림과 상관될 때까지 반복된다. 일련의 인입 스트림 및 송출 스트림은 동일한 상관관계에 속할 수 있다. 주목할 점은, 본 발명은 상기의 상관값으로만 제한되는 것은 아니며, 상관 정도를 표현하기 위한 임의의 메트릭이 사용될 수 있다는 점이다. 게다가, 본 발명은 상기의 미리결정된 임계치만으로 제한되는 것은 아니며, 상관 정도를 비교하기 위한 임의의 임계치 조건이 사용될 수 있다. 임계치 조건은 수동으로 입력될 수 있다. 임계치는 0일 수도 있다. 즉, 어떠한 임계치 제한도 없다. 임계치는, 모든 인입 스트림과 송출 스트림이 그들의 상관 정도에 따라 분류된 다음, 더 높은 상관값을 갖는 인입 스트림과 송출 스트림의 쌍 또는 그룹이 추가의 분석을 위해 선택될 수 있다는 것을 의미한다.For the end point of each of all streams generated by the stream generator 104 (ie, nodes physically correspond to the end point and can be the requesting or responding side of the stream), the correlator 105 is the end point. Obtain all incoming streams of (ie, streams having end points as their respondents) and all outgoing streams (ie, streams with end points as their requesting side). It should be noted that the end point includes not only an end point having an incoming stream and an outgoing stream, but also an end point having only an incoming stream or an outgoing stream. The correlation value between the statistical patterns for each of the incoming streams and each of the outgoing streams is calculated. The correlator 105 selects as a pair of incoming streams and outgoing streams a pair of incoming streams and outgoing streams whose correlation value exceeds a predetermined threshold (threshold may be zero) and is the maximum of all correlation values. That is, they are identified as belonging to the same correlation. In the case of excluding these incoming and outgoing stream pairs, the correlator 105 performs the above calculation and selection once again. The processes then continue until there are no incoming streams and outgoing streams with correlation values above a predetermined threshold (threshold may be zero), or until all incoming streams have been correlated with each outgoing stream. Or iterate until all outgoing streams are correlated with each incoming stream. A series of incoming streams and outgoing streams may belong to the same correlation. Note that the present invention is not limited to the above correlation values, but any metric for expressing the degree of correlation may be used. In addition, the present invention is not limited to the above predetermined threshold, but any threshold condition for comparing the degree of correlation may be used. The threshold condition can be entered manually. The threshold may be zero. That is, there is no threshold limit. The threshold means that all incoming streams and outgoing streams are classified according to their degree of correlation, and then a pair or group of incoming streams and outgoing streams with higher correlation values can be selected for further analysis.

스트림의 상관관계는 애플리케이션 컴포넌트들간의 다중레벨 의존성을 나타 낸다. 예를 들어, 클라이언트 A는 웹 서버 B에 HTTP 쿼리 요청을 전송하고, 웹 서버 B는, 이 HTTP 쿼리 요청에 응답하여 데이터베이스 C에 JDBC 쿼리 요청을 전송한다. HTTP 쿼리 요청과 JDBC 쿼리 요청 사이에는 인과관계가 있기 때문에, 이들 요청들에 대응하는 스트림들의 패턴은 소정의 시간 인터벌 내에서 더 높은 유사성을 갖는다.Correlation of streams represents multilevel dependencies between application components. For example, client A sends an HTTP query request to web server B, and web server B sends a JDBC query request to database C in response to this HTTP query request. Since there is a causal relationship between the HTTP query request and the JDBC query request, the pattern of streams corresponding to these requests has a higher similarity within a given time interval.

상관관계를 측정하기 위하여, 스트림 패턴들 사이의 상관값을 계산하는 다양한 상관 알고리즘이 사용될 수 있다. 예를 들어, 이하의 등식에 의해 상관 계수가 계산될 수 있다.To measure the correlation, various correlation algorithms may be used that calculate the correlation between the stream patterns. For example, the correlation coefficient can be calculated by the following equation.

Figure 112009030345884-PAT00001
Figure 112009030345884-PAT00001

Figure 112009030345884-PAT00002
이고
Figure 112009030345884-PAT00003
Figure 112009030345884-PAT00002
ego
Figure 112009030345884-PAT00003

X는 인입 스트림의 패턴을 나타내며, Y는 송출 스트림의 패턴을 나타낸다. Xi는 패턴 X에서 단위 인터벌 i에 대한 통계치를 나타내며, Yi는 패턴 Y에서 단위 인터벌 i에 대한 통계치를 나타낸다. ρX,Y는 패턴 X와 Y사이의 상관값을 나타내며, cov(X, Y)는 패턴 X와 Y의 공분산을 나타내며, σX는 패턴 X의 표준 편차를 나타내고, σY는 패턴 Y의 표준 편차를 나타낸다. n은 단위 인터벌의 갯수이고, μX는 패턴 X의 평균값이고, μY는 패턴 Y의 평균값이다. N은 표준 편차를 계산하기 위한 등식에서 n-1로 대체될 수 있다. 상관 계수를 이용하는 것 대신에, 예로서 T값 또는 P값을 이용함으로써 상관값이 표현될 수도 있다.X represents the pattern of the incoming stream, Y represents the pattern of the outgoing stream. X i represents the statistics for the unit interval i in the pattern X, Y i represents the statistics for the unit interval i in the pattern Y. ρ X, Y represents the correlation between patterns X and Y, cov (X, Y) represents the covariance of patterns X and Y, σ X represents the standard deviation of pattern X, and σ Y represents the standard of pattern Y Indicates a deviation. n is the number of unit intervals, μ X is the average value of the pattern X, and μ Y is the average value of the pattern Y. N can be replaced with n-1 in the equation for calculating the standard deviation. Instead of using the correlation coefficient, the correlation value may be represented by using, for example, a T value or a P value.

도 3은, 상기 예에서 HTTP 쿼리 요청의 스트림 패턴과 JDBC 쿼리 요청의 스트림 패턴을 도시한다. 도 3으로부터, 이들 2개 스트림 패턴들 사이의 유사성이 더 높다는 것을 알 수 있다. 상관관계 계산은 또한, 이들 2개 스트림들 사이의 상관값은 최대치(0.889)이고, 따라서 이들 2개 스트림 패턴들은 동일한 상관관계에 속하는 것으로 분석될 수 있다는 것을 보여준다.3 shows the stream pattern of the HTTP query request and the stream pattern of the JDBC query request in the above example. It can be seen from FIG. 3 that the similarity between these two stream patterns is higher. Correlation calculations also show that the correlation between these two streams is a maximum (0.889), so that these two stream patterns can be analyzed to belong to the same correlation.

한 실시예에서, 시스템(100)은 유형 식별자(미도시)를 포함할 수도 있다. 유형 식별자는, 서버 유형 패턴을 이용함으로써 각각의 스트림에 대한 응답측의 서버 유형을 판정한다. 서버 유형 패턴은, 스트림의 상호작용의 유형과 응답측의 서버 유형 사이의 대응관계를 정의한다. 예를 들어, 서버 유형 패턴은 이하의 대응관계를 포함하지만, 이것으로만 제한되는 것은 아니다.In one embodiment, system 100 may include a type identifier (not shown). The type identifier determines the server type of the responding party for each stream by using the server type pattern. The server type pattern defines the correspondence between the type of interaction in the stream and the server type on the responding side. For example, server type patterns include, but are not limited to, the following correspondences.

● 상호작용 유형 HTTP는 웹 서버에 대응한다.Interaction Type HTTP corresponds to a web server.

● 상호작용 유형 JDBC는 데이터베이스 서버에 대응한다.Interaction Types JDBC corresponds to the database server.

● 상호작용 유형 LDAP는 LDAP 서버에 대응한다.● Interaction type LDAP corresponds to the LDAP server.

한 실시예에서, 시스템(100)은 변환기(미도시)를 포함할 수도 있다. 변환기는 대응하는 요청측과 응답측을 스트림들에 접속하고, 스트림들과 응답측의 서버 유형들 사이의 상관관계를 디스플레이하고, 애플리케이션 토폴러지를, 디스플레이와 같은 장치를 통해 제공하기 위한 시각적 형태로 변환한다.In one embodiment, the system 100 may include a transducer (not shown). The converter connects the corresponding requesting and responding sides to the streams, displays the correlation between the streams and the server types on the responding side, and provides the application topology in a visual form for providing via a device such as a display. To convert.

도 4에 도시된 본 발명의 방법이 도 5의 예와 연계하여 기술될 것이다. 도 4는 본 발명의 한 실시예에 따른 애플리케이션 토폴러지를 식별하는 방법을 도시하 는 흐름도이다. 도 5는 예시적인 애플리케이션 토폴러지를 도시한다.The method of the invention shown in FIG. 4 will be described in connection with the example of FIG. 5. 4 is a flowchart illustrating a method of identifying an application topology according to an embodiment of the present invention. 5 illustrates an example application topology.

도 4에 도시된 바와 같이, 이 방법은 단계(400)에서 시작한다. 그 다음, 단계(401)에서, 그 소스 어드레스와 목적지 어드레스 중 적어도 하나가 미리결정된 호스트 범위 내에 있는 패킷들이 미리결정된 기간에서 발생된 네트워크 트래픽으로부터 추출되고, 패킷들의 전송 시간들이 얻어진다. 도 5에 도시된 바와 같이, 모니터링되는 시스템은 IP 어드레스 100.1.0.1을 갖는 메일 서버(501); IP 어드레스 100.1.0.2를 갖는 웹 서버(502); IP 어드레스 100.0.0.1을 갖는 메일 서버(503); IP 어드레스 100.0.0.2를 갖는 웹 서버(504); IP 어드레스 100.0.0.3을 갖는 LDAP 서버(505)를 포함하는 것으로 가정된다. 서버들(501 및 502)은 동일한 물리적 서버(500)에 위치해 있다. 단계(401)에서, 목적지 IP 어드레스가 상기 범위 내에 있는 패킷들이 추출된다.As shown in FIG. 4, the method begins at 400. Then, in step 401, packets whose at least one of the source address and the destination address are within a predetermined host range are extracted from the network traffic generated in the predetermined period, and the transmission times of the packets are obtained. As shown in Fig. 5, the monitored system includes a mail server 501 having an IP address 100.1.0.1; A web server 502 with an IP address 100.1.0.2; A mail server 503 having an IP address 100.0.0.1; A web server 504 with an IP address 100.0.0.2; It is assumed to include an LDAP server 505 with an IP address 100.0.0.3. Servers 501 and 502 are located on the same physical server 500. In step 401, packets whose destination IP address is within this range are extracted.

그 다음, 단계(402)에서, 패킷들에 의해 운반된 상호작용들이 상호작용 특성에 따라 식별된다. 여기서, 상호작용들 각각은, 상호작용의 유형, 상호작용의 요청측, 및 상호작용의 응답측을 포함한다. 도 5에 도시된 예의 경우, 클라이언트로부터 유형 POP3의 서버(501)로의 상호작용 A, 클라이언트로부터 유형 HTTP의 서버(502)로의 상호작용 B, 서버(501)로부터 유형 POP3의 서버(503)으로의 상호작용 C, 서버(502)로부터 유형 HTTP의 서버(504)로의 상호작용 D, 서버(504)로부터 유형 LDAP의 서버(505)로의 상호작용 E와, 상기 IP 어드레스에 의해 식별되는 상호작용들의 요청측과 응답측을 식별하는 것이 가능하다.Next, in step 402, the interactions carried by the packets are identified according to the interaction characteristic. Here, each of the interactions includes a type of interaction, a requesting side of the interaction, and a response side of the interaction. For the example shown in FIG. 5, interaction A from client to server 501 of type POP3, interaction B from client to server 502 of type HTTP, server 503 of type POP3 from server 501 Interaction C, interaction D from server 502 to server 504 of type HTTP, interaction E from server 504 to server 505 of type LDAP, and the request of the interactions identified by the IP address. It is possible to identify the side and the response side.

그 다음, 단계(403)에서, 각각이 동일한 유형, 동일한 요청 및 동일한 응답 측을 갖는 상호작용을 나타내는 스트림들이 발생된다. 여기서, 각각의 스트림은 미리결정된 기간내의 각각의 단위 인터벌 동안에 추출된 패킷들에 의해 운반된 상호작용 유형의 상호작용들에 관한 통계치를 포함한다. 도 5의 예의 경우, 각각 A', B', C', D', 및 E'로 라벨링된 스트림들이 발생되며, 이 스트림들은 단계(402)에서 얻어진 상호작용들에 대응한다. 그 다음, 단계(404)에서, 인입 스트림과 송출 스트림 양자 모두를 갖는 각각의 응답측의 모든 인입 스트림들과 모든 송출 스트림들로부터, 미리결정된 기간 동안의 인입 스트림에 관한 통계치와 송출 스트림에 관한 통계치 사이의 상관 정도가 가장 높고 미리결정된 임계치 조건을 만족하는 모든 인입 스트림과 송출 스트림이 발견되고, 발견된 인입 스트림과 송출 스트림은 동일한 상관관계에 속하는 것으로 마킹된다. 여기서, 인입 스트림과 송출 스트림 사이의 상관관계는, 상기 분석 방법의 수렴을 보장하기 위해, 후속해서 검색될 범위로부터 배제된다. 도 5의 예의 경우, 스트림 A'와 C' 사이, 및 스트림 B'와 D' 사이, 및 스트림 D'와 E' 사이의 상관값들은 최대치인 것으로 가정하면, 단계(404)에서, 스트림 A' 및 C'는 동일한 상관관계에 속하고, 스트림 B', D' 및 E'는 동일한 상관관계에 속하는 것으로 판정된다.Then, in step 403, streams are generated that represent interactions each having the same type, same request and same response side. Here, each stream includes statistics about interactions of the type of interaction carried by packets extracted during each unit interval within a predetermined period of time. For the example of FIG. 5, streams labeled A ', B', C ', D', and E 'are generated, respectively, which correspond to the interactions obtained in step 402. Then, in step 404, statistics on the incoming stream and statistics on the outgoing stream, from all incoming streams and all outgoing streams of each responder having both an incoming stream and an outgoing stream, for a predetermined period of time. All incoming streams and outgoing streams with the highest degree of correlation between and satisfying a predetermined threshold condition are found, and the found incoming streams and outgoing streams are marked as belonging to the same correlation. Here, the correlation between the incoming stream and the outgoing stream is excluded from the range to be subsequently retrieved in order to ensure the convergence of the analysis method. For the example of FIG. 5, assuming that the correlation values between streams A 'and C' and between streams B 'and D' and between streams D 'and E' are maximum, at step 404, stream A ' And C 'belong to the same correlation, and streams B', D 'and E' belong to the same correlation.

나아가, 서버 유형 패턴을 이용함으로써 각각의 스트림에 대한 응답측의 서버 유형을 판정하는 것이 가능하다. 도 5의 예의 경우, 서버(501)를 메일 서버로서, 서버(502)를 웹 서버로서, 서버(503)를 메일 서버로서, 서버(504)를 웹 서버로서, 서버(505)를 LDAP 서버로서 판정하는 것이 가능하다.Further, by using the server type pattern, it is possible to determine the server type of the response side for each stream. In the example of FIG. 5, server 501 is a mail server, server 502 is a web server, server 503 is a mail server, server 504 is a web server, and server 505 is an LDAP server. It is possible to determine.

나아가, 대응하는 요청측 및 응답측을 스트림들에 접속하고, 애플리케이션 토폴러지를 시각적 형태로 변환하도록 스트림들과 응답측의 서버 유형들간의 상관관계를 디스플레이하는 것이 가능하다. 예를 들어, 도 5에 도시된 예와 유사한 형태로 애플리케이션 토폴러지를 디스플레이하는 것이 가능하다. 여기서, 스트림들간의 상관관계는 특정한 마크에 의해(예를 들어, 색상 또는 심볼에 의해) 표현될 수 있다.Furthermore, it is possible to connect the corresponding requesting and responding sides to the streams and to display the correlation between the streams and the server types on the responding side to transform the application topology into a visual form. For example, it is possible to display the application topology in a form similar to the example shown in FIG. 5. Here, the correlation between the streams can be represented by a particular mark (eg by color or symbol).

상기 프로세스 및 장치들은 하드웨어를 통해 구현될 수 있다. 이와 같은 하드웨어는 하나의 처리 장치 또는 복수의 처리 장치일 수 있다. 이와 같은 처리 장치는, 마이크로프로세서, 마이크로제어기, 디지털 프로세서, 마이크로컴퓨터, 중앙 처리 장치의 일부, 상태 머신, 논리 회로, 및/또는 신호를 조작할 수 있는 임의의 장치일 수 있다.The processes and devices may be implemented through hardware. Such hardware may be one processing device or a plurality of processing devices. Such a processing device may be a microprocessor, microcontroller, digital processor, microcomputer, part of a central processing unit, state machine, logic circuits, and / or any device capable of manipulating signals.

주목할 점은, 전술된 일련의 장치들은 소프트웨어 또는 펌웨어로 구현될 수 있다는 것이다. 전술된 일련의 프로세스들이 소프트웨어로 구현되는 경우, 그 소프트웨어를 구성하는 프로그램이, 스토리지 매체 또는 네트워크로부터, 다양한 프로그램이 설치될 때 다양한 기능들을 수행할 수 있는 도 6에 예시된 범용 개인용 컴퓨터(600)와 같은, 전용 하드웨어 구성을 갖는 컴퓨터 내에 설치된다.Note that the above-described series of devices may be implemented in software or firmware. When the above-described series of processes are implemented in software, the general-purpose personal computer 600 illustrated in FIG. 6 may perform various functions when various programs are installed, from a storage medium or a network, the program constituting the software. It is installed in a computer having a dedicated hardware configuration, such as.

도 6에서, 중앙 처리 장치(CPU)(601)는 판독 전용 메모리(ROM)(602)에 저장된 프로그램에 따라, 또는 스토리지 섹션(608)으로부터 랜덤 액세스 메모리(RAM)(603)에 로딩되는 프로그램에 따라, 다양한 프로세스들을 수행한다. RAM(603)에서, CPU(601)이 다양한 프로세스등을 수행할때 요구되는 데이터도 역시 필요하다면 저장된다.In FIG. 6, the central processing unit (CPU) 601 is stored in a program loaded in the random access memory (RAM) 603 according to the program stored in the read-only memory (ROM) 602 or from the storage section 608. Thus, various processes are performed. In the RAM 603, the data required when the CPU 601 performs various processes and the like are also stored if necessary.

CPU(601), ROM(602), RAM(603)은 버스(604)를 통해 서로 접속된다. 입력/출력 인터페이스(605)도 역시 버스(604)에 접속된다.The CPU 601, the ROM 602, and the RAM 603 are connected to each other via the bus 604. Input / output interface 605 is also connected to bus 604.

이하의 컴포넌트들, 즉, 키보드, 마우스 등을 포함한 입력 섹션(606); 음극선관(CRT), 액정 디스플레이(LCD)등과 같은 디스플레이와 확성기등을 포함한 출력 섹션(607); 하드디스크등을 포함한 스토리지 섹션(608); 및 LAN 카드, 모뎀 등과 같은 네트워크 인터페이스 카드를 포함한 통신 섹션(609)이 입력/출력 인터페이스(605)에 접속된다.An input section 606 including the following components: a keyboard, a mouse, and the like; An output section 607 including a display, such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a loudspeaker; A storage section 608 including a hard disk or the like; And a communication section 609 including a network interface card such as a LAN card, a modem, or the like, is connected to the input / output interface 605.

드라이브(610)도 역시 필요하다면 입력/출력 인터페이스(605)에 접속된다. 자기 디스크, 광 디스크, 광자기 디스크, 반도체 메모리 등과 같은 착탈가능한 매체(611)는 필요하다면 드라이브(610) 상에 장착되어, 그로부터 판독된 컴퓨터 프로그램이 필요하다면 스토리지 섹션(608) 내에 설치되도록 한다.Drive 610 is also connected to input / output interface 605 if necessary. Removable media 611, such as magnetic disk, optical disk, magneto-optical disk, semiconductor memory, etc., is mounted on drive 610 if necessary, such that a computer program read therefrom is installed in storage section 608 if necessary.

전술된 일련의 프로세스들이 소프트웨어에 의해 구현되는 경우, 그 소프트웨어를 구성하는 프로그램은 착탈가능한 매체(611)와 같은 스토리지 매체 또는 인터넷과 같은 네트워크로부터 설치된다.When the above-described series of processes are implemented by software, the program constituting the software is installed from a storage medium such as removable medium 611 or a network such as the Internet.

당업자라면, 이 스토리지 매체는, 프로그램을 제공하기 위한 장치로부터 사용자에게 별도로 전달되는, 도 6에 예시된 바와 같은 프로그램이 저장되어 있는 착탈가능한 매체(611)만으로 제한되는 것은 아니라는 것을 주목해야 한다. 착탈가능한 매체(611)의 예로서는, 자기 디스크(플로피 디스크 포함), 광학 디스크(컴팩트 디스크-판독 전용 메모리(CD-ROM) 및 디지털 버스타일 디스크(DVD) 포함), 광자기 디스크(MD 포함), 및 반도체 메모리가 포함된다. 대안으로서, 스토리지 매체 는, 프로그램이 저장되어 있는 ROM(602)이거나, 스토리지 섹션(608)에 포함된 하드 디스크등일 수 있으며, 이들을 포함하는 장치와 더불어 사용자에게 함께 전달된다.Those skilled in the art should note that this storage medium is not limited to the removable medium 611 in which the program as illustrated in FIG. 6 is stored, which is delivered separately from the apparatus for providing the program to the user. Examples of removable media 611 include magnetic disks (including floppy disks), optical disks (including compact disk-read only memory (CD-ROM) and digital budget disks (DVD)), magneto-optical disks (including MD), And semiconductor memories. In the alternative, the storage medium may be a ROM 602 in which a program is stored, a hard disk included in the storage section 608, or the like, along with a device including the same, to be delivered to the user.

주목할 점은, 전술된 일련의 프로세스들이 수행되는 단계는 설명한 순서대로 시간순으로 자연스럽게 수행될 수도 있지만, 반드시 시간순으로 수행될 필요는 없다. 일부 단계들은 병렬로 또는 서로 독립적으로 수행될 수도 있다.Note that the steps in which the above-described series of processes are performed may be performed naturally in time order in the order described, but need not necessarily be performed in time order. Some steps may be performed in parallel or independently of one another.

예시적인 실시예들이 기술되었지만, 다양한 다른 변경, 대체, 및 수정이 본 발명의 범위 또는 사상으로부터 벗어나지 않고 당업자에 의해 이루어질 수 있다는 것을 이해하여야 한다.While exemplary embodiments have been described, it should be understood that various other changes, substitutions, and alterations can be made by those skilled in the art without departing from the scope or spirit of the invention.

본 발명의 상기 및/또는 기타의 양태들, 특징들, 및/또는 잇점들은 첨부된 도면들을 참조함으로써 이하의 상세한 설명에 비추어 용이하게 이해될 것이다. 첨부된 도면들에서, 동일하거나 대응하는 기술적 특징 또는 컴포넌트들은 동일하거나 대응하는 참조번호로 표시될 것이다.The above and / or other aspects, features, and / or advantages of the present invention will be readily understood in view of the following detailed description by reference to the accompanying drawings. In the accompanying drawings, the same or corresponding technical features or components will be indicated by the same or corresponding reference numerals.

도 1은 본 발명의 한 실시예에 따른 애플리케이션 토폴러지를 식별하기 위한 시스템의 예시적 구조를 도시하는 도면.1 illustrates an exemplary structure of a system for identifying an application topology in accordance with one embodiment of the present invention.

도 2는 스트림의 예시적 거동 패턴을 그래프를 통해 도시하는 도면.2 graphically depicts an exemplary behavior pattern of a stream.

도 3은 한 예에서의 HTTP 쿼리 요청의 스트림 패턴 및 JDBC 쿼리 요청의 스트림 패턴을 도시하는 도면.3 illustrates a stream pattern of an HTTP query request and a stream pattern of a JDBC query request in one example.

도 4는 본 발명의 한 실시예에 따른 애플리케이션 토폴러지를 식별하는 방법을 도시하는 흐름도.4 is a flow diagram illustrating a method of identifying an application topology in accordance with one embodiment of the present invention.

도 5는 예시적 애플리케이션 토폴러지를 도시하는 도면.5 illustrates an example application topology.

도 6은 본 발명을 구현하기 위한 컴퓨터의 예시적 구현을 도시하는 블럭도.6 is a block diagram illustrating an exemplary implementation of a computer for implementing the present invention.

Claims (10)

애플리케이션 토폴러지를 식별하기 위한 시스템으로서,A system for identifying application topologies, 미리결정된 기간안에 발생한 네트워크 트래픽으로부터 패킷들을 추출하고, 패킷들의 전송 시간을 얻도록 구성된 패킷 추출기로서, 상기 패킷들 각각의 소스 어드레스 및 목적지 어드레스 중 적어도 하나는 미리결정된 호스트 범위 내에 있는 것인, 상기 패킷 추출기;A packet extractor configured to extract packets from network traffic occurring within a predetermined period of time and obtain a transmission time of the packets, wherein at least one of a source address and a destination address of each of the packets is within a predetermined host range Extractor; 상호작용 특성에 따라 패킷들에 의해 운반된 상호작용을 식별하도록 구성된 상호작용 식별기로서, 상호작용들 각각은 상호작용의 유형, 상호작용의 요청측 및 상호작용의 응답측을 포함하는 것인, 상기 상호작용 식별기;An interaction identifier configured to identify an interaction carried by packets according to the interaction characteristic, wherein each of the interactions includes a type of interaction, a requesting side of the interaction, and a response side of the interaction; Interaction identifier; 각각이 동일한 유형, 동일한 요청측 및 동일한 응답측을 갖는 상호작용을 나타내고, 미리결정된 기간 내의 각각의 단위 인터벌 동안에 추출된 패킷들에 의해 운반된 상기 동일한 유형을 갖는 상호작용에 관한 통계치를 포함하는 스트림들을 발생하도록 구성된 스트림 생성기; 및A stream each representing an interaction having the same type, the same requesting side, and the same responding side, and containing statistics about the same type of interaction carried by packets extracted during each unit interval within a predetermined period of time; A stream generator configured to generate audio signals; And 인입 스트림 및/또는 송출 스트림을 갖는 노드들의 모든 인입 스트림들과 송출 스트림들로부터 상관관계가 있는 인입 스트림 및 송출 스트림을 발견하도록 구성된 상관기A correlator configured to discover correlated incoming streams and outgoing streams from all incoming streams and outgoing streams of nodes having incoming streams and / or outgoing streams 를 포함하는, 시스템.Including, the system. 제1항에 있어서, 상기 패킷 추출기는,The method of claim 1, wherein the packet extractor, 중복 패킷들 및 애플리케이션에 무관한 패킷들을 필터링하기 위한 수단을 포함하는 것인, 시스템.Means for filtering duplicate packets and packets irrelevant to the application. 제1항에 있어서, 상기 상호작용 특성은,The method of claim 1, wherein the interaction characteristic, 상기 상호작용들이 기초하고 있는 프로토콜의 특성, 또는 상기 프로토콜의 특성과 상기 애플리케이션의 조합을 포함하는 것인, 시스템.The characteristic of the protocol on which the interactions are based, or a combination of the characteristic of the protocol and the application. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 서버 유형 패턴을 이용함으로써 각각의 스트림에 대한 상기 응답측의 서버 유형을 판정하도록 구성된 유형 식별기를 더 포함하는, 시스템.And a type identifier configured to determine the server type of the responding party for each stream by using a server type pattern. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 대응하는 요청측과 응답측을 스트림들에 접속하고, 상기 애플리케이션 토폴러지를 시각적 형태로 변환하도록, 스트림들과 응답측의 서버 유형들 사이의 상관관계를 디스플레이하도록 구성된 변환기를 더 포함하는 시스템.And a converter configured to display a correlation between the streams and the server types of the responding side to connect corresponding requesting and responding sides to the streams and to convert the application topology into a visual form. 애플리케이션 토폴러지를 식별하는 방법으로서,As a method of identifying application topology, 미리결정된 기간에 발생한 네트워크 트래픽으로부터 패킷들을 추출하고 상기 패킷들의 전송 시간을 얻는 단계로서, 상기 패킷들 각각의 소스 어드레스 및 목적지 어드레스 중 적어도 하나는 미리결정된 호스트 범위 내에 있는 것인, 상기 패킷 들을 추출하고 패킷들의 전송 시간을 얻는 단계;Extracting packets from network traffic occurring in a predetermined period of time and obtaining a transmission time of the packets, wherein at least one of a source address and a destination address of each of the packets is within a predetermined host range and Obtaining a transmission time of packets; 상호작용 특성에 따라 패킷들에 의해 운반된 상호작용들을 식별하는 단계로서, 상기 상호작용들 각각은 상호작용의 유형, 상호작용의 요청측, 및 상호작용의 응답측을 포함하는 것인, 상기 식별하는 단계;Identifying the interactions carried by the packets according to the interaction characteristics, wherein each of the interactions includes a type of interaction, a requesting side of the interaction, and a response side of the interaction. Making; 각각이 동일한 유형, 동일한 요청측 및 동일한 응답측을 갖는 상호작용을 나타내며, 상기 미리결정된 기간 내의 각각의 단위 인터벌 동안에 추출된 패킷들에 의해 운반된 상기 동일한 유형을 갖는 상호작용에 관한 통계치를 포함하는 스트림들을 발생하는 단계; 및Each representing an interaction having the same type, the same requesting side, and the same responding side, and comprising statistics about the same type of interaction carried by packets extracted during each unit interval within the predetermined period of time; Generating streams; And 인입 스트림 및/또는 송출 스트림을 갖는 노드들의 모든 인입 스트림들과 송출 스트림들로부터 상관관계가 있는 인입 스트림 및 송출 스트림을 발견하는 단계Discovering correlated incoming streams and outgoing streams from all incoming streams and outgoing streams of nodes having an incoming stream and / or an outgoing stream; 를 포함하는, 애플리케이션 토폴러지 식별 방법.The application topology identification method comprising a. 제6항에 있어서, 상기 프로토콜은,The method of claim 6, wherein the protocol, HTTP, HTTPS, JDBC/ODBC, LDAP, SMTP, POP3 또는 NNTP를 포함하는 것인, 애플리케이션 토폴러지 식별 방법.Application topology identification method, including HTTP, HTTPS, JDBC / ODBC, LDAP, SMTP, POP3, or NNTP. 제6항에 있어서, 상기 상호작용들의 요청측 및 응답측은,The method of claim 6, wherein the requesting and responding side of the interactions, 그 상호작용들을 개시하기 위한 패킷들의 소스 어드레스 및 목적지 어드레스에 의해 각각 표시되는 것인, 애플리케이션 토폴러지 식별 방법.Wherein each is indicated by a source address and a destination address of packets for initiating the interactions. 제6항에 있어서, 상기 식별하는 단계는,The method of claim 6, wherein the identifying step, 요청측이 미리결정된 호스트 범위 내에 있지 않은 상호작용의 요청측을 바로 그 특정한 요청측으로서 식별하는 것인, 애플리케이션 토폴러지 식별 방법.Wherein the requesting side identifies as the particular requesting side the requesting side of the interaction that is not within a predetermined host range. 제6항에 있어서, 상기 식별하는 단계는,The method of claim 6, wherein the identifying step, 응답측이 미리결정된 호스트 범위 내에 있지 않은 상호작용을 무시하는 단계를 포함하는 것인, 애플리케이션 토폴러지 식별 방법.And the responding party ignores the interaction that is not within the predetermined host range.
KR20090044189A 2008-05-29 2009-05-20 System and method for identifying application topology KR20090124944A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNA2008101110198A CN101594247A (en) 2008-05-29 2008-05-29 The method and system of identification applied topology
CN200810111019.8 2008-05-29

Publications (1)

Publication Number Publication Date
KR20090124944A true KR20090124944A (en) 2009-12-03

Family

ID=41408707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20090044189A KR20090124944A (en) 2008-05-29 2009-05-20 System and method for identifying application topology

Country Status (2)

Country Link
KR (1) KR20090124944A (en)
CN (1) CN101594247A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436152A (en) * 2022-12-13 2023-07-14 国网湖北省电力有限公司电力科学研究院 Intelligent low-voltage distribution transformer area topology identification method based on characteristic information correlation

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162842B2 (en) * 2015-01-09 2018-12-25 Intel Corporation Data partition and transformation methods and apparatuses
CN109802842B (en) * 2017-11-16 2021-12-03 华为技术有限公司 Application topology generation method and related equipment
CN110808865B (en) * 2019-11-13 2021-04-02 北京理工大学 Passive industrial control network topology discovery method and industrial control network security management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436152A (en) * 2022-12-13 2023-07-14 国网湖北省电力有限公司电力科学研究院 Intelligent low-voltage distribution transformer area topology identification method based on characteristic information correlation
CN116436152B (en) * 2022-12-13 2023-11-10 国网湖北省电力有限公司电力科学研究院 Intelligent low-voltage distribution transformer area topology identification method based on characteristic information correlation

Also Published As

Publication number Publication date
CN101594247A (en) 2009-12-02

Similar Documents

Publication Publication Date Title
US7804787B2 (en) Methods and apparatus for analyzing and management of application traffic on networks
US11121947B2 (en) Monitoring and analysis of interactions between network endpoints
EP1999890B1 (en) Automated network congestion and trouble locator and corrector
US7483972B2 (en) Network security monitoring system
Natarajan et al. NSDMiner: Automated discovery of network service dependencies
Lu et al. Clustering botnet communication traffic based on n-gram feature selection
US7752307B2 (en) Technique of analyzing an information system state
KR101010302B1 (en) Security management system and method of irc and http botnet
US7278156B2 (en) System and method for enforcing security service level agreements
KR20200033090A (en) An apparatus for network monitoring and method thereof, and system
JP5050781B2 (en) Malware detection device, monitoring device, malware detection program, and malware detection method
US20020032871A1 (en) Method and system for detecting, tracking and blocking denial of service attacks over a computer network
US8797876B2 (en) Identification of underutilized network devices
JP2016508353A (en) Improved streaming method and system for processing network metadata
Sarica et al. A novel sdn dataset for intrusion detection in iot networks
KR101761781B1 (en) Big data processing method for applying integrated management framework for the open source database
US20150095492A1 (en) Method and apparatus of matching monitoring sets to network devices
US20210058411A1 (en) Threat information extraction device and threat information extraction system
KR20090124944A (en) System and method for identifying application topology
JP6538618B2 (en) Management device and management method
JPWO2015141628A1 (en) URL selection method, URL selection system, URL selection device, and URL selection program
Mainuddin et al. IoT device identification based on network traffic characteristics
Kind et al. Advanced network monitoring brings life to the awareness plane
JP2016144153A (en) Service monitoring device and service monitoring method
Jeng et al. CC-Tracker: Interaction profiling bipartite graph mining for malicious network activity detection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee