KR20090122103A - 데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치 - Google Patents

데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20090122103A
KR20090122103A KR1020080105750A KR20080105750A KR20090122103A KR 20090122103 A KR20090122103 A KR 20090122103A KR 1020080105750 A KR1020080105750 A KR 1020080105750A KR 20080105750 A KR20080105750 A KR 20080105750A KR 20090122103 A KR20090122103 A KR 20090122103A
Authority
KR
South Korea
Prior art keywords
processing
data
alert
graph
node
Prior art date
Application number
KR1020080105750A
Other languages
English (en)
Other versions
KR100968187B1 (ko
Inventor
마리온 리 블라운트
존 시드니 2세 데이비스
마리아 렌 에블링
아찬 미스라
데이비 모우세 소우
민 왕
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 KR20090122103A publication Critical patent/KR20090122103A/ko
Application granted granted Critical
Publication of KR100968187B1 publication Critical patent/KR100968187B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/042Backward inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 스트림 처리 시스템에서 출처 데이터를 유지하고 처리하기 위한 기술이 개시된다. 예를 들어, 복수의 처리 요소를 포함하는 데이터 스트림 처리 시스템에 의해 수신된 데이터 스트림과 연관된 데이터를 처리하는 방법은 다음 단계들을 포함한다. 데이터 스트림과 연관된 데이터의 일부가 유지된다. 유지된 데이터는 각각의 처리 요소의 출력에 기여한 각각의 처리 요소에의 입력을 포함한다. 처리 요소 중 하나에 의해 발생된 경고에 응답하여, 스케쥴러는 경고와 관련된 예상 질의의 선계산이 실행되어야 할 때를 결정하도록 트리거링된다. 스케쥴러에 응답하여, 유지된 데이터의 적어도 일부를 사용하여 경고에 기여한 데이터 세트를 결정하며, 그리하여 경고 기여 데이터 세트는 예상 질의가 도달하면 그에 응답하는데 사용될 수 있다.

Description

데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치{METHOD AND APPARATUS FOR MAINTAINING AND PROCESSING PROVENANCE DATA IN DATA STREAM PROCESSING SYSTEM}
본 출원은 이와 함께 동시에 제출되어 그 명칭이 "데이터 스트림 처리 시스템에서 출처 데이터를 결정하고 확인하는 방법 및 장치(METHOD AND APPARATUS FOR DETERMINING AND VALIDATING PROVENANCE DATA IN DATA STREAM PROCESSING SYSTEM)"인 대리인 문서 번호 YOR920070681US1로서 식별되는 미국 특허 출원과 관련되며, 이의 개시는 여기에 포함된다.
본 발명은 데이터 스트림 처리 시스템에 관한 것으로, 보다 상세하게는 이러한 데이터 스트림 처리 시스템에서 출처 데이터(provenance data)를 유지하고 처리하기 위한 기술에 관한 것이다.
수많은 유형의 정보가 스트림의 형태로 도달한다. 그 예로는 비디오 및 오디오 뿐만 아니라, EEG(electroencephalogram) 또는 ECG(electrocardiogram) 데이터와 같은 의료 센서에 의해 발생되는 데이터 등을 포함한다.
이들 데이터 스트림은 저장되거나 검토될 수 있기 전에 빈번하게 처리를 필 요로 한다. 많은 기존의 시스템은 스트리밍 데이터를 처리하고 관리하도록 구축되어 왔다. 종종 이들 시스템은 처리 요소의 그래프를 통하여 데이터의 스트림을 플로우시키는데, 그래프에서의 각각의 단계는 어떤 형태의 분석적 결과를 산출하는 상이한 유형의 처리 로직을 적용한다.
그러나, 처리 요소의 어느 시퀀스가 분석 결과의 발생에 참가하였는지 그리고 어느 스트림 데이터 샘플이 분석 결과의 발생에 기여하였는지 정확하게 판정해야 할 필요성이 존재함을 인지하여 왔다. 이들은 각각 분석 결과의 프로세스 출처 및 데이터 출처로 불린다.
본 발명의 원리는 이러한 데이터 스트림 처리 시스템에서 출처 데이터를 유지하고 처리하기 위한 기술을 제공한다.
예를 들어, 본 발명의 하나의 실시예에서, 데이터 스트림 처리 시스템에 의해 수신된 데이터 스트림과 연관된 데이터를 처리하기 위한 방법을 제공하는데, 시스템은 복수의 처리 요소를 포함하며, 본 방법은 다음 단계들을 포함한다. 데이터 스트림과 연관된 데이터의 일부가 유지된다. 유지된 데이터는 각각의 처리 요소의 출력에 기여한 각각의 처리 요소에의 입력을 포함한다. 처리 요소 중 하나에 의해 발생된 경고(alert)에 응답하여, 스케쥴러는 경고와 관련된 예상 질의의 선계산(pre-calculation)이 실행되어야 할 때를 결정하도록 트리거링된다. 스케쥴러에 응답하여, 유지된 데이터의 적어도 일부를 사용하여 경고에 기여한 데이터 세트를 결정하며, 그리하여 경고 기여 데이터 세트는 예상 질의가 도달하면 그에 응답하는데 사용될 수 있다.
유리하게는, 이러한 본 발명의 기술은 처리 요소의 어느 시퀀스가 분석 결과의 발생에 참가하였는지 그리고 어느 스트림 데이터 샘플이 분석 결과의 발생에 기여하였는지 정확하게 결정할 수 있다.
본 발명의 이들 및 기타 목적, 특징 및 이점이 첨부 도면과 관련하여 보게 될 본 발명의 예시적인 실시예의 다음의 상세한 설명으로부터 명백하게 될 것이다.
예시적인 데이터 스트림 처리 시스템과 관련하여 본 발명의 실시예가 아래에 설명될 것이다. 그러나, 본 발명이 임의의 특정 데이터 처리 시스템에 한정되는 것은 아님을 이해하여야 한다. 그보다 본 발명은 출처 데이터를 유지하는 것이 바람직할 임의의 데이터 처리 시스템에 보다 일반적으로 적용 가능하다. 예시적으로 여기에 사용될 때, 용어 "출처"는 "기점(origin)" 또는 "소스(source)"로서 정의된다. 따라서, 예를 들어, 출처 데이터(또는 출처 정보)는 다른 데이터가 어떻게 원인으로서(causatively) 유도되는지에 관한 정보를 기록하는 데이터이다.
본 발명의 원리의 하나의 예시적인 실세계에서의 실제 적용으로는 건강 관리(healthcare) 영역이 있다. 구체적으로, 건강 관리 영역에서, 입력으로서 EEG(electroencephalogram)나 ECG(electrocardiogram) 데이터의 스트림 뿐만 아니라, 혈압, 몸무게, 혈당측정기 기록 등과 같은 의료 정보의 스트림을 취하는 스트림 처리 기반구조를 생각해볼 수 있다. 스트림 처리 기반구조는 이들 데이터 스트림에 분석적 알고리즘을 적용하고, 의사나 다른 의료 전문가로부터 주의를 더 끌어야 하는 중요한 의료 이벤트를 식별할 것이다. 이러한 시스템에서는, 입력 및 중간 데이터 스트림의 어느 서브세트가 그 중요한 의료 이벤트를 트리거링하였는지 그리고 어느 특정 처리 요소가 그 발생에 기여하였는지와 같은, 여기에서는 출처 데이터로서 칭하는 메타 정보를 포함하여, 중요한 의료 이벤트의 발생에 관한 가능한 많은 정보를 의료 전문가에게 주는 것이 중요하다. 스트림 처리 시스템에 의해 발 생된 경고를 수신하는 의료 전문가는 그 경고와 관련된 출처 질의를 발행할 수 있으며, 그 출처 질의는 경고의 발생에 기여한 스트림 데이터 항목 및 스트림 처리 노드를 보여주거나 나타내라는 요청이다. 다시, 본 실시예에서 언급된 해결 영역은 건강 관리이지만, 본 발명의 원리는 스트림 처리가 적용될 수 있는 임의의 영역에 적용된다는 것을 알아야 한다.
따라서, 본 발명의 원리는, (a) 분석 결과의 적합한 서브세트에 대해서만, 처리 요소의 어느 시퀀스가 분석 결과의 발생에 참가하였는지 그리고 어느 스트림 데이터 샘플이 분석 결과의 발생에 기여하였는지를 정확하게 사전적으로(proactively) 결정하는 방법, 그리고 (b) 이 원인이 되는(causative) 정보를 원하는 있음직하거나 예상되는 질의 패턴을 반영하는 지속기간 동안 이러한 사전적으로 결정된 원인 처리 요소 및 스트림 데이터 샘플 세트를 저장하는 방법에 대하여 다룬 것이다.
본 발명의 하나의 실시예에서, 시스템은 각각의 스트림 세그먼트의 처리에 대한 메타 정보를 유지한다. 스트리밍 프레임워크는 스트리밍 데이터를 신속하고 효율적으로 처리하도록 설계된다. 경고가 일어나고 그 경고의 수신자가 경고의 기점을 알기 원하는 경우, 시스템은 그 기점을 판정할 능력이 있다. 그러나, 그렇게 하기 위하여, 시스템은 이 경고에 대응하는 엔트리를 찾기 위해 스트림 처리 프레임워크에 의해 유지되는 광범위한 기록들을 처리한다. 이러한 해결책을 "출처 역추적(backtracing)"으로 칭한다.
도 1은 그래프(100)로 표현된 스트림 처리 시스템을 도시한다. 이 그래프는 11개의 처리 요소(110, 112, 114, 120, 122, 124, 126, 130, 132, 134, 및 140)를 갖는다. 처리 요소는 그것들을 접속시키는 방향 화살표로 표현된 통신 경로를 통하여 접속된다. 처리 요소는 각각 111, 113, 115, 121, 123, 125, 127, 131, 133, 135, 및 141로 표현된 바와 같이, 정보를 저장할 데이터베이스를 갖는다. 처리 요소는 임의의 방식으로 데이터를 조작할 수 있다. 예를 들어, 간단한 처리 요소는 부가의 처리를 위해 특정 임계치를 초과하는 이들 데이터 요소만 식별할 수 있다. 다른 경우에, 처리 요소는 입력으로서 여러 데이터 스트림을 취하고, 출력으로서 그 값이 입력 데이터의 대응하는 샘플들의 평균을 나타내는 것인 데이터 스트림을 발생시킬 수 있다. 보다 복잡한 처리 요소는, 인입 스트림의 형태(morphology)를 분석하거나, 패턴 인식 알고리즘(예를 들어, 신경망, 지원 벡터 머신)을 사용하여 인입 데이터에서의 복합 패턴을 찾음으로써, 이상(anomaly)을 검출할 수도 있다.
데이터 스트림(101, 102, 및 103)은 각각 처리 요소(110, 112, 및 114)에서 스트림 처리 시스템에 진입한다. 각각의 처리 요소가 상기 설명된 바와 같이 데이터의 스트림에 대해 임의의 계산을 수행할 수 있는 각자의 개별 알고리즘에 따라 스트림을 처리하므로, 처리 요소는 그 결과의 출력을 그래프(100)에서의 접속에 따른 다음의 처리 요소에 전달한다. 상기로부터 본 예에서, 특정 임계치를 초과하는 데이터 요소를 찾는 처리 요소는 그 임계치를 초과하는 그들 출력만 출력할 것이고, 복합 패턴을 찾는 처리 요소는 그들 패턴을 나타내는 데이터만 출력할 것이다. 마지막 처리 요소, 즉 이 그래프에서는 처리 요소(140)가 자신의 처리를 끝내면, 스트림 처리 시스템 상에 배치되는 스트림 처리 애플리케이션에 의해 지정된 바와 같은 통지 또는 경고에 대하여 임의의 출력(150)이 송신된다.
의료 전문가에 의해 경고가 수신될 때, 이 전문가는 그 이벤트를 발생시키는데 사용된 데이터를 알기 원할 수 있다. 예를 들어, 어느 센서가 이벤트를 발생시키는데 사용된 오리지널 데이터를 생성하였는지 또는 어느 처리 요소가 이벤트를 발생시키는데 참가하였는가? 아니면, 다른 경우에, 무엇이 경고의 발생을 초래한 오리지널 데이터 요소 세트였는가? 일 예로서, 의료 전문가는 ECG, 혈압(BP) 및 몸무게 센서 스트림에 대해 작용하는 처리 그래프에 의해 발생된 "울형성 심부전(congestive heart failure)" 경고를 수신하고, 이 경고의 발생을 일으킨 관련 ECG, BP 및 중량 값 세트를 질의하기 원할 수 있다.
이러한 출처 질의(출력 값에 관한 출처 정보를 얻으려는 요청)에 답하기 위하여, 출처 정보는 처리 요소에서의 처리 동안 발생된다. 이를 하기 위한 하나의 방식으로는 각각의 처리 노드가 자신이 발생시키는 각각의 출력과 그 출력에 기여한 입력 사이의 관계를 기록하게 하는 것이다. 처리 요소에 의해 기록된 이러한 메타 정보는 도 2에서 데이터베이스 요소(200)에 의해 도시된다. 출력 이벤트가 발생되면, 레코드(record) 형태의 데이터 구조는 이벤트를 발생시킨 처리 요소와 연관된 데이터베이스에 저장된다. 이 레코드(200)는 처리 요소(210)의 식별자, 이벤트가 발생된 시간(타임스탬프)(220), 이 출력 이벤트(230) 뿐 아니라 이 출력 이벤트(230)에 기여한 모든 입력 요소(240, 260, 및 280)(및 그것들을 발생시킨 처리 요소(250, 270, 290))의 레코드를 나타내는 고유 식별자를 포함한다. 이 레코드는 210에서 식별된 처리 요소와 연관된 데이터베이스에 저장된다.
다시 도 1을 참조하여, 처리 요소(132)가 이벤트(230)를 발생시키면, 데이터베이스(133)는 이벤트(230)의 레코드를 유지할 것이다. 이 데이터베이스 레코드는 이 이벤트에 기여하는 모든 정보를 포함할 것이고, 데이터베이스 레코드에 PE ID(210)로서 처리 요소(132)를 포함할 것이다. 모든 스트림 샘플의 ID 및 연관된 메타 정보를 포함하는 데이터베이스는 중앙 서버 상에 저장되거나 일 세트의 서버에 걸쳐 분산될 수 있음을 주목하자.
소정의 경고 이벤트에 대한 출처 질의가 발생하면, 경고를 발생시킨 처리 요소에 의해 저장된 메타 정보는 그 경고와 연관된 모든 입력을 식별하는데 참고된다. 이들 입력 이벤트가 식별되면, 입력 이벤트를 발생시킨 업스트림 분석 컴포넌트에 의해 저장된 메타 정보는 그 경고에 간접적으로 관련되는 부가의 업스트림 이벤트를 판정하는데 사용된다. 경고와 관련된 모든 이벤트가 식별되고 이들 데이터 요소를 처리하는데 수반된 모든 처리 요소와 함께 오리지널 데이터 소스가 식별될 때까지, 이 프로세스는 순환적으로 반복된다. 용어 "경고"가 여기서는 임의의 소정의 처리 그래프에 의해 발생된 출력 이벤트의 일반적인 서브세트를 언급하는 것은 주목할 만하다.
전에 언급한 바와 같이, 이들 처리된 이벤트의 소비자는 임의의 특정 출력 샘플에 대해 출처 질의를 발행하거나 발행하지 않을 수 있다. 많은 경우에, 이들 출력 중 어느 것이든 이들 출력의 소비자가 이에 기반하여 출처 질의를 발생하는 것으로 볼 수 있기 때문에, 스트림 처리 시스템에 의해 발생된 모든 출력은 경고인 것으로 간주될 수 있다.
상기 설명된 출처 질의 역추적에 있어서, 각각의 노드는 출처 질의 결과 저장공간(도 1에서의 160)에 자신의 관련 메타 정보를 배치한다. 역추적 프로세스의 끝에서, 이 저장공간은 출처 질의에 답하는데 필요한 모든 정보를 갖는다. 명확하게 하기 위한 목적으로 도 1에는 명시적으로 도시되지 않았지만, 각각의 처리 노드(110, 112, 114, 120, 122, 124, 126, 130, 132, 134, 및 140)는 출처 질의 결과 저장공간(160)에 저장하고 그로부터 검색하기 위한 링크를 갖는다.
하지만, 출처 기능 역추적은 장황하고 시간 소모적인 프로세스이다. 전자 스트림 처리 시스템과 통상적으로 연관되는 데이터 고용량으로 인해, 상기 데이터베이스(133)에서의 많은 정보는 비교적 짧은 시간 후에 이차 저장 장치로 보관되거나 푸시될 것으로 예상할 수 있다. 많은 시나리오에서, 출처에 대한 질의는 통상적으로 완전히 "경고"의 발생 직후에 일어날 것이다. 그러나, 이것이 데이터 스트림의 관련 부분이 보관된 후일 수 있다 해도, 많은 다른 경우에 질의는 상당히 나중에, 예를 들어 경고가 발생한 지 6년이나 10년 후에 일어날 수 있다. 더욱이, 정보가 일차 저장 장치에 저장되었다 하더라도, 역추적 프로세스를 수행하는 것 자체가 대다수의 스트림 샘플 및 처리 요소의 검색을 수반할 수 있으며, 이는 그 자체적으로 상당한 양의 시간을 소비할 수 있다. 질의 기반(query-driven) 역추적의 이러한 접근법은 문제에 대해 최소한으로 받아들일 수 있는 해결책이지만, 질의가 그 답에 따라 수명이 좌우될 수 있는 환자에 대한 중요한 긴급 의료 정보를 다루고 있는 것일 경우 충분하지 않을 수 있다. 즉, 스트리밍 데이터에 대하여 자동화된 분석의 광범위한 채용은 그 분석에 의해 발생된 출력의 출처에 대한 질의에 빠르고 신속한 응답을 보장할 수 있는 능력에 달린 것이다.
결과적으로, 본 발명의 원리에 따르면, 시스템은 대응하는 출처 질의를 기다리기보다 경고가 발생할 때 출처 기능 역추적을 수행한다. 경고가 발생하면, 출처 기능 역추적은 출처 질의가 도달하기를 기다리지 않고 즉시 수행된다. 경고 시에 출처 정보의 계산을 트리거링함으로써, 시스템은 후속 출처 질의가 제출될 때 그에 대한 준비가 되어 있을 수 있다. 이러한 출처 정보의 사전적(proactive) 계산은 출력 데이터 샘플의 비교적 작은 서브세트에 대해 수행될 때 가장 효율적이며, 바꾸어 말하면 출처 질의를 일으킬 것 같은 경고가 비교적 드물어야 한다. 또한, 사전적 출처 계산의 프로세스는 경고로서 지정되는 특정 출력 세트, 및 이러한 경고와 연관되는 통상의 또는 예상되는 질의 패턴을 인지하여야 한다.
다시 도 1을 참조하여, 처리 요소(110, 122, 132, 및 140)에서 수행된 계산의 결과로서 출력(150)이 생성되는 것으로 가정하자. 도 1에서는 이들 처리 요소를 이중 윤곽선으로 도시함으로써 이를 나타내었다. 그러나, 현행 기술에서는 이것이 왜 그리고 이 출력이 어떻게 발생되었는지를 알 방법이 없다. 본 발명의 원리는 계산에 대한 이 메타 정보를 효율적인 방식으로 기록할 방법에 관한 것이다. 오리지널 분석 프레임 워크와 동일한 토폴로지를 이용하여 오버레이 프레임워크를 사용할 것을 제안한다. 이러한 오버레이에서의 각각의 요소는 각자의 오리지널 분석 대응부의 레코드에의 액세스를 갖는다. 오버레이 프레임워크에서의 처리는 오리지널과 비교하여 반대 방향으로 일어난다. 이러한 오버레이 프레임워크는 도 3에 도시되어 있다.
도 3은 그래프(300)로 표현된 출처 오버레이를 도시한다. 이 출처 오버레이 그래프는 도 1의 스트림 처리 그래프(100)에 대응한다. 그래프(100)와 같이, 본 출처 오버레이는 11개의 처리 요소(310, 312, 314, 320, 322, 324, 326, 330, 332, 334, 및 340)를 갖는다. 이들 처리 요소는 도 1의 처리 요소와 일 대 일로 대응한다. 그리하여, 예를 들어 도 3의 처리 요소(310)는 도 1의 처리 요소(110)에 대응한다. 처리 요소는 그것들을 접속시키는 방향 화살표로 표현된 통신 경로를 통하여 접속된다. 본 출처 오버레이 그래프(300)에서의 통신 경로는 스트림 처리 그래프(100)와 비교하여 반대 방향으로 일어나는 것을 주목하자. 스트림 처리 그래프(100)와 출처 오버레이(300) 양자에서의 처리 요소는, 111, 113, 115, 121, 123, 125, 127, 131, 133, 135 및 141로 표현된 바와 같이, 데이터베이스를 공유한다. 스트림 처리 그래프(100)의 처리 요소는 이 데이터베이스에 데이터를 기록하고, 출처 오버레이 그래프(300)의 처리 요소는 이 데이터베이스로부터 데이터를 판독한다. 저장 요소(360)는 도 1에서의 출처 질의 결과 저장공간(160)과 동일한 것이다.
출력 경고(150)가 스트림 처리 그래프의 처리 요소(140)에 의해 발생되었음을 상기하자. 또한 처리 요소(132, 122, 및 110)가 각각 이 이벤트의 발생에 기여하였음을 상기하자. 또한 데이터 요소(101)가 이 출력 경고를 일으키는 단독 데이터 단편인 것으로 가정되었음을 상기하자. 마지막 처리 요소, 즉 이 그래프에서는 처리 요소(140)가 자신의 처리를 끝내면, 스트림 처리 시스템에 의해 지정된 바와 같은 통지 또는 경고에 대하여 임의의 출력(150)이 송신됨을 상기하자. 본 개선된 구현예에서, 처리 요소(140)가 자신의 처리를 완료하고 스트림 처리 그래프(100)에 서 이전에 지정된 바와 같은 경고 통지 프로세스를 완료하면, 이제 출처 오버레이 처리 요소(340)에도 경고한다.
출력 경고가 발생되었다는 통지를 수신하면, 처리 요소(340)는, 출력 경고가 그에 대해 출처의 사전적 계산이 적합한 것으로 시스템이 결정한 것에 대응하는 한, 도 4에 도시된 알고리즘(400)을 수행한다. 처리 요소(340)는 데이터베이스(141)에서 이 소정의 출력 ID를 조회(410)함으로써 시작한다. 이 데이터베이스 레코드로부터, 처리 요소(340)는 이 출력 경고를 발생시키는데 처리 요소(140)에 의해, 만약 있다면, 어느 입력 요소가 사용되었는지를 결정한다(420). 또한, 어느 처리 요소가 이들 입력 요소를 발생하였는지를 식별한다(425). 이러한 정보를 이용하여, 처리 요소(340)는 경고를 발생시키는데 있어서 그들 역할의 이러한 계산에서 입력으로서 사용된 데이터를 발생시킨 이들 처리 요소에 경고한다(430). 그 다음, 처리 요소(340)는 그것이 지정된 출력 경고에 기여하였음을 기록한다(440). 다른 경우에, 아무 처리 요소도 입력을 발생시키지 않은 경우(425), 입력은 소스 데이터인 것으로 간주되고, 처리 요소는 이 데이터 요소를 출처 질의 결과 데이터베이스에 소스 데이터인 것으로 기록한다(450).
본 예에서, 처리 요소(340)는 처리 요소(332)에 경고하는데, 단지 그것이 이 출력 경고에 기여한 입력 식별자의, 이 출력 경고와 연관된 입력을 발생시키는데 수반된 처리 요소(132)와 연관되기 때문이다. 처리 요소(332)는 처리 요소(340)로부터 수신한 데이터를 사용하여 알고리즘(400)을 수행함으로써 이 처리를 계속한다. 처리 요소(332)는 결국 처리 요소(322)에 통지할 것이다. 처리 요소(322)는 알 고리즘(400)을 수행하고, 결국 처리 요소(310)에 통지할 것이다. 처리 요소(310)는 출력 경고(150)에 대한 데이터 소스인 것으로 데이터 요소(101)를 식별한다.
알고리즘(400)을 완료하면, 출처 질의 결과 데이터베이스는 각각의 출력 경고의 발생에 기여한 모든 처리 요소 및 소스 데이터 요소의 레코드를 포함한다. 출처 질의가 도달하면, 스트림 처리 프레임워크는 그 질의에 응답하기 위해 이 하나의 데이터베이스를 참고하기만 하면 된다.
저장 요소(111, 113, 115, 121, 123, 125, 127, 131, 133, 135, 및 141)는 캐시(cache)이다. 캐시가 다 찬 후에는, 캐시에의 각각의 배치는 캐시로부터의 제거를 동반한다. 캐시로부터 제거된 요소는 추후의 액세스에 이용하게 될 수 있는 비휘발성 데이터 저장공간에 유지될 수 있다. 일반적으로 캐시는 비휘발성 데이터 저장공간보다 훨씬 더 적은 액세스 레이턴시 및 더 높은 성능을 제공한다고 가정될 수 있다.
상기 설명된 실시예는, 알고리즘(400)이 그에 대한 출처의 사전적 계산이 적합하다고 간주되는 경고 세트에 대해서만 선택적으로 호출되어야 함을 지시한다. 도 5는 본 발명의 이 실시예를 지원하는데 필요한 컴포넌트의 구조적 개요도를 도시한다. 출처 결과를 계산하고 저장하는 프로세스는 먼저 처리 그래프의 출력 PE(504)가 출력 샘플 또는 "경고"를 발생하는 경우 트리거링된다. 사전적 질의 스케쥴러(Proactive Query Scheduler) 컴포넌트(501)는 이 발생된 경고를 알게 되고, 그 다음 출처 결과의 사전적 계산이 이루어질 것인지의 여부 및 그 때를 내부적으로 결정하는 일을 담당한다. 이를 결정하는 메커니즘은 (a) 명시적 룰 기반 트리거 링으로서, 이에 의해 특정 유형의 경고는 출처 결과의 선계산 및 저장이 이루어질 것임을 룰이 지시하는 것인 명시적 룰 기반 트리거링, 및 (b) 학습 기반 트리거링으로서, 자동 학습 알고리즘을 통하여 특정 추후의 지속기간 내의 하나 이상의 질의와 연관될 특정 경고의 가능성을 계산하는데 실제 발행된 출처 질의의 과거 히스토리가 사용되는 것인 학습 기반 트리거링과 같은, 다양한 기술 중 하나 이상을 포함할 수 있다. 본 발명의 원리는 선계산에 대한 트리거를 판정하는데 사용되는 특정 메커니즘에 한정되는 것이 아니며, 따라서 잘 알려진 현존하는 기술 분야에서의 다양한 기술이 이러한 목적을 위해 사용될 수 있다.
사전적 출처 결과 계산이 이루어질 것이라고 사전적 질의 스케쥴러가 판정하는 경우, 역추적 계산기 컴포넌트(502)에 알리고(508), 이어서 역추적 계산기 컴포넌트(502)는 도 4에서 전에 설명된 알고리즘(400)을 호출할 것이다. 알고리즘(400)의 실행은 스트림 처리 그래프의 중간 단계들의 메타 데이터가 저장되어 있는 캐시(505, 506)로부터 데이터의 호출 및 검색을 실시할 것임을 주목하여야 한다. 이 계산의 결과로서, 발생된 출처 결과는 질의가 실제로 발생하는 경우에 용이하게 이용할 수 있는 출처 질의 결과 데이터베이스(Provenance Query Result Database)(503)에 저장된다(509).
본 발명의 또 다른 실시예에서, 시스템은 단지 경고가 발생할 때에 출처 기능 역추적 캐싱을 수행하지만, 질의 때까지 출처 질의 결과를 계산하지는 않는다. 이 기술은 시기적절한 응답에 대한 필요성과 불필요한 계산을 피할 필요성과의 균형을 맞춘다. 이 실시예에서, 출력 경고에 기여하는 데이터는 높은 출처 값을 갖는 것으로서 마킹되며, 그 데이터가 그렇게 마킹되지 않은 데이터보다 더 오랜 시간 동안 캐시에 보유될 것을 보장한다. 도 5에 대하여, 이는 각각 역추적 계산기 컴포넌트로부터 PE 캐시(505, 506)에의 명령(511, 510)에 대응하며, 경고(507)의 발생으로 인해 발행될 가능성이 가장 많은 출처 질의 또는 질의들을 재구성하여야 할 이들 캐시 내의 특정 데이터를 마킹한다.
데이터의 마킹은 다수의 용도를 가질 수 있다. 마킹의 하나의 형태는 단지 캐시 내의 데이터를 상이하게 우선순위화하는 것이며, 그리하여 출처 질의일 가능성이 더 큰 답을 재구성하는데 필요한 데이터가 필요할 가능성이 적은 데이터보다 우선적으로 캐시에 보유된다. 마킹의 다른 형태로는 캐시 내의 데이터가 보유되어야 하는 특정 시간 또는 캐시된 데이터 요소의 우선순위 레벨이 시간이 지남에 따라 그에 의해 줄거나 감소되어야 하는 것인 특정 함수를 표시하는 것일 수 있다. 예를 들어, 데이터는 24시간 후에, 7일 후에 만료되는 것으로서, 또는 매 시간이 지남에 따라 하나의 레벨씩 데이터의 우선순위 레벨이 떨어지는 것으로서 마킹될 수 있다. 다른 경우에, N개의 잠재적 질의에 대한 관심으로 마킹될 수 있다. 각각의 잠재적 질의가 후처리(post-process)됨에 따라, 카운트는 감분될 것이다. 마지막 감분 시에는, 데이터의 우선순위가 낮추어지고, 데이터는 경고를 발생시키는데 수반되지 않은 데이터와 함께 제3(tertiary) 저장장치로 이동될 수 있다. 이 기술은 모든 종류의 데이터에 대한 출처 질의를 지원하지만(경고와 연관되지 않은 데이터까지도), 경고와 연관된 데이터에 대한 질의 응답 시간을 최적화한다.
경고는 시스템으로 오는 데이터의 총 용량에 비교하여 상대적으로 덜 빈번할 것으로 예상되고 출처 질의는 경고의 결과로서만 발생할 것으로 예상되기 때문에, 이러한 방식의 후처리는 일반적인 경우에 대하여 높은 효율성을 유지하는 이점을 제공하면서, 동시에 출처 기능 역추적 해결책 이상으로 효율성을 향상시킨다. 또한, PE 캐시 내의 데이터에 대하여 여기에 설명된 마킹 기술의 각각은 출처 질의 결과 DB에 저장된 재구성된 출처 데이터에도 적용될 수 있으며, 즉 예를 들어 이전의 사용 히스토리에서 특정 경고가 둘 이하의 출처 질의를 발생하는 것을 표시하는 경우, 선계산된 출처 결과는 두 개의 개별 출처 질의에 응답하여 검색된 후에 출처 질의 결과 DB로부터 제거될 수 있다.
사전적 질의 스케쥴러(501)는 본래 역추적 계산기를 호출하기 위한 스케쥴을 발생시키는데 출력 경고(507)를 사용함을 주목하여야 한다. 상기 단계들의 설명에 있어서, 스케쥴링 단계는 즉각적이며, 즉 출처 정보를 선계산하라는 요청(508)은 경고의 발생에 응답하여 즉각적으로 발생되었다. 이는 일반적인 상황일 것 같지만(많은 출처 질의가 경고가 소비자에게 전달되자마자 바로 발생할 것 같기 때문에), 본 발명의 원리는 선계산을 트리거링하는데 다양한 다른 스케쥴을 허용한다. 예를 들어, 사전적 질의 스케쥴러가 "부정맥(arrhythmia)" 경고는 매주 월요일 아침마다 클리닉을 방문하여 매주의 경고를 검토하는 심장 전문가에 의해 통상적으로 검토되는 것을 아는 경우, 사전적 질의 스케쥴러는 매번의 부정맥 경고 직후가 아니라 일요일 저녁에만 출처 선계산을 트리거링하도록 선택할 수 있다. 이 경우에, 사전적 질의 스케쥴러는 또한 월요일 아침까지 캐시되는 것을 보장하도록, 부정맥 경고의 발생에 수반된 각각의 처리 요소의 캐시에, 데이터를 마킹하기를 선택할 수 있다.
상기 설명에 있어서, 역추적 처리는 처리 노드 각각에서 수행되었다. 그러나, 출처 캐시(111, 113, 115, 121, 123, 125, 127, 131, 133, 135, 141)가 단일 처리 엔티티에 의해 액세스 가능한 경우, 그 처리 엔티티는 역추적 처리를 수행할 수 있다. 본 발명의 원리는 상기 설명된 역추적 처리의 예시적인 형태에 한정되지 않는다.
하나의 알려진 해결책으로는 LRU(Least Recently Used) 정책을 통하여 캐시 내의 데이터를 관리하는 것이다. 그러나, LRU 기반의 관리는 반드시 데이터의 값 자체를 반영하는 것은 아니다. 다른 알려진 해결책으로는 마지막 T초(또는 다른 시간 단위) 내에 발생한 모든 데이터를 마킹하는 것이지만, 이는 시스템으로 하여금 본 기술보다 훨씬 더 큰 데이터 용량을 유지시키도록 할 것이다. 이들 기술은 "루틴 데이터"(경고를 일으키지 않은 데이터)와 "의심스러운 데이터"(경고를 일으킨 데이터) 간을 구별하지 않는다. 본 발명의 해결책은 이를 구별하며 훨씬 더 효율적인 데이터 관리 능력을 제공한다.
마지막으로, 도 6은 본 발명의 기술의 하나 이상의 컴포넌트/단계에 따라 구현될 수 있는 컴퓨터 시스템(600)을 도시한다. 개별 컴포넌트/단계가 하나의 이러한 컴퓨터 시스템 상에서 또는 하나보다 많은 이러한 컴퓨터 시스템 상에서 구현될 수 있음을 더 이해하여야 한다. 분산된 컴퓨팅 시스템 상에서의 구현의 경우, 개별 컴퓨터 시스템 및/또는 디바이스는 적합한 네트워크, 예를 들어 인터넷 또는 월드 와이드 웹을 통하여 접속될 수 있다. 그러나, 시스템은 사설 또는 로컬 네트워크를 통하여 실현될 수 있다. 어떠한 경우든, 본 발명은 임의의 특정 네트워크에 한정되 지 않는다.
따라서, 도 6에 도시된 컴퓨터 시스템은 여기에 설명된 기능의 전부 또는 일부를 제공할 수 있는 하나 이상의 서버 또는 하나 이상의 기타 처리 디바이스를 나타낼 수 있다. 대안으로서, 도 6은 메인프레임 컴퓨터 시스템을 나타낼 수 있다.
컴퓨터 시스템은 일반적으로 프로세서(601), 메모리(602), 입력/출력(I/O) 디바이스(603), 및 컴퓨터 버스(605)나 대안의 접속 구성을 통하여 연결되는 네트워크 인터페이스(604)를 포함할 수 있다.
여기에서 사용되는 바와 같은 용어 "프로세서"는, 예를 들어 CPU 및/또는 기타 처리 회로를 포함하는 것과 같은 임의의 처리 디바이스를 포함하도록 의도되는 것을 인식하여야 한다. 또한, 용어 "프로세서"는 하나보다 많은 처리 디바이스를 칭할 수 있고 처리 디바이스와 연관된 다양한 요소가 다른 처리 디바이스에 의해 공유될 수 있음을 이해하여야 한다.
여기에서 사용되는 바와 같은 용어 "메모리"는, 예를 들어 RAM, ROM, 고정 메모리 디바이스(예를 들어, 하드 디스크 드라이브), 탈착가능한 메모리 디바이스(예를 들어, 디스켓), 플래시 메모리 등과 같이, 프로세서 또는 CPU와 연관된 메모리를 포함하도록 의도된다. 메모리는 컴퓨터 판독가능한 저장 매체로 간주될 수 있다.
또한, 여기에 사용되는 바와 같은 어구 "입력/출력 디바이스" 또는 "I/O 디바이스"는, 예를 들어 처리 유닛에 데이터를 입력하기 위한 하나 이상의 입력 디바이스(예를 들어, 키보드, 마우스 등), 및/또는 처리 유닛과 연관된 결과를 표시하 기 위한 하나 이상의 출력 디바이스(예를 들어, 디스플레이 등)를 포함하도록 의도된다.
또한, 여기에 사용되는 바와 같은 어구 "네트워크 인터페이스"는, 예를 들어 컴퓨터 시스템이 적합한 통신 프로토콜을 통하여 다른 컴퓨터 시스템과 통신할 수 있게 해주는 하나 이상의 트랜시버를 포함하도록 의도된다.
따라서, 여기에서 설명된 방법을 수행하기 위한 명령 또는 코드를 포함하는 소프트웨어 컴포넌트가 연관된 메모리 디바이스(예를 들어, ROM, 고정 또는 탈착가능한 메모리) 중 하나 이상에 저장될 수 있고, 이용될 준비가 되면 (예를 들어, RAM으로) 일부 또는 전체가 로딩되어 CPU에 의해 실행될 수 있다.
어떠한 경우든, 여기에서 설명되고 첨부된 도면에 도시된 본 발명의 기술은 하드웨어, 소프트웨어, 또는 이들의 조합의 다양한 형태로 구현될 수 있으며, 예를 들어, 연관된 메모리, 구현 특정 집적 회로(들), 기능 회로 등을 갖는 하나 이상의 동작적으로 프로그래밍된 범용 디지털 컴퓨터로 구현될 수 있음을 인식하여야 한다. 여기에서 제공된 본 발명의 기술에 따라, 당해 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술의 다른 구현예들을 생각해볼 수 있을 것이다.
본 발명의 예시적인 실시예가 첨부 도면을 참조하여 여기에 설명되었지만, 본 발명은 이들 구체적 실시예에 한정되지 않고, 본 발명의 범위 또는 사상에서 벗어나지 않고서 당해 기술 분야의 숙련자에 의해 다양한 기타 변경 및 수정이 이루어질 수 있음을 이해하여야 한다.
도 1은 본 발명의 하나 이상의 실시예가 구현될 수 있는 그래프로 표현된 데이터 스트림 처리 시스템.
도 2는 본 발명의 일 실시예에 따라 처리 요소에 의해 기록된 메타정보.
도 3은 본 발명의 일 실시예에 따라 그래프로 표현된 출처 오버레이.
도 4는 본 발명의 일 실시예에 따라 출처 데이터 유지관리를 수행하기 위한 방법.
도 5는 본 발명의 일 실시예에 따라 출처 데이터 유지관리를 지원하도록 채용되는 컴포넌트의 구조적 개요도.
도 6은 본 발명의 기술의 하나 이상의 컴포넌트/단계에 따라 구현될 수 있는 컴퓨터 시스템.

Claims (20)

  1. 데이터 스트림 처리 시스템에 의해 수신된 데이터 스트림과 연관된 데이터를 처리하는 방법으로서, 상기 시스템은 복수의 처리 요소를 포함하고,
    상기 데이터 스트림과 연관된 데이터의 일부를 유지하는 단계로서, 상기 유지된 데이터는 각각의 처리 요소의 출력에 기여한 각각의 처리 요소에의 입력을 포함하는 것인 단계;
    상기 처리 요소 중 하나에 의해 발생된 경고(alert)에 응답하여, 상기 경고와 관련된 예상 질의의 선계산(pre-calculation)이 실행되어야 할 때를 결정하도록 스케쥴러를 트리거링하는 단계; 및
    상기 스케쥴러에 응답하여, 상기 유지된 데이터의 적어도 일부를 사용하여 상기 경고에 기여한 데이터 세트를 결정하는 단계로서, 그리하여 상기 경고 기여 데이터 세트는 상기 예상 질의가 도달하면 그에 응답하는데 사용될 수 있는 것인 단계를 포함하는 데이터 처리 방법.
  2. 청구항 1에 있어서,
    질의 결과 저장 요소에 상기 경고 기여 데이터 세트를 저장하는 단계를 더 포함하는 데이터 처리 방법.
  3. 청구항 1에 있어서,
    상기 경고는 관심의 계산 결과를 포함하는 것인 데이터 처리 방법.
  4. 청구항 1에 있어서,
    상기 경고 기여 데이터 세트의 결정은,
    처리 그래프로서 상기 데이터 스트림 처리 시스템을 표현하는 것으로서, 상기 처리 그래프의 노드가 상기 데이터 스트림 처리 시스템에서의 처리 요소에 대응하고 상기 처리 그래프에서의 링크가 상기 처리 요소 간의 통신 경로에 대응하는 것인, 처리 그래프 표현; 및
    오버레이 그래프를 생성하는 것으로서, 상기 오버레이 그래프에서의 노드가 상기 처리 그래프에서의 노드에 대응하고 상기 오버레이 그래프에서의 링크가 상기 처리 그래프에서의 링크에 대응하는 것인, 오버레이 그래프 생성을 더 포함하는 것인 데이터 처리 방법.
  5. 청구항 4에 있어서,
    상기 오버레이 그래프에서의 각각의 링크는 상기 처리 그래프에서의 대응하는 링크의 반대이며, 상기 오버레이 노드는 상기 처리 그래프에서의 노드와 동시에 작용하는 것이고,
    상기 경고를 발생시킨 노드로 시작하되, 각각의 노드는 종속 정보를 사용하여, 처리 그래프에서의 자신의 대응하는 노드로 자신의 링크된 노드에 대응하는 처리 그래프 노드로부터 진행되었고 상기 경고에 기여한 것인 자신의 링크된 노드로 진행하는 것인, 데이터 처리 방법.
  6. 청구항 1에 있어서,
    상기 경고 기여 데이터 세트는 지정된 지속기간 동안 저장되는 것인 데이터 처리 방법.
  7. 청구항 1에 있어서,
    상기 경고 기여 데이터 세트는 상기 경고와 연관된 우선순위에 기초하는 보존 값으로 저장에 대해 마킹되는 것인 데이터 처리 방법.
  8. 청구항 1에 있어서,
    상기 스케쥴러를 트리거링하는 단계는 상기 경고를 하나 이상의 경고 클래스와 연관시키는 단계를 더 포함하는 것인 데이터 처리 방법.
  9. 청구항 8에 있어서,
    상기 스케쥴러는 대응하는 클래스에 대해 발행된 이전 질의의 히스토리에 기초하여 스케쥴을 발생시키는 것인 데이터 처리 방법.
  10. 청구항 8에 있어서,
    상기 스케쥴러는 대응하는 클래스에 대한 질의가 발행될 수 있는 가능성있는 시각을 기술하는 룰에 기초하여 스케쥴을 발생시키는 것인 데이터 처리 방법.
  11. 데이터 스트림 처리 시스템에 의해 수신된 데이터 스트림과 연관된 데이터를 처리하는 장치로서, 상기 시스템은 복수의 처리 요소를 포함하고, 상기 장치는,
    메모리; 및
    상기 메모리에 연결되는 프로세서를 포함하고,
    상기 프로세서는, 상기 데이터 스트림과 연관된 데이터의 일부를 유지하되, 상기 유지된 데이터는 각각의 처리 요소의 출력에 기여한 각각의 처리 요소에의 입력을 포함하는 것이고, 상기 처리 요소 중 하나에 의해 발생된 경고에 응답하여, 상기 경고와 관련된 예상 질의의 선계산이 실행되어야 할 때를 결정하도록 스케쥴러를 트리거링하고, 상기 스케쥴러에 응답하여, 상기 유지된 데이터의 적어도 일부를 사용하여 상기 경고에 기여한 데이터 세트를 결정하되, 그리하여 상기 경고 기여 데이터 세트는 상기 예상 질의가 도달하면 그에 응답하는데 사용될 수 있도록 구성되는 것인, 데이터 처리 장치.
  12. 청구항 11에 있어서,
    상기 프로세서는 질의 결과 저장 요소에 상기 경고 기여 데이터 세트를 저장하도록 더 구성되는 것인 데이터 처리 장치.
  13. 청구항 11에 있어서,
    상기 경고는 관심의 계산 결과를 포함하는 것인 데이터 처리 장치.
  14. 청구항 11에 있어서,
    상기 경고 기여 데이터 세트의 결정은,
    처리 그래프로서 상기 데이터 스트림 처리 시스템을 표현하는 것으로서, 상기 처리 그래프의 노드가 상기 데이터 스트림 처리 시스템에서의 처리 요소에 대응하고 상기 처리 그래프에서의 링크가 상기 처리 요소 간의 통신 경로에 대응하는 것인, 처리 그래프 표현; 및
    오버레이 그래프를 생성하는 것으로서, 상기 오버레이 그래프에서의 노드가 상기 처리 그래프에서의 노드에 대응하고 상기 오버레이 그래프에서의 링크가 상기 처리 그래프에서의 링크에 대응하는 것인, 오버레이 그래프 생성을 더 포함하는 것인 데이터 처리 장치.
  15. 청구항 14에 있어서,
    상기 오버레이 그래프에서의 각각의 링크는 상기 처리 그래프에서의 대응하는 링크의 반대이며, 상기 오버레이 노드는 상기 처리 그래프에서의 노드와 동시에 작용하는 것이고,
    상기 경고를 발생시킨 노드로 시작하되, 각각의 노드는 종속 정보를 사용하여, 처리 그래프에서의 자신의 대응하는 노드로 자신의 링크된 노드에 대응하는 처리 그래프 노드로부터 진행되었고 상기 경고에 기여한 것인 자신의 링크된 노드로 진행하는 것인, 데이터 처리 장치.
  16. 청구항 11에 있어서,
    상기 경고 기여 데이터 세트는 지정된 지속기간 동안 저장되는 것인 데이터 처리 장치.
  17. 청구항 11에 있어서,
    상기 경고 기여 데이터 세트는 상기 경고와 연관된 우선순위에 기초하는 보존 값으로 저장에 대해 마킹되는 것인 데이터 처리 장치.
  18. 청구항 11에 있어서,
    상기 스케쥴러를 트리거링하는 것은 상기 경고를 하나 이상의 경고 클래스와 연관시키는 것을 더 포함하는 것인 데이터 처리 장치.
  19. 청구항 18에 있어서,
    상기 스케쥴러는, 대응하는 클래스에 대해 발행된 이전 질의의 히스토리, 및 대응하는 클래스에 대한 질의가 발행될 수 있는 가능성있는 시각을 기술하는 룰 중 적어도 하나에 기초하여 스케쥴을 발생시키는 것인 데이터 처리 장치.
  20. 데이터 스트림 처리 시스템에 의해 수신된 데이터 스트림과 연관된 데이터를 처리하는 제조 물품으로서, 상기 시스템은 복수의 처리 요소를 포함하고, 상기 물품은 그와 함께 구현된 하나 이상의 프로그램을 갖는 컴퓨터 판독가능한 저장 매체를 포함하되, 상기 하나 이상의 프로그램은 컴퓨터에 의해 실행될 때, 다음 단계들, 즉
    상기 데이터 스트림과 연관된 데이터의 일부를 유지하는 단계로서, 상기 유지된 데이터는 각각의 처리 요소의 출력에 기여한 각각의 처리 요소에의 입력을 포함하는 것인 단계;
    상기 처리 요소 중 하나에 의해 발생된 경고에 응답하여, 상기 경고와 관련된 예상 질의의 선계산이 실행되어야 할 때를 결정하도록 스케쥴러를 트리거링하는 단계; 및
    상기 스케쥴러에 응답하여, 상기 유지된 데이터의 적어도 일부를 사용하여 상기 경고에 기여한 데이터 세트를 결정하는 단계로서, 그리하여 상기 경고 기여 데이터 세트는 상기 예상 질의가 도달하면 그에 응답하는데 사용될 수 있는 것인 단계를 수행하는 것인, 데이터 처리 제조 물품.
KR1020080105750A 2008-05-22 2008-10-28 데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치 KR100968187B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/125,212 2008-05-22
US12/125,212 US8301626B2 (en) 2008-05-22 2008-05-22 Method and apparatus for maintaining and processing provenance data in data stream processing system

Publications (2)

Publication Number Publication Date
KR20090122103A true KR20090122103A (ko) 2009-11-26
KR100968187B1 KR100968187B1 (ko) 2010-07-06

Family

ID=41342846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080105750A KR100968187B1 (ko) 2008-05-22 2008-10-28 데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치

Country Status (2)

Country Link
US (1) US8301626B2 (ko)
KR (1) KR100968187B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495736B2 (en) * 2009-03-24 2013-07-23 Lockheed Martin Corporation Method and apparatus for providing information assurance attributes through a data providence architecture
US8417709B2 (en) * 2010-05-27 2013-04-09 International Business Machines Corporation Automatic refinement of information extraction rules
US9305031B2 (en) 2013-04-17 2016-04-05 International Business Machines Corporation Exiting windowing early for stream computing
US10089362B2 (en) 2014-08-13 2018-10-02 Software Ag Systems and/or methods for investigating event streams in complex event processing (CEP) applications
US9547547B2 (en) 2014-11-28 2017-01-17 Software Ag Systems and/or methods for handling erroneous events in complex event processing (CEP) applications
US10257214B2 (en) * 2016-06-23 2019-04-09 Cisco Technology, Inc. Using a machine learning classifier to assign a data retention priority for network forensics and retrospective detection
US11275485B2 (en) 2018-06-15 2022-03-15 Sap Se Data processing pipeline engine
US10949219B2 (en) 2018-06-15 2021-03-16 Sap Se Containerized runtime environments
US10866831B2 (en) * 2018-06-15 2020-12-15 Sap Se Distributed execution of data processing pipelines
US10733034B2 (en) 2018-06-15 2020-08-04 Sap Se Trace messaging for distributed execution of data processing pipelines
CN109756376A (zh) * 2019-01-11 2019-05-14 中电福富信息科技有限公司 基于图数据模型的告警关联分析方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6251016B1 (en) 1997-01-07 2001-06-26 Fujitsu Limited Information offering system for providing a lottery on a network
US6131091A (en) 1998-05-14 2000-10-10 Intel Corporation System and method for high-performance data evaluation
US6658477B1 (en) 1999-05-12 2003-12-02 Microsoft Corporation Improving the control of streaming data through multiple processing modules
US6748440B1 (en) 1999-05-12 2004-06-08 Microsoft Corporation Flow of streaming data through multiple processing modules
EP1232454A1 (en) 1999-09-10 2002-08-21 Portogo, Inc. System and method for insuring correct data transmission over the internet
US6594773B1 (en) 1999-11-12 2003-07-15 Microsoft Corporation Adaptive control of streaming data in a graph
US6725287B1 (en) 2000-11-09 2004-04-20 Elity Systems, Inc. Method and system for capturing streaming data by an actionable information engine
JP2004537799A (ja) * 2001-07-31 2004-12-16 アメリカン・エキスプレス・トラベル・リレイテッド・サービシズ・カンパニー・インコーポレーテッド ファイナンシャルプランニングおよびアドバイスを提供するシステムおよび方法
US20030076784A1 (en) 2001-10-24 2003-04-24 Zarlink Semiconductor V.N. Inc. Methods of performance estimation in provisioning delay intolerant data services
US7340526B2 (en) 2001-10-30 2008-03-04 Intel Corporation Automated content source validation for streaming data
US20030126276A1 (en) 2002-01-02 2003-07-03 Kime Gregory C. Automated content integrity validation for streaming data
US6983286B1 (en) 2002-05-10 2006-01-03 Oracle International Corporation Method and apparatus for accessing data as it existed at a previous point in time
US7194000B2 (en) 2002-06-21 2007-03-20 Telefonaktiebolaget L.M. Ericsson Methods and systems for provision of streaming data services in an internet protocol network
EP1546822A4 (en) 2002-09-18 2008-07-02 Netezza Corp ASYMMETRIC DATA STREAMING ARCHITECTURE WITH AN AUTONOMOUS AND ASYNCHRONOUS JOB PROCESSING UNIT
US7010538B1 (en) 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
US7680797B1 (en) * 2003-07-25 2010-03-16 Verizon Data Services Llc Methods and systems for providing a data access layer
US7400577B2 (en) 2004-02-25 2008-07-15 Microsoft Corporation Methods and systems for streaming data
US8352423B2 (en) 2004-05-07 2013-01-08 Inceptia Llc Apparatus and method for providing streaming data
US7240065B2 (en) 2004-05-27 2007-07-03 Oracle International Corporation Providing mappings between logical time values and real time values
US7251660B2 (en) 2004-06-10 2007-07-31 Oracle International Corporation Providing mappings between logical time values and real time values in a multinode system
US7543073B2 (en) 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US20060149849A1 (en) 2005-01-03 2006-07-06 Gilad Raz System for parameterized processing of streaming data
US20060197766A1 (en) 2005-03-07 2006-09-07 Digital Fuel Technologies, Inc. System for interpretation of streaming data filters
US20060288045A1 (en) 2005-06-16 2006-12-21 Digital Fuel Technologies, Inc. Method for aggregate operations on streaming data
US7937269B2 (en) 2005-08-22 2011-05-03 International Business Machines Corporation Systems and methods for providing real-time classification of continuous data streams
US8793264B2 (en) * 2007-07-18 2014-07-29 Hewlett-Packard Development Company, L. P. Determining a subset of documents from which a particular document was derived

Also Published As

Publication number Publication date
US20090292729A1 (en) 2009-11-26
US8301626B2 (en) 2012-10-30
KR100968187B1 (ko) 2010-07-06

Similar Documents

Publication Publication Date Title
KR100968187B1 (ko) 데이터 스트림 처리 시스템에서 출처 데이터를 유지 및 처리하는 방법 및 장치
CN112035404B (zh) 医疗数据监控与预警方法、装置、设备及存储介质
US8856313B2 (en) Systems and methods for using provenance information for data retention in stream-processing
CN107924360B (zh) 计算系统中的诊断框架
CA2934280C (en) Long string pattern matching of aggregated account data
US9262499B2 (en) Context-based graphical database
JP2014006898A (ja) 行動パターンをマイニングするシステム及び方法
CN111881011A (zh) 日志管理方法、平台、服务器及存储介质
US20130018921A1 (en) Need-to-know information access using quantified risk
CN111669379B (zh) 行为异常检测方法和装置
US20210081879A1 (en) Systems and methods for escalation policy activation
US8732323B2 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
CN112948223A (zh) 一种监测运行情况的方法和装置
CN113192627A (zh) 一种基于病人与疾病二部图的再入院预测方法及系统
US11832960B2 (en) Automated health review system
US11593406B2 (en) Dynamic search parameter modification
US9727621B2 (en) Systems and methods for servicing database events
CN113760367A (zh) 一种数据处理方法、装置、电子设备以及存储介质
US10346759B2 (en) Probabilistic inference engine based on synthetic events from measured data
JP2019532407A (ja) 患者医療記録リンクシステム
CN113782187A (zh) 指标数据处理方法、相关设备及介质
US20200134528A1 (en) Systems and methods for coordinating escalation policy activation
WO2018060835A1 (en) Systems and methods for facilitating computer-assisted linkage of healthcare records
CN114238008A (zh) 一种数据获取方法、装置、系统、电子设备及存储介质
Ancillon Suicide Risk Prediction using Electronic Health Records

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130516

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 10