Movatterモバイル変換


[0]ホーム

URL:


KR20010103729A - Method and apparatus for a user extensible event structure - Google Patents

Method and apparatus for a user extensible event structure
Download PDF

Info

Publication number
KR20010103729A
KR20010103729AKR1020017008370AKR20017008370AKR20010103729AKR 20010103729 AKR20010103729 AKR 20010103729AKR 1020017008370 AKR1020017008370 AKR 1020017008370AKR 20017008370 AKR20017008370 AKR 20017008370AKR 20010103729 AKR20010103729 AKR 20010103729A
Authority
KR
South Korea
Prior art keywords
event
key
value
field
keyname
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020017008370A
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 엘그레시 도론, 컴퓨터 어소시에이츠 싱크, 인코포레이티드filedCritical엘그레시 도론
Publication of KR20010103729ApublicationCriticalpatent/KR20010103729A/en
Ceasedlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

Translated fromKorean

공통 이벤트 관리 시스템을 통해 포인트 프로덕트에서 발생하는 이벤트 모니터용 통합 이벤트 관리 시스템(140)은 이벤트 상관기(330), 이벤트 관리자(310), 이벤트 아치브(320), 경보 규칙 기억 장치(340) 및 응답 엔진(350)과 연관되어 사용된 사용자 확장 가능한 이벤트 구조를 포함한다.The integrated event management system 140 for event monitors occurring at the point product through the common event management system includes an event correlator 330, an event manager 310, an event arch 320, an alert rule store 340 and a response. A user extensible event structure used in association with the engine 350.

Description

Translated fromKorean
사용자 확장 가능 이벤트 구조용 방법 및 장치{METHOD AND APPARATUS FOR A USER EXTENSIBLE EVENT STRUCTURE}METHOD AND APPARATUS FOR A USER EXTENSIBLE EVENT STRUCTURE}

정보 기술(Information technology;IT)는 계산 전용 메인프레임으로부터 네트워크를 통한 데스크탑 및 부서에 걸친 범위로 복합, 고분산 컴퓨터 시스템까지 진보되어 왔다. 이들 분산 컴퓨터 환경은 다수의 플랫폼, 도메인, 툴 및 네트워크 구성을 선택할 수 있는 유연성을 포함한 장점을 제공한다. 그러나, 이 분산 환경은 복잡할 수 있다. 또, 소프트웨어 툴 및 플랫폼간에 호환성 및 통합성이 결여되어 있을 수 있다. 예컨대, 종래의 포인트 프로덕트(예컨대, 일리노이주 오크 부룩의 프래티넘 테크놀러지, 인크 사가 제조한 Platinum DBVision 제품)은 일반적으로 특정 기능 또는 전문가 영역, 예컨대 데이타베이스 모니터링 및 관리, 작업 스케쥴링 또는 관리하는 데이타베이스 재구성을 위한 솔루션으로 규정된다. 각각의 포인트 프로덕트는 특정한 성능을 제공하고 또, 각각은 명확한 인터페이스를 포함한다. 한편, 툴 기능이 크게 희생되더라도, 프레임워크 기술을 사용하여 통합 솔루션을 제공한다. 또한, 현재 기업 환경을 유지하면서 종래 포인트 프로덕트 또는 프레임워크 기술을 사용하는 것은 IT 구성으로부터 다량의 리소스 및 금전을 포함할 수 있다.Information technology (IT) has evolved from compute-only mainframes to complex, highly distributed computer systems ranging from desktops to departments and over networks. These distributed computing environments offer advantages including the flexibility to choose multiple platforms, domains, tools, and network configurations. However, this distributed environment can be complex. In addition, there may be a lack of compatibility and integration between software tools and platforms. For example, conventional point products (e.g., Platinum DBVision, Inc., Inc., Inc., Oak Brook, Illinois) generally reorganize databases for specific functions or areas of expertise, such as database monitoring and management, job scheduling or management. It is defined as a solution for. Each point product provides a specific performance and each includes a specific interface. On the other hand, framework technologies are used to provide an integrated solution, even at the expense of tool functionality. In addition, using conventional point product or framework technology while maintaining the current enterprise environment can include a large amount of resources and money from the IT configuration.

따라서, 필요성은 툴을 통해 요구될 수 있도록 고유하게 규정될 수 있는 이벤트 구조를 갖는 호환성 인터페이스를 이용한 툴을 제공하기 위한 통합 시스템에 존재한다.Thus, a need exists in an integrated system to provide a tool with a compatible interface with an event structure that can be uniquely defined to be required through the tool.

본 발명은 이벤트 관리 시스템 분야에 관한 것으로, 특히 이벤트 관리 시스템의 사용자 확장 가능 이벤트 구조에 관한 것이다.TECHNICAL FIELD The present invention relates to the field of event management systems, and more particularly, to a user extensible event structure of an event management system.

도 1은 복수 개의 노드를 구비한 본 발명의 구상에 대한 실시예를 나타내는 도면.1 illustrates an embodiment of a concept of the present invention having a plurality of nodes.

도 2는 본 발명의 통합 포인트 프로덕트 수트를 나타내는 도면.2 illustrates an integrated point product suite of the present invention.

도 3은 본 발명의 이벤트 관리 시스템의 블럭도를 나타내는 도면.3 is a block diagram of an event management system of the present invention.

도 4는 본 발명의 이벤트 관리 시스템의 복수 노드간에 통신된 이벤트 정보의 실시예를 나타내는 도면.4 is a diagram showing an embodiment of event information communicated between a plurality of nodes in an event management system of the present invention.

도 5는 본 발명의 이벤트 구조를 확장하는 프로세스의 흐름도를 나타내는 도면.5 is a flow diagram of a process for extending the event structure of the present invention.

본 발명의 목적은 사용자 확장 가능 이벤트 구조를 구비한 공통 이벤트 관리 시스템을 통해 포인트 프로덕트에서 발생하는 이벤트를 감시하기 위한 통합 시스템을 제공하는 것이다.It is an object of the present invention to provide an integrated system for monitoring events occurring in point products through a common event management system having a user extensible event structure.

본 발명의 특징은 키네임 및 상기 이벤트 구조에 대한 대응 밸류을 제출하는 단계와 상기 키네임이 상기 이벤트 구조의 키 필드 어레이에서 존재하는지 여부를 판정하는 단계를 구비한 이벤트 구조를 확장하는 방법을 제공하는 것이다. 상기 키네임이 상기 키 필드 어레이에 존재하지 않는 경우, 상기 방법은 상기 이벤트 구조의 인덱스를 증가시키는 단계와; 상기 인덱스에 기초한 키 필드 어레이의 위치에 상기 키네임을 추가하는 단계와; 상기 인덱스에 기초한 밸류 필드 어레이의 위치에 상기 대응 밸류을 추가하는 단계를 포함한다. 상기 키네임이 상기 키 필드 어레이에 존재하는 경우, 상기 방법은 상기 키네임과 연관된 밸류 필드 어레이에서 사전에 저장된 밸류의 위치를 결정하는 단계와; 상기 밸류 필드 어레이의 사전에 저장된 밸류을 상기 대응 밸류으로 대체하는 단계를 포함한다.A feature of the present invention provides a method of extending an event structure comprising submitting a keyname and corresponding value for the event structure and determining whether the keyname exists in a key field array of the event structure. will be. If the keyname is not present in the key field array, the method includes increasing an index of the event structure; Adding the keyname to a location of a key field array based on the index; Adding the corresponding value to a location of the value field array based on the index. If the keyname is present in the key field array, the method includes determining a location of a value previously stored in a value field array associated with the keyname; Replacing the previously stored value of the value field array with the corresponding value.

