KR100799565B1 - 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치 - Google Patents

웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치 Download PDF

Info

Publication number
KR100799565B1
KR100799565B1 KR1020060028419A KR20060028419A KR100799565B1 KR 100799565 B1 KR100799565 B1 KR 100799565B1 KR 1020060028419 A KR1020060028419 A KR 1020060028419A KR 20060028419 A KR20060028419 A KR 20060028419A KR 100799565 B1 KR100799565 B1 KR 100799565B1
Authority
KR
South Korea
Prior art keywords
activity
hibernation
condition
restoration
execution
Prior art date
Application number
KR1020060028419A
Other languages
English (en)
Other versions
KR20070061005A (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 KR20070061005A publication Critical patent/KR20070061005A/ko
Application granted granted Critical
Publication of KR100799565B1 publication Critical patent/KR100799565B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Abstract

본 발명에 의한 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법 및 그 장치는 XML 기반 웹 서비스 프로세스 실행 시스템에서 실행중인 웹 서비스 프로세스를 하이버네이션시키는 방법에 있어서, 프로세스를 구성하는 액티비티의 수행 조건을 검사하여 상기 액티비티가 하이버네이션 대상인지 판단하는 단계; 상기 판단 결과 하이버네이션 대상이 아니면 상기 액티비티를 계속 수행하는 단계; 상기 판단 결과 하이버네이션 대상이면 현재 실행 상태 또는 조건이 하이버네이션 조건에 해당하는지 판단하는 단계; 및 하이버네이션 조건에 해당하면 하이버네이션 처리를 시작하는 단계;를 포함하는 것을 특징으로 하며, 장기 상주하는 프로세스들이 그 처리 과정을 상실하지 않고 효과적으로 시스템의 메모리에서 제거되어 시스템의 과부하를 방지할 수 있도록 하고, 긴 작업 시간을 가지는 프로세스인 경우 실행 시스템이 가동되는 컴퓨터 장치가 재부팅된다 해도 작업 내용을 상실하지 않고 계속 진행할 수 있도록 하는 효과가 있다.
웹 서비스, 하이버네이션, 비즈니스 프로세스

Description

웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법 및 그 장치{Method for hibernating and recovering web service processes and apparatus thereof}
도 1은 본 발명의 실시예에 따라 프로세스를 동면 및 복원하는 방법이 적용된 XML 기반 웹 서비스 프로세스 실행 시스템의 실행 환경의 구성도이다.
도 2는 본 발명에 따라 구성된 XML 기반 웹 서비스 프로세스 실행 시스템의 블록도이다.
도 3은 본 발명에 따라 XML 기반 웹 서비스 프로세스 실행 시스템에서 프로세스를 하이버네이션하기 까지의 과정을 나타낸 흐름도이다.
도 4는 본 발명에 따라 XML 기반 웹 서비스 프로세스 실행 시스템에서 복원이 일어나기까지의 과정을 나타낸 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110 : XML 기반 웹 서비스 프로세스를 실행 서비스 하는 서버 시스템
112 : 실행중인 XML 기반 웹 서비스 프로세스 인스턴스
120: 클라이언트 시스템
130,140,150,160: 웹 서비스 제공자 및 시스템
200 : 메시지 송수신부 210 : 알람 이벤트 발생부
220: : 복원 조건 검출부 230 : 프로세스 실행부
240 : 복원부 250 : 하이버네이션 처리부
260 : 저장부
본 발명은 웹서비스를 기반으로 하는 비즈니스 프로세스(이하 "웹 서비스 프로세스"와 동의어로 사용함)를 실행하는 시스템에서 장기 상주하는 프로세스들로 인한 시스템의 과부하를 방지하기 위해 상주하는 프로세스들을 하이버네이션(hibernation, 동면)시키는 방법 및 그 하이버네이션된 프로세스들을 복원하는 방법 그리고 그 장치에 관한 것이다.
일련의 웹서비스들을 연동하여 새로운 웹서비스를 만드는 비즈니스 프로세스 표준에 따라 XML로 기술된 웹서비스 프로세스들은 경우에 따라서 매우 긴 실행 시간을 가질 수 있다. 예를 들어 서비스의 요청자가 한달뒤의 날씨 상황에 따라 다른 기능이 실행되는 서비스를 요청한다면 현재의 실행 방식의 경우 고객의 요청으로부터 한 달 동안 해당 서비스를 메모리상에 상주시켜야 한다. 이 경우 한 사람의 사용자라면 그다지 문제가 되지 않을 수도 있으나 요청자가 많아지는 경우 시스템은 한달동안 사용자의 요청의 수에 해당하는 만큼의 프로세스들을 계속 유지해야 하며 이것은 시스템이 즉시 사용되지 않는 많은 자원을 지속적으로 점유하게 하여 결국 전체 성능을 크게 감소시키는 문제를 일으킨다. 따라서, 웹 서비스 프로세스를 서 비스 하고자 하는 시스템은 반드시 긴 시간동안 수행을 하게 되는 서비스의 과부하를 해결하여 전체 시스템의 성능 저하를 방비하는 방법을 사용해야 한다. 기존의 프로세스 동면 방식(등록번호 제0318975호, IBM, 분산 데이터 프로세싱 시스템내에서 하이버네이션을 위한 방법 및 장치)은 메모리상의 전체 이미지를 저장하고 다시 복원하는 방식으로서, 이미지 복원시 전체 메모리가 변경되어 만일 다른 서비스가 수행중이라면 해당 서비스의 내용이 상실되고 완전히 저장 시점으로 돌아간다는 문제점이 있으므로 서비스 제공시스템의 작업 저장 및 복원 방식으로는 사용될 수 없다.
따라서, 저장되었던 서비스의 복원 조건에 도달한 경우 다른 서비스의 수행을 침해하지 않으면서 원래의 서비스를 복원하는 방법이 웹서비스 프로세스 실행 시스템에 필요하다.
본 발명이 이루고자 하는 기술적 과제는 상기의 문제점을 해결하기 위하여 안출된 것으로서, 웹서비스 프로세스를 실행하는 시스템에서 실행중인 프로세스가 장기 상주하는 프로세스인지를 감지하고 장기 상주하는 프로세스인 경우 해당 프로세스의 실행 컨텍스트를 상실하지 않고 안전하게 하이버네이션시키고, 시스템의 상황이 하이버네이션된 프로세스를 복원할 수 있는 조건인지 감지하여 복원 조건에 해당하는 경우 다른 프로세스를 방해하지 않고 안전하게 복원한 뒤 이전의 작업을 계속 진행하는 방법 및 그 장치를 제공하는데 있다.
상기의 기술적 과제를 달성하기 위하여 본 발명에 의한 웹 서비스 프로세스 를 하이버네이션시키는 방법은 XML 기반 웹 서비스 프로세스 실행 시스템에서 실행중인 웹 서비스 프로세스 인스턴스를 하이버네이션시키는 방법에 있어서, 프로세스를 구성하는 액티비티의 수행 조건을 검사하여 상기 액티비티가 하이버네이션 대상인지 판단하는 단계; 상기 판단 결과 하이버네이션 대상이 아니면 상기 액티비티를 계속 수행하는 단계; 상기 판단 결과 하이버네이션 대상이면 현재 실행 상태 또는 조건이 하이버네이션 조건에 해당하는지 판단하는 단계; 및 하이버네이션 조건에 해당하면 하이버네이션 처리를 시작하는 단계;를 포함하는 것을 특징으로 한다.
상기의 기술적 과제를 달성하기 위하여 본 발명에 의한 하이버네이션된 웹 서비스 프로세스를 복원하는 방법은 XML 기반 웹 서비스 프로세스 실행 시스템에서 하이버네이션된 웹 서비스 프로세스 인스턴스를 복원하는 방법에 있어서, 이벤트의 발생을 감지하면 복원 조건을 검출하는 단계; 상기 복원 조건에 해당하는 하이버네이션된 프로세스가 있는지 검색하는 단계; 상기 검색 결과 상기 복원 조건에 해당하는 프로세스가 없으면 다른 수행중인 프로세스로 이벤트를 넘기는 단계; 및 상기 검색 결과 상기 복원 조건에 해당하는 프로세스가 있으면 프로세스의 복원을 시작하는 단계;를 포함하는 것을 특징으로 한다.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 웹 서비스 프로세스를 하이버네이션시키고 복원하는 시스템은 단위 시간마다 시간 이벤트를 발생하는 알람이벤트발생부; XML 기반 웹 서비스 프로세스를 실행하는 프로세스실행부; 상기 시간 이벤트 혹은 외부 메시지 입력시 하이버네이션된 프로세스들의 복원조건에 해 당하는지 여부를 판별하는 복원조건검출부; 상기 복원조건검출부의 복원 결정에 따라 상기 프로세스의 정보를 획득하여 실행 인스턴스를 생성하고 복원 시점까지의 과정을 수행하는 복원부; 및 하이버네이션 조건에 해당하는 프로세스가 발생하면 상기 프로세스의 정보를 저장하고 복원 조건을 상기 복원조건검출부로 전달하는 하이버네이션처리부;를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 설명하도록 한다.
도 1은 본 발명에 의한 XML 기반 웹 서비스 프로세스 실행 시스템에서 프로세스를 하이버네이션시키고 복원하는 방법 및 그 장치가 적용되는 시스템의 구성도이다.
도 1을 참조하면, 웹 서비스 프로세스 실행 서버(110), XML 기반 웹 서비스 프로세스의 순차적 실행의 흐름(112), 클라이언트(120), 웹서비스를 제공하는 복수의 서버(130 내지 160)로 이루어짐을 알 수 있다.
도시된 예에서 먼저 클라이언트(120)는 서버(110)가 제공하는 서비스를 호출하는 메시지를 서버(110)으로 전송한다. 이때 도 1에 도시하지는 않았지만 서버(110)가 제공하는 서비스는 내부에서 사전에 정하여진 프로세스(112)에 의해 해당 서비스가 처리된다 할지라도 궁극적으로 상기 클라이언트(120)에게는 하나의 서비스에 대한 입출력으로 공개된다.
서버(110)는 클라이언트(120)의 요청에 해당하는 서비스를 수행하기 위해 해당 서비스의 처리 과정에 필요한 프로세스(112)를 각 단계별로 실행한다. 이때 상기 프로세스(112)는 외부 웹 서비스 제공자 즉 서버들(130~160)과 연동하여 처리하도록 설정되어 있을 수 있다.
서버(110)가 프로세스(112)를 처리하는 과정에서 프로세스를 구성하는 각 액티비티의 특성 또는 외부 서비스 제공자인 서버들(130~160)과의 연동 환경에 따라 해당 프로세스(112)는 장기 상주하는 프로세스가 될 수 있으며 장기 상주하는 프로세스에 해당하는 경우 서버(110)는 본 발명에서 제공하는 방법에 따라 프로세스(112)의 수행을 하이버네이션시키고 복원하는 과정을 수행하게 된다. 도 1은 하나의 예시로서 나타낸 것이며 본 발명의 구조적 제한으로서 나타낸 것은 아니다.
도 2는 본 발명에 따라 구성된 XML 기반 웹 서비스 프로세스 실행 시스템의 구조도이다. 도 2를 참조하면, 시스템은 메시지 송수신부(200), 알람 이벤트 발생부(210), 복원 조건 검출부(220), 프로세스 실행부(230), 복원부(240), 하이버네이션 처리부(250), 그리고 저장부(260)를 포함한다.
여기에서 메시지 송수신부(200)는 외부로부터 메시지를 수신하거나 송신하는 부분으로 프로세스를 시작하기위한 메시지, 프로세스 진행 중에 필요로 하는 메시지, 프로세스를 복원하기 위한 메시지등이 수신될 수 있으며 외부 서비스 서버에 대한 서비스 요청 메시지 서비스 요청 클라이언트로의 서비스 응답 메시지등이 송신될 수 있다.
알람 이벤트 발생부(210)는 프로세스를 구성하는 액티비티 또는 서비스가 시간의 진행과 관련 있는 경우 사용하기 위한 것으로 단위 시간마다 시간 이벤트를 발생시킨다.
복원 조건 검출부(220)는 알람 이벤트 발생부(210) 또는 메시지 송수신부(200)로부터의 이벤트가 하이버네이션된 프로세스들의 복원 조건에 해당하는지를 검사하는 부분으로 복원 조건은 해당 프로세스가 하이버네이션 될 때 하이버네이션 처리부(250)에 의해 준비된다.
복원 조건 검출부(220)의 구성을 세부적으로 살펴보면, 대상 액티비티가 메시지 액티비티인 경우 외부로부터 입력되는 메시지 내부의 식별자가 액티비티의 복원 조건에서 설정되어 있는 식별자와 동일한 경우에 해당 프로세스를 복원 대상으로 판단하는 제1판단부(221)와 대상 액티비티가 알람 액티비티인 경우 매번 정해진 알람 시간 간격에 도달한 경우 현재 판단 시점에 복원되어야 하는 프로세스가 있는지 알람 액티비티의 복원 조건에서 찾아 존재하면 해당 프로세스를 복원 대상으로 판단하는 제2판단부(223)로 이루어진다.
각 복원 조건은 아래의 표 2에 정리되어 있다.
프로세스 실행부(230)는 XML 기반 웹 서비스 프로세스를 실제 수행하는 부분으로 프로세스 시작 메시지에 의해 혹은 프로세스 복원에 의해 구동되며 내부에서 컨텍스트의 유지 관리와 하이버네이션 조건 검출등의 기능을 가진다.
복원부(240)는 복원 조건 검출부(220)에 의해 프로세스 복원이 결정된 경우 해당 프로세스에 대한 정보를 저장부(260)로부터 얻은 다음 프로세스 실행 인스턴스를 하나 생성하고 복원 지점에 도달할 때까지의 과정을 처리한 후 프로세스 실행부(230)로 제어권을 넘긴다.
하이버네이션 처리부(250)는 프로세스 실행부(230)에서 하이버네이션 조건 에 해당하는 프로세스가 발생한 경우 해당 프로세스의 정보를 저장부(260)에 저장하고 복원 조건 검출부(220)에 해당 프로세스의 복원 조건을 설치한 후 실행 중이던 프로세스 실행 인스턴스를 종료한다.
좀 더 자세한 구성을 보면 상기 하이버네이션처리부(250)는 프로세스 실행 인스턴스에 의하여 생성된 액티비티가 메시지 액티비티인 경우 상기 메시지 액티비티의 타임 아웃 설정이 기 설정된 대기 시간보다 길고 수행 후 대기한 시간이 시스템 설정 대기 시간을 초과하는 경우를 하이버네이션 조건으로 판단하는 제1조건검출부(251)와 프로세스 실행 인스턴스에 의하여 생성된 액티비티가 메시지 액티비티인 경우 상기 메시지 액티비티에 설정된 타임 아웃이 기 설정된 대기 시간보다 짧은 경우 타임 아웃 장애(Fault)를 발생하고 타임 아웃이 없다면 타임 아웃을 기 설정된 대기 시간으로 판단하는 제2조건검출부(253)를 포함한다.
또한 프로세스 실행 인스턴스에 의하여 생성된 액티비티가 알람 액티비티인 경우 알람 시간이 기 설정된 대기 시간을 초과하는 경우 하이버네이션 조건으로 판단하는 제3조건검출부(255)와 프로세스 실행 인스턴스에 의하여 생성된 액티비티가 알람 액티비티인 경우 하이버네이션시 알람조건에 도달하는 것을 방지하기 위해 하이버네이션을 위한 시스템 대기시간의 참조값을 (시스템 대기 시간)*(1.0 + a), 여기서 a는 양의 정수,로 적용하여 설정하는 제4조건검출부(257)를 포함한다.
여기서 제1내지 제4조건부의 판단 조건은 아래의 표1에 정리되어 있다.
저장부(260)는 하이버네이션되는 프로세스의 실행 정보(프로세스 식별자, 액티비티 식별자, 프로세스 컨텍스트, 실행 프로세스 XML 정보)를 저장한다.
도 3은 본 발명에 따라 XML 기반 웹 서비스 프로세스 실행 시스템에서 프로세스를 하이버네이션 하기까지의 과정을 나타낸 흐름도이다.
먼저 웹 서비스 프로세스 실행 시스템은 처음 시작하면 어떠한 프로세스 인스턴스도 실행하지 않은 상태로 클라이언트(120)로부터 메시지 송수신부(200)를 통해 프로세스 시작 요청 메시지가 수신될 때까지 대기한다(S300). 프로세스 시작 메시지가 수신될 경우 시스템은 상기 요청에 해당하는 프로세스 실행 인스턴스를 생성한다(S312).
이렇게 생성된 프로세스 실행 인스턴스는 해당 프로세스의 처리 순서에 따라 수행할 단위 액티비티를 얻고(S314), 각 단위 액티비티의 수행 조건을 검사한다(S316).
해당 액티비티가 하이버네이션 대상이 되는 액티비티인지 검사(S318)하여 하이버네이션 대상이 아니면 그 액티비티를 수행한다(S320). 그러나 하이버네이션 대상이면 그 다음으로 현재 상태 및 조건이 하이버네이션 조건에 해당하는지 확인(S324)하여 아래의 표 1과 같은 하이버네이션 조건에 해당한다면 하이버네이션 처리가 시작되고, 아니면 그 액티비티를 수행한다.
대상 액티비티 판단 시점 하이버네이션 조건 비고
메시지 액티비티 수행후 하이버네이션 여부 판단 해당 액티비티의 타임 아웃 설정이 시스템이 설정한 대기 시간보다 길고 수행 후 대기한 시간이 시스템 설정 대기 시간을 초과하는 경우 액티비티에 설정된 타임 아웃이 시스템이 설정한 대기 시간보다 짧은 경우 타임 아웃 Fault가 발생함. 타임 아웃이 없다면 타임 아웃은 시스템이 설정한 대기 시간으로 간주됨
알람 액티비티 수행전 하이버네이션 여부 판단 알람 시간이 시스템 설정한 대 대기 시간을 초과하는 경우 하이버네이션됨 알람의 경우 하이버네이션을 위한 시스템 대기시간은 (시스템 대기 시간)*(1.0 + a)가 적용됨. 이것은 하이버네이션시 알람조건에 도달하는것를 방지하기 위함.
다음으로 하이버네이션 처리부(210)는 하이버네이션을 일으키는 액티비티와 관련된 복원 조건을 설정하는 복원 조건을 시스템에 설정(S330)하고 하이버네이션될 대상인 프로세스의 식별자와 하이버네이션 되는 시점의 대상 액티비티를 인식할 수 있는 액티비티 식별자, 실행중인 프로세스의 각종 변수 정보및 상태를 담고 있는 실행 컨택스트, 실행 중인 프로세스 인스턴스의 전체 과정을 나타내는 프로세스 XML의 참조 정보를 프로세스 저장부에 저장하고(S332) 해당하는 프로세스 인스턴스를 제거한다(S334).
그리고 단위 액티비티가 하이버네이션 대상 액티비티가 아니거나 하이버네이션 조건에 해당하지 않는 경우 해당 액티비티가 수행(S320)되며 해당 프로세스가 종료단계인지 검사(S322)하여 종료단계가 아니라면 다음 단위 액티비티를 얻는 단계(S314)로 진행하고 그렇지 않다면 당해 프로세스를 종료한다.
도 4는 본 발명에 따라 XML 기반 웹 서비스 프로세스 실행 시스템에서 복원이 일어나기까지의 과정을 나타낸 흐름도이다.
먼저 웹 서비스 프로세스 실행 시스템이 처음 시작이라면 도 3의 순서를 따르게 되므로 처음 시작이 아닌 것, 즉 현재 실행중인 프로세스 인스턴스가 있거나 이전에 하이버네이션된 프로세스 인스턴스가 존재하는 것으로 전제하고 설명하도록 한다.
웹서비스 실행 시스템에서 알람 이벤트 또는 메시지 수신과 같은 이벤트가 발생(S400)하면 해당 이벤트는 복원 조건 검출부(204)로 먼저 전달된다(S412).
복원 조건 검출부(204)는 아래의 표 2에 기술한 바와 같은 복원 판단 조건에 따라 하이버네이션된 프로세스중에서 복원 조건에 해당하는 프로세스가 존재하는지 검사한다(S414).
대상 액티비티 판단 시점 복원 조건 비고
메시지 액티비티 서버에 외부로부터 메시지가 입력된 경우 입력된 메시지 내부의 식별자가 메시지 액티비티의 복원 조건 검출부에서 설정한 식별자와 동일한 경우 해당 프로세스를 복원함
알람 액티비티 매번 정해진 알람 간격에 도달할때 현재 시간에 복원 되어야 하는 프로세스가 있는지 알람 액티비티의 복원 조건 검출부에서 찾아 해당 프로세스를 복원함.
판단 결과 조건에 해당하는 프로세스가 없다면 실행중인 프로세스중 발생한 이벤트를 처리할 프로세스를 찾아 해당 이벤트의 처리를 넘긴다(S416).
반면에 복원 조건에 해당하는 프로세스가 존재한다면 프로세스 복원부(208)는 프로세스 저장부(212)에 저장되었던 프로세스 실행 정보를 참조하여 프로세스 실행 인스턴스를 하나 생성(S420)하고 하이버네이션 시점에 해당하는 액티비티까지 프로세스를 가실행(S422)한 후 컨텍스트를 복원한다(S424). 여기에서 가실행이란 의미는 실제 프로세스를 기술한 XML 프로세스 문서상에 액티비티가 no-operation으로 정의되지 않았더라도 해당 액티비티를 no-operation 즉 아무것도 실행하지 않는 것으로 가정하고 실행하는 것을 의미하는 것으로 시스템이 복원 지점까지 빠르게 도달하기 위한 방법이다. 액티비티의 수행이 no-operation으로 대치되어 실행된다 하더라도 저장되었던 컨텍스트는 정상적으로 복원되므로 하이버네이션 시점의 상태로 충분히 복원될 수 있다.
복원 지점까지 실행이 되었다면 복원 조건에 해당하는 이벤트가 해당 액티비티로 전달(S426)되고 이후의 작업이 계속 진행된다(S428).
본 발명에 의한 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법 및 그 장치는 장기 상주하는 프로세스들이 그 처리 과정을 상실하지 않고 효과적으로 시스템의 메모리에서 제거되어 시스템의 과부하를 방지할 수 있도록 하고, 긴 작업 시간을 가지는 프로세스인 경우 실행 시스템이 가동되는 컴퓨터 장치가 재부팅된다 해도 작업 내용을 상실하지 않고 계속 진행할 수 있도록 하는 효과가 있다.

Claims (16)

  1. XML 기반 웹 서비스 프로세스 실행 시스템이 실행중인 웹 서비스 프로세스를 하이버네이션시키는 방법에 있어서,
    (a) 프로세스를 구성하는 액티비티의 수행 조건을 검사하여 상기 액티비티가 하이버네이션 대상인지 판단하는 단계;
    (b) 상기 판단 결과 하이버네이션 대상이 아니면 상기 액티비티를 계속 수행하는 단계;
    (c) 상기 판단 결과 하이버네이션 대상이면 현재 실행 상태 또는 조건이 하이버네이션 조건에 해당하는지 판단하는 단계; 및
    (d) 하이버네이션 조건에 해당하면 하이버네이션 처리를 시작하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키는 방법.
  2. 제1항에 있어서, 상기 (c)단계는
    (c1) 하이버네이션 대상 액티비티가 메시지 액티비티인 경우 액티비티의 수행후에 하이버네이션 조건에 해당하는지 판단하는 단계; 및
    (c2) 하이버네이션 대상 액티비티가 알람 액티비티인 경우 액티비티 수행전에 하이버네이션 조건에 해당하는지 판단하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키는 방법.
  3. 제2항에 있어서, 상기 (c1)단계는
    (c11) 상기 메시지 액티비티의 타임 아웃 설정이 기 설정된 대기 시간보다 길고 수행 후 대기한 시간이 시스템 설정 대기 시간을 초과하는 경우를 하이버네이션 조건으로 판단하는 단계;와
    (c12) 상기 메시지 액티비티에 설정된 타임 아웃이 기 설정된 대기 시간보다 짧은 경우 타임 아웃 장애(Fault)가 발생하고 타임 아웃이 없다면 타임 아웃을 기 설정된 대기 시간으로 간주하는 단계;를 포함하며,
    상기 (c2)단계는
    (c21) 알람 액티비티인 경우 알람 시간이 기 설정된 대기 시간을 초과하는 경우 하이버네이션 조건으로 판단하는 단계;와
    (c22) 알람 액티비티인 경우 하이버네이션시 알람조건에 도달하는것를 방지하기 위해 하이버네이션을 위한 시스템 대기시간의 참조값을 시스템 대기 시간보다 크거나 같은 값을 적용하여 설정하는 단계;를 포함하는 웹 서비스 프로세스를 하이버네이션시키는 방법
  4. 제 1항에 있어서, 상기 (d)단계는
    (d1) 하이버네이션으로부터 복원하기 위한 복원 조건을 구비하는 단계;
    (d2) 하이버네이션될 프로세스의 정보를 저장하는 단계; 및
    (d3) 수행중이던 프로세스 인스턴스를 제거하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키는 방법.
  5. 제 4항에 있어서, 상기 하이버네이션될 프로세스의 정보는
    프로세스 식별자, 액티비티 식별자, 프로세스 컨텍스트, 수행중인 프로세스 XML 정보를 포함하는 웹 서비스 프로세스를 하이버네이션시키는 방법.
  6. XML 기반 웹 서비스 프로세스 실행 시스템이 하이버네이션된 웹 서비스 프로세스를 복원하는 방법에 있어서,
    (a) 이벤트의 발생을 감지하면 복원 조건을 검출하는 단계;
    (b) 상기 복원 조건에 해당하는 하이버네이션된 프로세스가 있는지 검색하는 단계;
    (c) 상기 검색 결과 상기 복원 조건에 해당하는 프로세스가 없으면 다른 수행중인 프로세스로 이벤트를 넘기는 단계; 및
    (d) 상기 검색 결과 상기 복원 조건에 해당하는 프로세스가 있으면 프로세스의 복원을 시작하는 단계;를 포함하는 것을 특징으로 하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  7. 제6항에 있어서, 상기 (b)단계는
    (b1) 대상 액티비티가 메시지 액티비티인 경우 외부로부터 메시지가 입력되면 복원 여부를 판단하는 단계; 및
    (b2) 대상 액티비티가 알람 액티비티인 경우 매번 정해진 알람 시간 간격에 도달한 경우 복원 여부를 판단하는 단계;를 포함하는 것을 특징으로 하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  8. 제7항에 있어서, 상기 (b1)단계는
    상기 입력된 메시지 내부의 식별자가 메시지 액티비티의 복원 조건에서 설정되어 있는 식별자와 동일한 경우에 해당 프로세스를 복원 대상으로 판단하는 단계;를 포함하는 것을 특징으로 하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  9. 제7항에 있어서, 상기 (b2)단계는
    현재 판단 시점에 복원되어야 하는 프로세스가 있는지 알람 액티비티의 복원 조건에서 찾아 존재하면 해당 프로세스를 복원 대상으로 판단하는 단계;를 포함하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  10. 제6항에 있어서, 상기 (d)단계는
    (d1) 상기 복원 조건에 해당하는 프로세스 실행 인스턴스를 생성하는 단계;
    (d2) 상기 프로세스가 하이버네이션된 시점에 해당하는 액티비티까지 프로세스를 가실행하는 단계;
    (d3) 하이버네이션되는 시점까지의 프로세스 실행 컨텍스트를 복원하는 단계;
    (d4) 상기 복원 조건을 일으킨 이벤트를 해당 액티비티로 전달하는 단계; 및
    (d5) 프로세스 실행을 지속하는 단계;를 포함하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  11. 제 7항에 있어서, 상기 (d2)단계는
    프로세스의 실행 액티비티를 아무것도 수행하지 않는 비동작(no-operation)으로 대치하여 실행하고 각 실행 액티비티의 컨텍스트는 저장된 내용을 그대로 복원함으로써 액티비티의 중복 실행을 방지하면서 원래의 상태로 복구하는 가실행 단계;를 포함하는 것을 특징으로 하는 하이버네이션된 웹 서비스 프로세스를 복원하는 방법.
  12. 단위 시간마다 시간 이벤트를 발생하는 알람이벤트발생부;
    XML 기반 웹 서비스 프로세스를 실행하는 프로세스실행부;
    상기 시간 이벤트 혹은 외부 메시지 입력시 하이버네이션된 프로세스들의 복원조건에 해당하는지 여부를 판별하는 복원조건검출부;
    상기 복원조건검출부의 복원 결정에 따라 상기 프로세스의 정보를 획득하여 실행 인스턴스를 생성하고 복원 시점까지의 과정을 수행하는 복원부; 및
    하이버네이션 조건에 해당하는 프로세스가 발생하면 상기 프로세스의 정보를 저장하고 복원 조건을 상기 복원조건검출부로 전달하는 하이버네이션처리부;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키고 복원하는 장치.
  13. 제12항에 있어서, 상기 하이버네이션처리부는
    프로세스 실행 인스턴스에 의하여 생성된 액티비티가 메시지 액티비티인 경우 상기 메시지 액티비티의 타임 아웃 설정이 기 설정된 대기 시간보다 길고 수행 후 대기한 시간이 시스템 설정 대기 시간을 초과하는 경우를 하이버네이션 조건으로 판단하는 제1조건검출부;
    상기 메시지 액티비티인 경우 상기 메시지 액티비티에 설정된 타임 아웃이 기 설정된 대기 시간보다 짧은 경우 타임 아웃 장애(Fault)를 발생하고 타임 아웃이 없다면 타임 아웃을 기 설정된 대기 시간으로 판단하는 제2조건검출부;
    프로세스 실행 인스턴스에 의하여 생성된 액티비티가 알람 액티비티인 경우 알람 시간이 기 설정된 대기 시간을 초과하는 경우 하이버네이션 조건으로 판단하는 제3조건검출부; 및
    상기 알람 액티비티인 경우 하이버네이션시 알람조건에 도달하는것를 방지하기 위해 하이버네이션을 위한 시스템 대기시간의 참조값을 시스템 대기 시간보다 크거나 같은 값을 적용하여 설정하는 제4조건검출부;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키고 복원하는 장치.
  14. 제12항에 있어서, 상기 복원조건검출부는
    판단 대상 액티비티가 메시지 액티비티인 경우 외부로부터 입력되는 메시지 내부의 식별자가 상기 복원 조건에서 설정되어 있는 식별자와 동일한 경우에 해당 프로세스를 복원 대상으로 판단하는 제1판단부; 및
    판단 대상 액티비티가 알람 액티비티인 경우 매번 정해진 알람 시간 간격에 도달한 경우 현재 판단 시점에 복원되어야 하는 프로세스가 있는지 상기 복원 조건에서 찾아 존재하면 해당 프로세스를 복원 대상으로 판단하는 제2판단부;를 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키고 복원하는 장치.
  15. 제13항에 있어서, 상기 시스템은
    클라이언트 시스템 혹은 웹 서비스 제공 서버와 상기 메시지를 송수신하는 메시지 송수신부; 및
    상기 프로세스의 정보를 저장하는 저장부;를 더 포함하는 것을 특징으로 하는 웹 서비스 프로세스를 하이버네이션시키고 복원하는 장치.
  16. 제1항의 하이버네이션 방법 혹은 제6항의 복원방법을 컴퓨터에서 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020060028419A 2005-12-08 2006-03-29 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치 KR100799565B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119472 2005-12-08
KR1020050119472 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061005A KR20070061005A (ko) 2007-06-13
KR100799565B1 true KR100799565B1 (ko) 2008-01-30

Family

ID=38356944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060028419A KR100799565B1 (ko) 2005-12-08 2006-03-29 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치

Country Status (1)

Country Link
KR (1) KR100799565B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011011120A3 (en) * 2009-07-20 2011-03-24 Palm, Inc. Selective hibernation of activities in an electronic device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301069A (zh) * 2020-04-07 2021-08-24 阿里巴巴集团控股有限公司 无服务器化管理系统、其调用方法及云原生应用平台

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207588A (ja) 1996-11-21 1998-08-07 Hitachi Ltd 情報処理装置
JP2002082743A (ja) 2000-09-06 2002-03-22 Casio Comput Co Ltd 電子機器及び電子機器制御プログラムを記憶した記憶媒体
KR100396460B1 (ko) 1998-01-07 2003-09-13 인터내셔널 비지네스 머신즈 코포레이션 하이버네이션 기능 지원 정보 처리 시스템, 그 제어 방법 및 기록 매체
US20040039960A1 (en) 2002-08-23 2004-02-26 Reza Kassayan Method and apparatus for automatic hibernation after a power failure
JP2005316855A (ja) 2004-04-30 2005-11-10 Toshiba Corp 情報処理装置、その起動方法およびその起動プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207588A (ja) 1996-11-21 1998-08-07 Hitachi Ltd 情報処理装置
KR100396460B1 (ko) 1998-01-07 2003-09-13 인터내셔널 비지네스 머신즈 코포레이션 하이버네이션 기능 지원 정보 처리 시스템, 그 제어 방법 및 기록 매체
JP2002082743A (ja) 2000-09-06 2002-03-22 Casio Comput Co Ltd 電子機器及び電子機器制御プログラムを記憶した記憶媒体
US20040039960A1 (en) 2002-08-23 2004-02-26 Reza Kassayan Method and apparatus for automatic hibernation after a power failure
JP2005316855A (ja) 2004-04-30 2005-11-10 Toshiba Corp 情報処理装置、その起動方法およびその起動プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274807B2 (en) 2006-04-20 2016-03-01 Qualcomm Incorporated Selective hibernation of activities in an electronic device
WO2011011120A3 (en) * 2009-07-20 2011-03-24 Palm, Inc. Selective hibernation of activities in an electronic device
US10268358B2 (en) 2009-07-20 2019-04-23 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US10877657B2 (en) 2009-07-20 2020-12-29 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US10901602B2 (en) 2009-07-20 2021-01-26 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US11500532B2 (en) 2009-07-20 2022-11-15 Qualcomm Incorporated Selective hibernation of activities in an electronic device

Also Published As

Publication number Publication date
KR20070061005A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
US9342426B2 (en) Distributed system, server computer, distributed management server, and failure prevention method
JP2007109238A (ja) 回復可能なエラーのロギングのためのシステム及び方法
RU2427031C2 (ru) Быстрая инициализация и включение дисплея
CN101809540A (zh) 用于激活虚拟化的计算机应用的网络背景触发
WO2009070671A2 (en) Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
JP2008047112A (ja) エラーハンドリング及びファームウェア更新を調停するための方法及びシステム
US7886181B2 (en) Failure recovery method in cluster system
JP4939654B2 (ja) サービスレベル目標を有するコンピュータネットワークリソースの監視
JP2004295462A (ja) リカバリ処理方法及びその実施システム並びにその処理プログラム
CN110661808A (zh) 一种基于资产探测的主机漏洞快速扫描方法和装置
US7631038B2 (en) PXE server with multiple provider model
US20040123183A1 (en) Method and apparatus for recovering from a failure in a distributed event notification system
KR100799565B1 (ko) 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치
RU2606565C2 (ru) Агент микропрограммного обеспечения
EP1672496A2 (en) Context save method, information processor and interrupt generator
US20050068888A1 (en) Seamless balde failover in platform firmware
US7529181B2 (en) Method and apparatus for adaptive monitoring and management of distributed systems
US7895355B2 (en) Method and system for detecting gaps in a data stream
US10157110B2 (en) Distributed system, server computer, distributed management server, and failure prevention method
US20120023379A1 (en) Storage device, storage system, and control method
US20180373512A1 (en) Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal
KR100399086B1 (ko) 애플리케이션 크래시후의 비디오 스택으로의 액세스 유지
WO2021057880A1 (zh) 物联网设备的程序升级方法、装置及物联网设备
CN114281583A (zh) 设备检测方法、装置、电子设备及可读存储介质
JP5499484B2 (ja) プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 19