KR100956723B1 - 캐싱된 날짜 구동형 값에 대한 날짜 범위 결정 - Google Patents

캐싱된 날짜 구동형 값에 대한 날짜 범위 결정 Download PDF

Info

Publication number
KR100956723B1
KR100956723B1 KR1020070020023A KR20070020023A KR100956723B1 KR 100956723 B1 KR100956723 B1 KR 100956723B1 KR 1020070020023 A KR1020070020023 A KR 1020070020023A KR 20070020023 A KR20070020023 A KR 20070020023A KR 100956723 B1 KR100956723 B1 KR 100956723B1
Authority
KR
South Korea
Prior art keywords
date
iteration
retrieving
instances
iterations
Prior art date
Application number
KR1020070020023A
Other languages
English (en)
Other versions
KR20070098501A (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 KR20070098501A publication Critical patent/KR20070098501A/ko
Application granted granted Critical
Publication of KR100956723B1 publication Critical patent/KR100956723B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 실시예들은 반복하는 날짜 구동 데이터의 필터링 및 캐싱에 대한 기술의 결함들을 처리하며, 캐싱된 날짜 구동형 데이터들에 대한 날짜 범위 결정을 위한 방법, 시스템 및 컴퓨터 판독 가능 저장 매체를 제공한다. 본 발명의 일실시예에서, 날짜 구동형 데이터에서 반복들을 위한 날짜 구동형 데이터를 선택적으로 검색하는 방법은 날짜 범위를 정의하는 단계; 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계; 상기 각 반복을 위한 상기 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하는 단계; 상기 선택된 반복들을 상기 날짜 구동형 값들의 서브세트에 추가하고, 상기 서브세트로부터 나머지 반복들을 제외시키는 단계를 포함할 수 있다.
날짜 구동 데이터, 반복, 인스턴스, 날짜 범위

Description

캐싱된 날짜 구동형 값에 대한 날짜 범위 결정{DATE RANGE DETERMINATION FOR CACHED DATE DRIVEN VALUES}
도 1은 통신 매체를 통해, 캐싱된 날짜 구동형 값을 클라이언트 컴퓨팅 디바이스들에 동기화시키도록 구성된 클라이언트-서버 데이터 처리 시스템의 개략도이다.
도 2는 도 1의 시스템에서 캐싱을 위해, 필터링된 서브세트의 날짜 구동형 값들을 발생하는 프로세스를 예시한 흐름도이다.
본 발명은 날짜 관련 이벤트 관리에 관한 것으로, 특히 반복(recurring) 이벤트 관리에 관한 것이다.
날짜 관리는 발생 날짜, 시간, 또는 둘 다에 따른 이벤트들의 스케줄링을 말한다. 캘린더링 시스템들 및 개인 정보 관리기들에서 종종 논의되는 날짜 관리는, 캘린더링 시스템 이상으로 확장되어, 일반적으로 이벤트들 또는 작업들이 특별한 날짜 또는 시간에 일어나도록 이벤트들 또는 작업들을 스케줄링하는 스케줄링 시스 템을 포함한다. 이벤트 관리 로직은 최소한 특별한 날짜 또는 시간에 일어나도록 스케줄링된 이벤트들 또는 작업들의 시퀀스에 대한 뷰(view)를 포함할 수 있다. 일반적으로, 이벤트 또는 작업은 이벤트 또는 작업의 텍스트 설명과 연관될 수 있다. 보다 진보된 구현들에서는 스케줄링된 이벤트가 특별한 연락, 특별한 계획 또는 둘 다에 연관될 수 있다.
여러 가지 소프트웨어 제품들은 캘린더링 및 스케줄링(C&S)에 대한 지원을 포함한다. 알려진 C&S 제품으로는 로터스 노트(Lotus Notes), 마이크로소프트 아웃룩, 및 야후! 캘린더(Yahoo! Calendar)와 같은 웹 기반 제품들을 들 수 있다. 이들 제품은 약속들이나 기념일들을 포함한 개인 이벤트들을 관리할 수 있도록 한다. 일반적으로, C&S 제품은 또한 일반적으로 모임이라고 하는 공유된 이벤트들을 관리할 수 있도록 한다. 특히, 많은 C&S 제품들뿐만 아니라 다른 날짜 관리 시스템들은 반복되는 이벤트들의 개념을 포함한다. 일반적으로, 반복되는 이벤트들의 생성은 간단하다. 사용자 인터페이스는 반복되는 시리즈의 제 1 인스턴스를 정의할 수 있도록 하고 상기 시리즈를 반복하는 방법을 지정할 수 있도록 한다. 반복되는 시리즈의 정의는 종종 “반복 규칙(recurrence rule)”이라고 한다.
특히, 날짜 관리 시스템의 중요한 특징은 최종 사용자가 각 반복 날짜에 이벤트를 개별적으로 설정할 필요없이 반복되는 이벤트를 스케줄링하는 능력을 포함한다. 예컨대, 여러 달에 걸쳐서 특별한 시간에 매주 모임이 있는 경우, 최종 사용자는 여러 달에 걸쳐서 특별한 시간에 매주 이벤트가 반복되도록 스케줄링할 수 있다. 또한, 날짜 관리 시스템은 반복 패턴에 기초하여 자동으로 각 이벤트를 스 케줄링할 수 있다. 최종 사용자는 이어서 반복 이벤트들 중 어느 하나를 수정할 수 있고, 또는 날짜 관리 시스템이 한 번의 수정을 모든 반복되는 이벤트들에 자동으로 가할 수 있는 점에 응답하여 모든 반복 이벤트에 한 번의 수정을 가할 수 있어 유리하다.
날짜 관리 시스템이 기업에 배치될 때에는, 날짜 관리 시스템은 기본 날짜 관리와 기업체의 기능과의 연동을 필요로 할 수 있다. 서로 다른 클라이언트 컴퓨팅 디바이스들에서 날짜 구동형 데이터 동기화는 기업의 기능의 중요한 측면이다. 많은 경우에서, 기업 내에서 동기화된 데이터는 날짜별로 필터링된 데이터 서브세트(data subset)에 한정될 수 있다. 필터가 복잡하거나 데이터 세트가 큰 경우에는, 서브세트의 계산이 복잡해질 수 있고 자원을 소비할 수 있다. 아울러, 반복 규칙을 따른 날짜 구동형 데이터가 동기화를 복잡하게 만들 수 있다. 동기화 프로세스를 가속시키기 위해, 필터에 의해 구동되는 상기 계산된 서브세트의 날짜 구동형 데이터는 나중에 사용하기 위해 종종 캐싱될 수 있다. 그러나, 반복 규칙을 따르는 날짜 구동형 데이터의 캐싱을 관리하는 것은 문제를 훨씬 더 복잡하게 만들 수 있다.
본 발명의 실시예들은 반복되는 날짜 구동 데이터의 필터링 및 캐싱에 대한 기술의 결함들을 처리하며, 캐싱된 날짜 구동형 데이터들에 대한 날짜 범위 결정을 위한 새롭고 자명하지 않은 방법, 시스템 및 컴퓨터 판독 가능 저장 매체를 제공한다. 본 발명의 일실시예에서, 날짜 구동형 데이터에서 반복들을 위한 날짜 구동형 데이터를 선택적으로 검색하는 방법은 날짜 범위를 정의하는 단계; 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계; 상기 각 반복을 위한 상기 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하는 단계; 상기 선택된 반복들을 상기 날짜 구동형 값들의 서브세트에 추가하고, 상기 서브세트로부터 나머지 반복들을 제외시키는 단계를 포함할 수 있다.
상기 날짜 범위를 정의하는 단계는 최초 시점(LW)과 최후 시점(RW)에 의해 제한되도록 날짜 범위를 정의하는 단계를 포함할 수 있다. 이로써, 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는, 상기 날짜 범위 내의 지정된 시점 이전에 일어나는 반복의 제 1 캐싱된 인스턴스(V1), 상기 지정된 시점 이후에 일어나는 상기 반복의 제 1 인스턴스(V2), 및 상기 반복의 최종 인스턴스(V3)를 검색하는 단계를 포함할 수 있다. 상기 각 반복을 위한 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하는 단계는, 상기 날짜 범위의 LW보다 늦은 V2를 가진 반복들을 선택하는 단계; 상기 날짜 범위의 LW보다 늦고 상기 날짜 범위의 RW보다 빠른 V3를 가진 반복들을 선택하는 단계; 및 다른 모든 반복들의 선택을 전체 평가로 미루는 단계를 포함할 수 있다.
특히, 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는, 상기 지정된 시점 이후에 일어나는 반복의 제 1 인 스턴스가 상기 반복의 최종 인스턴스인 특수 상황을 식별하는 단계; 및 상기 반복의 최종 3개의 인스턴스들을 검색하는 단계를 포함할 수 있다. 유사하게, 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는, 상기 지정된 시점 이전에 일어나는 반복의 제 1 인스턴스가 상기 반복의 최종 인스턴스인 특수 상황을 식별하는 단계; 및 상기 반복의 최종 3개의 인스턴스들을 검색하는 단계를 포함할 수 있다. 또한, 상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는, 상기 반복의 제 1 인스턴스가 상기 지정된 시점 이후에 일어나는 특수 상황을 식별하는 단계; 및 상기 반복의 최초 2개의 인스턴스들 및 최종 인스턴스를 검색하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에서, 날짜 구동형 데이터 관리를 위해 데이터 처리 시스템이 구성될 수 있다. 데이터 처리 시스템은 데이터 구동형 값들의 데이터 기억부, 및 상기 데이터 기억부 내의 상기 데이터 구동형 값들 중에서 각 반복을 위한 정확하게 3개의 인스턴스들을 포함하는 반복 인스턴스 캐시를 포함할 수 있다. 예컨대, 상기 날짜 구동형 값들은 이벤트들, 작업들, 전자 메일, 인벤토리(inventory)와 같은 시간/날짜 민감형 인스턴스들을 포함할 수 있다. 마지막으로, 상기 시스템은 날짜 범위 결정 로직을 포함할 수 있다. 상기 로직은 상기 캐시 내의 각 반복의 3개의 인스턴스들만을 이용하여 설정 날짜 범위를 충족시키기 위해 필터링된 서브세트의 날짜 반복들을 필터링하도록 인에이블되는 프로그램 코드를 포함할 수 있다.
본 발명의 추가적인 양태들은 일부는 후술하는 상세한 설명에서 설명될 것이고 일부는 상기 상세한 설명으로부터 자명할 것이며, 또는 본 발명의 실시에 의해 학습될 수 있다. 본 발명의 양태들은 특히 첨부된 청구의 범위에 기재된 요소들 및 조합들에 의해 실현될 것이다. 상기한 일반적인 설명 및 후술되는 상세한 설명은 예시 및 설명만을 위한 것으로 청구되는 본 발명을 한정하기 위한 것이 아니다.
본 명세서에 포함되고 본 명세서의 일부를 구성하는 첨부 도면은 본 발명의 실시예들을 예시하며, 상세한 설명과 함께 본 발명의 원리들을 설명하는 역할을 한다. 현재는 여기서 설명된 실시예들이 바람직하나, 본 발명은 도시된 정확한 구성들 및 수단들에 한정되지 않음은 이해될 것이다.
본 발명의 실시예들은 캐싱된 날짜 구동형 값들의 날짜 범위 결정을 위한 방법, 시스템 및 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체를 제공한다. 본 발명의 일실시예에 따라, 3개의 날짜 구동형 값들이 각각의 반복을 위해 캐싱될 수 있다. 상기 3개의 날짜 구동형 값들은 지정된 시간 또는 날짜 이전에 일어나는 반복의 제 1 인스턴스, 상기 지정된 시간 또는 날짜 이후에 일어나는 반복의 제 1 인스턴스, 및 상기 반복의 최종 인스턴스를 포함할 수 있다. 다음에, 단지 전체적인 반복을 날짜 구동형 값들의 한 서브세트에 포함시킬 지의 여부 또는 반복의 전체 평가가 요구되는지를 결정하기 위해서 필터를 상기 3개의 캐싱된 값들에 적용할 수 있다.
특히, 날짜 범위 결정은 통신 매체를 통해 클라이언트 컴퓨팅 디바이스들에 서브세트를 동기화하는데 적용될 수 있다. 다른 예에서, 도 1은 통신 매체를 통해, 캐싱된 날짜 구동형 값들을 클라이언트 컴퓨팅 디바이스들에 동기화시키도록 구성된 클라이언트-서버 데이터 처리 시스템의 개략도이다. 도 1에 도시된 바와 같이, 데이터 처리 시스템은 직접적인 직렬 링크(무선 또는 유선 영역)에서부터 글로벌 인터넷과 같은 데이터 통신망까지 배치될 수 있는 통신 매체(130)를 통해 하나 이상의 클라이언트 컴퓨팅 디바이스들(110)에 연결된 호스트 컴퓨팅 플랫폼(120)을 포함할 수 있다.
호스트 컴퓨팅 플랫폼(120)은 날짜 구동형 데이터(160)에 대해 동작할 수 있는 애플리케이션(140)의 서버부의 동작을 지원할 수 있다. 또한, 클라이언트 컴퓨팅 디바이스들(110)의 각각은 애플리케이션(140)의 클라이언트부(180)의 동작을 지원할 수 있다. 이 때문에, 통신 매체(130)를 통한 애플리케이션(140)의 클라이언트부(180)에 날짜 구동형 데이터(160)의 필터링된 서브세트를 동기화시키는 동작을 관리하기 위해 호스트 컴퓨팅 플랫폼(120)과 애플리케이션(140)의 서버부에 동기화 엔진(150)이 연결될 수 있다.
날짜 범위 결정 로직(200)이 동기화 엔진(150)과 호스트 컴퓨팅 플랫폼(120)에 연결될 수 있다는 것이 중요하다. 날짜 범위 결정 로직(200)은 지정된 날짜 범위를 충족하도록 요구된 반복들을 필터링하기 위해 날짜 구동형 데이터(160) 중에 각 반복을 처리하도록 인에이블링되는 컴퓨터 프로그램 코드를 포함할 수 있다. 필터링 프로세스를 용이하게 하기 위해, 각 반복을 위한 3개의 값들이 캐시(170)에 배치될 수 있고, 이 값들은 동기화를 위해 날짜 구동형 데이터(160)를 적절히 필터링하는데 이용될 수 있다.
각 반복을 위한 캐시(170) 내의 캐싱된 값들은 지정된 시간 또는 날짜(예컨 대, 다음의 현재시간 또는 날짜) 이전에 일어나는 반복의 제 1 인스턴스(V1), 상기 지정된 시간 또는 날짜 이후에 일어나는 반복의 제 1 인스턴스(V2), 및 반복의 최종 인스턴스(V3)를 포함할 수 있다. 지정된 시간 이후에 일어나는 반복의 제 1 인스턴스가 반복의 최종 인스턴스인 특수한 상황에서, 반복의 최종 3개의 인스턴스들이 캐싱될 수 있다. 마찬가지로, 지정된 시간 이전에 일어나는 반복의 제 1 인스턴스가 반복의 최종 인스턴스인 특수한 상황에서는, 반복의 최종 3개의 인스턴스들이 캐싱될 수 있다. 마지막으로, 반복의 제 1 인스턴스가 지정된 시간 이후에 일어나는 다른 특수한 상황에서는, 반복의 최초의 두 인스턴스 및 최종 인스턴스가 캐싱될 수 있다.
다음에, 단지 전체적인 반복을 날짜 구동형 값들의 서브세트에 포함시킬 지의 여부 또는 반복의 전체 평가가 요구되는지를 결정하기 위해서 필터가 상기 3개의 캐싱된 값들에 적용될 수 있다. 3개의 캐싱된 값들만을 이용하여, 안전하게 무시될 수 있는 반복들이 처리 오버헤드를 초래하지 않고 필터링될 수 있으며, 반면에 작은 그룹의 반복들만이 필터 하에서 전체적인 평가를 필요로 할 수 있다. 따라서, 동기화 프로세스에서 자원들을 절약할 수 있다.
날짜 범위 결정 로직의 동작의 또 다른 예에서, 도 2는 도 1의 시스템에서 캐싱되는, 필터링된 서브세트의 날짜 구동형 값들을 발생하는 프로세스를 예시한 흐름도이다. 블록 210에서 시작하면, 날짜 범위는 최초 시점(LW)과 최후 시점(RW)에 의해 제한되도록 정의될 수 있다. 블록 220에서, 날짜 구동형 데이터 중에서 모든 반복들에 대한 3개의 캐싱된 값들(V1, V2, V3)이 선택될 수 있으며, 여기서 V3는 LW보다 늦고, V1은 RW보다 빠르며, 그리고 V1은 LW보다 늦거나 V2가 RW보다 빠르다. 그 후, 블록 230에서, 처리를 위해, 선택시 제 1 반복이 선택될 수 있다.
판단 블록 240에서, 선택된 반복에 대해 V2가 LW 이전에 일어나지 않는 것으로 결정되면, 상기 선택된 반복은 블록 250에서 날짜 구동형 데이터의 서브세트에 추가될 수 있다. 그렇지 않고, 블록 260에서, V3가 LW와 RW 사이에 속하면, 상기 선택된 반복은 블록 250에서 날짜 구동형 데이터의 서브세트에 추가될 수 있다. 그렇지 않으면, 상기 선택된 반복은 블록 270에서 완전 평가를 위해 플래그(flag)될 수 있다. 판단 블록 280에서, 상기 선택된 반복이 상기 서브세트에 추가된 것으로 결정되면, 블록 250에서, 상기 선택된 반복은 날짜 구동형 데이터의 서브세트에 추가될 수 있다. 그렇지 않으면, 상기 선택된 반복은 블록 290에서 날짜 구동형 데이터의 서브세트로부터 제외된다.
그 후, 판단 블록 300에서, 평가될 추가적인 반복들이 남아 있는 경우, 블록 310에서 다음 반복이 처리를 위해 선택될 수 있고, 상기 방법은 블록 240을 통해 반복할 수 있다. 판독 블록 300에서 상기 캐시에 처리될 다른 반복들이 남아있지 않을 때, 블록 320에서, 필터링된 서브세트가 처리를 위해 제공될 수 있다. 일예로서, 동기화 엔진은 이벤트, 소동(to-do), 인벤토리 노후화(inventory aging), 및 일반적으로 날짜 구동되는 다른 타입의 값과 같은 날짜 구동형 데이터의 동기화를 수행할 때 상기 필터링된 서브세트를 이용할 수 있다.
본 발명의 실시예들은 전적으로 하드웨어적인 실시예, 전적으로 소프트웨어적인 실시예, 또는 하드웨어 요소 및 소프트웨어 요소를 포함하는 실시예의 형태를 취할 수 있다. 바람직한 실시예에서, 본 발명은 소프트웨어로 구현되며, 소프트웨어는 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함하나 이에 한정되지 않는다. 또한, 본 발명은 컴퓨터 또는 명령 실행 시스템에 의해 또는 이와 관련하여 사용되는 프로그램 코드를 제공하는, 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 저장 매체의 형태를 취할 수 있다.
이 설명을 위해, 컴퓨터 사용가능 또는 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 관련하여 사용되는 프로그램을 포함, 저장, 전달, 전파(propagate), 또는 전송할 수 있는 장치일 수 있다. 상기 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템(또는 장치 또는 디바이스) 또는 전파(propagation) 매체일 수 있다. 컴퓨터 판독가능 매체의 예로는 반도체 메모리 또는 고체 상태 메모리, 자기 테이프, 제거가능 컴퓨터 디스켓, RAM(random access memory), ROM(read-only memory), 리지드(rigid) 자기 디스크 및 광학 디스크를 들 수 있다. 광학 디스크의 현재 예로는 CD-ROM(compact disk-read only memory), CD-R/W(compact disk-read/write), 및 DVD를 들 수 있다.
프로그램 코드를 저장 및/또는 실행하는데 적합한 데이터 처리 시스템은 시스템 버스를 통해 메모리 소자들에 직접 또는 간접적으로 연결되는 적어도 하나의 프로세서를 포함할 것이다. 메모리 소자들은 프로그램 코드의 실제 실행 동안에 사용되는 로컬 메모리, 벌크 기억 장치, 및 실행 동안에 벌크 기억 장치로부터 코드가 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부의 프로그램 코드의 임시 기억 장치를 제공하는 캐시 메모리를 포함할 수 있다. 입/출력 장치들, 즉 I/O 장치들(키보드, 디스플레이, 포인팅 장치 등을 포함하나 이에 한정되지 않음)은 직접, 또는 개입된 I/O 제어기를 통해 시스템에 연결될 수 있다. 개입된 전용망 또는 공중망을 통해 다른 데이터 처리 시스템 또는 원격 프린터 또는 기억 디바이스에 데이터 처리 시스템이 연결되도록 상기 시스템에는 망 어댑터들이 연결될 수도 있다. 모뎀, 케이블 모뎀 및 이더넷 카드들은 현재 이용 가능한 타입의 망 어댑터들 중 일부에 불과하다.
본 발명은 반복되는 날짜 구동 데이터의 필터링 및 캐싱에 대한 기술의 결함들을 처리하며, 캐싱된 날짜 구동형 데이터들에 대한 날짜 범위 결정을 위한 새롭고 자명하지 않은 방법, 시스템 및 컴퓨터 판독 가능 저장 매체를 제공한다.

Claims (10)

  1. 날짜 구동형 데이터에서 반복들(recurrences)을 위한 날짜 구동형 데이터를 선택적으로 검색하는 방법에 있어서,
    날짜 범위를 정의하는 단계;
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계;
    상기 각 반복을 위한 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하는 단계;
    상기 선택된 반복들을 상기 날짜 구동형 값들의 서브세트에 추가하고, 상기 서브세트로부터 나머지 반복들을 제외시키는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  2. 제 1 항에 있어서,
    상기 날짜 범위를 정의하는 단계는 최초 시점(LW)과 최후 시점(RW)에 의해 제한되도록 날짜 범위를 정의하는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  3. 제 2 항에 있어서,
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴 스들을 검색하는 단계는,
    상기 날짜 범위 내의 지정된 시점 이전에 일어나는 반복의 제 1 캐싱된 인스턴스(V1)를 검색하는 단계;
    상기 지정된 시점 이후에 일어나는 상기 반복의 제 1 인스턴스(V2)를 검색하는 단계; 및
    상기 반복의 최종 인스턴스(V3)를 검색하는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  4. 제 3 항에 있어서,
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는,
    상기 지정된 시점 이후에 일어나는 반복의 제 1 인스턴스가 상기 반복의 최종 인스턴스인 특수 상황을 식별하는 단계; 및
    상기 반복의 최종 3개의 인스턴스들을 검색하는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  5. 제 3 항에 있어서,
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는,
    상기 지정된 시점 이전에 일어나는 반복의 제 1 인스턴스가 상기 반복의 최 종 인스턴스인 특수 상황을 식별하는 단계; 및
    상기 반복의 최종 3개의 인스턴스들을 검색하는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  6. 제 3 항에 있어서,
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하는 단계는,
    상기 반복의 제 1 인스턴스가 상기 지정된 시점 이후에 일어나는 특수 상황을 식별하는 단계; 및
    상기 반복의 최초 2개의 인스턴스들 및 최종 인스턴스를 검색하는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  7. 제 3 항에 있어서,
    상기 각 반복을 위한 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하는 단계는,
    LW보다 늦은 V3, RW보다 빠른 V1, 및 LW보다 늦은 V1 또는 RW보다 빠른 V2를 가진 반복들의 그룹만을 평가하는 단계;
    상기 날짜 범위의 LW보다 늦은 V2를 가진 반복들을 상기 그룹으로부터 선택하는 단계;
    상기 날짜 범위의 LW보다 늦고 상기 날짜 범위의 RW보다 빠른 V3를 가진 반 복들을 상기 그룹으로부터 선택하는 단계; 및
    상기 그룹으로부터의 다른 모든 반복들의 선택을 완전 평가로 미루는 단계를 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  8. 제 1 항에 있어서,
    적어도 하나의 통신가능하게 연결된 클라이언트 컴퓨팅 디바이스와의 상기 서브세트의 동기화를 수행하는 단계를 더 포함하는 날짜 구동형 데이터 선택적 검색 방법.
  9. 날짜 구동형 데이터 관리를 위해 구성된 데이터 처리 시스템에 있어서,
    데이터 구동형 값들의 데이터 기억부;
    상기 데이터 기억부 내의 상기 데이터 구동형 값들 중에서 각 반복을 위한 정확하게 3개의 인스턴스들을 포함하는 반복 인스턴스 캐시; 및
    상기 캐시 내의 각 반복의 3개의 인스턴스들만을 이용하여 설정 날짜 범위를 충족시키기 위해 필터링된 서브세트의 날짜 반복들을 필터링하도록 인에이블되는 프로그램 코드를 포함하는 날짜 범위 결정 로직을 구비하는 데이터 처리 시스템.
  10. 날짜 구동형 데이터에서 반복을 위한 날짜 구동형 데이터를 선택적으로 검색하기 위한 컴퓨터 사용가능 프로그램 코드를 포함하는 컴퓨터 판독 가능 저장 매체에 있어서,
    날짜 범위를 정의하는 컴퓨터 사용가능 프로그램 코드;
    상기 날짜 구동형 데이터에서 각 반복을 위해 정확하게 3개의 캐싱된 인스턴스들을 검색하기 위한 컴퓨터 사용가능 프로그램 코드;
    상기 각 반복을 위한 3개의 캐싱된 인스턴스들에 따라 상기 날짜 범위 내에 속하는 반복들만을 선택하기 위한 컴퓨터 사용가능 프로그램 코드; 및
    상기 선택된 반복들을 상기 날짜 구동형 값들의 서브 세트에 추가하거나 상기 서브세트로부터 나머지 반복들을 제외시키기 위한 컴퓨터 사용가능 프로그램 코드를 포함하는 컴퓨터 판독 가능 저장 매체.
KR1020070020023A 2006-03-29 2007-02-28 캐싱된 날짜 구동형 값에 대한 날짜 범위 결정 KR100956723B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/392,137 2006-03-29
US11/392,137 US20070230283A1 (en) 2006-03-29 2006-03-29 Date range determination for cached date driven values

Publications (2)

Publication Number Publication Date
KR20070098501A KR20070098501A (ko) 2007-10-05
KR100956723B1 true KR100956723B1 (ko) 2010-05-06

Family

ID=38558699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070020023A KR100956723B1 (ko) 2006-03-29 2007-02-28 캐싱된 날짜 구동형 값에 대한 날짜 범위 결정

Country Status (3)

Country Link
US (1) US20070230283A1 (ko)
KR (1) KR100956723B1 (ko)
CN (1) CN101046864B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593409A (zh) * 2013-10-22 2014-02-19 深圳市康拓普信息技术有限公司 实时数据库检索方法及检索系统
US9886390B2 (en) * 2015-11-10 2018-02-06 International Business Machines Corporation Intelligent caching of responses in a cognitive system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010054520A (ko) * 1999-12-07 2001-07-02 윤종용 휴대용 정보 단말기에서 스케줄 입력 및 검색 방법
KR20020068149A (ko) * 2001-02-20 2002-08-27 주식회사 윌서치 멀티미디어 콘텐츠의 상영정보 제어시스템 및 그 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2993A (en) * 1843-03-10 lindley
US5893073A (en) * 1995-02-27 1999-04-06 Sun Microsystems, Inc. Method and apparatus for representing recurring events
US6141664A (en) * 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
US5943676A (en) * 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor
US7016909B2 (en) * 2002-06-04 2006-03-21 Microsoft Corporation Method and system for expansion of recurring calendar events
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US7519924B2 (en) * 2004-11-03 2009-04-14 Research In Motion Limited Handheld electronic device including appointment and meeting conflict notification, and associated method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010054520A (ko) * 1999-12-07 2001-07-02 윤종용 휴대용 정보 단말기에서 스케줄 입력 및 검색 방법
KR20020068149A (ko) * 2001-02-20 2002-08-27 주식회사 윌서치 멀티미디어 콘텐츠의 상영정보 제어시스템 및 그 방법

Also Published As

Publication number Publication date
CN101046864B (zh) 2012-11-21
KR20070098501A (ko) 2007-10-05
US20070230283A1 (en) 2007-10-04
CN101046864A (zh) 2007-10-03

Similar Documents

Publication Publication Date Title
US8850330B2 (en) Editing repeating calendar events
Van Der Aalst Business process simulation survival guide
AU2005227416B2 (en) Calendar rule definition, ranking, and expansion
US6948171B2 (en) Apparatus, system and method for active scheduling of time based event-driven long running processes
US9009708B2 (en) Method and system to effectuate recovery for dynamic workflows
Jeffries What is extreme programming
US8635618B2 (en) Method and system to identify conflicts in scheduling data center changes to assets utilizing task type plugin with conflict detection logic corresponding to the change request
US20150128143A1 (en) Realizing jumps in an executing process instance
CN100458705C (zh) 使用动态确定的前端作业群调度计算机作业的方法和系统
US20090113435A1 (en) Integrated backup with calendar
US20090106729A1 (en) Device, Method and Computer Program Product for Managing a Software Development Process
CN110134689B (zh) 基于主体对象标签变化的目标群体筛选方法、系统及计算机设备
US20070112881A1 (en) Meeting invitation and group distribution list synchronization
KR100956723B1 (ko) 캐싱된 날짜 구동형 값에 대한 날짜 범위 결정
US10204323B1 (en) Maintenance of a fleet of aircraft
US11049048B2 (en) Managing reusable business process modeling (BPM) assets
US8417489B2 (en) Duration estimation of repeated directed graph traversal
Grolleau et al. Off-line computation of real-time schedules using petri nets
US20080056228A1 (en) Application, method and process for managing part exchangeability across functional boundaries
US10755235B2 (en) Meeting time constraint for a sequence of meetings of a task in a calendaring and scheduling system
EP3506094A1 (fr) Procédé et système pour l'optimisation de l'ordonnancement de traitements par lot
De la Fuente et al. Discrete Events Simulation
Chipidza et al. All Together Now: A Framework for Research on Mob Programming
Garrido et al. Teaching object-oriented simulation with psimj simulation package
CA3149522A1 (en) Prospective fault adaptation for project management

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee