KR102653309B1 - 스케쥴링 장치 및 방법 - Google Patents

스케쥴링 장치 및 방법 Download PDF

Info

Publication number
KR102653309B1
KR102653309B1 KR1020210028233A KR20210028233A KR102653309B1 KR 102653309 B1 KR102653309 B1 KR 102653309B1 KR 1020210028233 A KR1020210028233 A KR 1020210028233A KR 20210028233 A KR20210028233 A KR 20210028233A KR 102653309 B1 KR102653309 B1 KR 102653309B1
Authority
KR
South Korea
Prior art keywords
job
execution
jobs
executed
gui
Prior art date
Application number
KR1020210028233A
Other languages
English (en)
Other versions
KR20220124505A (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 주식회사 카카오뱅크
Priority to KR1020210028233A priority Critical patent/KR102653309B1/ko
Publication of KR20220124505A publication Critical patent/KR20220124505A/ko
Application granted granted Critical
Publication of KR102653309B1 publication Critical patent/KR102653309B1/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
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06314Calendaring for a resource
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi-Process Working Machines And Systems (AREA)

Abstract

GUI 기반으로 잡을 스케쥴링할 수 본 발명의 일 측면에 따른 스케쥴링 장치는, 속성정보의 설정을 통해 실행대상이 되는 잡(Job)을 생성하는 잡 생성부; 각 잡의 실행순서에 따라 복수개의 잡들을 링크(Link)로 연결하고 각 잡의 실행조건을 설정하여 상기 복수개의 잡들로 구성된 잡 플로우를 생성하는 잡 플로우 생성부; 및 상기 실행순서 및 상기 실행조건에 따라 상기 복수개의 잡들을 실행하는 잡 실행부를 포함하는 것을 특징으로 한다.

Description

스케쥴링 장치 및 방법{Apparatus and Method for Scheduling}
본 발명은 스케쥴링 장치 및 방법에 관한 것으로서, 보다 구체적으로 GUI기반의 작업 스케쥴링에 관한 것이다.
슈퍼컴퓨터, 고성능 클러스터, 그리드 시스템, 웹 서비스 등 다양한 형태의 컴퓨팅 자원 환경 하에서 실행순서에 있어서 종속성이 있는 업무(Job)들을 효율적으로 스케쥴링 할 수 있는 작업 스케쥴링 장치가 제안된 바 있다.
하지만, 일반적인 업무 스케쥴링 장치는 GUI 기반으로 구현되지 않기 때문에, 작업자가 실행할 업무들의 선후관계 설정이 불편할 뿐만 아니라, 업무 스케쥴링시 특정 업무의 실행상태는 물론 전체적인 업무들의 실행상태를 직관적으로 파악하기가 어려워 업무 스케쥴링의 효율성이 저하된다는 문제점이 있다.
또한, 기존의 업무 스케쥴링 장치는 일반 기업 업무를 타겟으로 하고 있어, 공휴일 등의 업무처리 방식이 일반 기업과는 상이할 수 밖에 없는 금융 시스템에는 적용하기가 어려워 확장성이 제한된다는 문제점이 있다.
본 발명은 상술한 문제를 해결하기 위한 것으로, GUI 기반으로 잡(job)을 스케쥴링할 수 있는 스케쥴링 장치 및 방법을 제공하는 것을 그 기술적 과제로 한다.
또한, 본 발명은 특정 잡의 실행일이 공휴일인 경우 대리일자에 해당 잡이 자동으로 실행되도록 스케쥴링할 수 있는 되게 할 수 있는 스케쥴링 장치 및 방법을 제공하는 것을 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 스케쥴링 장치는, 속성정보에 따라 실행될 잡(Job)을 생성하는 잡 생성부; 각 잡의 실행순서에 따라 복수개의 잡들을 링크(Link)로 연결하고 각 잡의 실행조건을 설정하여 상기 복수개의 잡들로 구성된 잡 플로우를 생성하는 잡 플로우 생성부; 및 상기 실행순서 및 상기 실행조건에 따라 상기 복수개의 잡들을 실행하는 잡 실행부를 포함하는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 스케쥴링 방법은, 잡(Job) 별로 속성정보를 설정하여 해당 잡을 생성하는 단계; 각 잡의 실행순서에 따라 복수개의 잡들을 링크(Link)로 연결하는 단계; 상기 각 잡의 실행조건을 설정하여 상기 복수개의 잡들로 구성된 잡 플로우를 생성하는 단계; 현재일에 실행되어야 할 잡들을 인스턴스(Instance)로 활성화시키는 단계; 및 상기 복수개의 잡들 중 인스턴스로 활성화된 잡들을 상기 실행순서 및 상기 실행조건에 따라 실행시키는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 잡을 GUI 기반으로 생성할 수 있기 때문에 사용자는 드래그 앤 드롭 방식으로 잡들을 연결하여 잡 플로우를 생성할 수 있어 사용자의 편의성이 향상된다는 효과가 있다.
또한, 본 발명에 따르면 잡 플로우에 포함되어 있는 각 잡들의 실행상태를 GUI를 통해 제공할 수 있기 때문에, 사용자는 특정 잡의 실행상태는 물론 전체 잡들의 실행상태를 직관적으로 확인할 수 있어 잡 스케쥴링 효율성이 극대화된다는 효과가 있다.
또한, 본 발명에 따르면 특정 잡의 실행일이 공휴일인 경우 전영업일 또는 익영업일과 같은 대리일자에 해당 잡이 자동으로 실행되도록 스케쥴링할 수 있어 일반 기업은 물론 금융 시스템에서도 이용이 가능하므로 적용범위가 확장된다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 스케쥴링 장치가 적용되는 네트워크 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 스케쥴링 장치의 구성을 개략적으로 보여주는 블록도이다.
도 3a 내지 도 3c는 잡을 생성하는 방법의 예를 보여주는 도면이다.
도 4a 내지 도 4c는 실행일 설정방식의 예를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 잡의 구성을 예시적으로 보여주는 도면이다.
도 6a 내지 도 6b는 잡 플로우를 생성하는 방법의 예를 보여주는 도면이다.
도 7은 인스턴스로 활성활된 잡과 인스턴스로 활성화되지 않은 잡의 표시방법을 예시적으로 보여주는 도면이다.
도 8은 각 잡의 실행일을 캘린더 상에 표시한 예를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 스케쥴링 방법을 보여주는 플로우차트이다.
본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
한편, 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목, 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목, 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 스케쥴링 장치가 적용되는 네트워크 구성을 보여주는 도면이다. 도 1에 도시된 바와 같이 본 발명이 일 실시예에 따른 스케쥴링 장치(100)는 사용자 단말기(110)를 통해 입력되는 사용자의 요청에 따라, 특정 잡(Job)이 지정일자 또는 지정시간에 맞추어 실행될 수 있도록 해당 잡의 실행을 스케쥴링 한다.
이때, 사용자 단말기(110)는 유선 인터넷 접속 및 브라우징 기능이 구비된 개인 컴퓨터(PC) 또는 노트북, 무선랜/휴대인터넷 접속 및 브라우징 기능이 구비된 노트북 또는 휴대단말기, 이동통신망에 접속 및 브라우징 기능이 구비된 PCS(Personal Communication System), GSM(Global System for Mobile) 단말기, PDA(Personal Digital Assistant), 스마트폰(Smart Phone), 또는 태블릿 PC 등을 포함할 수 있다.
본 발명에 따른 사용자 단말기(110)는 스케쥴링 장치(100)에 따라 생성된 업무를 실행하도록 요청을 송신하는 사용자로서, 스케쥴링 장치가 제공하는 스케쥴 관리 어플리케이션을 통해 접속하여 요청을 송신하고 잡을 실행시킬 수 있다. 사용자 단말기(110)는 스케쥴링 장치(100)를 이용하여 스케쥴(잡 플로우)을 등록, 관리하는 관리자뿐만 아니라 생성된 스케쥴을 실행하는 개발자 등 다수의 사용자 단말기를 포함한다.
일 실시예에 있어서, 스케쥴링 장치(100)는 잡의 실행을 위해 서버(120) 또는 하나 이상의 서버(120)(또는 에이전트(미도시))에 접속함으로써 각 서버(120) 또는 에이전트를 통해 해당 잡을 실행할 수 있다. 서버(120)는 사용자 단말기(110)에 스케쥴 관리 어플리케이션을 제공하여 스케쥴을 생성, 관리할 수 있도록 제공하며 스케쥴링 생성과 실행을 위해 필요한 정보의 데이터베이스 등 추가 구성요소를 포함할 수 있다.
스케쥴링 장치(100)는 사용자로 하여금 실행할 업무의 흐름을 프로그램 코드로 구성하는 것이 아니라, 스케쥴 관리 어플리케이션을 사용자 단말기(110)에 제공하여 잡 단위로 생성, 배치할 수 있도록 한다. 또한 스케쥴링 장치(100)는 사용자 단말기(110)에 의해 배치된 여러 잡들과 이를 연결한 링크에 선행, 후행 조건들을 설정할 수 있도록 하고, 업무의 흐름이 잡의 배치와 조건 만족 여부에 따라 자동적으로 진행되도록 구현한다. 따라서, 스케쥴링 장치(100)에 의해 사용자가 생성한 잡 플로우가 자동적으로 실행되고, 사용자는 특정 잡의 실행상태는 물론 전체 잡들의 실행 흐름을 직관적으로 확인할 수 있어 오류 확인과 수정에 용이한 효과가 있다.
구체적으로, 스케쥴링 장치(100)는 잡 플로우 실행 시 해당 날짜에 실행될 잡을 판단하고, 잡에 정의된 처리 조건을 확인할 수 있다(예컨대, 매일처리 또는 휴일시 익일처리 등). 처리할 잡이 선정되면 해당 잡에 대해 인스턴스를 생성하고, 실행을 위한 조건(시간, 선행 잡의 완료 여부, 책임자 승인 여부 등)들을 확인하여 모두 만족 시 해당 에이전트에 실행지시를 보냄으로써 처리할 잡이 실행되도록 구현된다.
이처럼, 본 발명의 스케쥴링 장치(100)는, 이하에서 설명하는 구성요소들을 통해, 실행하고자 하는 잡을 용이하게 등록, 수정할 수 있을 뿐만 아니라, 미리 설정된 조건에 따라 잡을 실행하되 시각적으로 진행상황을 파악하고, 유지보수할 수 있도록 구현함으로써, 효율적인 스케쥴링 방법을 제공할 수 있다.
특히, 본 발명에 따르면 특정 잡의 실행일이 공휴일인 경우 전영업일 또는 익영업일과 같은 대리일자에 해당 잡이 자동으로 실행되도록 스케쥴링할 수 있어 금융 시스템뿐만 아니라 다양한 업무 처리 시스템에 활용될 수 있는 이점이 있다.
이하에서는, 본 발명에 따른 스케쥴링 장치(100)의 구성을 도 2를 참조하여 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 스케쥴링 장치의 구성을 개략적으로 보여주는 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스케쥴링 장치(100)는 잡 생성부(210), 잡 플로우 생성부(220), 잡 활성화부(230), 잡 실행부(240), 및 데이터베이스(250)를 포함한다. 또한, 스케쥴링 장치(100)는 일정 표시부(260)를 추가로 포함할 수 있다.
잡 생성부(210)는 속성정보에 따라 실행될 업무를 잡(job) 단위로 생성한다. 일 실시예에 있어서, 본 발명에 따른 잡은 GUI(Graphic User Interface)를 이용하여 그래픽적으로 표현된다.
일 실시예에 있어서, 잡 생성부(210)는 사용자로부터 특정 잡에 대한 스케쥴링 요청이 수신되면, 해당 잡을 생성할 수 있다. 일 실시예로, 도 3a에 도시된 바와 같이 제1 영역(310)에 잡 타입(Type)에 대응되는 템플릿들(312a~312e)이 배치되어 있는 화면을 출력할 수 있다. 이처럼, 잡 생성부(210)는 복잡한 프로그래밍 코드가 아니라, 개발 화면을 그래픽적으로 표현하여, 생성하는 잡을 블록형태로 생성하고 순서에 맞게 배치, 연결하도록 함으로써, 사용자가 생성하고자 하는 업무와 스케쥴을 직감적으로 생성하고 수정할 수 있는 환경을 제공한다.
이때, 잡 타입은 다른 잡의 시작 또는 종료를 정의하거나 소정시간 지연을 정의하는 더미 잡, HTTP 요청의 발생이나 실행을 정의하는 HTTP API 잡, 스프링 배치(Spring Batch)의 실행을 정의하는 스프링 배치 잡, 스크립트(Script)의 실행을 정의하는 스크립트 실행 잡, 및 파일감시의 실행을 정의하는 파일감시 잡 중 적어도 하나를 포함할 수 있다.
이러한 실시예에 따르는 경우, 잡 생성부(210)는 도 3a에 도시된 바와 같이 제1 영역(310) 내에 파일감시 잡에 대응되는 제1 템플릿(312a), HTTP API 잡에 대응되는 제2 템플릿(312b), 스프링 배치 잡에 대응되는 제3 템플릿(312c), 더미 잡에 대응되는 제4 템플릿(312d), 및 스크립트 실행 잡에 대응되는 제5 템플릿(312e)이 배치된 화면을 사용자 단말기(110)로 출력할 수 있다.
이후, 제1 영역(310)에 표시된 템플릿들(312a~312e) 중 어느 하나가 사용자에 의해 선택된 후 드래그 앤 드롭(Drag and Drop) 방식으로 제2 영역(320)으로 배치되면, 잡 생성부(210)는 도 3b에 도시된 바와 같이 제1 영역(310)을 통해 해당 잡의 속성(Definition) 정보 입력을 위한 속성정보 입력창(330)을 제공한다.
일 실시예에 있어서, 속성정보 입력창(330)은 도 3b에 도시된 바와 같이 잡 식별정보(Job ID)를 입력하기 위한 식별정보 입력창(330a), 잡 명칭(Job Name)을 입력하기 위한 명칭 입력창(330b), 실행시간 입력을 위한 타임존 입력창(330c) 및 실행시간 입력창(330d), 및 실행일 입력타입 지정을 위한 메뉴(330k)를 포함할 수 있다.
또한, 속성정보 입력창(330)은 생성될 잡의 타입에 따라 추가정보를 입력하기 위한 입력창을 추가로 제공할 수도 있다. 구체적으로, 도 3b에 도시된 바와 같이 잡이 스프링 배치 잡인 경우 속성정보 입력창(330)에는 스프링 배치 명칭(Spring Batch Name)을 입력하기 위한 명칭 입력창(330d), 잡 파라미터(Job Parameter) 입력창(330h), 및 스프링 배치를 수행할 잡을 실행할 에이전트 식별정보(Agent ID)를 입력하기 위한 입력창(330i)을 추가로 포함할 수 있다.
또한, 잡이 스크립트 실행 잡 또는 파일감시 잡인 경우 속성정보 입력창(330)에는 도 3b에 도시된 바와 같이 실행파일 경로를 입력하기 위한 입력창(330e) 및 스크립트 실행 잡이나 파일 감시 잡을 실행할 에이전트 식별정보(Agent ID)를 입력하기 위한 입력창(330i)를 추가로 포함할 수 있다.
또한, 잡이 HTTP API 잡인 경우 속성정보 입력창(330)에는 도 3c에 도시된 바와 같이 HTTP 헤더정보(HTTP Header)를 입력하기 위한 입력창(330M), 호스트 정보(Host)를 입력하기 위한 입력창(330L), 포트정보(Port)를 입력하기 위한 입력창(330O), 컨텍스트 경로(Context Path)를 입력하기 위한 입력창(330P), SSL 사용 여부를 설정하기 위한 메뉴(330Q), 및 HTTP 메소드(HTTP Method)를 선택하기 위한 메뉴(330R)를 추가로 포함할 수 있다.
또한, 속성정보 입력창(330)에는 해당 잡의 사용여부를 설정하기 위한 설정메뉴(330j) 및 해당 잡의 실행을 위해 타 사용자에 의한 승인여부를 설정할 수 있는 승인여부 설정메뉴(330t)를 더 포함할 수 있다.
상술한 실시예에서, 각 잡의 타입 별로 추가로 제공되어야 하는 입력창 또는 메뉴는 도 3c에 도시된 바와 같은 필드추가버튼(Add Field, 330S)이 선택되면 활성화 되거나, 모든 입력창 또는 메뉴가 속성정보 입력창(330)에 표시되되 각 잡의 타입 별로 이용 가능한 입력창이나 메뉴만이 활성화 되도록 할 수도 있을 것이다.
한편, 실행일 입력타입 지정을 위한 메뉴(330K)는 도 3b에 도시된 바와 같이 논리적 스케쥴 입력버튼(330K-1), 물리적 스케쥴 입력버튼(330K-2), 및 크론탭 스케쥴 입력버튼(330K-3)을 포함할 수 있다.
이때, 논리 스케쥴 입력버튼(330K-1)은 논리 스케쥴 방식으로 실행일을 입력하기 위한 메뉴로서, 논리 스케쥴 방식이란 특정 잡의 실행일이 사용자에 의해 선택되는 날짜조건에 따라 논리적으로 연산되어 결정되는 실행일 입력방식을 의미한다. 물리 스케쥴 입력버튼(330K-2)은 물리 스케쥴 방식으로 실행일을 입력하기 위한 메뉴로서, 물리 스케쥴 방식이란 특정 잡의 실행일이 사용자에 의해 입력되는 특정일로 고정되는 방식의 실행일 입력정보를 의미한다. 또한, 크론탭 스케쥴 입력버튼(330K-3)은 크론탭 스케쥴 방식으로 실행일을 입력하기 위한 메뉴로서, 크론탭 스케쥴이란 특정 잡의 실행일이 미리 정해진 타입의 코드로 입력되는 방식을 의미한다.
구체적으로, 사용자에 의해 논리적 스케쥴 입력버튼(330K-1)이 선택되면 잡 생성부(210)는 도 4a에 도시된 바와 같은 논리적 스케쥴 입력메뉴(510)를 제공한다. 도 4a에 도시된 바와 같이, 논리적 스케쥴 입력메뉴(510)는 일자타입 선택메뉴(512), 휴일시 처리방식 선택메뉴(514), 째주입력메뉴(516), 및 기타입력메뉴(518)를 포함할 수 있다.
일자타입 선택메뉴(512)는 해당 잡이 실행될 실행일을 지정하기 위한 메뉴로써, 도 4a에 도시된 바와 같이 해당 잡이 매달 말일 실행되는 것으로 지정하기 위한 제1 버튼(512a), 해당 잡이 영업일에 실행되는 것으로 지정하기 위한 제2 버튼(512b), 해당 잡이 휴일에 실행되는 것으로 지정하기 위한 제3 버튼(512c), 해당 잡이 매일 실행되는 것으로 지정하기 위한 제4 버튼(512d), 해당 잡을 실행일에 관계없이 필요시 실행시키기 위한 제5 버튼(512e), 및 해당 잡이 매달 1일에 실행되는 것으로 지정하기 위한 제6 버튼(512f)을 포함할 수 있다.
휴일시 처리방식 선택메뉴(514)는 해당 잡의 실행일이 영업일이 아닌 경우 잡의 처리방식을 선택하기 위한 메뉴로써, 도 4a에 도시된 바와 같이 잡 실행일이 휴일인 경우 해당 잡을 실행하지 않는 것을 지정하기 위한 제1 버튼(514a), 잡 실행일이 휴일인 경우 이전 영업일에 해당 잡을 실행하도록 지정하기 위한 제2 버튼(514b), 잡 실행일이 휴일인 경우 다음 영업일에 해당 잡을 실행하도록 지정하기 위한 제3 버튼(514c), 및 휴일여부에 관계없이 실행일에 잡을 실행하도록 지정하기 위한 제4 버튼(514d)을 포함한다.
째주입력메뉴(516)는 해당 잡이 실행될 실행일을 n째주 m요일과 같은 형태로 지정하거나 n번째 m요일가 같은 형태로 지정하기 위한 메뉴이다. 일 예로, 일례로 째주입력메뉴(516)는 “nWm” 또는 “nTHm”과 같은 형태(n은 1이상 6이하의 자연수, m은 1 이상 7이하의 자연수)로 실행일을 지정할 수 있다. 이때, n이 1이면 1째주 또는 1번째주를, n이 2이면 2째주 또는 2번째주를, n이 3이면 3째주 또는 3번째주를, n이 4이면 4째주 또는 4번째주를, n이 5이면 5째주 또는 5번째주를, n이 6이면 6째주 또는 6번째주를 나타낸다. 또한, m이 1이면 일요일을, m이 2이면 월요일을, m이 3이면 화요일을 m이 4이면 수요일을, m이 5이면 목요일을, m이 6이면 금요일을, m이 7이면 토요일을 나타낸다.
예컨대, 사용자가 째주입력메뉴(516)에 “1W3”을 입력하면 해당 잡의 실행일은 해당 월의 1째주 화요일로 지정되고, “3W7”을 입력하면 해당 잡의 실행일은 해당 월의 3째주 토요일로 지정된다. 또한, 사용자가 째주입력메뉴(516)에 “1TH3”를 입력하면 해당 잡의 실행일은 해당 월의 1번째 화요일로 지정되고, “3TH7”을 입력하면 해당 잡의 실행일은 해당 월의 3번째 토요일로 지정된다. 해당 월의 모든 날짜를 실행일로 지정하기 위해 사용자는 째주입력메뉴(516) “*W*”로 입력할 수 있다. 한편, 해당월의 1째주에 화요일이 없는 경우 째주입력메뉴(516)에 “1W3”가 입력될 때와 “1TH3”가 입력될 때, 해당 잡의 실행일이 다르게 지정될 수 있다.
기타입력메뉴(518)에는 해당 잡을 반복해서 실행할 최대회수를 설정하기 위한 입력창(518a), 해당 잡의 반복실행 중 에러 발생시 처리방식을 설정하기 위한 메뉴(518b), 해당잡의 반복실행 기준을 설정하기 위한 메뉴(518c), 및 해당 잡의 반복 실행시 지연주기를 설정하기 위한 입력창(518d)을 포함할 수 있다.
한편, 사용자에 의해 물리적 스케쥴 입력버튼(330K-2)이 선택되면 잡 생성부(210)는 도 4b에 도시된 바와 같은 물리적 스케쥴 입력메뉴(520)를 제공한다. 도 4b에 도시된 바와 같이, 물리적 스케쥴 입력메뉴(520)는 실행일 입력창(522), 휴일시 처리방식 선택메뉴(524), 및 기타입력메뉴(526)를 포함할 수 있다.
실행일 입력창(522)은 해당 잡이 실행될 고정일자를 입력하기 위한 입력창으로써, 예컨대 “yyyyMMdd”와 같은 형태로 해당 잡이 실행될 실행일이 고정된 날짜 형태로 실행일 입력창(522)에 입력될 수 있다. 실행일 입력창(522)에 실행일을 입력하기 위한 형태는 실행일이 특정날짜로 고정될 수만 있다면 그 형식에는 제한이 없다. 또한, 실행일 입력창(522)에는 복수개의 고정일자가 입력될 수 있다. 예컨대, “20200107, 20200730”과 같이 콤마를 구분자로 하여 복수개의 고정일자가 실행일 입력창(522)에 입력될 수 있다.
휴일시 처리방식 선택메뉴(524) 및 기타입력메뉴(526)는 도 4a에 도시된 휴일시 처리방식 선택메뉴(514) 및 기타입력메뉴(518)와 동일하므로 구체적인 설명은 생략한다.
한편, 사용자에 의해 크론탭 스케쥴 입력버튼(330K-3)이 선택되면 잡 생성부(210)는 도 4c에 도시된 바와 같은 크론탭 스케쥴 입력메뉴(530)를 제공한다. 도 4c에 도시된 바와 같이, 크론탭 스케쥴 입력메뉴(530)는 크론탭 표현식의 입력을 위한 표현식 입력창(532)을 포함할 수 있다. 일 실시예에 있어서, 사용자는 “org,quartz.CronExpression”의 표현식을 이용하여 해당잡의 실행일을 지정할 수 있다. 예컨대, 사용자가 표현식 입력창(532)에 “0 0 12 * * ?”와 같은 표현식을 입력하면 해당 잡은 매일 12시 정각에 실행되는 것으로 지정될 수 있다.
한편, 상술한 바와 같은 속성정보 입력창(330)을 통해 해당 잡에 대한 속성정보의 입력이 완료되면 잡 생성부(210)는 도 3a의 템플릿들(312a~312e) 중 사용자에 의해 선택된 템플릿에 해당 잡의 속성정보를 매핑시킴으로써 제2 영역(320)에 해당 잡(322)을 생성한다. 이때, 잡 생성부(210)는 속성정보 입력창(330)을 통해 입력된 속성정보와 생성된 잡(322)을 매핑시켜 데이터베이스(250)에 저장한다.
상술한 실시예에 있어서는, 제1 영역(310)에 표시된 템플릿들(312a~312e) 중 어느 하나가 사용자에 의해 선택된 후 드래그 앤 드롭(Drag and Drop) 방식으로 제2 영역(320)으로 배치된 후 속성정보의 입력이 완료됨에 따라 잡(322)이 생성되는 것으로 설명하였다. 하지만, 다른 실시예에 있어서, 잡 생성부(210)는 데이터베이스(250)에 저장되어 있는 잡들을 검색하고, 검색된 잡을 복제함으로써 신규 잡을 생성할 수도 있다.
구체적으로, 도 3a에 도시된 바와 같이, 잡 생성부(210)는 제1 영역(310)에 잡의 검색을 위한 검색창(340)을 제공하고, 검색창(340)을 통해 사용자로부터 잡 식별자가 입력되면 입력된 잡 식별자에 대응되는 잡을 데이터베이스(250)에서 검색한다. 이후, 잡 생성부(210)는 검색된 잡들에 대응되는 잡 식별자들로 구성된 검색결과 목록을 사용자에게 제공하고, 검색결과 목록에서 사용자에 의해 선택되는 잡 식별자에 대응되는 잡을 데이터베이스(250)에 독출하여 제2 영역(320)에 표시함으로써 잡을 생성할 수도 있다.
이때, 잡 생성부(210)는 선택된 잡에 대응되는 잡의 속성정보를 도 3b에 도시된 바와 같은 속성정보 입력창(330)을 통해 사용자에게 제공함으로써 신규 잡이 선택된 잡의 속성정보를 상속받을 수 있도록 한다. 다만, 신규 잡과 선택된 잡과의 구별을 위해, 잡 생성부(210)는 속성정보 입력창(330)을 통해 사용자가 신규 잡에 대해 새로운 잡 식별자를 입력할 수 있도록 한다.
즉, 신규 잡과 선택된 잡은 잡 식별자를 제외한 나머지 속성정보는 모두 동일하게 설정된다. 이에 따라, 사용자는 기존에 이미 수행했던 잡과 동일한 잡 수행을 위한 잡 생성시 이전에 입력하였던 속성정보를 반복하여 입력할 필요 없이 기존에 이미 입력하였던 속성정보를 다시 이용하여 잡을 생성할 수 있기 때문에 사용자의 편의성이 향상된다.
잡 생성부(210)에 의해 생성된 잡의 일례가 도 5에 도시되어 있다. 도 5에 도시된 바와 같이, 잡(600)에는 잡(600)의 상태가 그래픽적으로 표시되는 제1 인디케이터 영역(610), 잡(600)의 상태가 텍스트로 표시되는 제2 인디케이터 영역(620), 잡(600)의 타입이 그래픽적으로 표시되는 제3 인디케이터 영역(630), 잡(600)의 식별정보가 표시되는 제4 인디케이터 영역(640), 및 잡(600)의 명칭이 텍스트로 표시되는 제5 인디케이터 영역(650) 중 적어도 하나를 포함할 수 있다.
이때, 제1 인디케이터 영역(610)에는 4개의 아이콘(612~618)이 출력될 수 있다. 제1 아이콘(612)은 잡(600)이 인스턴스로 활성화된 상태를 나타내기 위한 것이고, 제2 아이콘(614)은 잡(600)이 실행중인 것을 나타내기 위한 것이며, 제3 아이콘(616)은 잡(600)이 정상종료된 것을 나타내기 위한 것이고, 제4 아이콘(618)은 잡(600)이 실패종료된 것을 나타내기 위한 것이다.
이와 같이, 본 발명에 따르면 잡 생성부(210)가 잡(600)을 그래픽적으로 표현할 수 있기 때문에, 사용자는 그랙픽적으로 표시된 잡(600)만을 통해서도 해당 잡(600)의 상태 및 특성을 직관적으로 확인할 수 있어 잡 스케쥴링 효율이 향상될 수 있다.
다시 도 2를 참조하면, 잡 플로우 생성부(220)는 잡 생성부(210)에 의해 생성된 잡들을 링크(Link)로 연결시킴으로써 복수개의 잡들로 구성된 잡 플로우를 생성한다. 이때, 잡 플로우 생성부(220)는 각 잡들을 실행순서에 따라 링크를 통해 순차적으로 연결시키고, 각 잡들의 실행조건을 설정함으로써 잡 플로우를 생성할 수 있다.
일 실시예에 있어서, 사용자가 포인팅 장치로 2개의 잡들 중 먼저 실행되어야 할 제1 잡의 일부를 선택한 후(예컨대, 선행 잡 상에 마우스 포인트를 위치시킨 후 마우스의 오른쪽 버튼을 클릭할 수 있음) 나중에 실행되어야 할 제2 잡까지 드래그하면, 잡 플로우 생성부(220)는 제1 잡 및 제2 잡을 링크로 연결시킴으로써 제1 잡을 제2 잡에 대한 선행 잡으로 설정할 수 있다. 이후, 잡 플로우 생성부(220)는 제1 및 제2 잡을 연결하는 링크 상에 제2 잡에 대한 실행조건을 설정함으로써 제1 및 제2 잡을 포함하는 잡 플로우를 생성할 수 있다.
구체적으로, 도 6a에 도시된 바와 같이, 사용자가 제1 잡(710)을 포인팅 장치로 클릭한 후 포인팅 장치를 제2 잡(720)까지 드래그하는 경우 잡 플로우 생성부(220)는 제1 잡(710)과 제2 잡(720)을 연결하는 링크(730)를 생성하고, 사용자가 링크(730)를 포인팅 장치로 선택하면 도 6b에 도시된 바와 같이, 제2 잡(720)를 실행하기 위한 실행조건을 선택할 수 있는 실행조건 설정메뉴(740)를 출력한다.
본 실시예에서는 드래그 앤 드롭 방식에 의해 잡들을 연결하는 예를 설명하고 있으나 이에 한정되는 것은 아니며, 사용자의 다양한 입력방식에 따라 둘 이상의 잡을 연결할 수 있다.
일 실시예에 있어서, 도 6b에 도시된 바와 같이, 실행조건 설정메뉴(740)는 제1 잡(710)이 인스턴스로 활성화되면 제2 잡(720)이 실행되게 하는 제1 실행조건(740a), 제1 잡(710)이 인스턴스로 활성화되지 않을 때 제2 잡(720)이 실행되게 하는 제2 실행조건(740b), 제1 잡(710)(710)이 정상적으로 종료되었을 때 제2 잡(720)이 실행되게 하는 제3 실행조건(740c), 제1 잡(710)이 실패로 종료되었을 때 제2 잡(720)이 실행되게 하는 제4 실행조건(740d), 제1 잡(710)의 실패 또는 성공에 관계없이 제1 잡(710)이 종료되기만 하면 제2 잡(720)이 실행되게 하는 제5 실행조건(740e), 및 제1 잡(710)이 정상종료 되면 제2 잡(720)이 강제로 인스턴스로 활성화되어 제2 잡(720)이 실행되게 하는 제6 실행조건(740f)을 포함할 수 있다.
사용자가 도 6b에 도시된 실행조건 설정메뉴(740) 상에서 어느 하나의 실행조건을 선택하면, 선택된 실행조건이 제2 잡(720)의 실행조건으로 링크(730)에 설정된다.
일 실시예에 있어서, 잡 플로우 생성부(220)는 최초 링크 생성시 제1 잡(710)이 정상종료되었을 때 제2 잡(720)이 실행되게 하는 제3 실행조건(740c)을 제2 잡(720)의 실행조건으로 디폴트 값으로 설정할 수 있다.
잡 플로우 생성부(220)는 각 링크에 설정된 실행조건에 따라 링크의 색상 또는 형태를 상이하게 표시할 수 있다. 예컨대, 실행조건이 제1 잡(710)이 정상적으로 종료되었을 때 제2 잡(720)이 실행되는 것으로 설정되어 있는 경우 잡 플로우 생성부(220)는 링크를 오렌지 색으로 표시하고, 실행조건이 제1 잡(710)이 실패로 종료되었을 때 제2 잡(720)이 실행되는 것으로 설정되어 있는 경우 링크를 빨간색으로 표시할 수 있다.
한편, 하나의 잡 플로우에 포함되는 복수개의 잡들은 모두 동일한 사용자에 의해 생성된 것일 수 있다. 하지만, 다른 실시예에 있어서, 하나의 잡 플로우에 포함되는 복수개의 잡들은 다른 사용자에 의해 생성될 수도 있다. 예컨대, 복수개의 잡들로 구성되는 특정 태스크(Task)를 그룹단위 또는 팀 단위로 수행해야 하는 경우, 잡 생성부(210)는 각 잡을 담당하는 사용자 별로 각 사용자의 잡에 대한 잡을 생성하고, 잡 플로우 생성부(220)는 사용자의 선택에 따라 제1 사용자에 의해 생성된 잡과 제2 사용자에 의해 생성된 잡을 링크로 연결시킴으로써 하나의 잡 플로우가 생성되도록 할 수도 있다.
이와 같이, 본 발명에 따르면 서로 다른 사용자에 의해 생성된 잡들을 이용하여 하나의 잡 플로우를 구성할 수 있기 때문에, 협업이 요구되는 태스크의 스케쥴링을 용이하게 수행할 수 있게 된다.
다시 도 2를 참조하면, 잡 활성화부(230)는 기준일이 도래하면 해당 일(日)에 실행되어야 할 잡들을 인스턴스(Instance)로 활성화시킨다. 일 실시예에 있어서, 잡 활성화부(230)는 잡들의 속성정보(Definition)를 확인함으로써 해당 잡을 인스턴스(Instance)로 활성화시킬 수 있다. 이때, 기준일은 매일 00시 00분으로 설정될 수 있다.
잡 활성화부(230)는 기준일에 데이터베이스(250)에 저장된 잡들 중 인스턴스로 활성화되어야 하는 잡들을 검색하여 해당 잡들을 인스턴스로 활성화 시킨다.
구체적으로, 잡 활성화부(230)는 현재일을 기준으로 잡 실행일이 현재일로 지정되어 있는 잡들을 인스턴스로 활성화시킨다. 특히, 본 발명에 따른 잡 활성화부(230)는 현재일이 영업일이고 현재일을 기준으로 전일 또는 익일이 휴일인 경우, 잡 실행일이 현재일로 지정되어 있는 잡들 뿐만 아니라 잡 실행일이 현재일의 전일로 설정된 잡들 중 휴일시 처리방식이 익영업일로 설정되어 있는 잡과 잡 실행일이 현재일의 익일로 설정된 잡들 중 휴일시 처리방식이 전영업일로 설정되어 있는 잡도 인스턴스로 활성화시킨다.
이에 따라, 사용자는 스케쥴링 정보를 통해 잡의 휴일시 처리방식을 전영업일 또는 익영업일로 설정해 두기만 하면, 잡 활성화부(230)가 스케쥴링 정보에 따라 설정된 실행일을 기준으로 전영업일 또는 익영업일에 해당 잡을 자동으로 인스턴스로 활성화 시킬 수 있기 때문에, 잡 실행부(240)가 해당 잡을 전영업일 또는 익영업일에 정상적으로 처리할 수 있게 된다.
이와 같이, 본 발명에 따르면 특정 잡의 실행일이 휴일인 경우 전영업일 또는 익영업일과 같은 대리일자에 해당 잡의 실행이 자동으로 실행되도록 스케쥴링할 수 있어 일반 기업은 물론 금융 시스템에서도 이용이 가능하므로 적용범위가 확장될 수 있다.
한편, 도 7에 도시된 바와 같이, 잡 활성화부(230)는 하나의 잡 플로우 내에 포함된 복수개의 잡들(810~880) 중 인스턴스로 활성활된 잡(810, 840)과 인스턴스로 활성화되지 않은 잡(820, 830, 850, 860, 870, 880)을 상이한 형태로 표시할 수 있다. 일례로, 잡 활성화부(230)는 도 7에 도시된 바와 같이, 인스턴스로 활성화된 잡(810, 840)과 인스턴스로 활성화 되지 않은 잡(820, 830, 850, 860, 870, 880)의 밝기를 다르게 표시할 수 있다. 다른 예로 잡 활성화부(230)는 인스턴스로 활성화된 잡(810, 840)과 인스턴스로 활성화 되지 않은 잡(820, 830, 850, 860, 870, 880)의 색상을 다르게 표시할 수도 있을 것이다.
다시 도 2를 참조하면, 잡 실행부(240)는 실행순서 및 실행조건에 따라 잡 플로우에 포함되어 있는 각 잡들을 실행시킨다. 일 실시예에 있어서, 잡 실행부(240)는 잡들 중 잡 활성화부(230)에 의해 인스턴스로 활성화된 잡들을 실행순서 및 실행조건에 따라 실행시킬 수 있다.
구체적으로, 잡 실행부(240)는 잡 활성화부(230)에 의해 인스턴스로 활성화된 잡들 중 실행시간이 도래한 잡이 존재하는 경우, 해당 잡을 실행시키기 위한 실행조건을 확인한다. 확인결과, 실행조건이 충족된 경우 잡 실행부(240)는 해당 잡을 실행시키고, 실행조건이 충족되지 않은 경우 실행조건이 충족될 때까지 해당 잡의 실행을 대기시킨다.
일 실시예에 있어서, 잡 실행부(240)는 사용자의 요청에 따라 실행조건이 충족되지 않은 경우에도 실행조건을 강제로 충족시킴으로써 해당 잡이 실행되도록 할 수 있다. 이를 위해, 도 5에 도시된 바와 같이 잡(600)에는 플로우 이동을 위해 잡(600)의 실행상태를 강제변경 하기 위한 플로우 이동 아이콘이 배치되는 제6 인디케이터 영역(660)을 더 포함할 수 있고, 사용자에 의해 플로우 이동 아이콘이 선택되면 잡 실행부(240)는 해당 잡의 실행상태를 강제로 변경하기 위한 메뉴를 제공할 수 있다.
예컨대, 도 7에 도시된 바와 같이 선행 잡(840)이 정상종료되는 것이 후행 잡(850~880)의 실행조건으로 설정되어 있는 경우, 선행 잡(840)이 실패 종료되었기 때문에 후행 잡(850~880)은 실행될 수 없지만, 잡 실행부(240)는 사용자의 요청에 따라 선행 잡(840)의 상태를 강제로 정상종료로 상태변경시킴(890)으로써 후행잡(850~880)이 실행되도록 할 수 있다.
다시 도 2를 참조하면, 데이터베이스(250)에는, 잡 생성부(210)에 의해 생성된 잡들이 해당 잡의 속성정보와 매핑되어 저장된다. 이때, 잡들은 잡의 식별정보를 기준으로 저장될 수 있다. 또한, 데이터베이스(250)에는 잡 플로우 생성부(220)에 의해 생성된 잡 플로우가 저장될 수 있다. 즉, 데이터베이스(250)에는 하나의 잡 플로우에 포함된 잡들의 정보, 각 잡들의 연결관계, 및 각 잡들의 실행조건에 대한 정보들이 저장될 수 있다. 이외에도, 데이터베이스(250)는 각 잡 별 템플릿을 포함한 본 발명의 구현을 위한 다양한 정보들이 저장될 수 있다.
한편, 본 발명에 따른 스케쥴링 장치는 도 2에 도시된 바와 같이, 일정 표시부(260)를 더 포함할 수 있다. 일정 표시부(260)는 데이터베이스(250)에 저장되어 있는 각 잡의 실행일 정보를 AND 연산하여 해당 잡이 실행될 실행일을 특정하고, 특정된 실행일을 캘린더 상에 표시할 수 있다. 일 예로, 도 8에 도시된 바와 같이, 일정 표시부(260)는 각 잡의 실행일 정보를 AND 연산하여 특정되는 실행일(910)을 캘린더 상에 표시할 수 있다.
이하, 도 9를 참조하여 본 발명에 따른 스케쥴링 방법에 대해 설명한다. 도 9는 본 발명의 일 실시예에 따른 스케쥴링 방법을 보여주는 플로우차트이다. 도 9에 도시된 스케쥴링 방법은 도 2에 도시된 스케쥴링 장치에 의해 수행될 수 있다.
먼저, 스케쥴링 장치(100)는 실행될 업무를 잡(job) 단위로 생성하기 위해 사용자로부터 특정 잡에 대한 스케쥴링 요청이 수신되면, 해당 잡을 생성한다(S900). 스케쥴링 장치(100)는 잡을 GUI를 이용하여 그래픽적으로 생성할 수 있다. GUI를 이용하여 그래픽적으로 생성된 잡에 대한 설명은 도 5에 대한 설명부분에서 이미 기재하였으므로 구체적인 설명은 생략하기로 한다. 본 발명에 따르면 스케쥴링 장치(100)가 잡을 그래픽적으로 표현할 수 있기 때문에, 사용자는 잡만을 통해서도 해당 잡의 상태 및 특성을 직관적으로 확인할 수 있어 잡 스케쥴링 효율이 향상될 수 있다.
일 실시예에 있어서, 스케쥴링 장치(100)는 도 3a에 도시된 바와 같이 화면의 제1 영역(310)에 배치되어 있는 잡의 타입 별 템플릿들(312a~312e) 중 어느 하나가 사용자에 의해 선택된 후 드래그 앤 드롭(Drag and Drop) 방식으로 제2 영역(320)으로 배치되면, 도 3b에 도시된 바와 같은 속성정보의 입력을 위한 속성정보 입력창(330)을 제공함으로써 속성정보의 입력이 완료되면 제2 영역(320)에 해당 잡을 생성한다.
속성정보 입력창(330)을 통해 입력될 수 있는 속성정보에 대한 설명은 도 3b, 도 3c, 도 4a 내지 도 4c에서 설명하였으므로 구체적인 설명은 생략하기로 한다.
일 실시예에 있어서, 잡의 타입은 다른 잡의 시작 또는 종료를 정의하거나 소정시간 지연을 정의하는 더미 잡, HTTP 요청의 발생이나 실행을 정의하는 HTTP API 잡, 스프링 배치(Spring Batch)의 실행을 정의하는 스프링 배치 잡, 스크립트(Script)의 실행을 정의하는 스크립트 실행 잡, 및 파일감시의 실행을 정의하는 파일감시 잡 중 적어도 하나를 포함할 수 있다.
상술한 실시예에 있어서는, 제1 영역(310)에 표시된 템플릿들(312a~312e) 중 어느 하나가 사용자에 의해 선택된 후 드래그 앤 드롭(Drag and Drop) 방식으로 제2 영역(320)으로 배치된 후 속성정보의 입력이 완료됨에 따라 잡(322)이 생성되는 것으로 설명하였다. 하지만, 다른 실시예에 있어서, 스케쥴링 장치(100)는 데이터베이스에 저장되어 있는 잡들을 검색하고, 검색된 잡을 복제함으로써 신규 잡을 생성할 수도 있다. 기 저장된 잡들을 이용하여 신규 잡을 생성하는 방법은 도 3a에 대한 설명에서 이미 기재하였으므로, 구체적인 설명은 생략하기로 한다.
이후, 스케쥴링 장치(100)는 S900에서 생성된 잡들을 링크로 연결시킴으로써 복수개의 잡들로 구성된 잡 플로우를 생성한다(S910). 구체적으로, 스케쥴링 장치(100)는 각 잡들을 실행순서에 따라 링크를 통해 순차적으로 연결시키고, 각 잡들의 실행조건을 설정함으로써 잡 플로우를 생성할 수 있다. 본 실시예에서는 드래그 앤 드롭 방식에 의해 잡들을 연결하는 예를 설명하고 있으나 이에 한정되는 것은 아니며, 사용자의 다양한 입력방식에 따라 둘 이상의 잡을 연결할 수 있다.
예컨대, 스케쥴링 장치(100)는 사용자가 포인팅 장치로 2개의 잡들 중 먼저 실행되어야 할 제1 잡의 일부를 선택한 후 나중에 실행되어야 할 제2 잡까지 드래그하면, 제1 잡 및 제2 잡을 링크로 연결시킴으로써 제1 잡을 제2 잡에 대한 선행 잡으로 설정할 수 있다. 이후, 스케쥴링 장치(100)는 제1 및 제2 잡을 연결하는 링크 상에 제2 잡에 대한 실행조건을 설정함으로써 제1 및 제2 잡을 포함하는 잡 플로우를 생성할 수 있다.
일 실시예에 있어서, 실행조건은 선행 잡이 인스턴스로 활성화되면 후행 잡이 실행되게 하는 제1 실행조건, 선행 잡이 인스턴스로 활성화되지 않을 때 후행 잡이 실행되게 하는 제2 실행조건, 선행 잡이 정상적으로 종료되었을 때 후행 잡이 실행되게 하는 제3 실행조건, 선행 잡이 실패로 종료되었을 때 후행 잡이 실행되게 하는 제4 실행조건, 선행 잡의 실패 또는 성공에 관계없이 선행 잡이 종료되기만 하면 후행 잡이 실행되게 하는 제5 실행조건, 및 선행 잡이 정상종료 되면 후행 잡이 강제로 인스턴스로 활성되어 후행 잡이 실행되게 하는 제6 실행조건 중 적어도 하나를 포함할 수 있다.
스케쥴링 장치(100)는 잡 플로우를 화면에 표시할 때, 각 링크에 설정된 실행조건에 따라 링크의 색상 또는 형태를 상이하게 표시할 수 있다. 또한 잡 플로우 테스트 또는 실행 시에는 링크의 색상을 가변적으로 표시하여 실행중임을 나타낼 수 있다.
한편, 스케쥴링 장치(100)는 동일한 사용자에 의해 생성된 복수개의 잡들을 연결하여 잡 플로우를 생성할 수 있지만, 다른 실시예에 있어서 스케쥴링 장치(100)는 서로 다른 사용자에 의해 생성된 복수개의 잡들을 연결하여 잡 플로우를 생성할 수도 있다. 이와 같이, 본 발명에 따르면 서로 다른 사용자에 의해 생성된 잡들을 이용하여 하나의 잡 플로우를 구성할 수 있기 때문에, 협업이 요구되는 태스크의 스케쥴링을 용이하게 수행할 수 있게 된다.
이후, 스케쥴링 장치(100)는 기준일이 도래하는지 여부를 판단하고(S920), 기준일이 도래한 것으로 판단되면 해당 일(日)에 실행되어야 할 잡들을 판단할 수 있다. 이때, 스케쥴링 장치(100)는 잡들의 속성정보(Definition)를 확인함으로써 해당 잡을 인스턴스(Instance)로 활성화시킬 수 있다(S930). 일 실시예에 있어서, 기준일은 매일 00시 00분으로 설정될 수 있다.
구체적으로, 스케쥴링 장치(100)는 현재일을 기준으로 잡 실행일이 현재일로 지정되어 있는 잡들을 인스턴스로 활성화시킬지 여부를 판단한다. 예를 들어, 본 발명에 따른 스케쥴링 장치(100)는 잡들의 속성정보를 확인하여, 현재일이 영업일이고 현재일을 기준으로 전일 또는 익일이 휴일인 경우, 잡 실행일이 현재일로 지정되어 있는 잡들 뿐만 아니라 잡 실행일이 현재일의 전일로 설정된 잡들 중 휴일시 처리방식이 익영업일로 설정되어 있는 잡과 잡 실행일이 현재일의 익일로 설정된 잡들 중 휴일시 처리방식이 전영업일로 설정되어 있는 잡도 인스턴스로 활성화시킨다.
이에 따라, 사용자는 스케쥴링 정보를 통해 잡의 휴일시 처리방식을 전영업일 또는 익영업일로 설정해 두기만 하면, 스케쥴링 장치(100)가 스케쥴링 정보에 따라 설정된 실행일을 기준으로 전영업일 또는 익영업일에 해당 잡을 자동으로 인스턴스로 활성화 시킬 수 있기 때문에, 해당 잡을 전영업일 또는 익영업일에 정상적으로 처리할 수 있게 된다.
이와 같이, 본 발명에 따르면 특정 잡의 실행일이 휴일인 경우 전영업일 또는 익영업일과 같은 대리일자에 해당 잡의 실행이 자동으로 실행되도록 스케쥴링할 수 있어 일반 기업은 물론 금융 시스템에서도 이용이 가능하므로 적용범위가 확장될 수 있다.
이때, 스케쥴링 장치(100)는 하나의 잡 플로우 내에 포함된 복수개의 잡들 중 인스턴스로 활성활된 잡과 인스턴스로 활성화되지 않은 잡을 상이한 형태로 표시할 수 있다.
이후, 스케쥴링 장치(100)는 해당 잡의 실행시간이 도래했는지 여부를 판단한다(S940). S940의 판단결과 해당 잡의 실행시간이 도래하지 않은 것으로 판단되면, 스케쥴링 장치(100)는 실행시간이 만료되었는지 여부를 추가로 판단하고(S945), 판단결과 실행시간이 만료된 것으로 판단되면 절차를 종료하고(S947), 실행시간이 만료되지 않은 것으로 판단되면 해당 잡의 실행시간이 도래할 때까지 해당 잡의 실행을 대기시킨다.
한편, S940의 판단결과 해당 잡의 실행시간이 도래한 것으로 판단되는 경우 해당 잡에 대해 설정된 실행조건이 충족되었는지 여부를 판단한다(S950). 판단결과, 실행조건이 충족된 경우 스케쥴링 장치(100)는 해당 잡을 실행시킨다(S960). 하지만, S950의 판단결과 실행조건이 충족되지 않은 것으로 판단되면, 스케쥴링 장치(100)는 해당 잡의 실행시간이 도래할 때가지 해당 잡의 실행을 대기시킨다.
일 실시예에 있어서, 스케쥴링 장치(100)는 사용자의 요청에 따라 실행조건이 충족되지 않은 경우에도 실행조건을 강제로 충족시킴으로써 해당 잡이 실행되도록 할 수 있다. 예컨대, 선행 잡이 정상종료되는 것이 후행 잡의 실행조건으로 설정되어 있는 경우, 선행 잡이 실패 종료되었기 때문에 후행 잡은 실행될 수 없지만, 스케쥴링 장치(100)는 사용자의 요청에 따라 선행 잡의 실행상태를 강제로 정상종료로 상태변경 시킴으로써 후행 잡이 실행되도록 할 수 있다.
한편, 도 9에 도시하지는 않았지만, 본 발명에 따른 스케쥴링 방법은, 해당 잡이 사용 가능한 것으로 설정되어 있는지 여부를 확인하는 단계 및 해당 잡의 실행을 위해 타 사용자에 의한 승인이 필요한 것으로 설정되어 있는 경우 승인이 완료되었는지 여부를 판단하는 단계를 추가로 포함할 수도 있다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
또한, 본 명세서에 설명되어 있는 방법들은 적어도 부분적으로, 하나 이상의 컴퓨터 프로그램 또는 구성요소를 사용하여 구현될 수 있다.  이 구성요소는 휘발성 및 비휘발성 메모리를 포함하는 컴퓨터로 판독 가능한 매체 또는 기계 판독 가능한 매체를 통해 일련의 컴퓨터 지시어들로서 제공될 수 있다. 상기 지시어들은 소프트웨어 또는 펌웨어로서 제공될 수 있으며, 전체적 또는 부분적으로, ASICs, FPGAs, DSPs, 또는 그 밖의 다른 유사 소자와 같은 하드웨어 구성에 구현될 수도 있다. 상기 지시어들은 하나 이상의 프로세서 또는 다른 하드웨어 구성에 의해 실행되도록 구성될 수 있는데, 상기 프로세서 또는 다른 하드웨어 구성은 상기 일련의 컴퓨터 지시어들을 실행할 때 본 명세서에 개시된 방법들 및 절차들의 모두 또는 일부를 수행하거나 수행할 수 있도록 한다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 스케쥴링 장치 110: 사용자 단말기
210: 잡 생성부 220: 잡 플로우 생성부
230: 잡 활성화부 240: 잡 실행부
250: 데이터베이스 260: 일정 표시부

Claims (18)

  1. 속성정보의 설정을 통해 실행대상이 되는 잡(Job)을 생성하는 잡 생성부;
    각 잡의 실행순서에 따라 복수개의 잡들을 링크(Link)로 연결하고 각 잡의 실행조건을 설정하여 상기 복수개의 잡들로 구성된 잡 플로우를 생성하는 잡 플로우 생성부;
    기준일이 도래하면 현재일에 실행되어야 할 잡을 인스턴스(Instance)로 활성화시키는 잡 활성화부; 및
    상기 인스턴스로 활성화된 잡을 상기 실행순서 및 상기 실행조건에 따라 자동으로 실행시키는 잡 실행부를 포함하고,
    상기 잡 활성화부에 의해 상기 잡이 활성화되면 해당 잡에 대응되는 GUI(Graphic User Interface)의 밝기 또는 색상이 변경되고, 상기 잡 플로우 생성부에 의해 상기 링크 각각에 설정된 실행조건에 따라 해당 링크에 대응되는 GUI의 색상 또는 형태가 상이하게 표시되는 것을 특징으로 하는 스케쥴링 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 잡은 다른 잡의 시작 또는 종료를 정의하거나 소정시간 지연을 정의하는 더미 잡, HTTP 요청의 발생이나 실행을 정의하는 HTTP API 잡, 스프링 배치(Spring Batch)의 실행을 정의하는 스프링 배치 잡, 스크립트(Script)의 실행을 정의하는 스크립트 실행 잡, 및 파일감시의 실행을 정의하는 파일감시 잡 중 적어도 하나를 포함하는 것을 특징으로 하는 스케쥴링 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 잡 생성부는,
    화면상에서 제1 영역에 잡의 검색을 위한 검색창을 제공하고, 상기 검색창에 입력된 잡 식별자에 대응되는 잡을 검색하여 제2 영역에 표시하고, 상기 검색된 잡에 매핑되어 있는 속성정보에 새로운 잡 식별정보를 할당하여 해당 잡을 생성하는 것을 특징으로 하는 하는 스케쥴링 장치.
  10. 제1항에 있어서,
    상기 잡은 상기 잡의 상태가 그래픽적으로 표시되는 제1 인디케이터 영역, 상기 잡의 상태가 텍스트로 표시되는 제2 인디케이터 영역, 상기 잡의 타입이 그래픽적으로 표시되는 제3 인디케이터 영역, 상기 잡의 식별정보가 표시되는 제4 인디케이터 영역, 상기 잡의 명칭이 텍스트로 표시되는 제5 인디케이터 영역, 및 상기 잡의 실행상태를 강제 변경하기 위한 아이콘이 배치되는 제6 인디케이터 영역 중 적어도 하나를 포함하는 것을 특징으로 하는 하는 스케쥴링 장치.
  11. 제1항에 있어서,
    상기 잡 플로우 생성부는,
    2개의 잡들 중 선(先) 실행될 제1 잡에 대응되는 제1 GUI가 선택되어 후(後) 실행될 제2 잡에 대응되는 제2 GUI까지 드래그되면 상기 제1 GUI 및 상기 제2 GUI를 연결하는 상기 링크를 제3 GUI로 출력하여 상기 제1 잡과 제2 잡 간의 선후관계를 설정하고, 상기 제3 GUI를 통해 상기 제2 잡에 대한 실행조건을 설정하여 상기 제1 및 제2 잡을 포함하는 상기 잡 플로우를 생성하는 것을 특징으로 하는 스케쥴링 장치.
  12. 삭제
  13. 잡 생성부가, 잡(Job) 별로 속성정보를 설정하여 해당 잡을 생성하는 단계;
    잡 플로우 생성부가, 각 잡의 실행순서에 따라 복수개의 잡들을 링크(Link)로 연결하는 단계;
    상기 잡 플로우 생성부가, 상기 각 잡의 실행조건을 설정하여 상기 복수개의 잡들로 구성된 잡 플로우를 생성하는 단계;
    잡 활성화부가, 기준일이 도래하면 현재일에 실행되어야 할 잡들을 인스턴스(Instance)로 활성화시키는 단계; 및
    잡 실행부가, 상기 복수개의 잡들 중 인스턴스로 활성화된 잡들을 상기 실행순서 및 상기 실행조건에 따라 자동으로 실행시키는 단계를 포함하고,
    상기 잡 활성화부에 의해 상기 잡이 활성화되면 해당 잡에 대응되는 GUI(Graphic User Interface)의 밝기 또는 색상이 변경되고, 상기 잡 플로우 생성부에 의해 상기 링크 각각에 설정된 실행조건에 따라 해당 링크에 대응되는 GUI의 색상 또는 형태가 상이하게 표시되는 것을 특징으로 하는 스케쥴링 방법.
  14. 제13항에 있어서,
    상기 잡을 생성하는 단계에서, 상기 잡 생성부는 화면의 제1 영역에 출력된 각 잡의 타입 별 템플릿들 중 어느 하나가 사용자에 선택되어 드래그 앤 드롭(Drag and Drop) 방식으로 상기 화면의 제2 영역으로 배치되면, 상기 제1 영역에 상기 속성정보의 입력을 위한 속성정보 입력창을 제공하고, 상기 속성정보 입력창을 통해 상기 속성정보가 입력되면 해당 잡을 생성하는 것을 특징으로 하는 스케쥴링 방법.
  15. 제13항에 있어서,
    상기 잡 플로우를 생성하는 단계에서, 상기 잡 플로우 생성부는 2개의 잡들 중 선(先) 실행될 제1 잡에 대응되는 제1 GUI가 선택되어 후(後) 실행될 제2 잡에 대응되는 제2 GUI까지 드래그되면 상기 제1 GUI 및 상기 제2 GUI를 연결하는 상기 링크를 제3 GUI로 출력하여 상기 제1 잡과 제2 잡 간의 선후관계를 설정하고, 상기 제3 GUI를 통해 상기 제2 잡에 대한 실행조건을 설정하여 상기 제1 및 제2 잡을 포함하는 상기 잡 플로우를 생성하는 것을 특징으로 하는 스케쥴링 방법.
  16. 제13항에 있어서,
    상기 잡을 인스턴스로 활성화시키는 단계에서 상기 잡 활성화부는,
    현재일이 영업일이고 상기 현재일을 기준으로 전일 또는 익일이 휴일인 경우, 실행일이 상기 현재일로 지정되어 있는 잡들, 실행일이 상기 현재일의 전일로 설정된 잡들 중 휴일시 처리방식이 익영업일로 설정되어 있는 잡, 및 실행일이 상기 현재일의 익일로 설정된 잡들 중 휴일시 처리방식이 전영업일로 설정되어 있는 잡을 인스턴스로 활성화시키는 것을 특징으로 하는 스케쥴링 방법.
  17. 제13항에 있어서,
    상기 실행조건은 선행 잡이 인스턴스로 활성화되면 후행 잡이 실행되게 하는 제1 실행조건, 상기 선행 잡이 인스턴스로 활성화되지 않을 때 상기 후행 잡이 실행되게 하는 제2 실행조건, 상기 선행 잡이 정상적으로 종료되었을 때 상기 후행 잡이 실행되게 하는 제3 실행조건, 상기 선행 잡이 실패로 종료되었을 때 상기 후행 잡이 실행되게 하는 제4 실행조건, 상기 선행 잡의 실패 또는 성공에 관계없이 상기 선행 잡이 종료되기만 하면 상기 후행 잡이 실행되게 하는 제5 실행조건, 및 상기 선행 잡이 정상종료 되면 상기 후행 잡이 강제로 인스턴스로 활성화되어 상기 후행 잡이 실행되게 하는 제6 실행조건 중 적어도 하나를 포함하는 것을 특징으로 하는 스케쥴링 방법.
  18. 제17항에 있어서,
    상기 실행시키는 단계에서, 상기 잡 실행부는 상기 실행조건이 충족되지 않은 경우 사용자의 요청에 따라 상기 실행조건을 강제로 실행시켜 상기 후행 잡을 실행시키는 것을 특징으로 하는 스케쥴링 방법.
KR1020210028233A 2021-03-03 2021-03-03 스케쥴링 장치 및 방법 KR102653309B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210028233A KR102653309B1 (ko) 2021-03-03 2021-03-03 스케쥴링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210028233A KR102653309B1 (ko) 2021-03-03 2021-03-03 스케쥴링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220124505A KR20220124505A (ko) 2022-09-14
KR102653309B1 true KR102653309B1 (ko) 2024-03-29

Family

ID=83279425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210028233A KR102653309B1 (ko) 2021-03-03 2021-03-03 스케쥴링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102653309B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332809B2 (en) * 2004-09-30 2012-12-11 Microsoft Corporation Workflow schedule authoring tool
KR100926115B1 (ko) * 2007-12-17 2009-11-11 한국전자통신연구원 특정 이벤트/조건에서 동작하는 윈도우용 악성 코드탐지를 위한 프로그램 자동 분석 장치 및 방법

Also Published As

Publication number Publication date
KR20220124505A (ko) 2022-09-14

Similar Documents

Publication Publication Date Title
US11698810B2 (en) Mobile tasks
US7117449B1 (en) Method and apparatus to present an integrated process modeler
US8762187B2 (en) Easy process modeling platform
US20170372442A1 (en) Healthcare workflow system
JP4790837B2 (ja) ユーザのイベント処理を支援する方法及びそのためのコンピュータシステム
US7251787B2 (en) Method and apparatus for an integrated process modeller
US7240288B2 (en) Method and system for making resources available
CN108292383B (zh) 与通信相关联的任务的自动提取
US20120116834A1 (en) Hybrid task board and critical path method based project application
EP3465573A1 (en) Automatic task flow management across multiple platforms
US20130238384A1 (en) Business management system
EP1979828A2 (en) Workflow applications
US11886836B2 (en) Dynamic enterprise application platform
US10021256B2 (en) Apparatus system, and method for setting items with values that are input at an execution time of a workflow
US20080134220A1 (en) Method and system for providing a configurable action launchpad
US12099946B2 (en) Systems and methods for creating and managing a lookahead schedule
JP2020004280A (ja) 表示制御装置、表示制御方法、および表示制御プログラム
JP2006512670A (ja) 統合型プロセス・モデラーのための方法及び装置
US20120023454A1 (en) Schedule management using linked events
CN114327601A (zh) 一种业务流程控制方法、装置、系统及相关设备
KR102653309B1 (ko) 스케쥴링 장치 및 방법
JP6626327B2 (ja) ガントチャート生成プログラム、ガントチャート生成装置、および、ガントチャート生成方法
Karkadym et al. Management Information System of IT Company Portfolio
JP2003241965A (ja) プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置
Majekodunmi et al. The ProcessMaker Workflow Designer

Legal Events

Date Code Title Description
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant