KR101154789B1 - 고해상도 타이머-효율적인 슬라이딩 윈도우 - Google Patents

고해상도 타이머-효율적인 슬라이딩 윈도우 Download PDF

Info

Publication number
KR101154789B1
KR101154789B1 KR1020077007803A KR20077007803A KR101154789B1 KR 101154789 B1 KR101154789 B1 KR 101154789B1 KR 1020077007803 A KR1020077007803 A KR 1020077007803A KR 20077007803 A KR20077007803 A KR 20077007803A KR 101154789 B1 KR101154789 B1 KR 101154789B1
Authority
KR
South Korea
Prior art keywords
event
timer
time window
condition
sliding time
Prior art date
Application number
KR1020077007803A
Other languages
English (en)
Other versions
KR20070093961A (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 KR20070093961A publication Critical patent/KR20070093961A/ko
Application granted granted Critical
Publication of KR101154789B1 publication Critical patent/KR101154789B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/32Reselection being triggered by specific parameters by location or mobility data, e.g. speed data
    • H04W36/324Reselection being triggered by specific parameters by location or mobility data, e.g. speed data by mobility data, e.g. speed data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/32Reselection being triggered by specific parameters by location or mobility data, e.g. speed data

Abstract

슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지의 결정은 이벤트의 각각의 발생에 응답하여 이벤트 검출 프로시저를 수행하는 단계를 포함한다. 이벤트 검출 프로시저는 타임스탬프와 이벤트를 연관시키는 단계, 및 이벤트와 연관된 타임스탬프와 N번째 이전 이벤트와 연관된 보다 이른 타임스탬프 간의 차이에 기초하여 값 DeltaTimeStamp를 결정하는 단계를 포함한다. 값 DeltaTimeStamp는 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 비교되며, 비교 기준이 충족되는 경우, 이벤트 검출 조건이 표시되는데, 이벤트 검출 조건은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생한 것으로 정의된다.
슬라이딩 타임 윈도우, 지속 시간, 이벤트, 이벤트 검출 프로시저, 타임스탬프

Description

고해상도 타이머-효율적인 슬라이딩 윈도우{HIGH-RESOLUTION TIMER-EFFICIENT SLIDING WINDOW}
본 발명은 슬라이딩 타임 윈도우 내에 소정 수의 이벤트가 발생하였는지의 여부를 검출하는 것에 관한 것이다.
많은 타입의 시스템 및 장치에서, 소정의 시간 내에 서로 관련된 소정 수의 이벤트가 발생하였는지를 검출하는 것이 종종 요구된다. 이 조건이 검출되는 경우, 소정의 시간 내에 서로 관련된 소정 수의 이벤트가 더 이상 발생하고 있지 않은지를 검출하는 것도 종종 요구된다. 통상적으로, 이들 조건 각각이 이행/불이행되는 것에 응답하여, 이에 대응하는 상태 변화 또는 소정 액션이 취해진다.
도 1은 소정의 기간에 걸친 소정의 이벤트(검정 박스로 도시됨)의 발생을 나타내는 예시적인 타이밍도이다. 이 예에서, 소정의 시간 내에 서로 관련된 4번의 이벤트가 발생한 시기를 검출하는 것이 요구되는 것으로 가정한다. 이 조건은 슬라이딩 타임 윈도우(101) 내에서 충족된다. 조건이 충족됨을 검출하는 것에 응답하여, 소정의 액션 "x"가 취해진다(103).
도 2는 소정의 시간 내에 서로 관련된 4번의 이벤트가 더 이상 발생하고 있지 않은 시기를 검출하는 것이 요구되는 상황을 나타내는 예시적인 타이밍도이다. 이 예에서는, 그 상황이 슬라이딩 타임 윈도우(201) 내에서 발생한다. 조건이 충족됨을 검출하는 것에 응답하여, 소정의 액션 "y"가 취해진다(203).
트리거-해피(trigger-happy) 시스템을 피하기 위하여, 간혹 히스테리시스 타이머가 추가된다. 도 3은 도 2에서와 동일한 상황을 도시하지만, 여기서는 즉시 액션 "y"를 취하는 것이 요구되지 않는다. 오히려, 시스템이 액션 "y"를 취하기 전에 소정의 기간(301)에 걸쳐 안정적인 것을 확인하기 위해 히스테리시스 타이머가 추가된다. 따라서, 소정 수의 이벤트가 발생하거나 발생하지 않아야 하는(어떤 조건이 테스트되고 있는지에 따라) 슬라이딩 타임 윈도우 상에 주의가 집중된다. 히스테리시스를 구현하기 위하여, 시간 윈도우의 시점 및 종점이 효과적으로 이동하며, 히스테리시스 기간 내의 시점들 각각에서 원하는 조건이 테스트된다. 도 3에서, 정의된 시간 윈도우 내에 4번의 이벤트가 발생하지 않는 조건은 히스테리시스 기간(301)에 걸쳐 참이며 안정적이다. 결과적으로, 액션 "y"가 취해진다(303).
시간 윈도우 내에 소정 수의 이벤트의 발생을 검출하는 것이 요구되는 상황에서는 유사한 히스테리시스 타이머가 추가될 수 있다. 도 4는, 소정의 슬라이딩 타임 윈도우 내에 4번의 이벤트가 발생하였고, 이 조건이 액션을 취하기 전에 히스테리시스 기간 동안 안정적인 것을 검출하는 것이 요구되는 사례를 나타낸다. 이 예에서는, 히스테리시스 기간 동안 조건이 이행되지 않으므로 어떠한 액션도 취해지지 않는다.
많은 시스템에서, 전술한 이벤트의 수는 물론 슬라이딩 타임 윈도우의 길이도 완전히 설정 가능하며, 임의의 시간에 변경될 수 있다. 통신 분야를 일례로 들 면, 수신시의 블록 에러 레이트가 소정의 슬라이딩 타임 윈도우 내에서 소정의 임계치를 초과하거나 그 이하로 떨어지는 시기를 검출하는 것이 필요할 때, 이벤트의 발생/미발생을 검출하는 문제가 발생한다.
또 하나의 예는 3GPP 기술 사양 25.304에서 발견되는 계층 셀 구조(HCS) 문제를 해결하기 원할 때이다. 이 사양에서는, 기간(T) 동안의 셀 재선택의 횟수가 소정의 미리 설정된 양(N)을 초과하는지를 사용자 장비(UE)가 검출할 수 있을 것을 요구한다. 그러한 경우, 고 이동성이 검출된다. 이러한 고 이동성 상태에서는, UE는 동일 HCS 우선순위 레벨의 인접 셀들 앞에 있는 하위 HCS 우선순위 레벨의 인접 셀들의 재선택을 특히 우선으로 한다. 기간(T) 동안의 셀 재선택의 횟수가 N을 초과하지 않을 때, UE는 기간 THyst 동안 이 측정을 계속한 다음, 저 이동성 측정 규칙으로 복귀한다. 이 예에서, 셀 재선택은 이벤트이고, T는 N번의 이벤트가 검출되어야 하는 슬라이딩 타임 윈도우의 지속 시간이며, THyst는 고 이동성 상태를 떠나기 위한 히스테리시스 타이머이다.
전술한 바와 같은 문제를 해결하기 위해, 소프트웨어 솔루션들은 통상적으로 다음과 같이 슬라이딩 윈도우를 구현한다. 즉, 시스템은 외부 프로그램/장치에 의해 또는 프로그램 자체에 의해 시동된 타이머에 의해 주기적인 간격으로 계속 작동된다. 각각의 작동에서, 슬라이딩 타임 윈도우는 시프트되며, 액션을 취할 것인지를 결정하기 위해, 슬라이딩 타임 윈도우 내에서의 이벤트/이벤트 결여의 횟수가 계속 카운트된다. 히스테리시스 타이머들이 사용되는 경우, 추가적인 타이머 관리 가 요구된다.
이러한 솔루션들은 소정의 관련 문제를 갖는다. 예를 들어, 시스템은 타이머들을 일정하게 시동시켜야 할 수도 있으므로, 여러 타이머가 병렬적으로 동작하는 결과를 낳는다. 각각의 타이머 타임아웃 이벤트는 결국 주어진 조건이 충족되는지를 검출하기 위한 처리로 이어진다. 조건이 이행/불이행되는지를 빨리 검출하기를 원하고, 이에 반응하여 액션을 빨리 취하기를 원할수록, 더 자주(그리고 보다 정밀한 해상도) 웨이크업 호출(wake-up call)이 있어야 한다. 이는 외부 프로그램/장치로부터 또는 자신의 시동 타이머들로부터의 보다 많은 시그널링을 발생시키며, 보다 많은 프로세스 스위치를 필요로 할 것이다.
발명의 개요
"포함한다" 및 "포함하는"이라는 용어는, 본 명세서에서 사용될 때, 언급된 특징, 수, 단계 또는 컴포넌트의 존재를 지정하기 위하여 이용되지만, 이들 용어의 사용은 하나 이상의 다른 특징, 정수, 단계, 컴포넌트 또는 이들의 그룹의 존재나 추가를 배제하지 않는다는 점을 알아야 한다.
본 발명의 일 측면에 따르면, 전술한 목적 및 그 밖의 목적은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출하는 방법 및 장치에 의해 달성된다. 검출은 이벤트의 각 발생에 응답하여 이벤트 검출 프로시저를 수행하는 단계를 포함한다. 이벤트 검출 프로시저는 타임스탬프와 이벤트를 연관시키는 단계; 및 이벤트와 연관된 타임스탬프와 N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결 정하는 단계를 포함한다. 값 DeltaTimeStamp는 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 비교되고, 비교 기준이 충족되는 경우, 이벤트 검출 조건이 표시되며, 이벤트 검출 조건은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생한 것으로서 정의된다.
다른 측면에서, 타이머는 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 초기화된다. 이어서, 타이머가 시동되고, 타이머와 연관된 타임아웃 이벤트가 이벤트 부족 조건이 참임을 표시하는 단계를 포함하는 이벤트 부족 검출 프로시저를 호출하고, 이벤트 부족 조건은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의된다.
또 다른 측면에서, 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 타이머를 초기화하는 단계는 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이를 결정하고, 이 차이와, 이벤트 부족 조건이 검출되기 전에 이벤트 부족 조건이 존재하는 것이 허용되는 지속 시간을 나타내는 히스테리시스 값을 결합하는 단계를 포함한다.
또 다른 측면에서, 타이머를 초기화하기 전에 타이머가 확실히 정지되어 있다.
몇몇 실시예에서, 이벤트는 통신 장치에서의 데이터 블록 에러의 검출이다.
다른 실시예들에서, 이벤트는 셀룰러 통신 시스템에서의 셀의 재선택이다. 이들 실시예의 다른 측면들에서, 이벤트 검출 조건이 표시되는 것에 응답하여, 사용자 단말기가 고 이동성 상태에서 동작하며, 이벤트 부족 조건이 표시되는 것에 응답하여, 사용자 단말기가 저 이동성 상태에서 동작한다.
또 다른 실시예들에서, 본 방법 및 시스템은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출한다. 이는 이벤트의 각 발생에 응답하여 이벤트 검출 프로시저를 수행하는 단계를 포함하며, 이벤트 검출 프로시저는 타임스탬프와 이벤트를 연관시키는 단계; 이벤트와 연관된 타임스탬프와, N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결정하는 단계; DeltaTimeStamp와, 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값을 비교하는 단계; 및 비교 기준이 충족되는지를 결정하는 단계를 포함한다. 비교 기준이 충족되는 경우, 제1 타이머가 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 초기화되고, 제1 타이머가 시동된다. 또한, 최종 검출 상태가 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번의 이벤트가 발생하지 않은 상태인지를 결정하고, 그러한 경우, 제2 타이머가 히스테리시스 이벤트 값에 기초하여 초기화되고, 제2 타이머가 시동된다. 이들 실시예에서, 제1 타이머와 연관된 타임아웃 이벤트는 이벤트 부족 조건이 검출되었음을 표시하는 단계를 포함하는 이벤트 부족 검출 프로시저를 호출하고, 이벤트 부족 조건은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의된다. 또한, 제2 타이머와 연관된 타임아웃 이벤트는 이벤트 검 출 조건이 참임을 표시하는 단계를 포함하는 이벤트 검출 프로시저를 호출하고, 이벤트 검출 조건은 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하고 있는 것으로서 정의된다. 더욱이, 히스테리시스 이벤트 값은 이벤트 검출 조건이 검출되기 전에 이벤트 검출 조건이 존재하는 것이 허용되는 지속 시간을 나타낸다.
또 다른 측면에서, 이벤트 부족 검출 프로시저는 최종 검출 상태가 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번의 이벤트가 발생한 상태인지를 결정하고, 그러한 경우에 이벤트 부족 조건이 적어도 hyst_lack 시간 동안 존재하였는지를 결정하는 단계를 포함한다. 이벤트 부족 조건이 적어도 hyst_lack 시간 동안 존재한 경우, 이벤트 부족 조건이 검출되었음이 표시된다. 그렇지 않은 경우에는, 제1 타이머는 hyst_lack 시간에 기초하여 초기화되고, 시동된다.
도 1은 소정 기간에 걸친 소정 이벤트(검정 박스로 도시됨)의 발생을 나타내는 예시적인 타이밍도.
도 2는 소정의 시간 내에 서로 관련된 4번의 이벤트가 더 이상 발생하고 있지 않은 시기를 검출하는 것이 요구되는 상황을 나타내는 예시적인 타이밍도.
도 3은 히스테리시스 기간에 걸쳐 소정 시간 내에 서로 관련된 4번의 이벤트가 더 이상 발생하고 있지 않은 시기를 검출하는 것이 요구되는 상황을 나타내는 예시적인 타이밍도.
도 4는 액션을 취하기 전 히스테리시스 기간 동안의 소정 시간 내에 4번의 이벤트가 발생한 시기를 검출하는 것이 요구되지만 히스테리시스 기간 동안에 조건이 이행되지 않으므로 어떠한 액션도 취해지지 않는 사례를 나타내는 도면.
도 5는 예시적인 실시예의 동작을 나타내는 타이밍도.
도 6은 일 실시예의 예시적인 구현을 나타내는 흐름도.
도 7a, 7b 및 7c는 일 실시예의 다른 구현예를 나타내는 흐름도.
본 발명의 목적 및 이점은 도면들과 연관된 다음의 상세한 설명을 통해 이해할 수 있을 것이다.
이제, 본 발명의 다양한 특징이 도면들을 참조하여 설명되는데, 도면들에서 유사한 부문에는 동일한 참조 부호가 부여된다.
이제, 본 발명의 다양한 측면이 다수의 예시적인 실시예와 관련하여 보다 상세히 설명된다. 본 발명의 이해를 쉽게 하기 위하여, 본 발명의 많은 측면들은 컴퓨터 시스템의 요소들에 의해 수행되는 액션들의 시퀀스와 관련하여 설명된다. 실시예들 각각에서, 다양한 액션은 특수 회로들(예를 들어, 특수 기능을 수행하도록 상호 접속된 개별 로직 게이트들)에 의해, 하나 이상의 프로세서에 의해 실행되고 있는 프로그램 명령들에 의해, 또는 이들의 조합에 의해 수행될 수 있다는 것을 이해할 것이다. 더욱이, 부가적으로 본 발명은 프로세서가 본 명세서에서 설명되는 기술들을 수행하게 하는 적절한 컴퓨터 명령 세트를 포함하는 반도체 메모리, 자기 디스크, 광 디스크 또는 캐리어 웨이브(예를 들어, 무선 주파수, 오디오 주파수 또는 광학 주파수 캐리어 웨이브)와 같은 임의 형태의 컴퓨터 판독가능 캐리어 내에 완전히 구현되는 것으로 간주될 수 있다. 따라서, 본 발명의 다양한 측면들은 많은 상이한 형태로 구현될 수 있으며, 이러한 모든 형태는 본 발명의 범주 내에 있는 것으로 의도된다. 본 발명의 다양한 측면들 각각에 대해, 이러한 임의 형태의 실시예들은 본 명세서에서 설명된 액션을 수행하도록 구성된 로직, 또는 이와 달리, 설명된 액션을 수행하는 로직으로서 지칭될 수 있다.
배경 기술란에서 설명된 바와 같이, 통상의 프로그램이 이벤트의 미발생을 발견하기를 원할 때, 어떠한 일도 발생하지 않고 소정 시간이 경과했다는 것이 프로그램/장치/타이머에 의해 보고되어야 한다. 이에 비해, 본 발명의 중요한 측면은, 프로그램이 작동(wake up)하며, 프로그램이 이벤트의 미발생을 검출하도록 되어 있는 때에도 이벤트가 발생할 때만 반응한다는 것이다. 이것은 보다 적은 작동 및 감소된 양의 시그널링, 타이머 자원 및 프로세스 스위치를 포함하는 매우 간단한 소프트웨어 구현으로 최소의 가능한 반응 시간 및 최고의 가능한 해상도를 달성할 수 있는 구현을 가능하게 한다. 이제, 이들 및 다른 측면들을 보다 상세히 설명한다.
하나의 예시적인 실시예에서는, 이벤트의 수가 소정의 기간 내에 소정의 임계치를 초과한 것을 검출하기 위한 히스테리시스 타이머를 포함하지 않는 것으로 가정한다. 따라서, 본 발명의 일 측면은, 이벤트의 각 발생시에 작동하며, 그때 데이터베이스(예를 들어, 어레이)에 타임스탬프를 저장하는 프로그램을 포함한다. 이벤트의 수가 미리 설정된 임계치(N)를 초과한 경우, 현재 이벤트의 타임스탬프와 N번째 이전 타임스탬프 간의 시간 차(DeltaTimeStamp)가 결정된다. 이 차이가 슬라이딩 타임 윈도우의 길이 이하인 경우, 슬라이딩 타임 윈도우 내에 발생한 이벤트의 수가 N을 초과하였음이 검출되었다.
이제, 프로그램은 이벤트 미발생의 검출을 시작할 수 있는 상태에 있다. 이러한 조건을 검출하는 하나의 측면은 타이머를 시동시키는 단계를 포함한다. 타이머는, 슬라이딩 타임 윈도우의 길이 - DeltaTimeStamp에 의해 표현되는 지속 시간에 대응하는 기간 후에 타임아웃 이벤트가 발생하도록 초기화된다. 이벤트의 미발생(hyst_lack)을 검출하기 위하여 히스테리시스 시간 간격을 적용하는 다른 실시예들에서, 타이머는, 슬라이딩 타임 윈도우의 길이 - DeltaTimeStamp에 의해 표현되는 지속 시간 + 원하는 히스테리시스의 지속 시간에 대응하는 기간 후에 타임아웃 이벤트가 발생하도록 초기화된다.
타이머는, 소정의 기간 내에 이벤트의 수가 N을 초과하였음을 검출할 때마다 재시동된다. 타이머가 항상 타임아웃되어 있는 경우, 이것은 소정의 기간 내에 N번 이하의 이벤트가 발생한 것(즉, 이벤트의 부족이 검출된 것)을 표시한다.
도 5는 전술한 예시적인 실시예의 동작을 나타내는 타이밍도이다. 이 예에서는, 서로에 관하여 다양하게 이격된 일련의 이벤트가 발생한다. 미리 설정된 임계치 N은 3이고, 도면에 도시된 이벤트 전에는 어떠한 다른 이벤트도 발생하지 않은 것으로 가정한다. 또한, 타임스탬프들은 이벤트가 발생한 시기에서의 첫 번째 순간(즉, 도 5에 도시된 다양한 이벤트의 리딩 에지들)을 나타내는 것으로 가정한다.
이벤트(501)가 발생할 때, 이벤트의 총 수(즉, 이 시점에서는 단 하나)는 임계치 N을 초과하지 않으며, 따라서 취해지는 유일한 액션은 타임스탬프를 결정하고 이것을 적절한 데이터베이스에 저장하는 것이다. 이것은 다음 두 번의 이벤트(503, 505)에 대해서도 동일하다.
네 번째 이벤트(507)가 발생할 때, 3의 임계치는 초과되며, 따라서 네 번째 이벤트(507)와 연관된 타임스탬프를 결정하고 저장하는 것 외에, 네 번째 이벤트(507)와 연관된 타임스탬프로부터 첫 번째 이벤트(501)와 연관된 타임스탬프를 감산하여 DeltaTimeStamp(509)에 대한 값을 생성한다. 이 예에서, DeltaTimeStamp(509)는 슬라이딩 타임 윈도우(511)의 지속 시간보다 작으며, 따라서 슬라이딩 타임 윈도우(511)에 의해 정의되는 기간 내에 3번보다 많은 이벤트의 검출이 발생하였다.
슬라이딩 타임 윈도우에 정의되는 길이 내에 3번보다 많은 이벤트가 발생하는 조건이 충족되는 것이 종료되었는지를 검출하기 위하여, 슬라이딩 타임 윈도우(511)의 길이로부터 DeltaTimeStamp 값을 감산함으로써 타이머 길이가 결정된다. 타이머는 이 값으로 초기화되고 호출된다.
타이머의 만료 전에 다음 이벤트(513)가 발생하는 경우, 새로운 DeltaTimeStamp 값이 이벤트(513)와 연관된 타임스탬프와 이벤트(503)와 연관된 타임스탬프 간의 차이로서 계산되며, 타이머는 새로운 타이머 길이 값으로 재초기화되고 재시동된다. 이것은 새로운 DeltaTimeStamp 값이 다시 슬라이딩 타임 윈도우(511)의 길이보다 작기 때문이다.
그러나, 이벤트(513)가 발생하지 않은 경우(도 5의 점선으로 표시), 타이머는 타임아웃 이벤트를 유도하여, 슬라이딩 타임 윈도우에 의해 정의되는 시간 길이 내에 3번보다 많은 이벤트가 발생하는 조건이 더 이상 충족되지 않음을 알린다. 이것은 단지 3번의 이벤트(503, 505, 507)와 연관된 기간을 정의하는 슬라이딩 타임 윈도우(515)에 의해 도면에 도시되어 있다.
다음 이벤트(517)가 발생할 때, 이벤트 검출 조건이 다시 충족되는데, 이는 이벤트(517)와 연관된 타임스탬프와 이벤트(503)와 연관된 타임스탬프 간의 차이로서 결정된 DeltaTimeStamp 값이 슬라이딩 타임 윈도우(519)의 지속 시간보다 작기 때문이다.
도 5에 도시된 바와 같은 상황을 고려하여, 설계자는 슬라이딩 타임 윈도우(511)의 종결과 이벤트(517)의 시작 간의 비교적 짧은 시간 간격을 이벤트 검출 조건이 더 이상 충족되지 않는 사례로 간주하기를 원하지 않을 수도 있다. 전술한 바와 같이, 시스템이 이러한 방식으로 응답하는 것을 방지하기 위하여, 타이머 길이에 대한 값을 결정할 때 히스테리시스 값(hyst_lack)이 추가될 수 있다. hyst_lack의 값은, 이벤트(517)와 같은 이벤트가 발생할 기회를 갖기 전에 타이머가 타임아웃 이벤트가 발생하지 않게 하도록 선택될 수 있다.
도 6은 방금 설명된 실시예의 예시적인 구현을 나타내는 흐름도이다. 예시적인 실시예는 이벤트의 발생으로부터 시작된다(단계 601). 이벤트(610)에 응답하여, 대응 타임스탬프가 결정되고 적절한 데이터베이스에 저장된다(단계 603). 이어서, 발생한 이벤트의 총 수가 소정의 임계치 N과 비교된다(판정 블록 605). 비교 기준이 충족되지 않은 경우(예를 들어, 이벤트의 총 수가 임계치 N보다 크기 않은 경우)(판정 블록 605로부터 "NO" 경로), 이 루틴 호출이 종료된다(단계 607).
그러나, 비교 기준이 충족되는 경우(판정 블록 605로부터 "YES" 경로), 값 DeltaTimeStamp는 가장 최근에 결정된 타임스탬프와 N번째 이전 이벤트의 타임스탬프 간의 차이로서 결정된다(단계 609).
이어서, DeltaTimeStamp의 값은 슬라이딩 타임 윈도우의 길이와 비교된다(판정 블록 611). 비교 기준이 충족되지 않는 경우(예를 들어, DeltaTimeStamp가 슬라이딩 타임 윈도우의 길이 이상인 경우)(판정 블록 611로부터 "NO" 경로), 이 루틴의 호출은 종료된다(단계 607).
그러나, 비교 기준이 충족되는 경우(판정 블록 611로부터 "YES" 경로), 루틴은 타이머가 현재 실행되고 있는지를 판정하도록 계속된다(판정 블록 613). 그러한 경우(판정 블록 613으로부터 "YES" 경로), 타이머는 정지되고(단계 615), 처리는 단계 617로 계속된다. 타이머가 이미 실행되고 있지 않은 경우(판정 블록 613으로부터 "NO" 경로), 처리는 직접 단계 617로 계속된다. 본 명세서에서 단계들(613, 615)은 다소 교육적인 이유로, 즉 이미 실행되고 있는 타이머가 정지되어야 한다는 것을 명확히 지적하기 위하여 설명된다는 점에 유의하여야 한다. 그러나, 다른 실시예들에서 설계자는 판정 블록 613에 의해 예시되는 테스트를 생략하고 그 대신에, 타이머가 이미 정지한 경우에는 간단히 무시되는 "타이머 정지" 커맨드를 간단히 발행하는 것이 보다 편하다는 것을 알 수 있다는 것을 이해할 것이다. 이들 및 다른 균등적인 실시예들에서, 이들 단계의 목적은 타이머가 확실히 정지되게 하는 것이며, 따라서 타이머는 새로운 초기화 값으로 재시동될 수 있게 된다. 타이머를 실제로 정표시키지 않고 새로운 초기 값이 로딩되는 것을 허용하는 타이머 로직이 이용되는 경우, 타이머가 확실히 정지되게 하는 단계는 어떠한 실제 액션도 포함하지 않는다.
단계 617에서, 타이머는 슬라이딩 타임 윈도우의 길이와 DeltaTimeStamp의 값 간의 차에 대응하는 값으로 (재)초기화된다. 히스테리시스(hyst_lack)가 이벤트의 부족을 검출하기 위해 사용되는 경우, 이 값은 타이머가 초기화되는 값에 추가된다. (재)초기화 후에, 타이머가 시동된다. 처리의 현재 상태를 나타내는 변수는 발생한 이벤트의 수가 표시된 기준을 충족시키는 것을 나타내는 값으로 설정된다(예를 들어, 임계치 N을 초과한다)(단계 619). 이어서, 이 루틴의 호출이 종료된다(단계 607).
전술한 단계들은 고려 중인 이벤트의 각 발생에 응답하여 수행된다. 타임아웃 이벤트가 발생한 경우(단계 621), 이것은 슬라이딩 타임 윈도우의 지속 시간 내에 발생해야 하는 이벤트의 수를 지정하는 기준이 더 이상 충족되지 않음(즉, 이벤트의 부족이 검출되었음)을 나타낸다. 따라서, 처리의 현재 상태를 나타내는 변수는 이 기준을 충족시키는 데 실패한 것을 나타내는 값으로 설정된다.
본 발명의 다양한 측면들의 이해를 용이하게 하기 위하여, 도 6에 도시된 예시적인 실시예는 "N 초과"와 "N 미초과" 사이의 상태 변경에 초점을 둔다. 그러나, 하나 이상의 액션이 이들 상태 변경 중 하나 또는 양자로부터 트리거되는 실시예들에서, 도 6에 도시된 실시예는 수정되어야 할 수도 있다는 것을 이해할 것이다. 구체적으로, 도 6에 도시된 실시예는 단계 "상태=N 초과"(단계 619)가 이 단계로의 최초 전이 후에 아무리 길어도 조건이 참인 동안 연속적으로 2번 이상 실행되는 것을 허용한다. 상태의 설정이 액션을 수행하기 위한 트리거인 경우, 액션은 바람직하지 않게 한번보다 많이 수행될 수도 있다. 따라서, 이러한 예상되는 동작 조건에서, 이것이 발생하는 것을 방지하기 위한 추가 로직을 추가하는 것이 바람직할 수 있다. 예를 들어, 단계 617 후에, 그러나 단계 619 전에, 상태가 이미 "N 초과"와 동일하게 설정되었는지를 판정하고, 그러한 경우에, 단계 619의 실행을 생략하기 위하여 추가 테스트를 추가할 수 있다. 하나 이상의 다른 실시예들에서, 상태가 실제로 변경된 때(예를 들어, "N 미초과"에서 "N 초과"로)를 액션 트리거링 로직(도시되지 않음)에게 알리기 위하여 플래그가 추가될 수 있으며, 이어서 이러한 변경의 표시는 원하는 액션을 취하기 위한 트리거로서 작용할 수 있다.
도 7a, 7a 및 7c는 본 발명에 따른 일 실시예의 다른 구현예를 함께 나타내는 흐름도들이다. 이 실시예에서는, 슬라이딩 타임 윈도우 내의 이벤트의 수가 N을 초과하는 것을 검출하기 위한 히스테리시스 타이머(Timer_event)가 포함되는 것으로 가정한다. 여기서는, 2개의 타이머가 사용되는데, 하나의 타이머(Timer_lack)는 슬라이딩 타임 윈도우 내에 발생한 이벤트의 수가 전술한 바와 같이 N을 초과한 것을 검출한 때 시동되고, 다른 타이머(Timer_event)는 현재 상태가 "N 미초과"이고 슬라이딩 타임 윈도우 내의 후속하는 이벤트의 수가 N을 초과하는 것이 검출되는 첫 번째 시간에 시동된다. 이러한 다른 실시예에서, (슬라이딩 윈도우 길이-DeltaTimeStamp)≥hyst_event인 경우에 Timer_event 타이머를 시동시키지 않음으로써 최적화할 수 있다. 이것은, 현재의 상태가 N 미초과이고, N번보다 많은 이벤트가 서로 매우 근접하여 발생하는 경우에, 슬라이딩 윈도우 길이가 hyst_event의 지속 시간보다 큰 경우에는, Timer_event 타이머를 시동시킬 어떠한 시점도 존재하는 않는다는 발명자의 관찰에 기초한다.
Timer_event 타이머가 Timer_lack 타이머에 앞서 타임아웃되는 경우, 히스테리시스 시간(hyst_event) 만큼 연장되는 슬라이딩 윈도우에 대응하는 기간 동안 이벤트의 수가 N을 초과하고 있었으며, 이어서 적절한 액션이 취해질 수 있다는 것이 공지되어 있다. Timer_lack 타이머가 Timer_event 타이머에 앞서 타임아웃되는 경우, 이것은 슬라이딩 윈도우 동안(히스테리시스가 여기서도 이용된 경우, 지속 시간 hyst_lack 만큼 연장됨) 충분한 수의 이벤트의 부족의 검출을 나타낸다.
먼저 도 7a를 참조하면, 예시적인 실시예는 이벤트의 발생으로부터 시작한다(단계 701). 이벤트(701)에 응답하여, 대응 타임스탬프가 결정되고 적절한 데이터베이스에 저장된다(단계 703). 이어서, 발생한 이벤트의 총 수가 소정의 임계치 N과 비교된다(판정 블록 705). 비교 기준이 충족되지 않는 경우(예를 들어, 이벤트의 총 수가 임계치 N보다 크지 않은 경우)(판정 블록 705로부터 "NO" 경로), 이 루틴 호출은 종료된다(단계 707).
그러나, 비교 기준이 충족되는 경우(판정 블록 705로부터 "YES" 경로), 값 DeltaTimeStamp가 가장 최근에 결정된 타임스탬프와 N번째 이전 이벤트의 타임스탬프 간의 차로서 결정된다(단계 709).
이어서, DeltaTimeStamp의 값은 슬라이딩 타임 윈도우의 길이와 비교된다(판정 블록 711). 비교 기준이 충족되는 경우(판정 블록 711로부터 "YES" 경로), 루틴은 Timer_event 타이머가 현재 실행되고 있는지를 판정하도록 계속된다(판정 블록 713). 그러한 경우(판정 블록 713으로부터 "YES" 경로), Timer_lack 타이머가 정지되고(단계 715), 처리는 단계 717로 계속된다. Timer_lack 타이머가 이미 실행되고 있지 않은 경우(판정 블록 713으로부터 "NO" 경로), 처리는 직접 단계 717로 계속된다. 단계들(713, 715)은 다소 교육적인 이유로, 즉 이미 실행되고 있는 타이머가 정지되어야 한다는 것을 명확히 지적하기 위하여 여기서 설명된다는 점에 유의하여야 한다. 그러나, 다른 실시예들에서 설계자는 판정 블록 713에 의해 예시되는 테스트를 생략하고 그 대신에, 타이머가 이미 정지한 경우에는 간단히 무시되는 "타이머 정지" 커맨드를 간단히 발행하는 것이 보다 편하다는 것을 알 수 있다는 것을 이해할 것이다. 이들 및 다른 균등적인 실시예들에서, 이들 단계의 목적은 타이머가 확실히 정지되게 하기 위한 것이며, 따라서 타이머는 새로운 초기화 값으로 재시동될 수 있게 된다. 타이머를 실제로 정표시키지 않고 새로운 초기 값이 로딩되는 것을 허용하는 타이머 로직이 이용되는 경우, 타이머가 확실히 정지되게 하는 단계는 어떠한 실제 액션도 포함하지 않는다.
단계 717에서, 타이머는 슬라이딩 타임 윈도우의 길이와 DeltaTimeStamp의 값 간의 차에 대응하는 값으로 (재)초기화된다. (재)초기화 후, 타이머는 시동된다. 도 6에 도시된 실시예와 달리, 처리의 현재 상태를 나타내는 변수는 슬라이딩 윈도우 내에 발생한 이벤트의 수가 표시된 기준을 충족하는 것을 나타내는 값(예를 들어, 임계치 N을 초과)으로 아직 설정되지 않는다. 그 이유는 원하는 히스테리시스를 포함시키기 위하여 다른 타이머(Timer_event)가 타임아웃 이벤트(단계 729)를 유발한 후에만 이것이 수행되기 때문이다(단계 729).
"N 미초과"로의 어떠한 중간 상태 변경도 없이 Timer_event 타이머가 연속적으로 여러 번 타임아웃되는 것을 피하는 것이 또한 바람직하다. 따라서, 단계 717의 수행에 이어서, 타임아웃 이벤트들이 상태가 적절한 히스테리시스 기간의 경과 없이 하나의 상태에서 다른 상태로 플립플롭하지 않도록 하는 것을 보장하기 위해 다수의 단계가 수행된다. 구체적으로, 본 명세서에서 "Timer_lack 상태"라고 하는 변수가 제1 값("A")과 동일하게 설정되는데, 이는 나중에 Timer_lack 타임아웃 이벤트의 이벤트에서 테스트될 수 있다.
이어서, 현재 상태가 테스트된다(판정 블록 721). 현재 상태가 "N 초과"인 경우, 이 루틴의 호출이 종료된다(단계 707). 여기서 그 이유는, 타이머의 타임아웃 이벤트가 검출하는 상태가 이미 검출되었으므로 Timer_event 타이머를 시동시킬 필요가 없기 때문이다.
그러나, 판정 블록 721에 의해 검출된 현재 상태가 "N 미초과"인 경우에는, 이어서 Timer_event 타이머가 이미 실행되고 있는지를 검출한다(판정 블록 723). 실행되고 있다면, 이 루틴의 호출은 종료된다(단계 707). 이것은, 이러한 로직을 통한 경로가 계속 취해지는 경우, Timer_event 타이머가 결국 타임아웃되는 것을 보장한다.
Timer_event 타이머가 이미 실행되고 있지 않은 경우(판정 블록 723으로부터 "NO" 경로), Timer_event 타이머는 원하는 히스테리시스 시간 간격(hyst_event)과 동일하도록 프로그래밍된 타임아웃 이벤트 간격으로 시동된다(단계 725). 이어서, 이 루틴의 호출은 종료된다(단계 707).
도 7a에 도시된 예시적인 로직은 타이머들 중 하나 또는 양자가 어떻게 초기화되고 시동되는지를 보여 준다. 다음 처리할 문제는 이들 중 하나가 타임아웃 이벤트를 유발할 때 발생하는 것이다. 먼저 도 7b를 참조하면, Timer_event 타이머가 타임아웃되는 경우(단계 727), 이것은 슬라이딩 타임 윈도우의 지속 시간 내에 발생해야 하는 이벤트의 수를 지정하는 기준이 충족되었음(즉, 타임 윈도우 내에 원하는 이벤트의 수가 검출되었음)을 의미한다. 따라서, 처리의 현재 상태를 나타내는 변수는 이 기준이 충족되었음을 나타내는 값으로 설정된다(단계 729). 이어서, 루틴이 종료된다(단계 731).
이와 달리, Timer_lack 타이머가 타임아웃 이벤트를 유발하는 경우(단계 733), 슬라이딩 타임 윈도우의 지속 시간 내에 발생해야 하는 이벤트의 수를 지정하는 기준이 더 이상 충족되지 않고(즉, 이벤트의 부족이 검출되었고), 적어도 관련된 히스테리시스 기간(hyst_lack) 동안 계속 참인지를 판정하기 위하여 추가 테스트가 수행되어야 한다. 따라서, Timer_event 타이머가 실행되고 있는지를 판정하기 위한 테스트가 수행된다(판정 블록 735). 실행되고 있는 경우(판정 블록 735로부터 "YES" 경로), Timer_event 타이머는, 그 상태가 "N 초과"로 잘못 변경되게 할 수 있는 자신의 타임아웃 이벤트를 후속 유발하는 것을 방지하기 위하여 정지된다(단계 737). 이어서, 상태는 "N 미초과"로 변경되며(단계 739), Timer_lack 타임아웃 이벤트 루틴이 종료된다(단계 747).
판정 블록 737로 복귀하면, Timer_event 타이머가 실행되고 있지 않은 것으로 판정된 경우(판정 블록 735로부터 "NO" 경로), 이 타임아웃 이벤트에 의해 어떤 상태가 표시되고 있는지를 더 판정하기 위하여 Timer_lack 상태 변수가 테스트된다(판정 블록 741). 즉, 이 실시예에서, Timer_lack 타이머는 2개의 변수 중 하나로 초기화된다. 도 7a에 도시된 "메인" 루틴에서 초기화가 최종 수행된 경우(단계 717 참조), 이것은 Timer_lack 상태 변수가 값 "A"로 설정되는 것에 의해 표시되며, 이 타임아웃 이벤트는 순간 상태(즉, 히스테리시스 기간 동안 기다림 없이)가 "N 미초과"임을 나타낸다. 이 경우(판정 블록 741로부터 "A" 경로), Timer_lack 타이머가 이번에는 관련된 히스테리시스 기간 hyst_lack 후 타임아웃되도록 재초기화된다(단계 743). Timer_lack 상태 변수도 이제 제2 값(예를 들어, "B")으로 설정되어(단계 745), 도 7a에 도시된 "메인" 루틴의 중간 실행 없이 발생하는 다음 번 Timer_lack 타임아웃 이벤트가 관련된 히스테리시스 기간 hyst_lack의 만료를 나타냄을 표시한다. 이어서, 타임아웃 루틴의 실행이 종료된다(단계 747).
이제, 판정 블록 741에서, Timer_lack 상태 변수가 "B"와 동일한 것으로 판정되는 경우, 이것은 N 미초과 상태가 적어도 히스테리시스 기간 동안 존재하였다는 것을 나타낸다는 것을 이해할 것이다. 따라서, 실행은 단계 739로 진행되며, 여기서 상태는 "N 미초과"와 동일하게 설정된다. 이어서, 타임아웃 루틴의 실행은 종료된다(단계 747).
도 7a, 7b 및 7c의 예시적인 실시예들을 구성하는 상세들은 본 발명의 한정으로서 간주되어서는 안 된다는 것을 이해해야 한다. 또한, 이 실시예에서 이용되는 동일한 원리로부터 많은 다른 실시예가 도출될 수 있다. 이들 원리는, 이벤트의 각 발생에 응답하여 가장 최근의 이벤트와 N번째 이전 이벤트 간의 시간 간격이 슬라이딩 윈도우의 지속 시간 내인지를 판정하고, 그러한 경우, 추가적인 이벤트가 발생하지 않는 경우에 N 초과 조건이 더 이상 충족되지 않고 있다는 것을 나타내는 시점에서 타임아웃되도록 초기화된 제1 타이머(예를 들어, Timer_lack 타이머)를 시동시키는 것을 포함한다.
또한, 제2 타이머(예를 들어, Timer_event)는, N 초과 조건의 충족을 검출하기 위한 원하는 히스테리시스 기간이 만료되었음을 나타내는 시점에서 타임아웃되도록 초기화된다.
2개의 타이머가 시동되면, 검출된 상태 변경은 두 타이머 중 어느 타이머가 먼저 타임아웃되는지에 기초한다. N 초과 조건이 계속 참인 한(즉, 이벤트들이 서로 짧은 충분한 간격 내에 발생하는 것을 유지함), 제1 타이머(예를 들어, Timer_lack 타이머)는 재초기화되며, 따라서 그 타임아웃이 방지된다. 따라서, 제2 타이머(예를 들어, Timer_event)가 먼저 만료된다. 그러나, N 초과 조건이 더 이상 참이 아니도록 이벤트들 간의 간격이 충분히 길어지는 경우, 제1 타이머(예를 들어, Timer_lack 타이머)가 먼저 만료된다. 이 타임아웃 이벤트의 결과로서 호출되는 Timer_lack 프로시저는 제2 타이머(예를 들어, Timer_event)를 정표시킬 수 있으며, 따라서 그 타임아웃이 발생하는 것을 방지할 수 있다. 제1 타이머의 두 번의 타임아웃 이벤트, 즉 "N 미초과" 조건이 참이 된 후에 발생하는 제1 타임아웃 이벤트 및 원하는 히스테리시스 기간 후 발생하는 제2 타임아웃 이벤트가 연속적으로(즉, 제2 타이머로부터의 어떠한 중간 타임아웃 이벤트도 없이) 발생하는 것을 요구함으로써 "N 미초과" 조건의 검출에 히스테리시스 시간 간격이 구축될 수 있다.
본 명세서에서 설명되는 다양한 실시예는 통상의 기술에 비해 많은 이점을 제공한다는 점이 명백하다. 예를 들어, 이벤트 조건이 충족되었는지를 검출하는 것이 목적인 프로그램이 통상의 솔루션에서 이용되는 것과 같이 빈번하게 작동되고 있을 필요가 없다. 결과적으로, 시그널링이 적어지며, 프로세스 스위치가 줄어들게 된다.
도 1-3에 도시된 예들의 조합을 이용한 모든 사례에서, 단 하나의 타이머 자원만이 필요하다. 이벤트 및 이벤트 부족을 검출하기 위한 히스테리시스 타이머가 필요한 가장 복잡한 시나리오(즉, 도 1-4에 도시된 예들의 조합)에서도, 최대 2개의 타이머 자원만이 필요하다.
더욱이, 다양한 실시예는 매우 짧은 반응 시간과 결합된 매우 높은 해상도를 제공한다.
본 발명은 특정 실시예들을 참조하여 설명되었다. 그러나, 전술한 실시예와 다른 특정 형태로 본 발명을 구현하는 것이 가능하다는 것은 당업자들이라면 잘 알 것이다. 전술한 실시예들은 단지 예시적인 것일 뿐, 어떠한 방법으로도 한정적인 것으로 간주되어서는 안 된다. 본 발명의 범주는 전술한 설명이 아니라 첨부된 청구범위에 의해 주어지며, 특허청구범위의 범주 내에 있는 모든 변형 및 균등물은 그 안에 포함되는 것으로 의도된다.

Claims (18)

  1. 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출하는 방법으로서,
    이벤트의 각 발생에 응답하여, 이벤트 검출 프로시저를 수행하는 단계를 포함하며,
    상기 이벤트 검출 프로시저는,
    타임스탬프와 상기 이벤트를 연관시키는 단계;
    상기 이벤트와 연관된 상기 타임스탬프와, N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결정하는 단계; 및
    DeltaTimeStamp와, 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값을 비교하고, 비교 기준이 충족되는 경우, 이벤트 검출 조건이 참임을 표시하는 단계를 포함하고,
    상기 이벤트 검출 조건은 상기 N번보다 많은 이벤트가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 발생한 것으로 정의되는 이벤트 발생 여부 검출 방법.
  2. 제1항에 있어서,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 타이머를 초기화하는 단계; 및
    상기 타이머를 시동시키는 단계를 포함하며,
    상기 타이머와 연관된 타임아웃 이벤트는 이벤트 부족 조건이 참임을 표시하는 단계를 포함하는 이벤트 부족 검출 프로시저를 호출하고, 상기 이벤트 부족 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의되는 이벤트 발생 여부 검출 방법.
  3. 제2항에 있어서,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 타이머를 초기화하는 단계는,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이를 결정하고, 상기 이벤트 부족 조건이 검출되기 전에 상기 이벤트 부족 조건이 존재하는 것이 허용되는 지속 시간을 나타내는 히스테리시스 값과 상기 차이를 결합하는 단계를 포함하는 이벤트 발생 여부 검출 방법.
  4. 제2항에 있어서,
    상기 타이머를 초기화하기 전에, 상기 타이머가 정지되도록 하는 단계를 포함하는 이벤트 발생 여부 검출 방법.
  5. 제2항에 있어서,
    상기 이벤트는 통신 장치에서의 데이터 블록 에러의 검출인 이벤트 발생 여 부 검출 방법.
  6. 제2항에 있어서,
    상기 이벤트는 셀룰러 통신 시스템에서의 셀의 재선택인 이벤트 발생 여부 검출 방법.
  7. 제6항에 있어서,
    상기 이벤트 검출 조건이 표시되는 것에 응답하여, 고 이동성 상태에서 사용자 단말기를 동작시키는 단계; 및
    상기 이벤트 부족 조건이 표시되는 것에 응답하여, 저 이동성 상태에서 상기 사용자 단말기를 동작시키는 단계를 포함하는 이벤트 발생 여부 검출 방법.
  8. 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출하는 방법으로서,
    이벤트의 각 발생에 응답하여, 이벤트 검출 프로시저를 수행하는 단계를 포함하며,
    상기 이벤트 검출 프로시저는,
    타임스탬프와 상기 이벤트를 연관시키는 단계;
    상기 이벤트와 연관된 상기 타임스탬프와, N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결정하는 단계;
    DeltaTimeStamp와, 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값을 비교하는 단계; 및
    비교 기준이 충족되는지를 결정하는 단계를 포함하고,
    비교 기준이 충족된다면,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 제1 타이머를 초기화하는 단계;
    상기 제1 타이머를 시동시키는 단계; 및
    최종 검출 상태가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번의 이벤트가 발생하지 않은 상태인지를 결정하는 단계를 수행하고,
    N번의 이벤트가 발생하지 않은 상태라면,
    hysteresis_event 값에 기초하여 제2 타이머를 초기화하는 단계; 및
    상기 제2 타이머를 시동시키는 단계를 수행하며,
    상기 제1 타이머와 연관된 타임아웃 이벤트는 이벤트 부족 조건이 검출되었음을 표시하는 단계를 포함하는 이벤트 부족 검출 프로시저를 호출하고, 상기 이벤트 부족 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의되고,
    상기 제2 타이머와 연관된 타임아웃 이벤트는 이벤트 검출 조건이 참임을 표시하는 단계를 포함하는 이벤트 검출 프로시저를 호출하고, 상기 이벤트 검출 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번보다 많은 이벤트가 발생한 것으로 정의되며,
    상기 hysteresis_event 값은 상기 이벤트 검출 조건이 검출되기 전에 상기 이벤트 검출 조건이 존재하는 것이 허용되는 지속 시간을 나타내는 이벤트 발생 여부 검출 방법.
  9. 제8항에 있어서,
    상기 이벤트 부족 검출 프로시저는,
    최종 검출 상태가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번의 이벤트가 발생한 상태인지를 결정하는 단계를 포함하고,
    N번의 이벤트가 발생한 상태라면, 상기 이벤트 부족 조건이 적어도 hyst_lack 시간 동안 존재하였는지를 결정하는 단계를 수행하고,
    적어도 hyst_lack 시간 동안 존재하였다면, 상기 이벤트 부족 조건이 검출되었음을 표시하는 단계를 수행하고,
    적어도 hyst_lack 시간 동안 존재하지 않았다면, 상기 hyst_lack 시간에 기초하여 상기 제1 타이머를 초기화하는 단계 및 상기 제1 타이머를 시동시키는 단계를 수행하는 이벤트 발생 여부 검출 방법.
  10. 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출하는 장치로서,
    이벤트 검출 프로시저를 수행함으로써 이벤트의 각 발생에 응답하는 로직을 포함하며,
    상기 이벤트 검출 프로시저는,
    타임스탬프와 상기 이벤트를 연관시키는 단계;
    상기 이벤트와 연관된 상기 타임스탬프와, N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결정하는 단계; 및
    DeltaTimeStamp와, 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값을 비교하고, 비교 기준이 충족되는 경우, 이벤트 검출 조건이 참임을 표시하는 단계를 포함하고,
    상기 이벤트 검출 조건은 상기 N번보다 많은 이벤트가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 발생한 것으로 정의되는 이벤트 발생 여부 검출 장치.
  11. 제10항에 있어서,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 타이머를 초기화하는 로직; 및
    상기 타이머를 시동시키는 로직을 포함하며,
    상기 타이머와 연관된 타임아웃 이벤트는 이벤트 부족 조건이 참임을 표시하는 로직을 포함한 이벤트 부족 검출 로직을 호출하고, 상기 이벤트 부족 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의되는 이벤트 발생 여부 검출 장치.
  12. 제11항에 있어서,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 상기 타이머를 초기화하는 로직은,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이를 결정하고, 상기 이벤트 부족 조건이 검출되기 전에 상기 이벤트 부족 조건이 존재하는 것이 허용되는 지속 시간을 나타내는 히스테리시스 값과 상기 차이를 결합하는 로직을 포함하는 이벤트 발생 여부 검출 장치.
  13. 제11항에 있어서,
    상기 타이머를 초기화하기 전에, 상기 타이머가 정지되도록 하는 로직을 포함하는 이벤트 발생 여부 검출 장치.
  14. 제11항에 있어서,
    상기 이벤트는 통신 장치에서의 데이터 블록 에러의 검출인 이벤트 발생 여부 검출 장치.
  15. 제11항에 있어서,
    상기 이벤트는 셀룰러 통신 시스템에서의 셀의 재선택인 이벤트 발생 여부 검출 장치.
  16. 제15항에 있어서,
    상기 이벤트 검출 조건이 표시되는 것에 응답하여, 고 이동성 상태에서 사용자 단말기를 동작시키는 로직; 및
    상기 이벤트 부족 조건이 표시되는 것에 응답하여, 저 이동성 상태에서 상기 사용자 단말기를 동작시키는 로직을 포함하는 이벤트 발생 여부 검출 장치.
  17. 슬라이딩 타임 윈도우에 의해 정의되는 지속 시간 내에 N번보다 많은 이벤트가 발생하였는지 여부를 검출하는 장치로서,
    이벤트 검출 프로시저를 수행함으로써 이벤트의 각 발생에 응답하는 로직을 포함하며,
    상기 이벤트 검출 프로시저는,
    타임스탬프와 상기 이벤트를 연관시키는 단계;
    상기 이벤트와 연관된 상기 타임스탬프와, N번째 이전 이벤트와 연관된 이전 타임스탬프 간의 차이에 기초하여 값, DeltaTimeStamp를 결정하는 단계;
    DeltaTimeStamp와, 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값을 비교하는 단계;
    비교 기준이 충족되는지를 결정하는 단계를 포함하고,
    비교 기준이 충족된다면,
    상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간을 나타내는 값과 DeltaTimeStamp 간의 차이에 기초하여 제1 타이머를 초기화하는 단계;
    상기 제1 타이머를 시동시키는 단계; 및
    최종 검출 상태가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번의 이벤트가 발생하지 않은 상태인지를 결정하는 단계를 수행하고,
    N번의 이벤트가 발생하지 않은 상태라면,
    hysteresis_event 값에 기초하여 제2 타이머를 초기화하는 단계; 및
    상기 제2 타이머를 시동시키는 단계를 수행하며,
    상기 제1 타이머와 연관된 타임아웃 이벤트는 이벤트 부족 조건이 검출되었음을 표시하는 단계를 포함하는 이벤트 부족 검출 프로시저를 호출하고, 상기 이벤트 부족 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번 이하의 이벤트가 발생한 것으로 정의되고,
    상기 제2 타이머와 연관된 타임아웃 이벤트는 이벤트 검출 조건이 참임을 표시하는 단계를 포함하는 이벤트 검출 프로시저를 호출하고, 상기 이벤트 검출 조건은 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번보다 많은 이벤트가 발생한 것으로 정의되며,
    상기 hysteresis_event 값은 상기 이벤트 검출 조건이 검출되기 전에 상기 이벤트 검출 조건이 존재하는 것이 허용되는 지속 시간을 나타내는 이벤트 발생 여부 검출 장치.
  18. 제17항에 있어서,
    상기 이벤트 부족 검출 프로시저는,
    최종 검출 상태가 상기 슬라이딩 타임 윈도우에 의해 정의되는 상기 지속 시간 내에 N번의 이벤트가 발생한 상태인지를 결정하는 단계를 포함하고,
    N번의 이벤트가 발생한 상태라면, 상기 이벤트 부족 조건이 적어도 hyst_lack 시간 동안 존재하였는지를 결정하는 단계를 수행하고,
    적어도 hyst_lack 시간 동안 존재하였다면, 상기 이벤트 부족 조건이 검출되었음을 표시하는 단계를 수행하고,
    적어도 hyst_lack 시간 동안 존재하지 않았다면, 상기 hyst_lack 시간에 기초하여 상기 제1 타이머를 초기화하는 단계 및 상기 제1 타이머를 시동시키는 단계를 수행하는 이벤트 발생 여부 검출 장치.
KR1020077007803A 2004-10-06 2005-10-05 고해상도 타이머-효율적인 슬라이딩 윈도우 KR101154789B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US61655904P 2004-10-06 2004-10-06
US60/616,559 2004-10-06
US11/222,009 US7403866B2 (en) 2004-10-06 2005-09-08 High-resolution, timer-efficient sliding window
US11/222,009 2005-09-08
PCT/EP2005/010868 WO2006037659A1 (en) 2004-10-06 2005-10-05 High-resolution timer-efficient sliding window

Publications (2)

Publication Number Publication Date
KR20070093961A KR20070093961A (ko) 2007-09-19
KR101154789B1 true KR101154789B1 (ko) 2012-06-18

Family

ID=35788162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077007803A KR101154789B1 (ko) 2004-10-06 2005-10-05 고해상도 타이머-효율적인 슬라이딩 윈도우

Country Status (5)

Country Link
US (1) US7403866B2 (ko)
EP (1) EP1806022B1 (ko)
KR (1) KR101154789B1 (ko)
CN (1) CN101036413B (ko)
WO (1) WO2006037659A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831214B (zh) 2006-10-05 2017-05-10 斯普兰克公司 时间序列搜索引擎
AU2012200053B2 (en) * 2007-03-08 2014-12-11 Interdigital Technology Corporation Balancing paging load and tracking area updates
RU2446630C2 (ru) 2007-03-08 2012-03-27 Интердиджитал Текнолоджи Корпорейшн Балансирование нагрузки по поисковым вызовам и обновления области отслеживания
US7965230B2 (en) * 2008-02-29 2011-06-21 Qualcomm Incorporated Satellite time determination for SPS receiver
US10102091B2 (en) 2008-06-04 2018-10-16 Oracle International Corporation System and method for supporting a testing framework for an event processing system using multiple input event streams
US10140196B2 (en) * 2008-06-04 2018-11-27 Oracle International Corporation System and method for configuring a sliding window for testing an event processing system based on a system time
JP5051056B2 (ja) * 2008-08-13 2012-10-17 富士通株式会社 通信システム
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US9767571B2 (en) * 2013-07-29 2017-09-19 Samsung Electronics Co., Ltd. Apparatus and method for analyzing image including event information
CN105988863B (zh) * 2015-02-11 2019-06-21 华为技术有限公司 一种处理事件的方法及装置
US9967265B1 (en) * 2015-09-29 2018-05-08 EMC IP Holding Company LLC Detecting malicious online activities using event stream processing over a graph database

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098195A (en) * 1998-04-03 2000-08-01 Pmc-Sierra Ltd. Multiple recent event age tracking method and apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4095045A (en) 1977-01-19 1978-06-13 General Datacomm Industries, Inc. Method and apparatus for signaling in a communication system
EP0020070B1 (en) 1979-05-25 1984-03-14 LUCAS INDUSTRIES public limited company Circuit for distinguishing specific pulse patterns in a pulse train
US5151591A (en) 1991-03-20 1992-09-29 Honeywell Inc. Asynchronous signal interrogation circuit for an detection apparatus
DE4213717A1 (de) 1992-04-25 1993-10-28 Asea Brown Boveri Verfahren zur Ermittlung eines Häufigkeits-Zeitprofils von Ereignissen sowie Vorrichtung zur Durchführung des Verfahrens
US6023453A (en) * 1997-09-11 2000-02-08 Nokia Telecommunications, Oy System and method employing last occurrence and sliding window technique for determining minimum and maximum values
US6370520B1 (en) * 1997-09-11 2002-04-09 Nokia Telecommunications Oy System and method employing last occurrence and sliding window technique for determining a minimum and maximum value
US5995836A (en) 1997-12-24 1999-11-30 Telefonaktiebolaget Lm Ericsson Method and system for variable handoff hysteresis in a radiocommunication system
JPH11289580A (ja) 1998-04-01 1999-10-19 Sharp Corp 無線電話装置
JP2003529810A (ja) * 1999-03-24 2003-10-07 ノキア ネットワークス オサケ ユキチュア 最後の発生とスライディング・ウィンドウ技術を用いる最小値及び最大値の決定システム及び方法
US6760391B1 (en) 1999-09-14 2004-07-06 Nortel Networks Limited Method and apparatus for line rate control in a digital communications system
US6687655B2 (en) * 2001-02-22 2004-02-03 Telefonaktiebolaget Lm Ericsson (Publ) Maintenance of sliding window aggregated state using combination of soft state and explicit release principles
GB2377038A (en) 2001-04-10 2002-12-31 I2 Ltd Method for identifying patterns in sequential event streams
US6697810B2 (en) * 2001-04-19 2004-02-24 Vigilance, Inc. Security system for event monitoring, detection and notification system
US6907426B2 (en) 2001-05-17 2005-06-14 International Business Machines Corporation Systems and methods for identifying and counting instances of temporal patterns

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098195A (en) * 1998-04-03 2000-08-01 Pmc-Sierra Ltd. Multiple recent event age tracking method and apparatus

Also Published As

Publication number Publication date
US20060085163A1 (en) 2006-04-20
CN101036413B (zh) 2010-05-12
WO2006037659A1 (en) 2006-04-13
CN101036413A (zh) 2007-09-12
KR20070093961A (ko) 2007-09-19
EP1806022B1 (en) 2015-12-23
EP1806022A1 (en) 2007-07-11
US7403866B2 (en) 2008-07-22

Similar Documents

Publication Publication Date Title
KR101154789B1 (ko) 고해상도 타이머-효율적인 슬라이딩 윈도우
US8145135B2 (en) Apparatus, method and computer program product providing automatically adjusted time periods used for event evaluation
WO2012122672A1 (en) Detection on resource leakage
US8228763B2 (en) Method and device for measuring time intervals
EP4195149A1 (en) Target detection and tracking method and apparatus, electronic device, and storage medium
US6008672A (en) Input signal reading circuit having a small delay and a high fidelity
US10474518B1 (en) Obtaining historical information in a device core dump
US7310751B2 (en) Timeout event trigger generation
CN103530195A (zh) 具有窗式看门狗的监测电路
CN113472879A (zh) 一种服务请求的方法、装置、计算机设备及存储介质
US20110188382A1 (en) Method for detecting hardware faults by determining a ratio of released connections
US8483234B2 (en) Monitoring resource congestion in a network processor
CN114003498A (zh) 软件异常检测方法、装置和电子设备
CN111309475B (zh) 一种检测任务执行方法及设备
CN114282463A (zh) 集成电路的寿命预测方法、装置及计算机可读存储介质
US20050001488A1 (en) Pulse duty deterioration detection circuit
CN110908792B (zh) 一种数据处理方法及装置
CN112015570A (zh) 消息提醒处理方法及装置
CN115470075B (zh) 应用程序故障的检测方法、装置、电子设备及存储介质
CN113220554B (zh) 检测程序代码的性能的方法和设备
US11232052B2 (en) Timing control method and system applied on the network simulator platform
CN115442244B (zh) 电力实时仿真中通信间隔的校准方法、装置及相关设备
CN116233155A (zh) 混合云数据同步方法、装置、电子设备及存储介质
CN117784883A (zh) Hrt定时器驱动的优化方法、装置和电子设备
CN117172164A (zh) 时序逻辑元件性能评估方法及设备

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160525

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180524

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190528

Year of fee payment: 8