본 발명의 이벤트 관리 시스템은 사업을 관리하고, 이 사업[예컨대, 근거리 통신망(LAN) 또는 광역 통신망(WAN)과 같은 컴퓨터 네트워크]에서 발생하는 이벤트 정보를 상관하고, 소정의 응답 방안에 기초하여 정확하게 작동한다. 이 이벤트 관리 시스템은 예컨대, 사업 범위 내의 호환성 있는 포인트 프로덕트으로부터 이벤트 메시지를 수신한다. 도 1에 도시한 바와 같이, 사업(100)은 복수 개의 노드(110, 120, 130)를 포함할 수 있고, 예컨대 네트워크(도시안함)를 통해 연결될 수 있다. 노드는 예컨대, 오퍼레이팅 시스템을 운영하는 개인 컴퓨터, 서버등의 물리적인 박스이다. 본 발명의 실시예로, 노드는 그 노드에 설치된 호환성 있는 포인트 프로덕트를 구비한 개인 컴퓨터일 수 있다. 본 발명의 다른 실시예로, 이벤트 관리 시스템(140)은 노드(110, 120, 130) 위의 이벤트를 관리하여, 이 이벤트가 네트워크 위의 데이타 이동을 최소화하고, 소스에 밀접한 데이타의 평가, 보고 및 자동화된 정정과 같은 작동을 하면서 발생하게 한다.The event management system of the present invention manages a business, correlates event information occurring in this business (eg, a computer network such as a local area network (LAN) or a wide area network (WAN)), and accurately based on a predetermined response scheme. Works. The event management system receives event messages, for example, from compatible point products within the business scope. As shown in FIG. 1, business 100 may include a plurality of nodes 110, 120, 130, and may be connected, for example, through a network (not shown). A node is, for example, a physical box such as a personal computer, server, or the like that operates an operating system. In an embodiment of the present invention, a node may be a personal computer with compatible point products installed at that node. In another embodiment of the present invention, event management system 140 manages events on nodes 110, 120, and 130 so that these events minimize data movement over the network and evaluate and report data close to the source. And an operation such as automated correction.

도 2에 도시한 바와 같은 본 발명의 실시예에서, 이벤트 관리 시스템(270)은 예컨대, 관리 응용 프로그램, 데이타베이스, 데스크탑, 네트워크 및 시스템에 사용된 호환성 있는 포인트 프로덕트를 구비한 통합 툴의 수트(200)에 구비될 수 있다. 툴(230, 240, 250, 260)은 이벤트와 관련된 데이타를 공유하도록 공통 서비스(210)의 세트가 사용될 수 있다. 지시기(220)는 예컨대, 호환성 있는 포인트 프로덕트(230, 240, 250, 260)용 종래의 서버 컴퓨터에서 운영하는 공유된 공통 그래픽 사용자 인터페이스(GUI)이다. 본 발명의 실시예로, 지시기(220)는 Windows NT 및 Windows 95 아래에서 운영하고, 사용자가 사업에서 호환성 있는 포인트 프로덕트(230, 240, 250, 260)을 구비한 모든 리소스를 보고 대화할 수 있도록 허용하는 단일 컨솔로 작동한다.In the embodiment of the present invention as shown in FIG. 2, event management system 270 is a suite of integrated tools with compatible point products used in, for example, management applications, databases, desktops, networks and systems. 200 may be provided. The tools 230, 240, 250, 260 can use a set of common services 210 to share data related to the event. Indicator 220 is, for example, a shared common graphical user interface (GUI) operating on a conventional server computer for compatible point products 230, 240, 250, 260. In an embodiment of the invention, the indicator 220 operates under Windows NT and Windows 95, allowing the user to view and talk to all resources with compatible point products 230, 240, 250, and 260 in the business. It works with a single console that allows.

본 발명의 이벤트 관리 시스템에 이용된 정보의 주요 관리 단위는 이벤트라 부르는 구조화된 메시지이다. 이벤트는 사업에서 리소스를 통하거나 리소스로의 일부 주요 발생 빈도에 대한 정보를 나타낸다. 이벤트는 이벤트 관리 시스템에서 호환성 있는 포인트 프로덕트 및 이벤트 관리자를 통해 전송되고 수신된다. 이벤트는, 예컨대 사업을 관리하도록 사용된 실시간 정보 프로세스의 기초 설정 블럭이다. 이벤트는 공개할 수 있는 기초 정보, 공유 정보 및 그 형식을 정의하여 이벤트를 유지하고 전송한다. 이벤트의 구조는, 예컨대 이벤트 레코드에 필요한 기초 정보를 위해 소정의 필드를 구비한다. 이 소정의 필드는 필드 식별하기와 필드 식별하지 않기의 2가지 카테고리로 이루어진다. 필드 식별하기는 다른 이벤트와 구별하는 이벤트에 대한 고유키를 함께 형성하는 필드이다. 필드 식별하지 않기는 이벤트에 대한 추가 정보를 추가하는 필드이지만, 이벤트의 키에 참여하지 않는다. 본 발명의 이벤트 관리 시스템은 이벤트 구조가 키 밸류 쌍의 바로 추가하여 각각의 이벤트 구조를 고유하게 정의함으로써 사용자를 통해 확장되도록 허용한다. 따라서, 이벤트 구조에 키 밸류 쌍의 추가는 포인트 프로덕트가 고유 정의 이벤트를 공개하는 것이 가능하거나 그렇지 않으면 이벤트의 소정 필드를 통해 고유하게 정의되지 않기 때문에 공개되지 않는다.The main management unit of information used in the event management system of the present invention is a structured message called an event. An event represents information about some major frequency of occurrences in or through a resource in a business. Events are sent and received through event managers and compatible point products and event managers. An event is, for example, the building blocks of a real-time information process used to manage a business. An event maintains and transmits an event by defining basic information that can be disclosed, shared information, and a format thereof. The structure of an event has certain fields, for example for basic information required for an event record. This predetermined field consists of two categories: field identification and no field identification. Identifying a field is a field that together forms a unique key for the event that distinguishes it from other events. Not identifying the field is a field that adds additional information about the event, but does not participate in the event's key. The event management system of the present invention allows the event structure to be extended through the user by uniquely defining each event structure by adding a key value pair directly. Thus, the addition of a key value pair to the event structure is not disclosed because it is possible for a point product to publish a uniquely defined event or otherwise not uniquely defined through some field of the event.

본 발명의 실시예에 따른 이벤트 구조는 예컨대, 다음의 C 언어로 정의된다.The event structure according to the embodiment of the present invention is defined, for example, in the following C language.

