KR20040105582A - 자동 태스크 생성 방법 및 시스템 - Google Patents

자동 태스크 생성 방법 및 시스템 Download PDF

Info

Publication number
KR20040105582A
KR20040105582A KR1020040041101A KR20040041101A KR20040105582A KR 20040105582 A KR20040105582 A KR 20040105582A KR 1020040041101 A KR1020040041101 A KR 1020040041101A KR 20040041101 A KR20040041101 A KR 20040041101A KR 20040105582 A KR20040105582 A KR 20040105582A
Authority
KR
South Korea
Prior art keywords
task
event
rule
database
database management
Prior art date
Application number
KR1020040041101A
Other languages
English (en)
Other versions
KR101099152B1 (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 KR20040105582A publication Critical patent/KR20040105582A/ko
Application granted granted Critical
Publication of KR101099152B1 publication Critical patent/KR101099152B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries

Abstract

자동 태스크 생성 메카니즘은 컴퓨터 시스템을 위한 유지 태스크 등의 태스크 생성을 제공한다. 태스크 세트는 태스크를 수행하기 위한 규칙에 따라 셋업된다. 규칙은 태스크가 태스크에 매핑되도록 하는 메타데이터와 관련될 수 있다. 코맨드의 생성, 수정, 삭제 또는 추가 등의 데이터베이스 동작에 관련된 이벤트가 검출될 수 있다. 시스템에 의해 이벤트가 검출되면, 시스템은 이벤트와 관련 메타데이터를 저장할 수 있다. 또다른 프로세스는 이벤트 및 메타데이터 저장장치를 조회하고 이들 항목을 이전에 셋업한 규칙과 비교한다. 규칙과 이벤트 사이에 매칭이 있으면, 취해지기를 원하는 액션에 대응하는 하나 이상의 태스크가 설정될 수 있다. 그후, 태스크는 후속의 실행을 위하여 컴퓨터 시스템에 삽입될 수 있다.

Description

자동 태스크 생성 방법 및 시스템 {AUTOMATIC TASK GENERATOR METHOD AND SYSTEM}
본 발명은 일반적으로 컴퓨터 데이터베이스 분야에 관한 것으로, 특히 데이터베이스 관리 시스템의 객체에 대한 자동 태스크 생성 분야에 관한 것이다.
컴퓨터 시스템 관리자는 단시간내에 다양한 태스크를 수행하도록 하는 일정한 압력하에 있다. 이들 태스크는 데이터베이스 백업의 수행 등의 루틴 유지 태스크로부터 하드웨어 불량 등의 더 심각한 문제까지 모든 것을 포함한다. 시스템 관리자에 의해 통지될 수 없는 사용자에 의한 새로운 데이터베이스의 생성 등의 후속 시스템 유지를 요구하는 몇가지 이벤트가 있다. 따라서, 새롭게 생성된 파일의 백업 등의 몇가지 유지 태스크는 그것이 요구할 수 있는 유지 태스크에 대하여 즉시 인시되지 않을 수 있다. 또한, 각각의 시스템 환경 및 기업 환경으로의 설치는 유지 태스크를 수행하기 위한 유일한 규칙 세트를 가리킨다. 그러나, 이러한 유지 노력은 유일하기 때문에, 시스템 관리자는 종종 컴퓨팅 환경 및 이용의 규칙 또는 정책에 기초하여 맞추어진 유지 태스크 세트를 생성하는 에너지 리소스 및 시간을 소비한다.
그러므로, 컴퓨터 시스템에 대한 자동 유지 태스크 및 기타 관련 기능에 관한 태스크를 자동적으로 인보크(invoke)하는 방법이 필요하다. 이러한 자동 태스크가 태스크의 개발 및 전개를 트리거하기 위하여 이벤트 데이터 뿐만 아니라 메타데이터를 이용하는 것이면 유용하다. 본 발명은 상술한 필요성을 처리하고, 컴퓨터 시스템내에서 활동할 수 있는 태스크를 생성하기 위한 다양한 시스템, 방법 및기술로 해결한다. 본 발명은 모든 자동 태스크 생성 기능에 대하여 유효하며, 예를 들어, 데이터베이스 관리에 적용가능한 자동 태스크 수집 기능의 형태로 구현될 수 있다.
본 발명은 컴퓨터 시스템에 대한 유지 태스크 등의 태스크를 생성하기 위한 자동 태스크 생성 메카니즘을 포함한다. 본 발명은 태스크 세트의 셋업 및 태스크를 수행하기 위한 규칙을 포함한다. 규칙은 태스크가 규칙에 매핑되도록 하는 메타데이터와 관련될 수 있다. 이벤트가 시스템에 의해 검출되면, 시스템은 이벤트 및 관련 메타데이터를 저장할 수 있다. 또다른 스트링은 이벤트 및 메타데이터 저장장치를 조회하고 이들 항목을 이전에 셋업한 규칙과 비교할 수 있다. 규칙과 이벤트 사이에 매칭이 있으면, 취해지기를 원하는 액션에 대응하는 하나 이상의 태스크가 확립될 수 있다.
예를 들어, 데이터베이스가 생성되면, 이벤트는 메타데이터에 따라 트리거되고 규칙 세트와 비교되고, 규칙은 이벤트가 유지 목적을 위해 후속으로 백업되어야 하는 것이라는 것을 지시하고, 일련의 코맨드가 규칙을 구현하기 위하여 생성된다.
도 1은 본 발명의 형태가 구현될 수 있는 예시적인 컴퓨팅 환경을 나타내는 블럭도.
도 2는 본 발명의 형태가 구현될 수 있는 예시적인 블럭도.
도 3은 본 발명의 실시예에 적용될 수 있는 예시적인 흐름도.
도 4는 본 발명의 한 형태의 실시예에 적용될 수 있는 예시적인 흐름도.
*도면의 주요부분에 대한 부호의 설명*
200: 자동 태스크 생성기
210: 사용자 또는 프로그램 인터페이스
220: 태스크 및 규칙 저장 영역
230: 서버
236: 데이터베이스 관리 시스템
240: 서버 에이전트
250: 태스크 코맨드 생성기
상술한 요약 및 바람직한 실시예의 다음의 상세한 설명은 첨부된 도면과 결합하여 읽을 때 더 잘 이해된다. 본 발명을 예시하기 위하여, 본 발명의 예시적인 구성이 도면에 도시되었지만, 본 발명은 개시된 특정 방법 및 기구에 한정되는 것은 아니다.
개요
본 발명은 자동적으로 동작하여 컴퓨터 시스템에 코맨드를 생성할 수 있는 태스크 생성기, 특히 데이터베이스 관리 시스템에 관한 것이다. 자동 태스크 생성기는 데이터베이스 관련 동작이 발생했다는 표시를 수신한다. 본 발명은 데이터베이스 동작 및 관련 메타데이터를 저장된 규칙 세트와 비교하여 자동 태스크가 생성될 필요가 있는지를 판정한다. 자동 태스크를 원하면, 자동 태스크가 본래 검출되었던 데이터베이스 동작에 대응하는 규칙에 관한 저장 태스크로부터 형성될 수 있다. 이러한 태스크는 일반적으로 태스크 비교 및 생성 단계에서 사용될 수 있는 객체 관련 및 대응 객체 메타데이터이다.
본 발명은 하나 이상의 컴퓨터 시스템 또는 컴포넌트의 부분으로서 상주할 수 있다. 예시적인 컴퓨터 장치 및 그 환경의 설명은 이하에서 제공된다.
예시적인 컴퓨팅 장치
도 1 및 다음의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 일반적인 간략한 설명을 제공하는 것이다. 그러나, 모든 종류의 핸드헬드, 포터블 및 기타 컴퓨팅 장치 및 컴퓨팅 객체가 본 발명과 결합하여 사용될 수 있음을 이해할 것이다. 따라서, 이하에서는 범용 컴퓨터가 설명되지만, 이것은 일예일 뿐이며, 본 발명은 네트워크/버스 상호운용성 및 상호작용을 갖는 클라이언트 등의 기타 컴퓨팅 장치로 구현될 수 있다. 따라서, 본 발명은 매우 작은 또는 최소한의 클라이언트 리소스가 관련된 네트워크 호스트 서비스의 환경, 예를 들어, 클라이언트 장치가 어플리언스(appliance) 내에 배치된 객체 또는 기타 컴퓨팅 장치 및 객체 등의 네트워크/버스에 인터페이스로서 단순히 서비스하는 네트워크 환경에서 구현될 수 있다. 필수적으로, 데이터가 저장될 수 있는 곳 또는 데이터가 검색될 수 있는 곳이 본 발명에 따른 동작을 위한 바람직하거나 적절한 환경이다.
필요한 것은 아니지만, 본 발명은 본 발명에 따라 동작하는 애플리케이션 소프트웨어 내에 포함되고 장치 또는 객체에 대한 서비스의 개발자에 의해 이용되는 운영 체계를 통해 구현될 수 있다. 소프트웨어는 클라이언트 워크스테이션, 서버 또는 기타 장치 등의 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터 실행가능 명령의 일반적인 문맥에서 기재될 수 있다. 일반적으로 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 일반적으로, 프로그램 모듈의 기능은 다양한 실시예에서 바람직하게 결합되거나 분산될 수 있다. 더욱이, 본 기술에 숙련된 자는 본 발명이 기타의 컴퓨터 구성으로 실행될 수 있음을 이해할 것이다. 본 발명과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터(PC), 자동 입출금기(automated teller machines), 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 프로그램가능한 가전제품(programmable consumer electronics), 네트워크 PC, 어플라이언스(appliance), 광원, 환경 제어 소자, 미니컴퓨터, 메인프레임 컴퓨터가 있지만, 이에 한정되지 않는다. 본 발명은 태스크가 통신 네트워크/버스 또는 기타 데이터 전송 매체를 통해 링크된 원격 처리 장치에 의해 수행되는 분산형 컴퓨팅 환경에서 실행될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 국부 및 원격 컴퓨터저장 매체에 위치할 수 있으며, 클라이언트 노드는 서버 노드로서 작용할 수 있다.
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경의 일예를 나타내며, 위에서 명백히 언급한 바와 같이, 컴퓨팅 시스템 환경(100)은 단지 적절한 컴퓨팅 환경의 일 예이며 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(100)은 예시적인 운영 환경(100)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성(dependency) 또는 요구사항(requirement)을 갖는 것으로 해석되어서는 안된다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터 시스템(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터 시스템(110)의 컴포넌트들로는, 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 (메자닌(Mezzanine) 버스로도 알려진) 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터 시스템(110)은 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터 시스템(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, CD-RW, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 시스템(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 한정되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하도록 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의의 임의의 조합이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터 시스템(110) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(120)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 1은 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터 시스템(110)은 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(141), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(151), 및 CD-ROM, CDRW, DVD 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(156)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(155)가 도시되어 있다. 예시적인 운영 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 반도체 RAM, 반도체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
앞서 기술되고 도 1에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터 시스템(110)을 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리우는 포인팅 장치(161) 및 키보드(162)와 같은 입력 장치를 통해 컴퓨터 시스템(110)에 코맨드 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해 종종 프로세싱 유닛(120)에 접속되지만, 패럴렐 포트, 게임 포트 또는 유니버설 시리얼 포트(USB) 와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 메모리(도시하지 않음)와 통신할 수 있는 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터외에도, 컴퓨터 시스템은 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터 시스템(110)은 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 또는 분산형 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며, 비록 도 1 에는 메모리 저장 장치(181)만이 도시되어 있지만, 컴퓨터 시스템(110)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 그 외의 네트워크/버스를 포함할 수도 있다. 이러한 네트워크 환경은 가정, 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터 시스템(110)은 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터 시스템(110)은 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터 시스템(110)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 1은 메모리 장치(181)에 상주하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다.
다양한 분산형 컴퓨팅 프레임워크는 퍼스널 컴퓨팅 및 인터넷을 중심으로 개발되어 왔으며 개발중에 있다. 개인 및 비즈니스 사용자를 막론하고, 컴퓨팅 활동을 점점 웹 브라우저 지향적 또는 네트워크 지향적으로 만드는 애플리케이션 및 컴퓨팅 장치에 대하여 이음새없이 상호 동작이 가능하고 웹 사용가능한 인터페이스(seamlessly interoperable and web-enabled interface)가 제공된다.
예를 들어, 미국 워싱턴주 98052 레드몬드 원 마이크로 웨이의 마이크로소프트 코포레이션으로부터 이용가능한 MICROSOFT의 .NET 플랫폼은 서버, 웹-기반 데이터 저장과 같은 빌딩-블록 서비스, 및 다운로드 가능한 장치 소프트웨어를 포함한다. 예시된 실시예는 컴퓨팅 장치 상에 상주하는 소프트웨어와 관련하여 기재되지만, 본 발명의 하나 이상의 부분은, 서비스가 모든 .NET의 언어 및 서비스에 의해 수행될 수 있거나, 이를 통해 액세스될 수 있도록, 모든 운영 체계, 애플리케이션 프로그래밍 인터페이스(API), 또는 코프로세서(coprocessor)와 요구 객체간의 "미들 맨(middle man)" 객체를 통해 구현될 수 있을 뿐 아니라, 기타 분산형 컴퓨팅 프레임워크에서 구현될 수도 있다.
본 발명의 예시적인 실시예
본 발명은 사용자 정의 정책 또는 규칙 및 객체 메타데이터에 기초하여 지능 루틴 유지 태스크를 수행함으로써 관리자의 부담 중 몇가지를 완화시키는 자동 태스크 수집 시스템 및 방법을 제공한다. 규칙 세트에 기초하여 객체를 루틴 유지태스크에 자동적으로 수집하는 능력은 관리자가 유지의 평범한 태스크를 수행하는 것보다 그들의 시스템 관련 작업의 더 액티브한 부분을 처리하는데 더 많은 시간을 할애하도록 할 수 있다.
데이터베이스 관리 시스템 자동 태스크 생성기는, 유지 관련 코맨드를 자동적으로 검출하고 이들 태스크를 객체 메타데이터 및 정책 규칙의 사용을 통해 코맨드와 관련시킴으로써 다른 태스크들 중에서 유지 태스크를 자동적으로 수행할 수 있다.
일실시예에서, 본 발명은 SQL 데이터베이스와 결합하여 구현된다. 본 발명은 SQL 환경 실시예 및 일반적인 적용성의 관점에서 기재될 수 있다. 태스크 코맨드 출력의 일예는 트랜잭트-SQL 코맨트 세트이다. 자동 태스크 생성기는 데이터베이스 관리 시스템에 의해 구현되는 동작을 사용할 수 있다.
예를 들어, 구조화 조회 언어(SQL)는 관계 데이터베이스와 통신하는데 사용되는 ANSI(American National Standards Institute) 표준이다. SQL은 관계 데이터베이스 관리 시스템을 위한 표준 언어이다. SQL 문장은 관계 데이터베이스로부터 데이터를 검색하거나 데이터를 갱신하는 등의 태스크를 수행하는데 사용된다. 많은 데이터베이스 시스템이 SQL을 사용하지만, 그들의 다수는 또한 그들 시스템상에서만 통상적으로 사용되는 그들 자신의 추가 개인 확장을 갖는다. 그러나, "선택", "삽입", "갱신", "삭제", "생성" 및 "드롭" 등의 표준 SQL 코맨드는 관계 데이터베이스로 수행하기를 원하는 많은 일들을 달성하는데 사용될 수 있다. 또한, 이러한 코맨드 문장은 시스템 유지를 요구하는 데이터베이스 내의 데이터 구조의 도입을 유도할 수 있다. 그러나, 유지를 위한 태스크의 구성을 위한 이벤트 트리거 또는 다른 요구되거나 원하는 시스템 기능으로서 이러한 코맨드를 사용할 수 있다.
도 2는 예시적인 자동 태스크 생성기(200)의 구성요소들간의 예시적인 상호접속을 나타내는 블럭도이다. 사용자 또는 프로그램 인터페이스(210)는 사용자 또는 프로그램 유형 인터페이스가 태스크를 생성하여 저장 영역(220)으로 입력(215)하도록 한다. 태스크는 특정 데이터베이스 관련 객체에 대해 수행될 동작 세트일 수 있다. 이들 태스크는 샘플 또는 템플릿으로부터 도출되거나 분리되어 작성될 수 있다.
이러한 태스크들의 예는 파일의 백업, 하드 디스크의 조각모음(defragment), 데이터베이스의 재작성일 수 있다. 태스크들은 시스템이 사용되는 동안 데이터베이스 시스템의 유지의 수행 또는 객체에 관련된 동작의 수행에 유용할 수 있다. 객체의 예는 데이터베이스, 표, 칼럼, 인덱스, 뷰(view), 트리거, 저장된 절차 및 사용자 프로그램이다. 객체에 대해 동작하는 태스크의 예로서, 자정(midnight)에 매일 시작하는 데이터베이스에 대하여 "자정 백업"이라고 명명된 전체 백업이 수행될 수 있다.
규칙은 사용자/프로그램 인터페이스(210) 을 통해 생성되어 입력되어 태스크 및 규칙 저장 영역(220)에 배치된다. 데이터베이스 객체 메타데이터와 결합하여 태스크에 영향을 주는 규칙이 생성될 수 있다. 데이터베이스 객체를 위한 객체 메타데이터의 예는 다수의 명칭에 대한 사이즈, 위치, 사용자, 언어, 파일의 수, 자유 공간 및 고객 속성이다.
이 메타데이터를 사용하는 규칙의 예는, 데이터베이스가 G 드라이브 상에 생성되고 100MB보다 크고, 데이터베이스가 그와 관련된 백업을 가지지 않으면, 정의되고 저장된 태스크 "자정 백업"의 새로운 인스턴스가 실행되도록 하는 것이다. 이 태스크를 위한 객체 메타데이터는 드라이브 문자 G:이고, 그 사이즈는 100MB보다 크고, 백업이 존재하지 않는다는 것이다.
도 2의 블럭도는 또한 SQL 관계 데이터베이스 및 그 관련된 관리 시스템 및 서버 이벤트의 검출(232) 및 이벤트 큐(234)를 위한 별도의 프로그램 등의 데이터베이스 관리 시스템(236)을 포함하는 서버(230)를 포함한다. 미국 워싱턴주 레드몬드에 있는 마이크로소프트 코포레이션을 통해 이용가능한 SQL 서버(SQL ServerTM) 등의 데이터베이스 관리 시스템(236)은 하부 데이터베이스(도시 생략)에 완전히 액세스할 수 있다. 서버 이벤트 검출기(232)는 데이터베이스 관리 시스템의 동작에 관련된 이벤트를 검출할 수 있다. 예를 들어, 생성(CREATE), 변경(AlTER) 및 드롭(DROP) 코맨드 등의 데이터 정의 언어(DDL)로서 지칭되는 이벤트는 서버 이벤트 검출기(232)에 의해 검출될 수 있다. 또한, 데이터베이스 생성(CREATE DATABASE) 코맨드 등의 다른 더 일반적인 이벤트는 또한 응답하기 위하여 서버 이벤트 검출기(232)를 트리거할 수 있다. 서버 이벤트 검출기(232)는 이벤트 큐(234) 내의 이벤트를 등록함으로써 이들 데이터베이스 관련 이벤트들에 응답한다. 이 큐는 서버가 데이터베이스 관리 시스템(236) 동작에 응답하여 발생한 이벤트들의 기록을 보유하도록 한다. 서버 이벤트 검출기(232)는 또한 검출된 이벤트에 관한 이벤트 큐(234)에 관련 메타데이터를 저장한다. 검출된 이벤트 및 그 관련 메타데이터의 예는 다음과 같다.
이벤트: 새롭게 생성된 데이터베이스
메타데이터: 시간/날짜 = 11:30 AM 11/01/2003;
드라이브 G;
사이즈 200 MB;
대조 디폴트(Collation Default)
서버(230)로부터 독립적으로 운영될 수 있는 서버 에이전트(240)는 이벤트 큐를 샘플링(245)하여 관련 데이터베이스 관리 시스템(236) 활동을 발견한다. 이벤트 큐(234)는 정보의 페이로드를 송신(245)함으로써 새로운 이벤트 정보에 대한 서버 에이전트 요구에 응답한다. 페이로드는 이벤트의 식별 뿐만 아니라 검출된 이벤트에 대응하는 저장된 메타데이터를 포함할 수 있다. 페이로드 정보는 확장가능 마크업 언어 (XML) 페이로드로서 이벤트 큐(234)로부터 서버 에이전트(240)로 전송될 수 있다. 이 XML 페이로드는 여기에 포함된 명확히 태그(tag)된 정보 때문에 서버 에이전트에 의해 용이하게 식별되고 해독된다.
XML 페이로드를 수신할 때, 서버 에이전트(240)는 XML 페이로드가 이전에 저장된 규칙 중 임의의 것과 매칭하는 정보를 포함하는지를 판정하려고 시도한다. 따라서, 서버 에이전트(240)는 태스크 및 규칙 저장 영역(220)을 판독(225)하여 XML 페이로드의 현재 콘텐츠와 호환가능한 규칙을 액세스한다. XML 페이로드 정보와 찾은 규칙의 비교는 서버 에이전트(240) 내에서 달성될 수 있다.
일실시예에서, 서버 에이전트(240)는 일련의 전용 스레드(thread)를 일정하게 운영하고 포함하는 서비스일 수 있다. 이들 스레드들 중의 하나는 이벤트 큐(234)의 청취 전용이다. 또다른 스레드는 XML 페이로드 데이터 및 검색된 규칙 데이터의 비교 전용이다.
일실시예에서, 정확한 비교 규칙의 액세스는 XML 페이로드 내의 데이터의 적어도 일부를 사용함으로써 달성될 수 잇다. 예를 들어, XML 페이로드는 데이터베이스 생성인 데이터베이스 관리 시스템 내에서 발생하는 동작의 식별을 포함할 수 있다. 또한, 페이로드는 몇가지 관련 메타데이터를 포함할 수 있다. 이 동작 식별자 코맨드 및 메타데이터는 서버 에이전트에 의해 사용되어 데이터베이스 생성 코맨드 식별자와 관련된 모든 규칙을 리턴하도록 태스크 및 규칙 저장 장치를 조회한다. 태스크 및 규칙 저장 장치(220)로부터 리턴된 규칙은 그후 이벤트 큐(234)로부터 얻어진 XML 페이로드 정보의 일부 또는 모두를 사용하여 서버 에이전트(240)에서 비교된다.
매칭되지 않으면, 서버 에이전트는 XML 페이로드에 관련된 액션을 취하지 않는다. XML 페이로드와 태스크 및 규칙 저장 모듈(220)로부터 검색된 정보가 매칭되면, 서버 에이전트는 매칭된 규칙과 관련된 태스크를 액세스하고 코맨드 생성기(250)에서 이들 태스크를 수집한다. 코맨드 생성기는 데이터베이스 관리 시스템(236)으로 입력(260)될 수 있는 코맨드를 생성할 수 있다.
일예의 흐름에서, 서버 에이전트(240)가 이벤트 큐(236)를 액세스하여 SQL서버 내에서 발생한 데이터베이스 생성의 이벤트를 포함한 XML 페이로드를 발견하면, 태스크 및 규칙 저장 모듈(220)로부터 코맨드 규칙과 코맨드를 비교한다. 코맨드 및 XML 페이로드로부터의 수반된 메타데이터가 저장된 규칙에 대응했으면, 서버 에이전트는 저장 모듈(220)에서 규칙 데이터와 관련된 태스크 데이터를 액세스한다. 태스크 데이터는 "자정 백업" 태스크가 인보크되어야 하는 것을 표시할 수 있다. 태스크 코맨드 생성기(250)는 태스크를 수집하고, 어떤 코맨드, 어떤 파라미터, 및 태스크가 실행되는 시기에 대하여 태스크에 대한 적절한 제약을 배치하고, 시스템 유지를 위한 트랜잭트-SQL 코맨드로서 SQL 서버 데이터 베이스 관리 시스템(236)에 태스크를 전달(260)한다.
도 2의 다양한 구성요소의 위치에 관해서는 본 발명의 많은 실시예가 있을 수 있다. 예를 들어, 일실시예에서, 서버 큐(234)는 데이터베이스 테이블로서 명백한 SQL 서버 프로그램 코드 내에서 구현될 수 있고, 서버 큐 내의 엔트리가 테이블의 행이 된다.
또다른 실시예에서, 서버 에이전트(240)는 별도의 컴퓨터가 아니라 서버(230) 상에서 운영하는 프로그램일 수 있다. 또다른 실시예에서, 태스크 생성기(250)는 서버 에이전트(240) 내에 위치하는 기능일 수 있다. 도 2의 기능적 구조는 본 발명의 조합을 구현하기 위한 장벽이 아니다.
또다른 실시예에서, 본 발명은 데이터베이스 관리 시스템(도 2에는 도시되지 않음)의 일부일 수도 있고 아닐 수도 있는 하드웨어 또는 소프트웨어 코맨드를 지시하는 태스크 코맨드를 생성할 수 있다. 생성된 이벤트가 데이터베이스 내의 객체의 생성, 삭제, 또는 갱신 등의 데이터베이스 관리 시스템 이벤트의 결과일 수 있지만, 이벤트에 의해 생성된 태스크 코맨드는 트리거 데이터베이스 이벤트에 한결같이 관련되지 않는 액트(act)를 포함할 수 있다. 예를 들어, 디스크 드라이브가 충만된 것을 표시하는 메타데이터의 조사를 트리거하는 객체 생성 등의 데이터베이스 이벤트가 발생할 수 있다. 결과적으로, 데이터베이스의 즉각적인 백업이 요구될 수 있다. 본 발명은 백업 기능을 돕기 위하여 제3 자 하드웨어 또는 소프트웨어 모듈을 호출할 수 있는 하드웨어 또는 소프트웨어 코맨드를 활성화하는 코맨드를 생성할 수 있다. 생성된 코맨드는 데이터베이스 관리 시스템의 외부에서 실행될 수 있고 데이터베이스 관리 기능과 한결같이 관련없을 수 있다. 그러나, 코맨드는 실제로 데이터베이스 기능을 위한 좀더 유용한 시스템 리소스를 생성함으로써 데이터베이스 관리 기능을 사용할 수 있게 한다.
도 3은 본 발명의 예시적인 실시예의 예시적인 방법의 흐름도이다. 태스크 생성 프로세스(300)는 데이터베이스 관리 시스템의 동작에서 발생할 수 있는 태스크(310)의 정의와 저장을 위한 입력을 허용함으로써 셋업될 수 있다. 이러한 태스크는 데이터베이스 관리 시스템으로 수행되기를 원하는 유지 태스크 또는 다른 액티브 태스크로서 사용될 수 있다. 태스크는 샘플 또는 템플릿으로부터 도출되거나 분리되어 작성될 수 있다.
프로세스(300)는 이미 정의된 태스크에 영향을 주는 규칙(320)의 입력을 수락함으로써 셋업을 유지한다. 이러한 규칙은 또한 이미 정의된 규칙의 사용을 위한 요구사항을 정의하기 위하여 객체 메타데이터의 사용을 수용한다. 규칙은 그후태스크 및 규칙이 후속의 사용에 유용하도록 저장(330)된다. 이 절차에서 저장된 태스크와 규칙은 이러한 항목의 액세스에 대한 요구 이전에 언제나 생성될 수 있으며, 이들의 사용 직전에 이러한 태스크 및 규칙을 생성할 필요는 없다.
자동 태스크 생성 프로세스(300)는 데이터베이스 객체의 생성 또는 변경 등의 데이터베이스 관리 시스템 이벤트(340)를 대기함으로써 계속된다. 이러한 이벤트가 발생하면, 이벤트는 관련 메타데이터에 따라 로그(log)된다. 이벤트의 이벤트 발생은, 이벤트 페이로드(메타데이터)를 판독(350)하고 페이로드 및 이벤트를 이미 생성되어 저장된 규칙과 비교(360)하는 다음 단계를 트리거한다. 매칭되는 것이 없으면(370), 프로세스는 이벤트(340)의 다음 통지를 대기하기 위하여 리턴된다. 검출된 이벤트와 저장된 규칙 사이에 매칭되는 것이 있으면(370), 매칭된 규칙과 관련된 태스크가 수집되고 조직화된다(380). 일반적으로, 태스크는 그후 후속의 실행을 위해 데이터베이스 관리 시스템에 송신(390)된다.
도 4는 도 3의 단계(340)에 포함된 예시적인 방법(400)의 흐름도이다. 본 발명의 일실시예에서, 이벤트 통지(340)를 대기하는 단계는 데이터베이스 관리 시스템(410)의 이벤트의 발생을 포함할 수 있다. 이벤트의 발생은 그후 이벤트에 대응하는 메타데이터의 발생(420)을 트리거할 수 있다. 이 메타데이터는 프로세스(400)에 의해 생성될 수 있거나 데이터베이스 관리 시스템 내의 생성 소스 또는 이러한 이벤트 검출을 제공하는 에이전트로부터 복사 또는 전송될 수 있다. 이벤트 및 대응하는 메타데이터는 큐(430)에 저장된다. 다음으로, 큐는 질의되거나 큐가 또다른 프로세스의 주의를 얻을 수 있다. 이 후속의 프로세스는 큐를 검사하고 이벤트 데이터(440)를 판독한다. 이 점에서, 도 4의 프로세스는 도 3의 부분으로서 단계(350)를 재개할 수 있으며, 이벤트 페이로드 메타데이터는 상술한 바와 같이 판독된다.
상술한 바와 같이, 본 발명의 예시적인 실시예는 다양한 컴퓨팅 장치 및 네트워크 아키텍쳐와 결합하여 설명되었지만, 하부 개념이 자동 태스크 생성기를 구현하기를 원하는 임의의 컴퓨팅 장치 또는 시스템에 적용될 수 있다. 따라서, 본 발명의 방법 및 시스템은 다양한 애플리케이션 및 장치에 적용될 수 있다. 예시적인 프로그래밍 언어, 명칭 및 예가 다양한 선택의 대표로서 선택되었지만, 이들 언어, 명칭 및 예로 한정되는 것은 아니다. 본 기술에 숙련된 자는 본 발명에 의해 달성된 것과 동일하거나 유사하거나 동등한 시스템 및 방법을 달성하는 객체 코드를 제공하는 많은 방법이 있음을 이해할 것이다.
여기에 기재된 다양한 기술은 하드웨어 또는 소프트웨어 또는 적절한 양자의 조합과 결합하여 구현될 수 있다. 따라서, 본 발명의 방법 및 장치 또는 그 소정의 형태 또는 부분이 플로피 디스켓, CD-ROM, 하드 드라이브 또는 다른 임의의 기계 판독가능 저장 매체 등의 실재적인 매체에서 구현되는 프로그램 코드(즉, 명령)의 형태를 취할 수 있으며, 프로그램 코드가 컴퓨터 등의 기계장치로 로딩되어 실행될 때, 기계장치는 본 발명을 실행하는 장치가 된다. 프로그래머블 컴퓨터 상에서 프로그램 코드를 실행하는 경우, 컴퓨팅 장치는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 소자를 포함), 하나 이상의 입력 장치, 및 하나 이상의 출력 장치를 포함할 수 있다. 예를들어 데이터 처리 API 등의 사용을 통해 본 발명의 신호 처리 서비스를 이용할 수 있는 하나 이상의 프로그램은 바람직하게 컴퓨터와 통신하기 위하여 고레벨 절차 또는 객체 지향 프로그래밍 언어로 구현된다. 그러나, 프로그램(들)은 원한다면 어셈블리 또는 기계어로 구현될 수 있다. 임의의 경우, 언어는 컴파일 또는 번역된 언어이고 하드웨어 구현과 결합될 수 있다.
본 발명의 방법 및 장치는 또한 전기 와이어 또는 케이블, 파이버 옵틱스 또는 임의의 다른 전송 형태 등의 전송 매체를 통해 전송되는 프로그램 코드의 형태로 구현된 통신을 통해 실행될 수 있고, 프로그램 코드가 EPROM, 게이트 어레이, 프로그래머블 로직 장치(PLD), 클라이언트 컴퓨터, 비디오 레코더 등의 기계장치에 의해 검색되고 로딩되고 실행될 때, 예시적인 실시예에 기재된 신호 처리 능력을 갖는 수신 장치는 본 발명을 실행하는 장치가 된다. 범용 프로세서 상에서 구현될 때, 프로그램 코드는 프로세서와 결합하여 기재된 본 발명의 기능을 인보크하기 위하여 동작하는 단일 장치를 제공한다. 또한, 본 발명과 결합하여 사용되는 임의의 저장 기술은 하드웨어 및 소프트웨어의 조합일 수 있다.
본 발명은 다양한 도면의 바람직한 실시예와 결합하여 설명되었지만, 범위를 벗어나지 않고, 다른 유사한 실시예가 사용될 수 있거나 본 발명의 동일한 기능을 수행하는 기재된 실시예에 변형 및 추가가 수행될 수 있음을 이해할 것이다. 또한, 특히 무선 네트워크 장치의 수가 급증함에 따라, 핸드헬드 장치 운영 체계 및 다른 애플리케이션 특정 운영 체계를 포함하는 다양한 컴퓨터 플랫폼이 고려될 수 있다. 따라서, 본 발명은 임의의 단일 실시예로 한정되는 것이 아니며, 첨부된 청구범위에 따른 범위 내에서 해석되어야 한다.
상술한 바와 같이, 본 발명에 따르면, 본 발명은 사용자 정의 정책 또는 규칙 및 객체 메타데이터에 기초하여 지능 루틴 유지 태스크를 수행함으로써 관리자의 부담 중 몇가지를 완화시키는 자동 태스크 수집 시스템 및 방법을 제공할 수 있다.

Claims (29)

  1. 데이터베이스 관리 시스템을 위한 태스크를 생성하는 방법에 있어서,
    상기 데이터베이스 관리 시스템에서 동작하는 이벤트를 검출하는 단계;
    이벤트 표시기를 관련 메타데이터와 함께 저장하는 단계 - 상기 이벤트 표시기는 상기 검출된 이벤트에 대응함 -;
    상기 이벤트 표시기와 상기 관련 메타데이터를 데이터베이스 객체 메타데이터를 이용하는 규칙과 매칭시키는 단계 - 상기 규칙은 시스템 태스크를 참조함 -; 및
    상기 이벤트 표시기에 매칭하는 상기 규칙에 기초하여 특정 태스크를 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 사용자 인터페이스 및 프로그램 인터페이스 중 적어도 하나를 이용하여 상기 시스템 태스크를 정의하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 데이터베이스 객체 메타데이터는 사이즈, 위치, 사용자, 언어, 파일의 수, 자유 공간, 및 고객 속성 중 하나 이상을 포함하는 방법.
  4. 제1항에 있어서, 상기 이벤트 표시기를 저장하는 단계는 상기 이벤트 표시기를 관련 메타데이터와 함께 큐에 저장하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 매칭하는 단계는
    상기 이벤트 표시기를 관련 메타데이터와 함께 검색하는 단계;
    상기 규칙을 검색하는 단계; 및
    상기 이벤트 표시기와 관련 메타데이터를 상기 규칙과 비교하여 상기 이벤트 표시기와 상기 규칙 사이의 매칭을 검출하는 단계를
    포함하는 방법.
  6. 제1항에 있어서, 상기 특정 태스크는 상기 시스템 태스크 중 적어도 하나에 대응하는 적어도 하나의 데이터베이스 관리 시스템 코맨드를 포함하는 방법.
  7. 제1항에 있어서, 상기 데이터베이스 관리 시스템은 SQL-기반 데이터베이스 관리 시스템인 방법.
  8. 제1항에 있어서, 상기 특정 태스크는 SQL 데이터베이스에 대한 동작을 위한 트랜잭트-SQL(transact-SQL) 코맨드인 방법.
  9. 제1항에 있어서, 상기 특정 태스크는 데이터베이스 관리 기능과 비-데이터베이스 관리 기능 중 적어도 하나를 지시하기 위한 하드웨어 코맨드 및 소프트웨어코맨드 중의 적어도 하나를 포함하는 방법.
  10. 데이터베이스 관리 시스템을 위한 태스크를 생성하는 시스템에 있어서,
    상기 태스크를 생성하는 소프트웨어를 실행하기 위한 제1 컴퓨터;
    데이터베이스 객체에 대하여 동작하기 위한 규칙 및 시스템 태스크가 저장된 적어도 하나의 메모리 매체; 및
    상기 데이터베이스 관리 시스템에서 동작하는 이벤트를 검출하는 단계,
    이벤트 표시기를 관련 메타데이터와 함께 저장하는 단계 - 상기 이벤트 표시기는 상기 검출된 이벤트에 대응함 -,
    상기 이벤트 표시기와 상기 관련 메타데이터를 데이터베이스 객체 메타데이터를 이용하는 규칙과 매칭시키는 단계 - 상기 규칙은 시스템 태스크를 참조함 -, 및
    상기 이벤트 표시기에 매칭하는 상기 규칙에 기초하여 특정 태스크를 생성하는 단계
    를 포함하는 동작을 수행하기 위하여 저장된 컴퓨터 실행가능 명령을 갖는 소프트웨어 매체
    를 포함하는 시스템.
  11. 제10항에 있어서, 상기 소프트웨어는 상기 검출하는 단계와 상기 저장하는단계를 수행하는 제1 모듈과 상기 비교하는 단계와 상기 생성하는 단계를 수행하는 제2 모듈을 포함하는 시스템.
  12. 제11항에 있어서, 상기 제1 모듈과 상기 제2 모듈은 상기 제1 컴퓨터와 제2 컴퓨터 각각에 상주하는 시스템.
  13. 제10항에 있어서, 상기 규칙 및 상기 시스템 태스크에 대한 입력을 제공하기 위하여 사용자 인터페이스 및 프로그램 인터페이스 중 적어도 하나를 더 포함하는 시스템.
  14. 제10항에 있어서, 상기 특정 태스크는 데이터베이스 관리 시스템 코맨드 및 비-데이터베이스 시스템 코맨드 중 적어도 하나를 포함하는 시스템.
  15. 제10항에 있어서, 상기 매칭하는 단계 및 상기 생성하는 단계의 실행을 위한 제2 컴퓨터를 더 포함하는 시스템.
  16. 제10항에 있어서, 상기 데이터베이스 관리 시스템은 SQL-기반 데이터베이스 관리 시스템인 시스템.
  17. 제10항에 있어서, 상기 특정 태스크는 SQL 데이터베이스에 대하여 동작하기위한 트랜잭트-SQL(transact SQL) 코맨드인 시스템.
  18. 제10항에 있어서, 상기 특정 태스크는 하드웨어 기능 및 소프트웨어 기능 중 적어도 하나를 활성화시키는 것을 포함하는 시스템.
  19. 데이터베이스 관리 시스템에서 동작하는 이벤트를 검출하는 단계;
    이벤트 표시기를 관련 메타데이터와 함께 저장하는 단계 - 상기 이벤트 표시기는 상기 검출된 이벤트에 대응함 -;
    상기 이벤트 표시기와 상기 관련 메타데이터를 데이터베이스 객체 메타데이터를 이용하는 규칙과 매칭시키는 단계 - 상기 규칙은 시스템 태스크를 참조함 -; 및
    상기 이벤트 표시기에 매칭하는 상기 규칙에 기초하여 특정 태스크를 생성하는 단계
    를 포함하는, 특정 태스크를 생성하는 방법을 수행하기 위하여,
    컴퓨터 실행가능 명령을 갖는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서, 상기 데이터베이스 객체 메타데이터는 사이즈, 위치, 사용자, 언어, 파일의 수, 자유 공간, 및 고객 속성 중 하나 이상을 포함하는 컴퓨터 판독가능 매체.
  21. 제19항에 있어서, 상기 이벤트 표시기를 저장하는 단계는 상기 이벤트와 관련 메타데이터를 큐에 저장하는 단계를 포함하는 컴퓨터 판독가능 매체.
  22. 제19항에 있어서, 상기 이벤트 표시기를 매칭하는 단계는
    상기 저장된 이벤트 표시기와 상기 관련 메타데이터를 검색하는 단계;
    상기 규칙을 검색하는 단계; 및
    상기 이벤트 표시기와 관련 메타데이터를 상기 규칙과 비교하여 상기 이벤트 표시기와 상기 규칙 사이의 매칭을 검출하는 단계를
    포함하는 컴퓨터 판독가능 매체.
  23. 제19항에 있어서, 상기 특정 태스크는 데이터베이스 관리 시스템 코맨드 및 비-데이터베이스 관리 시스템 코맨드 중 적어도 하나를 포함하는 컴퓨터 판독가능 매체.
  24. 제19항에 있어서, 상기 데이터베이스 관리 시스템은 SQL-기반 데이터베이스 관리 시스템인 컴퓨터 판독가능 매체.
  25. 제19항에 있어서, 상기 특정 태스크는 SQL 데이터베이스의 동작을 지시하기 위한 트랜잭트-SQL(transact-SQL) 코맨드인 컴퓨터 판독가능 매체.
  26. 데이터베이스 관리 시스템을 위한 태스크를 생성하는 시스템에 있어서,
    데이터베이스 관리 시스템을 포함하는 컴퓨터;
    적어도 하나의 시스템 태스크 및 상기 적어도 하나의 시스템 태스크와 관련된 적어도 하나의 규칙을 수신하기 위한 인터페이스;
    상기 적어도 하나의 시스템 태스크 및 상기 적어도 하나의 규칙을 저장하기 위한 메모리;
    데이터 이벤트를 검출하기 위한 이벤트 검출기;
    데이터베이스 이벤트 표시기와 관련 메타데이터를 등록하기 위한 이벤트 큐 - 상기 이벤트 표시기는 상기 데이터베이스 이벤트에 대응함 -;
    상기 데이터베이스 이벤트 표시기와 상기 관련 메타데이터의 등록을 감지하고 상기 등록과 적어도 하나의 규칙을 비교하기 위한 서버 에이전트; 및
    코맨드를 생성하기 위한 태스크 생성기
    를 포함하고,
    상기 서버 에이전트가 상기 데이터베이스 이벤트 표시기의 상기 등록이 상기 적어도 하나의 규칙과 매칭하면, 상기 태스크 생성기는 적어도 하나의 규칙에 기초하여 코맨드를 생성하고, 상기 적어도 하나의 규칙은 상기 적어도 하나의 시스템 태스크에 대응하는 시스템.
  27. 제26항에 있어서, 상기 데이터베이스 관리 시스템은 SQL-기반 데이터베이스 관리 시스템인 시스템.
  28. 제26항에 있어서, 상기 코맨드는 상기 데이터베이스 관리 시스템 내에서의 실행을 지시하는 트랜잭트-SQL(transact-SQL) 코맨드인 시스템.
  29. 제26항에 있어서, 상기 코맨드는 데이터베이스 관리 기능과 비-데이터베이스 관리 기능 중 적어도 하나를 지시하기 위한 하드웨어 코맨드 및 소프트웨어 코맨드 중의 적어도 하나를 포함하는 시스템.
KR1020040041101A 2003-06-06 2004-06-05 자동 태스크 생성 방법, 시스템 및 컴퓨터 판독가능 기록 매체 KR101099152B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/456,904 US7912820B2 (en) 2003-06-06 2003-06-06 Automatic task generator method and system
US10/456,904 2003-06-06

Publications (2)

Publication Number Publication Date
KR20040105582A true KR20040105582A (ko) 2004-12-16
KR101099152B1 KR101099152B1 (ko) 2011-12-27

Family

ID=33159595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040041101A KR101099152B1 (ko) 2003-06-06 2004-06-05 자동 태스크 생성 방법, 시스템 및 컴퓨터 판독가능 기록 매체

Country Status (5)

Country Link
US (1) US7912820B2 (ko)
EP (1) EP1484695B1 (ko)
JP (1) JP4684578B2 (ko)
KR (1) KR101099152B1 (ko)
CN (1) CN100478944C (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956159B1 (ko) * 2008-04-24 2010-05-06 한국과학기술연구원 라이프로그 장치 및 정보 자동 태그 입력 방법
KR20120030339A (ko) * 2009-04-22 2012-03-28 마이크로소프트 코포레이션 자동 분류 규칙을 포함하는 데이터 분류 파이프라인
KR20150061864A (ko) * 2013-11-28 2015-06-05 한국전자통신연구원 대용량 순차 수집 데이터 처리를 위한 프레임워크 제공장치 및 이의 데이터 처리방법
KR20190090037A (ko) * 2016-12-21 2019-07-31 쓰레트 스택, 인코퍼레이티드 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
KR20200082801A (ko) * 2018-12-31 2020-07-08 주식회사 포스코아이씨티 로봇 프로세스 자동화 시스템 및 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE20070181A1 (en) 2006-03-17 2007-11-14 Iontas Ltd Monitoring of computer events
US7555480B2 (en) * 2006-07-11 2009-06-30 Microsoft Corporation Comparatively crawling web page data records relative to a template
US20080235066A1 (en) * 2007-03-19 2008-09-25 Hiroko Mano Task management device, task management method, and task management program
CN101286118B (zh) * 2007-04-10 2012-04-18 北京搜狗科技发展有限公司 一种快速调用程序指令的方法、系统
US20090037378A1 (en) * 2007-08-02 2009-02-05 Rockwell Automation Technologies, Inc. Automatic generation of forms based on activity
US9904681B2 (en) * 2009-01-12 2018-02-27 Sri International Method and apparatus for assembling a set of documents related to a triggering item
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
CN101673292B (zh) * 2009-10-15 2012-05-02 成都市华为赛门铁克科技有限公司 关联分析方法和系统及汇聚关联装置和分布式关联装置
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
CN101980187A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 数据入库方法和装置
US20120159429A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Metadata based eventing
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US9081899B2 (en) * 2012-01-31 2015-07-14 Bank Of America Corporation System and method for processing web service test cases
CN102855266B (zh) * 2012-04-27 2015-05-13 北京华胜鸣天科技有限公司 一种信息系统创建方法、装置及系统
US9619552B2 (en) 2013-09-06 2017-04-11 Sap Se Core data services extensibility for entity-relationship models
US9354948B2 (en) * 2013-09-06 2016-05-31 Sap Se Data models containing host language embedded constraints
US9639572B2 (en) 2013-09-06 2017-05-02 Sap Se SQL enhancements simplifying database querying
US9430523B2 (en) 2013-09-06 2016-08-30 Sap Se Entity-relationship model extensions using annotations
US9361407B2 (en) 2013-09-06 2016-06-07 Sap Se SQL extended with transient fields for calculation expressions in enhanced data models
US9442977B2 (en) 2013-09-06 2016-09-13 Sap Se Database language extended to accommodate entity-relationship models
US9886457B2 (en) * 2014-03-10 2018-02-06 International Business Machines Corporation Deduplicated data processing hierarchical rate control in a data deduplication system
GB2524074A (en) 2014-03-14 2015-09-16 Ibm Processing data sets in a big data repository
CN105868217A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 数值自动转换方法及系统
US9891966B2 (en) 2015-02-10 2018-02-13 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing
US10423468B2 (en) * 2015-02-10 2019-09-24 Red Hat, Inc. Complex event processing using pseudo-clock
CN105488174B (zh) * 2015-12-01 2018-05-04 北京浩瀚深度信息技术股份有限公司 基于bs结构的多分布式数据源管理方法及系统
US10796235B2 (en) * 2016-03-25 2020-10-06 Uptake Technologies, Inc. Computer systems and methods for providing a visualization of asset event and signal data
US10782670B2 (en) * 2016-12-14 2020-09-22 The Boeing Company Robotic task system
CN110737515B (zh) * 2018-07-19 2024-04-09 阿里巴巴集团控股有限公司 一种数据任务指令的处理方法、计算机设备、存储介质
US20200082004A1 (en) * 2018-09-06 2020-03-12 Ca, Inc. Automatic detection of database criticality
US11163742B2 (en) * 2019-01-10 2021-11-02 Microsoft Technology Licensing, Llc System and method for generating in-memory tabular model databases
WO2020154400A1 (en) * 2019-01-22 2020-07-30 Ab Initio Technology Llc Finite state machines for implementing workflows for data objects managed by a data processing system
US20220132641A1 (en) * 2019-02-14 2022-04-28 Signify Holding B.V. Improving automation rules by determining a relationship between events and control commands
CN110083623B (zh) * 2019-03-12 2023-10-17 中国平安人寿保险股份有限公司 一种业务规则生成方法及装置
US11494611B2 (en) * 2019-07-31 2022-11-08 International Business Machines Corporation Metadata-based scientific data characterization driven by a knowledge database at scale
CN112748990A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 基于Quartz的数据质量任务执行方法、装置和计算机设备
US20220253415A1 (en) * 2021-02-09 2022-08-11 Humana Inc. Database maintenance using parallel processing techniques with dedicated logical channels
CN113722302A (zh) * 2021-07-28 2021-11-30 浙江大华技术股份有限公司 一种数据治理方法与装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939689A (en) * 1987-04-09 1990-07-03 Crowninshield Software, Inc. Outline-driven database editing and retrieval system
US5394549A (en) * 1992-12-17 1995-02-28 International Business Machines Corporation Task spawning responsive to relational database conditions and operations
US6496872B1 (en) * 1994-05-16 2002-12-17 Apple Computer, Inc. Computer system for automatically instantiating tasks designated by a user
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5898760A (en) * 1997-03-05 1999-04-27 Bellsouth Corporation Method and apparatus for automating the management of a database
US6347374B1 (en) 1998-06-05 2002-02-12 Intrusion.Com, Inc. Event detection
US7617240B2 (en) * 1999-05-04 2009-11-10 Accenture Llp Component based task handling during claim processing
JP3601677B2 (ja) * 1999-06-09 2004-12-15 日本電気株式会社 タスク処理システム
US6405212B1 (en) * 1999-09-27 2002-06-11 Oracle Corporation Database system event triggers
US6427146B1 (en) 2000-03-31 2002-07-30 Wesley W. Chu Database event detection and notification system using type abstraction hierarchy (TAH)
EP1342157B1 (en) * 2000-11-09 2008-10-15 Navision A/S An auto-generated task sequence
US6996576B2 (en) 2000-11-22 2006-02-07 Bmc Software, Inc. Database management system and method which automatically schedules and performs actions and monitors results
JP3578082B2 (ja) * 2000-12-20 2004-10-20 株式会社デンソー 処理実行装置及び記録媒体
US20040216098A1 (en) * 2001-02-05 2004-10-28 Roe Colleen A. Scalable agent service scheduler
US20020107905A1 (en) * 2001-02-05 2002-08-08 Roe Colleen A. Scalable agent service system
US6820080B2 (en) * 2001-03-26 2004-11-16 International Business Machines Corporation Dependent object processing for triggers
US6745174B2 (en) * 2001-03-29 2004-06-01 Hewlett-Packard Development Company, L.P. Method of executing before-triggers in an active database
US6687733B2 (en) * 2001-06-01 2004-02-03 Intergenix Method and system for automatically configuring a client-server network
JP3788281B2 (ja) 2001-07-09 2006-06-21 日本電気株式会社 セッション確立方法
US20030055668A1 (en) * 2001-08-08 2003-03-20 Amitabh Saran Workflow engine for automating business processes in scalable multiprocessor computer platforms
US7483970B2 (en) * 2001-12-12 2009-01-27 Symantec Corporation Method and apparatus for managing components in an IT system
CA2365436A1 (en) * 2001-12-19 2003-06-19 Alcatel Canada Inc. Command language interface processor
US7424717B2 (en) * 2002-05-01 2008-09-09 Bea Systems, Inc. Systems and methods for business process plug-in development
US7350184B2 (en) * 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
AU2003239916A1 (en) * 2002-06-03 2003-12-19 Sevenspace System and method for reliable delivery of event information
US20040028069A1 (en) * 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956159B1 (ko) * 2008-04-24 2010-05-06 한국과학기술연구원 라이프로그 장치 및 정보 자동 태그 입력 방법
KR20120030339A (ko) * 2009-04-22 2012-03-28 마이크로소프트 코포레이션 자동 분류 규칙을 포함하는 데이터 분류 파이프라인
KR20150061864A (ko) * 2013-11-28 2015-06-05 한국전자통신연구원 대용량 순차 수집 데이터 처리를 위한 프레임워크 제공장치 및 이의 데이터 처리방법
KR20190090037A (ko) * 2016-12-21 2019-07-31 쓰레트 스택, 인코퍼레이티드 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
KR20210072132A (ko) * 2016-12-21 2021-06-16 쓰레트 스택, 인코퍼레이티드 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
KR20200082801A (ko) * 2018-12-31 2020-07-08 주식회사 포스코아이씨티 로봇 프로세스 자동화 시스템 및 방법

Also Published As

Publication number Publication date
US20040249856A1 (en) 2004-12-09
US7912820B2 (en) 2011-03-22
CN1573757A (zh) 2005-02-02
JP4684578B2 (ja) 2011-05-18
KR101099152B1 (ko) 2011-12-27
CN100478944C (zh) 2009-04-15
EP1484695A3 (en) 2006-03-08
JP2004362596A (ja) 2004-12-24
EP1484695A2 (en) 2004-12-08
EP1484695B1 (en) 2013-08-21

Similar Documents

Publication Publication Date Title
KR101099152B1 (ko) 자동 태스크 생성 방법, 시스템 및 컴퓨터 판독가능 기록 매체
US7716158B2 (en) System and method for context sensitive searching
KR101219856B1 (ko) 데이터 프로세싱을 자동화하기 위한 방법 및 시스템
US6233586B1 (en) Federated searching of heterogeneous datastores using a federated query object
US9077724B2 (en) Systems and methods for analyzing application security policies
US6272488B1 (en) Managing results of federated searches across heterogeneous datastores with a federated collection object
RU2544752C2 (ru) Конвейер классификации данных, включающий в себя правила автоматической классификации
JP5108749B2 (ja) データ記憶システム内のデータを操作するシステムおよび方法
US8429126B2 (en) Object graph editing context and methods of use
US7698479B2 (en) User interface to a data storage system and rule store
US20060005227A1 (en) Languages for expressing security policies
JP2002542525A (ja) イベントのダイナミックなフィルタリングおよびルーティングの方法および装置
US20080120327A1 (en) Method and system for transforming metadata modeled in the common information model into grid control target metadata
US20090077012A1 (en) Displaying relevant abstract database elements
US20050114288A1 (en) Dynamic functional module availability
US20050283458A1 (en) Automatic detection of frequently used query patterns in a query workload
US20030069696A1 (en) Rule based compatibility module
US7805422B2 (en) Change notification query multiplexing
US11475135B2 (en) Orchestration of vulnerability scanning and issue tracking for version control technology
US7467373B2 (en) Global object system
KR20050055240A (ko) 메타데이터 통합관리 시스템 및 방법
US11860871B2 (en) Continuous delivery of database queries for applications based on named and versioned parameterized database queries
KR20240025140A (ko) 메타데이터 통합제어 시스템 및 방법
Petroutsos et al. Visual Basic® .NET Developer's Handbook™
Server Best Practices

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: 20141117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181221

Year of fee payment: 8