이벤트를 식별하는 필드는 노드, 명칭, 제품, 견본, 형태, 형태가 개별적이지 않은 경우 조건_시간, 형태가 개별적인 경우 이벤트 시간, 키 필드 어레이의 내용물을 구비한 모든 키 밸류 페어와 밸류 필드 어레이(필드, 예컨대 각각의 필드 어레이에서 키 밸류 페어의 수를 표지하는 숫자를 구비한 NumKeys를 가짐)이다. 다른 소정의 필드 모두는 필드 식별하지 않기이다.Fields identifying events include node, name, product, sample, form, condition_time if the form is not individual, event time if the form is individual, all key value pairs and value field arrays with the contents of the key field array ( Field, eg, NumKeys with a number that indicates the number of key value pairs in each field array. All other predetermined fields are field not identified.

이벤트는 복수 개의 형태, 예컨대 개별 이벤트, 조건 및 경보로 분류될 수 있다. 개별 이벤트는 특정 시간에 발생되고 완전 내장된 것을 표지하는 이벤트이다. 개별 이벤트에 대한 발생 빈도는 상태를 가지고 있지 않고 업데이트되지 않는다. 로그온 시도가 실패한 것은 개별 이벤트의 발생을 호출할 수 있다. 조건은 시간이 지속되고 업데이트된 속성을 가질 수 있는 것의 속성을 표지하는 이벤트이다. 제품에 의해 선언된 이벤트는 그 제품을 통해 소유된다. 일반적으로, 각 포인트 프로덕트만이 특정 제품에서 발생된 조건 이벤트를 업데이트 또는 제거할 수 있다. 개별 이벤트 및 조건 이벤트의 내용물은 이벤트를 일으키는 발생 빈도를 변경하지 않고 변경될 수 없는 사업에 관한 실질 정보를 표시한다. 경보, 예컨대 사용자 구성 가능성에 기초한 다른 이벤트의 해석이다. 따라서, 사용자는 이것을 일으킨 조건을 해결하지 않고 항상 경보를 제거할 수 있다. 마찬가지로, 이 경보는 경보에 기초한 이벤트의 제거를 하여도 지속될 수 있다.Events can be classified into a plurality of forms, such as individual events, conditions and alerts. Individual events are events that occur at a specific time and that are fully embedded. The frequency of occurrence for an individual event has no status and is not updated. The failed logon attempt can invoke the occurrence of an individual event. A condition is an event that marks a property of something that may last and have an updated property. Events declared by a product are owned by that product. In general, only each point product can update or remove condition events that occur in a particular product. The contents of an individual event and condition event represent substantial information about the business that cannot be changed without changing the frequency of occurrence of the event. Alerts, for example, interpretation of other events based on user configurability. Thus, the user can always clear the alarm without resolving the condition that caused this. Similarly, this alert can persist even with the removal of an event based on the alert.

도 3에 기초한 바와 같이, 본 발명의 이벤트 관리 시스템(300)의 실시예는 이벤트 관리자(310), 이벤트 아치브(320), 이벤트 상관기(330), 경보 규칙 저장 장치(340) 및 응답 엔진(350)을 구비한다. 본 발명의 실시예로, 이벤트 관리자(310), 이벤트 아치브(320), 이벤트 상관기(330), 경보 규칙 저장(340) 및 응답 엔진(350)은 사업의 모든 노드에 포함되고, 경보 규칙 저장 장치(340)는 이벤트가 저장되어 국소적으로 관리되도록 허용하는 1개의 중앙 기억 장치에 포함된다.As shown in FIG. 3, an embodiment of the event management system 300 of the present invention includes an event manager 310, an event arch 320, an event correlator 330, an alert rule storage device 340, and a response engine ( 350). In an embodiment of the invention, the event manager 310, event arch 320, event correlator 330, alarm rule storage 340 and response engine 350 is included in all nodes of the business, alarm rule storage Device 340 is included in one central storage device that allows events to be stored and managed locally.

본 발명의 실시예로, 이벤트 관리 시스템은, 예컨대 사업 전체에 걸쳐 포인트 프로덕트으로부터 이벤트 메시지를 수신한다. 이벤트는 이벤트가 각 노드에 위치된 이벤트 관리자(310)를 통해 수신된 사업의 노드에서 관리된다. 이 이벤트 관리자(310)는, 예컨대 모든 이벤트를 수신하고, 사전에 전송된 모든 이벤트의 상태를 유지하고, 가입자 리스트를 유지하고 적합한 가입자에게 이벤트를 라우트하도록 할 수 있다. 본 발명의 실시예로, 이벤트 및 그 상태와 가입자 리스트는 국소적으로 저장될 수 있다.In an embodiment of the present invention, the event management system receives event messages from point products, for example throughout a business. The event is managed at the node of the business where the event is received via the event manager 310 located at each node. The event manager 310 may, for example, receive all events, maintain the status of all previously sent events, maintain a subscriber list and route the events to the appropriate subscribers. In an embodiment of the invention, the event and its status and subscriber list may be stored locally.

도 4에 도시한 바와 같이, 노드 a(401)의 이벤트 관리자(402) 및 노드 b(410)의 이벤트 관리자(411)도 노드 b(410)의 이벤트 상관기(413)로부터 이벤트 정보를 수신한다. 노드 b(410)의 이벤트 관리자(411)는 노드 b(410)의 이벤트 상관기(413)에 이벤트 정보를 제공한다. 이벤트 관리자(411)도 이벤트가 실제로 발생하는 포인트 프로덕트(415)으로부터 이벤트 정보를 수신한다. 이벤트 관리자(402, 411)는, 예컨대 이벤트 및 그 관련 상태와 가입자 리스트를 유지한다. 각각의 이벤트 관리자는 로컬 메모리 데이타 기억 장치, 예컨대 흑판을 가질 수 있고, 상태 이벤트가 기억된다. 이 흑판은 발생(이벤트 관리자의 프로세스 호출) 양단에 정보 복원을 위해 파일 기초 스토리지에 유지될 수 있다. 이벤트에 가입한 클라이언트는 이벤트 관리자의 새로운 호출 양단에 각각의 가입자를 재설정할 수 있다.As shown in FIG. 4, the event manager 402 of the node a 401 and the event manager 411 of the node b 410 also receive event information from the event correlator 413 of the node b 410. Event manager 411 at node b 410 provides the event information to event correlator 413 at node b 410. The event manager 411 also receives event information from the point product 415 where the event actually occurs. Event managers 402 and 411 maintain a list of subscribers, for example, events and their associated states. Each event manager may have a local memory data storage, such as a blackboard, in which state events are stored. This blackboard can be maintained in file-based storage for information retrieval across occurrences (invocation of processes in the event manager). Clients subscribing to the event can reset each subscriber across new calls of the event manager.

따라서, 가입자는 기억 장치에 유지될 수 있다. 또한, 이 로컬 이벤트 아치브는 이벤트 관리자에 의해 수신된 모든 이벤트에 대해 유지될 수 있다. 또한, 본 발명의 이벤트 시스템은 다수의 노드로부터 이벤트를 상관할 수 있다. 본 발명의 실시예로, 이벤트 관리 시스템은 단일한 관리 스테이션에 통합된 이벤트의 형태 또는 노드 경계 양단의 형태/카테고리에 제공된다. 본 발명의 이벤트 관리 시스템은 이벤트 가입자를 통한 노드와 다른 기준에 의해 이벤트 그룹의 흥미를 조회하거나 표현하도록 구조화되어 있다. 이벤트 가입자는 이벤트의 필드의 내용물에 기준 규격을 허용한다. 특정 프로세스에 대한 해당 이벤트의 결정은 예컨대, 레코드의 여러 가지 필드의 기준을 일치시키는 레코드를 요구하는 데이타베이스 질의를 작성하도록 유추될 수 있다. 본 발명의 요구는 통상의 데이타베이스 질의와 차이가 있고, 이것은 이미 존재하는 데이타에 대한 요구가 아니고 발생하거나 존재하여야 할 이벤트의 모음에 대한 진행 요구이다.Thus, the subscriber can be kept in the storage device. This local event arch can also be maintained for all events received by the event manager. In addition, the event system of the present invention may correlate events from multiple nodes. In an embodiment of the present invention, an event management system is provided in the form of an event integrated into a single management station or in the form / category across node boundaries. The event management system of the present invention is structured to query or express interest of an event group by different criteria from nodes through event subscribers. The event subscriber allows the reference specification to the contents of the field of the event. The determination of the corresponding event for a particular process can be inferred, for example, to build a database query that requires a record that matches the criteria of various fields of the record. The needs of the present invention differ from conventional database queries, which are not requests for data that already exist but a progress request for the collection of events that should occur or be present.

가입자가 이벤트, 예컨대 포인트 프로덕트(415)에서 발생하는 이벤트를 만들었을 경우, 가입자 요구는 노드 b 410 위의 이벤트 관리자(411)로 전송된다. 이벤트 관리자(411)는 이 요구를 수신하고 요구를 예컨대, 메모리에서 저장될 수 있는 미해결 요구 리스트에 추가한다. 이 이벤트 관리자(411)는 요구 기준이 일치되는지 알기 위해 예컨대, 각 흑판에 사전 저장된 미해결 이벤트를 조사한다. 각각 일치하는 이벤트는 요구자, 예컨대 이벤트의 가입자에게 전송, 예컨대 공개된다. 또한, 가입자 기준에 일치하여 수신된 새로운 이벤트도 전송된다. 이것은 가입이 취소될 때까지 계속될 수 있다When a subscriber has created an event, such as an event occurring at point product 415, the subscriber request is sent to event manager 411 on node b 410. The event manager 411 receives this request and adds it to the list of outstanding requests, which may be stored, for example, in memory. The event manager 411 examines, for example, outstanding events pre-stored in each blackboard to see if the requirement criteria are matched. Each matching event is sent to a requester, such as a subscriber of the event, for example published. In addition, new events received in accordance with subscriber criteria are also transmitted. This can continue until the subscription is canceled

본 발명의 대표적인 실시예에서, 가입자는 이것이 형성될 때 고유 ID가 할당된다. 이 요구로 부터 전송된 고유 ID 및 데이타 그룹은 고유하게 가입자를 정의한다. 가입자는 예컨대, 초기 가입자로부터 복귀 요구 처리로 API를 호출함으로써 취소된다. 이것은 취소 메시지를 각각이 요구 ID를 갖는 이벤트 관리자에게 전송한다. 이후 이벤트 관리자는 취소 요구와 초기 가입자를 일치시킬 수 있고, 이벤트 관리자의 프로세싱 대기열로부터 이것을 제거한다.In an exemplary embodiment of the invention, the subscriber is assigned a unique ID when it is formed. The unique ID and data group sent from this request uniquely define the subscriber. The subscriber is canceled, for example, by calling the API with a return request process from the initial subscriber. This sends a cancellation message to the event manager, each with a request ID. The event manager can then match the cancel request with the initial subscriber and remove it from the event manager's processing queue.

노드에 공개된 모든 이벤트는 노드의 이벤트 관리자에 의해 수신된다. 또한, 이벤트 관리자는 그 노드 및 다른 노드로부터 프로세스에 의해 전송된 모든 요구를 수신하여 유지한다. 이벤트를 수신할 때, 또한 이벤트 관리자는 이벤트 ID를 할당한다. 이벤트 관리자는 이벤트가 조건인지를 판정하고, 조건인 경우, 이벤트 관리자는 예컨대, 이벤트 관리자가 기존 조건에 일치하는지를 결정하도록 흑판을 조사한다. 조건과 일치하는 경우, 조건 이벤트는 기존 조건의 조건 ID가 할당된다. 또한, 아치빙이 가능한 경우, 이벤트는 아치브된다. 본 빌명의 대표적인 실시예에서, 예컨대, 아치빙은 데이타베이스, 예컨대 플랫 파일 아치브에서 이벤트를 저장하는 단계를 포함할 수 있다. 별개 파일은 각각의 캘린더 데이에 대해 사용될 수 있다. 이벤트는 이벤트가 수신된 순서에 따라 신행 경계 레코드로서 이벤트에서 시간 소인의 일자에 대해 아치브에 작성될 수 있다.All events published to a node are received by the node's event manager. The event manager also receives and maintains all requests sent by the process from that node and other nodes. When receiving an event, the event manager also assigns an event ID. The event manager determines whether the event is a condition, and if so, the event manager examines the blackboard to determine, for example, whether the event manager matches an existing condition. If the condition matches, the condition event is assigned a condition ID of an existing condition. Also, if arching is possible, the event is arched. In a representative embodiment of the present disclosure, for example, arching may include storing an event in a database, such as a flat file arch. A separate file can be used for each calendar day. An event may be written to the arch for the date of the time stamp in the event as a new boundary record in the order in which the event was received.

또한, 이벤트 관리자는 모든 미해결 가입자 요구를 조사한다. 조건 업데이트와 다른 이벤트에 대해서, 수신된 이벤트가 요구와 일치하는 경우, 이벤트 관리자는 요구자에게 이벤트를 전송한다. 조건을 업데이트하는 경우에, 이것은 요구에 대해 일치되는 업데이트된 이벤트이다. 따라서, 이것은 이벤트 관리자가 요구자에게전송하는 업데이트된 이벤트이다. 본 발명의 이벤트 가입자는 이벤트 필터를 포함하고, 이것은 전체적으로 본 명세서에 참조된 Platinium Provision Common Services Reference Guide, version 1.08(October 1998, Platinum technology inc.)에 상세히 기재되어 있다.In addition, the event manager examines all outstanding subscriber needs. For condition updates and other events, the event manager sends an event to the requester if the received event matches the request. In the case of updating a condition, this is the updated event that matches the request. Thus, this is an updated event that the event manager sends to the requestor. The event subscriber of the present invention includes an event filter, which is described in detail in Platinium Provision Common Services Reference Guide, version 1.08 (October 1998, Platinum technology Inc.), which is incorporated herein by reference in its entirety.

이벤트 필터는 동적인 이벤트 필터링 및 라우팅을 하기 위한 방법 및 장치라는 명칭으로 1998년 12월 31일 출원된 변호사 문서 번호 제22074661/25546호에 기재된 해당 이벤트의 기준을 식별하는 단계를 설명하고 있고, 확장된 이벤트 구조의 키 밸류 페어를 구비한 이벤트의 필드 각각에 대해 규정될 수 있는 비교의 여러 가지 형태의 설명을 허용한다. 예컨대, 이벤트 필터는 사용자 특정 밸류을 갖는 부울리안 익스프레션은 이벤트의 분야를 비교하는 서브익스프레션으로 구성된다. 이벤트 필터는 예컨대, 구조화 질의어(SQL)에서 "WHERE" 구절과 유사하다. 이벤트 필터의 기초 서브익스플레션은 예컨대, 밸류을 갖는 이벤트의 필드를 비교하는 구절, 예컨대 node=ptisun20이다. 서브익스프레션 node=ptisun20은 이벤트의 노드 필드가 스트링 "ptisun20"과 정확하게 일치한다. 이벤트 구조의 필드는 노드 필드가 특정 신택스를 요구하는 키 필드 어레이 및 밸류 필드 어레이의 예외를 갖는 예에서 사용됨에 따라 사용될 수 있다. 예컨대, 추가된 키 밸류 페어 중 하나가The event filter describes the steps of identifying the criteria for the event described in Attorney Docket No. 22074661/25546, filed Dec. 31, 1998, entitled Method and Apparatus for Dynamic Event Filtering and Routing. Allows for the description of various forms of comparisons that can be defined for each field of an event with a key value pair of the specified event structure. For example, an event filter is a Boolean expression with a user specific value and consists of subexpressions that compare the field of events. Event filters are similar to the "WHERE" clause in, for example, structured query terms (SQL). The elementary subexpression of an event filter is, for example, a phrase that compares a field of events having a value, such as node = ptisun20. The subexpression node = ptisun20 matches the node field of the event exactly with the string "ptisun20". The fields of the event structure may be used as the node fields are used in the examples with exceptions of key field arrays and value field arrays requiring specific syntax. For example, one of the added key value pairs

key valuekey value

FileSystem /usr 인 경우, 이 키 밸류 페어에 대한 정확한 일치 필터는 keyfield.FileSystem = "/usr"이다. 또한, 임의의 밸류을 가진 키의 존재에 대한 테스트는 널 밸류이 일치하지 않는 경우, 예컨대 keyfield.FileSystem !="□를테스트함으로써 행해진다. 이벤트 필터는 임의의 장소에 저장될 수 있고, 텍스트 스트링은 예컨대 데이타베이스, 메모리, C 소스 코드(예컨대, 프로그램에서 하드코드됨)등에서 플랫한 텍스트 파일과 같은 구성 파일에 저장될 수 있다.If FileSystem / usr, the exact match filter for this key value pair is keyfield.FileSystem = "/ usr". Also, a test for the presence of a key with any value is done by testing keyfield.FileSystem! = "□ if the null value does not match, for example the event filter can be stored anywhere, and the text string is for example It can be stored in a configuration file, such as a flat text file in a database, memory, C source code (eg, hardcoded in a program), and the like.

또한, 필터링은 이벤트의 키 밸류 페어의 밸류에 대해 이용할 수 있다. 전술한 예에서, 특정 파일 시스템의 명칭인 관련 밸류을 가진 키 "FileSystem"일 수 있다. 소망한 밸류은 특정 파일 시스템, 예컨대 /usr에 대해서만 있을 수 있다. 키의 대응밸류에 대한 필터 메카니즘은 키 및 테스트 관련 밸류을 규정한다. 특정 신택스는 키와 이벤트의 소정 필드로부터 키에 대한 다른 명칭 공간을 허용하는 이벤트의 다른 필드를 구별하도록 사용된다. 신택스는 "keyfield.[name]"이다. 키 밸류 페어의 /usr 밸류에 대한 테스트 예는 예컨대, keyfield.FileSystem =/usr일 수 있다.Filtering may also be used for the value of the key value pair of the event. In the above example, it may be a key "FileSystem" with an associated value that is the name of a particular file system. The desired value can only be for a particular file system, such as / usr. The filter mechanism for the corresponding value of the key defines the key and test related values. Specific syntax is used to distinguish other fields of the event that allow different namespaces for the key from certain fields of the key and the event. The syntax is "keyfield. [Name]". A test example for the / usr value of a key value pair may be, for example, keyfield.FileSystem = / usr.

본 발명의 대표적인 실시예에서, 이벤트 필터는 비교 오퍼레이터, 예컨대 =를 포함할 수 있고, 풀 레귤러 익스프레션은 오퍼레이터 "like"로 규정되어 일치한다. 필터, 예컨대 node =ptisun05일 수 있다. ptisun[#]의 패턴을 따르는 모든 노드와 일치하는 필터는 "ptisun[0-9]+"와 같은 노드일 수 있다. 후술하는 것은 이벤트 필터 비교 오퍼레이터의 대표적인 리스트이다 : >=(크거나 같음), <=(작거나 같음), >(크다), <(작다), = (같다), like(레귤러 익스프레션과 일치), likeci(케이스 무감응 스트링 매치), and !=(같지 않다).In a representative embodiment of the present invention, the event filter may comprise a comparison operator, such as =, and the full regular expression is defined as operator "like" and matches. Filter, for example node = ptisun05. A filter that matches all nodes that follow the pattern of ptisun [#] can be a node like "ptisun [0-9] +". The following is a representative list of event filter comparison operators:> = (greater than or equal to), <= (smaller than or equal to),> (greater than), <(smaller), = (equal to), like (consistent with regular expressions) , likeci (case insensitive string match), and! = (not equal).

본 발명의 대표적인 실시예에서, 다음의 token, 제조 규칙 및 야크(yacc)를사용하여 수행된 이벤트 필터 정의가 사용된다.In a representative embodiment of the present invention, event filter definitions performed using the following tokens, manufacturing rules and yaks are used.

본 발명의 대표적인 실시예에서, 이벤트 관리자(411)는 대몬(daemon)(예컨대, UNIX 서버에 연속적으로 동작하여 네트워크의 클라이언트 시스템에 리소스를 제공하는 에이젼트 프로그램)으로서 수행될 수 있다. 이벤트를 수신할 때, 이벤트 관리자(411)는 이벤트 배치, 이미 이벤트를 수신하였는지 여부 및 이벤트 상태가 변경되었는지 여부를 결정한다. 또, 이벤트 관리자(411)는 이벤트를 로컬 이벤트 아치브(412)를 작성하고, 이벤트를 이벤트 콘텐츠에 가입하는 모든 클라이언트에 라우트한다. 예컨대, 이벤트 관리자(411)는 노드(402)의 이벤트 상관기(413)에 이벤트 정보를 제공할 수 있다. 이벤트 아치브(412) 서비스 프로세서는 이벤트 아치브로부터 이벤트를 읽는다. 가입자는 데이타 교환 서비스(DEX)와 같은 중앙 스토리지의 콘텐츠에 대해 이벤트에 가입하는 경보 규칙을 갖는 이벤트 상관기(413) 견본 및 예컨대 이벤트를 업데이트하도록 가입하는 리소스 객체 또는 제품을 구비하는디렉터를 포함할 수 있다.In an exemplary embodiment of the present invention, the event manager 411 may be executed as a daemon (eg, an agent program that continuously operates on a UNIX server to provide resources to client systems on the network). Upon receiving the event, event manager 411 determines the event placement, whether the event has already been received and whether the event status has changed. The event manager 411 also creates a local event arch 412 and routes the event to all clients subscribing to the event content. For example, event manager 411 may provide event information to event correlator 413 of node 402. The event arch 412 service processor reads the event from the event arch. The subscriber may comprise a sample of the event correlator 413 with alert rules for subscribing to an event for content in central storage, such as data exchange service (DEX), and a director with resource objects or products subscribing to update the event, for example. have.

이벤트 상관기(413)는 예컨대, 이벤트 상관기 서비스 프로세서를 포함할 수 있고, 본 명세서에 참조된 이벤트의 동적 상관을 하기 위한 시스템 및 방법이라는 명칭으로 1998년 12월 31일 출원된 변호사 문서 번호 제22074661/15548호를 설명하고 있다. 이벤트 상관기(413)는 경보 규칙에서 규정된 사용자 방침을 수행한다. 경보는 주요한 조건 또는 발생의 가입자에게 통지를 제공하는 이벤트의 형태이다. 경보의 결정은 단일 이벤트의 존재, 다른 이젠트가 방생할 때 특정한 기존 상태의 존재 또는 고정된 시간 윈도우 범위 내 특정 이벤트의 재현을 포함할 수 있다. 또한, 경보는 특정한 상태 또는 상태가 존재하는 경우 고정 시간 윈도우 범위내에 특정 이벤트의 재현을 조합될 수 있다.Event correlator 413 may include, for example, an event correlator service processor, and may include, for example, attorney docket no. 22074661 / filed Dec. 31, 1998 entitled Systems and Methods for Dynamic Correlation of Events referenced herein. 15548 is described. The event correlator 413 performs the user policy defined in the alert rule. An alert is a form of event that provides notification to a subscriber of a major condition or occurrence. The determination of an alert may include the presence of a single event, the presence of a particular existing state when another event occurs, or the representation of a particular event within a fixed time window range. In addition, alerts can be combined to reproduce a particular event within a fixed time window range when a particular state or condition exists.

경보가 발생하였는지 판정하는 이벤트는 이벤트 상관기(413)와 동일한 노드의 이벤트에 기초하거나 하나 이상의 다른 노드(401,410)로부터 전송될 수 있다. 또한, 경보는 응답 엔진(414)이 경보의 자동화된 통지 또는 상관을 처리하도록 허용하는 선언의 자동화된 응답 방침과 관련될 수 있다. 이벤트 상관기(413)는 예컨대, 다른 경보 규칙에 의해 상관될 수 있는 경보, 수령 이벤트의 수정판 또는 전체적으로 새로운 이벤트를 생성할 수 있다.The event determining whether an alert has occurred may be based on an event of the same node as the event correlator 413 or transmitted from one or more other nodes 401, 410. In addition, the alert may be associated with an automated response policy of the declaration that allows the response engine 414 to handle automated notification or correlation of the alert. The event correlator 413 may generate, for example, alerts that may be correlated by other alert rules, modified versions of received events, or entirely new events.

이벤트는 경보 규칙을 통해 상관될 수 있다. 경보 규칙의 기초는 해석되어야 하는 이벤트의 판정이다. 경보 규칙은 단일 이벤트 또는 이벤트 집합이 응답하도록 중요한 발생을 나타내도록 생성될 수 있다. 경보 규칙은 발생과 그 발생에 이벤트 관리 시스템의 응답의 정의를 나타내는 해설 및 이벤트를 기재한 로직을 포함할 수있다. 상관의 결과는 하나 이상의 이벤트를 생성한다. 경보 규칙은 예컨대 디랙터(404)를 통해 규정될 수 있다.Events can be correlated via alert rules. The basis of the alert rule is the determination of the event that should be interpreted. Alert rules can be created to indicate significant occurrences for a single event or set of events to respond. The alarm rule may include commentary indicating the occurrence and definition of the event management system's response to the occurrence and logic describing the event. The result of the correlation generates one or more events. Alert rules may be defined, for example, via the director 404.

응답 엔진(414)은 응답 방침을 실행한다. 응답 엔진(414)은 복수 개의 프로세스를 포함한다. 응답 정책은 예컨대, 이벤트 상관기(413)에 의해 발생된 트리거 경보에 의해 호출된 로직 서술문에 연결된 리스트를 포함하는 논리적인 익스프레션이다. 복수 개의 동작은 응답 방침을 정의하여 수행될 수 있다. 본 발명의 대표적인 실시예로, 복수 개의 동작은 다른 동작의 복귀 코드 및 경보에서 전송된 특정 필드의 수령시 부수하는 각각의 동작을 만들기 위해 리스트된 순서에 있거나 로직에 추가될 수 있다. 응답 방침은 동작 집합을 정의하고 논리적인 순서에서 하나 이상의 동작을 참조하는 익스프레션을 구성함으로써 생성될 수 있다. 이 동작들은 전체적이고 복수 개의 응답 방침에 의해 호출된다. 또한, 본 발명의 대표적인 실시예에서, 응답 엔진(414)은 각 동작의 성공에 관한 정보를 각 단계의 완성에서 트리거 경보에 추가한다. 이것은 예컨대, 완성된 단계의 순차적인 수, 각 단계의 형태(예컨대 전자메일/페이지) 및 동작 단계 명칭의 이벤트 아치브를 갖는 이벤트를 업데이트하는 업데이트 경보 이벤트를 전송함으로써 완성될 수 있다. 이 정보는 디렉터를 통하여 억세스될 수 있다.Response engine 414 executes the response policy. The response engine 414 includes a plurality of processes. The response policy is, for example, a logical expression containing a list linked to a logic statement called by a trigger alert generated by the event correlator 413. The plurality of operations may be performed by defining a response policy. In a representative embodiment of the present invention, a plurality of actions may be added to the logic or in the order listed to make each action accompanying on receipt of a return code from another action and a particular field sent in the alert. Response policies can be created by defining sets of actions and constructing expressions that reference one or more actions in a logical order. These actions are invoked by the overall and multiple response policies. Further, in a representative embodiment of the present invention, the response engine 414 adds information about the success of each operation to the trigger alert at the completion of each step. This can be accomplished, for example, by sending an update alert event that updates an event with a sequential number of completed steps, a type of each step (e.g., email / page) and an event arch of the action step name. This information can be accessed through the director.

본 발명의 대표적인 실시예로, 응답 엔진(414)은 예컨대 제1 프로세스, 제2 프로세스 및 제3 프로세스를 포함할 수 있다. 제1 프로세스는 응답 엔진(414)과 동일한 노드(410)에 운영하는 이벤트 상관기(413)에 의해 전송된 이벤트에 가입한다. 관련 응답 방침을 갖는 경보의 수령시, 제1 프로세스는 방침을 수행하도록 제2 프로세스를 호출한다. 제1 프로세스는 각각의 프로세스와 관련된 구성 파일에서 설정에 의존하여 제2 프로세스의 복수 개의 견본을 호출할 수 있다. 제2 프로세스는 이벤트의 전송을 요구하는 동작을 수행하고 제3 프로세스는 다른 동작을 수행하도록 허용한다. 또한, 응답 엔진(414)의 제3 프로세스는 오퍼레이팅 시스템, 예컨대 전자 메일 메시지 전송하기, 스크립트 호출하기, 페이지 전송하기, 메시지를 파일에 작성하기 또는 간이망 관리 프로토콜(SNMP) 트랩으로서 이벤트를 전송하기로 호출을 요구하는 응답 방침 동작을 수행할 수 있다.In an exemplary embodiment of the invention, the response engine 414 may include, for example, a first process, a second process, and a third process. The first process subscribes to an event sent by the event correlator 413 operating at the same node 410 as the response engine 414. Upon receipt of an alert with an associated response policy, the first process invokes a second process to carry out the policy. The first process may invoke a plurality of samples of the second process depending on the settings in the configuration file associated with each process. The second process performs an operation requiring the transmission of an event and the third process allows other operations to be performed. In addition, the third process of the response engine 414 may be configured to send an operating system, such as sending an email message, calling a script, sending a page, writing a message to a file, or sending an event as a Simple Network Management Protocol (SNMP) trap. It can perform a response policy action that requires a call.

본 발명의 실시예로, 이벤트 구조는 키 필드 및 밸류 필드를 포함하고, 각각은 확장자 어레이를 갖는다. 또한, 이벤트 구조는 필드, 예컨대 NumKeys를 포함하고, 이것은 각각의 필드 어레이에 포함된 키 밸류 페어의 수자를 포함한다. 도 5는 키 밸류 페어를 본 발명의 이벤트 구조에 추가하는 흐름도의 대표적인 실시예를 나타낸다. 단계 510에서, 사용자는, 예컨대 이벤트 구조에 추가된 각각의 이벤트 구조에 대한 포인트 프로덕트, 이벤트 키네임 및 대응 밸류을 통해 제출한다. 본 발명의 실시예로, 키 밸류 페어의 추가를 통해 이벤트 구조를 확장하면, 예컨대 int PtEventSetKeyValuePair(PT_EVENTPtEvent, PT_CHAR_T*KeyName, PT_CHAR_T*Value)와 같은 기능 호출을 통해 구현될 수 있다. 단계 520에서, 이벤트, 키네임 및 밸류가 널인 경우, 본 발명의 이벤트 관리 시스템의 이벤트 응용 프로그램 인터페이스(API)는 단계 530에 도시한 바와 같이, 에러 메시지를 제공하고 키 밸류 페어를 이벤트 구조에 추가하는 프로세스로 빠져나간다. 한편, 단계 540에서 이벤트 API는 키네임이 키 필드 어레이에서 이미 존재하는지를 결정한다.In an embodiment of the invention, the event structure includes a key field and a value field, each having an array of extensions. The event structure also includes fields, such as NumKeys, which contain the number of key value pairs included in each field array. 5 illustrates a representative embodiment of a flowchart for adding a key value pair to the event structure of the present invention. In step 510, the user submits, for example, via a point product, event keyname and corresponding value for each event structure added to the event structure. In an embodiment of the present invention, extending the event structure through the addition of a key value pair may be implemented through a function call such as int PtEventSetKeyValuePair (PT_EVENTPtEvent, PT_CHAR_T * KeyName, PT_CHAR_T * Value). In step 520, if the event, keyname and value are null, the event application program interface (API) of the event management system of the present invention provides an error message and adds the key value pair to the event structure, as shown in step 530. Exit to the process. On the other hand, at step 540 the event API determines whether the keyname already exists in the key field array.

본 발명의 실시예로, 이벤트 API는 예컨대, int PtEventFindKeyByIndex(PT_EVENTPtEvent, PT_CHAR_T*KeyName, int*index)와 같은 기능을 통해 키네임이 키 필드 어레이에 이미 저장된 다른 키네임을 가진 입력 키네임을 조사함을 통해 존재 여부를 결정한다. 단계 580에서, 키네임이 키 필드 어레이에서 발견된 경우, 키네임의 어레이에서 위치를 표지하는 인덱스는 인덱스 변수에서 예컨대 호출 함수에 결정되어 제공될 수 있다. 복귀 코드는 키네임이 발견된 경우 예컨대 PT_SUCCESS와, 키네임이 발견되지 않은 경우 예컨대 PT_FAIL 호출 함수를 제공할 것이다. 또한, 본 발명의 실시예로, 키 필드 어레이 및 밸류 필드 어레이는 동일한 크기 및 밸류를 가지고 대응 밸류은 각 어레이에서 동일한 인덱스를 가진다. 따라서, 키네임이 위치된 경우, 사용자에 의해 제출된 대응 밸류은 각 인덱스에 의해 표지된 밸류 필드 어레이에서 각각의 위치에 제공되고, 단계 590에 도시된 바와 같이 이전 밸류를 대체한다. 다른 예로, 입력 키네임의 대응 밸류은 예컨대 int PtEventGetKeyValuePair(PT_EVENTPtEvent, PT_CHAR_T*KeyName, const PT_CHAR_T*KeyValue)와 같은 호출 함수에 제공될 수 있다. 이 함수는 각각의 키네임으로부터 대응 밸류을 얻고 입력 키에 대한 현재의 대응 밸류을 호출자에게 제공한다. 단계 560에서, 이벤트 API는 입력 키네임을 인덱스, 예컨대 필드 Numkeys에서 밸류에 의해 표지된 위치에서 키 필드 어레이에 제공한다. 단계 560에서, 이벤트 API는 예컨대 필드 Numkeys에서 인덱스에 의해 표지된 위치에서 입력 키네임을 키 필드 어레이에 제공한다. 본 발명의 실시예로, 키는 예컨대 int PtEventSetKeyNameByIndex(PT_EVENTPtEvent, int Index, PT_CHAR_T*Key)와 같은 함수를 통해 설정될 수 있다. 키 필드 어레이가 이미 인덱스에 의해 표지된 위치에서 키를 포함하는 경우, 입력 키네임은 사전에 저장된 키를 대체한다. 또한, 이벤트 API는 각각의 이벤트, 예컨대 PtEvent 및 Key가 널이고 Index가 1보다 작은지를 결정할 수 있다. PtEvent 및 Key가 널이고 Index가 1보다 작은 경우, 이벤트 API는 에러 메시지를 제공하고 키를 설정하지 않는다.In an embodiment of the present invention, the event API examines an input keyname whose keyname is already stored in the key field array, for example, via a function such as int PtEventFindKeyByIndex (PT_EVENTPtEvent, PT_CHAR_T * KeyName, int * index). To determine if it exists. In step 580, if a keyname is found in the key field array, an index that marks a location in the array of keynames may be determined and provided in an index variable, e.g., in a call function. The return code will provide for example PT_SUCCESS if a keyname is found and for example PT_FAIL call function if no keyname is found. Further, in an embodiment of the present invention, the key field array and the value field array have the same size and value and the corresponding values have the same index in each array. Thus, when the keyname is located, the corresponding value submitted by the user is provided at each location in the value field array labeled by each index, replacing the previous value as shown in step 590. As another example, the corresponding value of the input keyname may be provided to a call function such as, for example, int PtEventGetKeyValuePair (PT_EVENTPtEvent, PT_CHAR_T * KeyName, const PT_CHAR_T * KeyValue). This function gets the corresponding value from each keyname and provides the caller with the current corresponding value for the input key. At step 560, the event API provides the input keyname to the key field array at the location labeled by the value in the index, eg, field Numkeys. In step 560, the event API provides the input keyname to the key field array, for example, at the location marked by the index in the field Numkeys. In an embodiment of the present invention, the key may be set through a function such as int PtEventSetKeyNameByIndex (PT_EVENTPtEvent, int Index, PT_CHAR_T * Key). If the key field array already contains a key at a location marked by an index, the input keyname replaces the previously stored key. The event API may also determine whether each event, such as PtEvent and Key, is null and Index is less than one. If PtEvent and Key are null and Index is less than 1, the event API provides an error message and does not set the key.

단계 570에서, 이벤트 API는 예컨대 필드 Numkeys에서 인덱스에 의해 표지된 위치에서 입력 키네임의 대응 밸류을 키 필드 어레이에 제공한다. 본 발명의 실시예로, 입력 키네임의 대응 밸류은 예컨대 int PtEventSetKeyValueByIndex(PT_EVENTPtEvent, int Index, PT_CHAR_T*Key)와 같은 함수를 통해 설정될 수 있다. 또한, 이벤트 API는 각각의 이벤트, 예컨대 PtEvent 및 Key가 널이고 Index가 1보다 작은지를 결정할 수 있다. PtEvent 및 Key가 널이고 Index가 1보다 작은 경우, 이벤트 API는 에러 메시지를 제공하고 키를 설정하지 않는다.In step 570, the event API provides the key field array with a corresponding value of the input keyname, for example, at the location marked by the index in the field Numkeys. In an embodiment of the invention, the corresponding value of the input keyname may be set through a function such as, for example, int PtEventSetKeyValueByIndex (PT_EVENTPtEvent, int Index, PT_CHAR_T * Key). The event API may also determine whether each event, such as PtEvent and Key, is null and Index is less than one. If PtEvent and Key are null and Index is less than 1, the event API provides an error message and does not set the key.

본 발명의 대표적인 실시예로, 함수, extern int PtEventSetKeyValuePair(PT_EVENT, PT_CHAR_T*, PT_CHAR_T*)는 이벤트에서 새로운 키 밸류 페어를 생성하는데 사용된다. 예컨대, 이벤트의 추가 속성이 관련 이벤트에 파일 시스템의 명칭인 경우, 호출 PtEventSetKeyValuePair(PtEvent, "FileSystem", "/usr")는 예컨대, 이벤트가 보고된 사업의 노드에 파일 시스템 /usr를 위한 키밸류 페어를 추가한다. 동일한 키를 가진 이 함수를 다시 호출하면, 밸류 업데이팅을 일으킨다.In a representative embodiment of the present invention, a function, extern int PtEventSetKeyValuePair (PT_EVENT, PT_CHAR_T *, PT_CHAR_T *), is used to generate a new key value pair in an event. For example, if the additional attribute of the event is the name of the file system in the relevant event, the call PtEventSetKeyValuePair (PtEvent, "FileSystem", "/ usr") may, for example, key value for the file system / usr to the node of the business for which the event was reported. Add a pair. Calling this function again with the same key will cause a value update.

본 발명의 대표적인 실시예로, 함수, extern int PtEventRemoveKeyValuePair(PT_EVENT, PT_CHAR_T*)는 예컨대 사용자가 키 밸류 페어를 이벤트에 추가하는 동작을 역으로 허용한다. 이 동작은 예컨대, 그들의 각 어레이로부터 키 밸류 페어를 배치하고 제거함으로써 역으로 될 수 있다. 또한, 제거된 페어보다 어레이에서 높은 모든 키 밸류 페어는 후방 한 위치로 시프트되고, 각각의 어레이의 크기가 하나씩 감소하고, 필드에서 인덱스 밸류, 예컨대 Numkeys는 하나씩 감소된다. 본 발명의 한 실시예로, 함수 extern int PtEventPtEventGetKeys(PT_EVENT, PT_CHAR_T***, int*)는 예컨대, 각각의 이벤트에 대한 이벤트 구조를 확장하도록 사용된 추가적인 키의 리스트를 획득한다.In a representative embodiment of the invention, the function, extern int PtEventRemoveKeyValuePair (PT_EVENT, PT_CHAR_T *), for example, allows the user to reverse the operation of adding a key value pair to an event. This operation can be reversed, for example, by placing and removing key value pairs from their respective arrays. In addition, all key value pairs higher in the array than the removed pairs are shifted backward one position, the size of each array is reduced by one, and the index values in the field, such as Numkeys, are reduced by one. In one embodiment of the invention, the function extern int PtEventPtEventGetKeys (PT_EVENT, PT_CHAR_T ***, int *) obtains a list of additional keys used to extend the event structure for each event, for example.

본 발명의 이벤트 관리 시스템은 이벤트 구조의 상이한 버젼을 가진 사업의 범위 내에서 이벤트의 통신을 허용하기 위한 호환성 메카니즘을 포함한다. 이벤트 구조의 상이한 버젼은 이벤트의 소정 필드를 제거하지 않고, 새로운 필드가 이벤트 구조에 추가된 경우, 새로운 필드는 디폴트 밸류를 밸류가 없이 사용되도록 할당된다. 본 발명의 이벤트 관리 시스템은 이벤트 구조가 자가 설명 메시지 구조로 묘사되는 방법을 기재하는 메시지를 팩킹한다(예컨대, 메시지는 필드 명칭을 수반하는 메시지 안의 데이타가 어떻게 진행하는지 버젼이 이벤트 구조에 어떻게 스템프되는지를 기재하는 소정의 필드 명칭을 포함한다). 버젼 스탬핑은 이벤트 구조의 소정 필드 명칭을 메시지로 팩킹된 이벤트 구조의 버젼 번호를 가진 버젼에 제공하는 단계를 포함한다. 본 발명의 메시지 구조는 메시지가 다른 버젼 양단으로 일정하게 되도록 허용하는 대응 필드(예컨대, 필드의 콘텐츠)를 가진 필드의 해설자(예컨대,필드 명칭) 페어를 포함한다. 이벤트 구조의 호환성 메카니즘은 예컨대, 필드용 메시지를 탐색함으로써 메시지를 메시지 구조로 정렬하여 메시지 구조를 완성할 필요가 있다. 탐색은 예컨대, 팩킹되지 않은 이벤트 구조의 버젼이 현재의 이벤트 구조보다 적은 경우(예컨대, 현재의 이벤트 구조가 새로운 필드를 가질 수 있는 경우), 발견되지 않은 필드에 대한 디폴트 밸류를 포집하거나 제공하는 현재의 버젼보다 이벤트 구조의 나중 버젼에 추가될 수 있는 필드를 무시하는 단계를 포함한다. 디폴트는 이벤트에서 다른 필드의 콘텐츠를 조사하는 알고리즘에 의해 하드 코드되거나 결정될 수 있다. 예컨대, 새로운 필드가 구 필드를 복수 개의 별개 필드로 분할하는 경우, 알고리즘은 새로운 필드에 대해 적합한 밸류를 맞추어 구 필드에 적용될 수 있다.The event management system of the present invention includes a compatibility mechanism for allowing communication of events within the scope of business with different versions of the event structure. Different versions of the event structure do not remove certain fields of the event, and when a new field is added to the event structure, the new field is assigned to use the default value without value. The event management system of the present invention packs a message describing how the event structure is depicted in a self-describing message structure (e.g., the message is how the data in the message accompanying the field name proceeds and how the version is stamped into the event structure). Includes a predetermined field name). Version stamping includes providing a predetermined field name of an event structure to a version having a version number of the event structure packed into a message. The message structure of the present invention includes an interpreter (eg, field name) pair of fields with corresponding fields (eg, the contents of the field) that allow the message to be constant across different versions. The compatibility mechanism of the event structure needs to complete the message structure by aligning the message into the message structure, for example by searching for a message for the field. The search may, for example, if the version of the unpacked event structure is less than the current event structure (e.g., if the current event structure may have new fields), the current capture or provide default values for the undiscovered fields. Ignoring fields that may be added to later versions of the event structure than the version of. The default may be hard coded or determined by an algorithm that examines the contents of other fields in the event. For example, if the new field splits the old field into a plurality of separate fields, the algorithm may be applied to the old field by fitting the appropriate value for the new field.

이벤트 구조의 소정 필드를 제거하지 않고 포인트 프로덕트과 같은 새로운 프로세스가 이벤트 관리 시스템의 구 버젼, 다른 포인트 프로덕트 또는 디렉터와 통신될 수 있도록 보장한다. 이것은 이벤트가 통합된 경우 특히 중요하거나 이벤트 상관 규칙과 같은 다른 이유에 대한 노드 경계를 가로지른다. 버젼에 걸쳐 호환성이 없는 경우, 구조의 업그레이드는 동시에 업그레이드하도록 상호 통신하는 모든 노드에 모든 프로세스를 요구한다. 구 프로세스는 모든 필드를 탐색할 수 있는 것이 예상되어 이벤트 구조를 포집할 필요가 있다. 밸류 없는 디폴트를 신 필드에 할당하면, 구 프로세스로부터 메시지를 수령하는 포인트 프로덕트과 같은 신 버젼 프로세스는 필드가 수령 메시지로부터 결여된 경우 이벤트 구조의 나중 버젼을 포획하도록 허용한다. 이 밸류는 예컨대, 다른 필드의 밸류를 기초하여 할당될 수 있다.Ensure that new processes, such as point products, can be communicated with older versions of other event management systems, other point products or directors, without removing certain fields of the event structure. This is especially important when events are consolidated or cross node boundaries for other reasons such as event correlation rules. In the case of incompatibilities across versions, upgrading the architecture requires all processes to communicate with each other to upgrade at the same time. The old process is expected to be able to navigate through all the fields and needs to capture the event structure. By assigning a valueless default to the scene field, a new version process, such as a point product that receives a message from an old process, allows to capture a later version of the event structure if the field is missing from the receipt message. This value may be assigned, for example, based on the value of another field.

전술한 실시예는 본 발명의 예를 나타내고 본 발명이 이들 특정 실시예에 국한되지 않음을 명심해야 한다. 여러 가지 변경 및 변형은 첨부된 청구항에 규정된 본 발명의 전신 또는 범위를 이탈함이 없이 전문가라면 용이하게 구현할 수 있다.It should be noted that the foregoing embodiments illustrate examples of the invention and that the invention is not limited to these specific embodiments. Various changes and modifications can be readily made by those skilled in the art without departing from the entirety or scope of the invention as defined in the appended claims.

Claims (1)

Translated fromKorean
이벤트 구조를 확장하는 방법으로서,As a way to extend the event structure,상기 이벤트 구조에 대한 키네임과 대응 밸류을 제출하는 단계와,Submitting a keyname and corresponding value for the event structure;상기 키네임이 상기 이벤트 구조의 키 필드 어레이에서 존재하는지 여부를 결정하는 단계와,Determining whether the keyname exists in a key field array of the event structure;상기 키네임이 상기 키 필드 어레이에 존재하지 않는 경우,If the keyname does not exist in the key field array,상기 이벤트 구조의 인덱스를 증가시키는 단계와;Increasing the index of the event structure;상기 인덱스에 기초한 키 필드 어레이의 위치에 상기 키네임을 추가하는 단계와;Adding the keyname to a location of a key field array based on the index;상기 인덱스에 기초한 밸류 필드 어레이의 위치에 상기 대응 밸류을 추가하는 단계와;Adding the corresponding value to a location of a value field array based on the index;상기 키네임이 상기 키 필드 어레이에 존재하는 경우,If the keyname is in the key field array,상기 키네임과 연관된 밸류 필드 어레이에서 사전에 저장된 밸류의 위치를 결정하는 단계와;Determining a location of a previously stored value in a value field array associated with the keyname;상기 밸류 필드 어레이의 사전에 저장된 밸류을 상기 대응 밸류으로 대체하는 단계를 포함하는 이벤트 구조 확장 방법.And replacing the previously stored value of the value field array with the corresponding value.
KR1020017008370A1998-12-311999-12-29Method and apparatus for a user extensible event structureCeasedKR20010103729A (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US22480898A1998-12-311998-12-31
US09/224,8081998-12-31
PCT/US1999/031180WO2000039675A1 (en)1998-12-311999-12-29Method and apparatus for a user extensible event structure

Publications (1)

Publication NumberPublication Date
KR20010103729Atrue KR20010103729A (en)2001-11-23

Family

ID=22842299

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020017008370ACeasedKR20010103729A (en)1998-12-311999-12-29Method and apparatus for a user extensible event structure

Country Status (11)

CountryLink
EP (1)EP1149336A4 (en)
JP (1)JP2002533829A (en)
KR (1)KR20010103729A (en)
CN (1)CN1211733C (en)
AU (1)AU775155B2 (en)
BR (1)BR9916597A (en)
CA (1)CA2358110A1 (en)
HK (1)HK1043209A1 (en)
IL (2)IL143515A0 (en)
WO (1)WO2000039675A1 (en)
ZA (1)ZA200104582B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11727025B2 (en)2015-04-032023-08-15Oracle International CorporationMethod and system for implementing a log parser in a log analytics system
US10366096B2 (en)*2015-04-032019-07-30Oracle International CorporationMethod and system for implementing a log parser in a log analytics system
US11226975B2 (en)2015-04-032022-01-18Oracle International CorporationMethod and system for implementing machine learning classifications
US11681944B2 (en)2018-08-092023-06-20Oracle International CorporationSystem and method to generate a labeled dataset for training an entity detection system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5237684A (en)*1991-08-121993-08-17International Business Machines CorporationCustomized and versatile event monitor within event management services of a computer system
US5305454A (en)*1991-08-121994-04-19International Business Machines CorporationNotification of event handlers in broadcast or propagation mode by event management services in a computer system
US5583983A (en)*1994-11-171996-12-10Objectware, Inc.Multi-platform object-oriented software development and deployment system
US5842223A (en)*1995-07-031998-11-24Sun Microsystems Inc.Method and apparatus for information state management

Also Published As

Publication numberPublication date
BR9916597A (en)2002-06-04
WO2000039675A1 (en)2000-07-06
IL143515A (en)2007-03-08
ZA200104582B (en)2005-03-09
JP2002533829A (en)2002-10-08
EP1149336A4 (en)2003-05-14
AU775155B2 (en)2004-07-22
CA2358110A1 (en)2000-07-06
IL143515A0 (en)2002-04-21
CN1211733C (en)2005-07-20
HK1043209A1 (en)2002-09-06
CN1352768A (en)2002-06-05
AU2220600A (en)2000-07-31
EP1149336A1 (en)2001-10-31

Similar Documents

PublicationPublication DateTitle
EP1192535B1 (en)System and method for dynamic correlation of events
US6366926B1 (en)Method and apparatus for the dynamic filtering and routing of events
US5787437A (en)Method and apparatus for shared management information via a common repository
US6895586B1 (en)Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance
US6243746B1 (en)Method and implementation for using computer network topology objects
EP0806731A2 (en)Database network
US5870605A (en)Middleware for enterprise information distribution
US20200125547A1 (en)Query management for indexer clusters in hybrid cloud deployments
US20180314744A1 (en)Single point of dispatch for management of search heads in a hybrid cloud deployment of a query system
CN100407146C (en) Management system and method for managing distributed resources
KR20010103729A (en)Method and apparatus for a user extensible event structure
US12242441B1 (en)Data lineage tracking
US6748454B1 (en)Method and apparatus for a user extensible event structure
EP0750253B1 (en)Method and apparatus for shared management information via a common repository
GB2336920A (en)Relational message broker adds value to published information

Legal Events

DateCodeTitleDescription
PA0105International application

Patent event date:20010629

Patent event code:PA01051R01D

Comment text:International Patent Application

PG1501Laying open of application
A201Request for examination
PA0201Request for examination

Patent event code:PA02012R01D

Patent event date:20041229

Comment text:Request for Examination of Application

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20060628

Patent event code:PE09021S01D

E601Decision to refuse application
PE0601Decision on rejection of patent

Patent event date:20061222

Comment text:Decision to Refuse Application

Patent event code:PE06012S01D

Patent event date:20060628

Comment text:Notification of reason for refusal

Patent event code:PE06011S01I


[8]ページ先頭

©2009-2025 Movatter.jp