KR20030063426A - 원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템 - Google Patents

원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20030063426A
KR20030063426A KR10-2003-7008031A KR20037008031A KR20030063426A KR 20030063426 A KR20030063426 A KR 20030063426A KR 20037008031 A KR20037008031 A KR 20037008031A KR 20030063426 A KR20030063426 A KR 20030063426A
Authority
KR
South Korea
Prior art keywords
installation
request
data processing
queue
processing system
Prior art date
Application number
KR10-2003-7008031A
Other languages
English (en)
Other versions
KR100546931B1 (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 KR20030063426A publication Critical patent/KR20030063426A/ko
Application granted granted Critical
Publication of KR100546931B1 publication Critical patent/KR100546931B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

소스에서부터 다수의 목표 컴퓨터로 컴퓨터 프로그램을 원격 배포/설치하기 위한 방법이 개시되어 있으며, 컴퓨터 프로그램은 패키지로서 전송된다. 푸쉬모드 및 풀모드를 재시도하기 위한 시도 회수는 사전-지정된다. 다음 패키지가 확인되고 목표 컴퓨터가 이용가능하다면, 목표 컴퓨터상에서 패키지의 설치가 시작된다. 그렇지 않은 경우에, 적어도 하나의 푸쉬모드 시도가 남아있다면, 다음 푸쉬모드가 다시 시작되어 재스케쥴링되고, 푸쉬모드 시도가 남아있지 않고, 적어도 한번의 폴모드 시도가 남아 있다면, 다음 풀모드 배포가 다시 시작되어 재스케쥴링된다. 특히, 메커니즘은 요청을 활성하는(즉, 요청을 요청큐로부터 활성큐로 이동하는) 큐관리기를 제안하고 소프트웨어를 배포/설치하는 동안 로드를 균형잡는 쓰로틀링(throttling)이 구현된다.

Description

원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템{Method and System for Remote Software Distribution and Installation}
디지털 컴퓨터망에서 소프트웨어 및 데이터를 배포하기 위한 방법 및 시스템은 미국 특허 제5,485,090에 개시된다. 소프트웨어 및 데이터는 "패키지(pakage)"라 불리는 단일 엔티티로 결합된다. 소프트웨어 패키지는 중앙 패키지 보관부(central package archive)에 저장되며, 전송 프로그램은 하나이상의 소프트웨어 패키지의 전송을 스케쥴링하기 위해 중앙 패키지 보관부를 액세스한다. 전송 프로그램은 사용자가 패키지의 전송 및 설치를 위한 날짜 및 시간을 다른 속성들과 더불어 지정할 수 있도록 해준다. 소프트웨어 패키지가 목표 컴퓨터로의 전송이계획되면, 지시(indication)는 아웃바운드 패키지 큐(outbound package queue)에 저장된다. 패키지 전송 에이전트 프로그램(package transfer agent program)은 이 지시에 따라 동작하여, 패키지를 중앙 패키지 보관부에서 목표 시스템으로 전송한다. 목표 시스템에서 대응하는 패키지 전송 에이전트가 패키지를 인바운드 패키지 큐(inbound package queue)내에 배열한다. 끝으로, 전송 데몬(transfer daemon)은 패키지 타입을 결정하여 그에 따라 동작한다. 패키지 타입이 "배포"이면, 패키지에게 설치를 시작할 것을 지시한다(message).
또한, IBM티볼리 소프트웨어 배포 제작물(IBM Tivoli Software Distribution product)과 같이 공지된 소프트웨어 배포/설치 접근법은 일반적으로 소프트웨어 보관소(repository)에서부터 특정 목표 컴퓨터 시스템까지 소프트웨어를 가져오기 (bringing) 위해 두 가지 개념(concept)을 갖는다. 이 개념은 "푸쉬(push)"-모드 및 "풀(pull)"-모드 배포라고 말한다.
푸쉬모드 배포는 조작자나 중앙점으로부터 자동화된 프로세스에 의해 초기화되며, 원하는 범위의 모든 도달가능한 타겟시스템 상에서 소프트웨어 설치를 행하는 것을 목적으로 한다. 푸쉬모드 배포는 광범위한 컴퓨터 환경, 특히 몇몇의 대륙에 걸쳐서 퍼져있는 대형 컴퓨터 환경에서 약점이 있으며, 도달할 수 있는 목표 시스템의 개수는 오히려 더 적을 수 있다. 이것은 표준 최종사용자 워크스테이션 (standard enduser workstation)이 하루 12시간보다 더 적게 온라인상태라는 것과, 배포가 발생하는 바로 그 시점에 목표 세트가 온라인상태에 있도록 하기 위해 계획하는 것을 확인하기 위해 설계하는 오버헤드가 많다는 사실에 기인한 것이다. 시간대(time zone), 일하는 시간 및 휴일이 고려되어야하며, 소프트웨어 설치는 대개 업무시간동안에는 환영받지 못한다. 마지막 문제점은 일반적으로 하루에 24시간 깨어있는 서버시스템의 경우에는 문제가 아니지만, 엔드유저 시스템의 경우에는 문제인데, 이러한 시스템의 경우에는 사용자가 퇴근후까지 그들 장비를 그대로 방치시켜 두거나 웨이크-온-랜(Wake-On-Lan)과 같은 하드웨어 특징으로 시스템을 켜두어야만 하는데, 이는 유효범위내의 모든 목표 시스템에서 이용가능하지 않을 수 있다.
전술한 푸쉬-모드 배포와 대비하여, 풀-모드 배포는 목표 컴퓨터 시스템의 사용자나 목표 컴퓨터 시스템 자체에 의해 초기화된다. 설치 활동은 사용자의 참여없이 정적 모드(quiet mode), 즉, 자동적으로 시스템 또는 사용자가 로그온하는 동안에 초기화되거나 사용자에게 사용자가 선택할 수 있도록 이용가능한 패키지 목록을 제공하는 인터페이스에 의해 초기화될 수 있다.
풀-모드 배포기술은 배포가 시작될 때 목표 시스템이 이미 온라인상태이어야 되는 것을 전술한 푸쉬-모드 기술보다 많은 이점을 갖는다.
그러나, 풀-모드 배포의 단점은 배포/설치에 대한 정확한 시간이 즉시 결정될 수 없다는 것이다. 이것은 목표시스템의 로그인이 실행되는 시간을 예측할 수 없으므로, 목표시스템이 제때에 갱신되지 않을 수 있다.
게다가, 예를 들면, 많은 사용자가 그들 시스템에 로그인하는 경우, 소스시스템측면서 배포 및 네트워크 환경 피크로드(peak load)는 배포/설치를 시작하는데 시간 지연을 일으키거나 전체 처리량의 감소를 일으킬 수 있으므로, 배포/설치 성능을 떨어뜨릴 수 있다.
본 발명은 일반적으로 디지털 컴퓨터망에서의 소프트웨어 배포분야에 관한 것이며, 보다 구체적으로는, 소스 데이터 처리시스템에서 적어도 하나의 목표 데이터(target data) 처리시스템까지 디지털 컴퓨터 프로그램을 원격 배포 및 설치하기 위한 방법 및 시스템에 관한 것이다. 여기서, 컴퓨터 프로그램은 특히, 패키지 목록에 서술된 패키지(들)로서 전달된다.
본 발명은 이하의 바람직한 실시예를 통해 더 구체적으로 설명될 것이며, 다른 특징 및 이점은 실시예로부터 자명할 것이며, 여기서 첨부한 도면이 참조된다. 도면에서, 동일하거나 기능적으로 유사한 특징은 동일한 참조부호로 나타낸다.
도 1은 흐름도에 의해 본 발명에 따른 상이한 소프트웨어 배포(software distribution :SWD) 모드의 개략도이다.
도 2는 본 발명의 SWD프로세스의 주요 단계를 도시하는 보다 구체화된 흐름도이다.
도 3은 본 발명에 의해 제안된 큐 관리기 메커니즘을 도시하는 흐름도이다.
도 4는 보다 구체적으로 SWD프로세스의 바람직한 실시예를 도시하는 흐름도이다.
본 방명의 목적은 컴퓨터 프로그램의 원격 배포/설치를 위해 개선된 방법 및 시스템을 제공하는 것이다.
다른 목적은 다수의 원격 컴퓨터 시스템상에서 컴퓨터 프로그램의 자동화된 배포/설치를 허용하는 것이다.
이들 목적들은 독립청구항의 특징에 의해 달성된다. 바람직한 실시예들은 종속항에 기재되어 있다.
본 발명의 기반이 되는 개념은 패키지를 배포하기 전에 직면된 목표 컴퓨터 시스템의 이용성에 따라 특정 배포 모드를 선택하는 것이다. 목표 시스템이 이용가능하지 않다면, 전술된 풀-모드 또는 푸쉬-모드에 대한 자동 스위칭을 포함하는 자동 모드 스위칭이 실행된다. 목표 시스템에 도달될 수 있다면, 제안된 배포 프로세스는 패키지 리스트에 걸쳐 실행되어 단계별로 하나의 패키지를 설치한 다음 다른 것을 설치한다.
특히 본 발명은 배포 프로세스가 도달가능하지 않은 목표 시스템이 깨어나기를 기다릴 수 있도록 해주는 빌트-인 큐잉 메커니즘(built-in queueing mechanism)을 제안한다. 이 경우에, 배포는 다음의 풀동작 또는 푸쉬동작을 재시작하며 재스케쥴링한다. 재스케쥴링마저 성공하지 않으면, 제안된 메커니즘은 각각의 목표 시스템이 풀-모드 배포에 따라 강제 수행되는 소위 "강제적 풀-모드(authoritative pull-mode)"라고 불리는 강제적인 풀-모드로 전환한다.
제안된 소프트웨어 배포 메커니즘은 상이한 시스템상에 위치된 일련의 상이한 프로세스를 통해서 동작한다. 도 1에 도시한 바와 같이, 메커니즘에 기초가 되는 세개의 모드가 있다.
신뢰 풀 모드(trusted pull mode)(초기의 풀),
표준 푸쉬모드(standard push mode),
강제적 풀 모드(authoritative pull mode),
여기서, "신뢰 풀 모드" 및 "강제적 풀 모드" 는 둘다 종래기술과 비교하여 신규한 것으로 간주된다.
도 1에서 모든 프로세스에 대해 대응 호스팅 시스템이 배경 구조로 도시된다. 신뢰 풀 모드 프로세스(102)에서, 엔드포인드(EP)(104), 즉, 소프트웨어를 배포/설치하기 위한 위한 목표 컴퓨터 시스템은 요청된 패키지의 목록을 제공한다(106). 다음 단계에서, EP는 SW배포/설치를 위한 요청을 티볼리 엔터프라이즈 콘솔 서버 (Tivoli Enterprise Console server : T/EC)(110)에 전송한다. T/EC(110)는 하나가 다른 하나를 불러내는 두개의 태스크(114,118)를 초기화하는 스크립트를 트리거한다(trigger)(112). 첫번째 태스크(114)인 'SWD 요청을 생성함'은 게이트웨이(GW)(즉, 본 실시예에서 로컬 소스코드 서버)상에서 시작된다. 두번째 태스크(118)인 "EP로부터 SWD요청을 삽입함"(118)은 패키지목록의 컨텐츠를 목표 시스템에서 판독하여, 요청 큐 디렉토리에 요청 파일을 생성한다(120).
이하에서, SWD요청(120)은 GW(124)상에 배치된 큐관리기(Queue Manager: QMGR;122)에 의해 처리된다. QMGR(122)은 제1 단계가 요청 큐 디렉토리에 저장된 후속 요청(128)을 판독하는 루프(126)를 실행한다. 다음 단계로, QMGR(122)은 트리거 스크립트(130)를 생성하고, 끝으로, 생성된 트리거 스트립트를 시작하여 요청큐에서 활성큐로 요청을 이동함으로써 요청을 활성화한다(132). 전술한 루프는 요청 큐에 저장된 모든 요청들이 없어질 때까지 계속적으로 실행된다.
개시된 트리거 스크립트와 활성화된 요청들 각각에 대해서, 파일 패키지 블럭(FilePackageBlock)은 EP상에 배포/설치된다(134). 설치하는 동안, 설치상태는 전송되고 설치되는 패키지 각각에 대해서 체크되며(136), 이 체크결과에 따라 본 발명에 따른 풀-모드 또는 푸쉬-모드에 대한 모드 스위칭이 초기화된다(138). 이들 배포모드는 이하에서 더 상세하게 설명될 것이다. 모드 스위칭이 일어난 다음에, 후속의 풀 또는 푸쉬 요청은 큐내에 첨부될 수 있다(140)(도 2 참조).
표준 푸쉬 모드(142)의 경우에는, SW 배포프로세스는 티볼리 매니지먼트 프레임워크 서버(Tivoli Management Framework server : TMR)상에서 시작한다(144). 우선, TMR상에서 동작하는 태스크는 배포/설치를 위한 SW패키지(14)를 선택하고 패키지가 결정된 각각의 엔드포인트 또는 목표 검퓨터에 대한 목표 리스트를 생성한다. 후에, TMR은 일치하는 요청을 삽입(150) 및 배포하고(152), 요청을 GW(156)상에 배치된 전술한 요청 큐(154)에 전송하며, 전술한 QMER(122)에 의해 프로세스된다.
또한, 강제적 풀 모드(158)의 경우에서는, 처음 네개의 단계 "패키지를 선택"하는 단계에서부터 "요청을 배포하는 단계"(146 ~ 153)가 표준 푸쉬모드(142)에서의 처음 네개의 단계와 동일하게 대응하기 때문에 다시 설명하지 않는다. 그러나 표준 푸쉬모드(142)와 대비하여, 요청은 EP(160)로부터 직접 전송되며, 여기서 '강제적' EP로그인이 실행된다(162). 다른 배포모드와 마찬가지로, 요청은 전술한 바와 같이, GW(156)상에 배치된 요청 큐(154)에 입력되고 QMGR(122)에 의해 처리된다.
그러므로, 세개의 모드(102, 142, 158)는 새로운 배포 요청을 요청 큐내에삽입하는 방식에 있어서 상이하다. 주 배포 프로세스는, SWD요청 파일을 위해 전술한 소위 "요청 큐"라 불리는 특정 디렉토리를 모니터링하고 각 요청에 대해 즉시 주배포 스크립트를 시작함으로써 그들을 활성화할 책임이 있는 중앙 스크립트인 전술한 QMGR에 의해 컨트롤된다. 따라서, QMGR은 동시에 제공하는 활성 배포의 개수를 모니터링하여 시스템이 오버로드(overload)하는 것을 회피하기 위해 간단한 쓰로틀링 (Throttling) 메커니즘을 제공한다.
제안된 배포 메커니즘의 중요한 특징은 패키지를 배포하기 전에, 엔드포인트(EP) 이용성에 의해 결정된 특정 배포 모드를 선택하는 주 배포 스크립트이다. EP가 이용가능하지 않다면, 자동 모드 스위칭은 풀-모드 또는 푸쉬-모드에 대한 자동스위칭, 자동 재-스케쥴링, 웨이크-온 LAN, 자동 재시도, 또는 실행중지 (aborting) 에 의해 이 상황을 처리한다. EP가 도달될 수 있다면, 주 배포 스크립트는 패키지 목록에 걸쳐서 단계적으로 하나의 패키지를 설치한 다음 다음패키지를 설치하는 작업을 수행한다. 이들 설치 단계의 진행은 T/EC상에서 모니터링될 수 있다.
도 2는 흐름도에 의해 SWD프로세스 동안 전술된 주 배포 스크립트에 의해 실행된 기본 단계를 도시한다. 이 단계들은 자동적으로 실행될 수 있다는 것이 강조된다.
SWD프로세스가 시작되면(200), 요청 큐가 판독되며 발견되는 최초 요청이 활성큐에 배치될 수 있다(202).
이하 단계를 진행하는 동안, 특정 요청에 대한 패키지 목록이 처리된다. 우선 어떤 아이템이 패키지 목록에 남아있는지가 체크된다(204). 적어도 하나의 아이템이 남아 있다면, 그 아이템은 다음 아이템으로 판독된다(206). 아이템이 남아있지 않다면, 프로세스는 성공적으로 끝난다(208). 그 다음 현재 어드레스지정된 EP(목표 시스템)가 이용가능한지(즉, 온라인 및 액세스 가능한지)가 체크된다 (210). 이용가능하다면, 패키지 리스트의 현재 아이템의 설치는 EP상에서 시작된다(212). 만약 EP가 이용가능하지 않다면, 단계(216)로 넘어가서 후술하는 바와 같이, 모드 스위칭이 초기화된다. 초기화가 성공적이었다면(214), 다음 아이템이 패키지 목록에 남아있는지를 체크하는 단계(204)로 되돌아간다. 하나의 아이템이 남아있다면, 전술한 단계(206 ~ 212)가 다시 실행된다. 체크 단계(214)는 설치가 성공하지 않았다는 것이 드러나면, 후술과 같이 모드 스위칭이 시도된다.
우선, 어떠한 모드 플래그가 설정되어 있는지가 체크된다(216). 푸쉬모드 플래그가 설정되어 있으면, 이어서 적어도 하나의 푸쉬 시도(PUSH attempt)가 남아 있는지를 체크한다(218). 여기서 시도 개수는 사전-지정된다. 푸쉬 시도가 남아있다면, 배포/설치가 재시작되어 다음의 푸쉬-모드 배포/설치가 재스케쥴링된다(220). 푸쉬 시도가 남아 있지 않다면, 풀-모드로 전환되고(222) 이어서 적어도 하나의 풀-모드 시도가 남아 있는지가 체크된다(224). 남아 있다면, 설치가 재시작되어 다음 풀-모드 배포/설치가 재스케쥴링된다(226). 그렇지 않다면, 프로세스는 종료된다 (228).
푸쉬시도가 남아있지 않은 경우에 풀-모드로의 전술한 전환은 목표시스템에 대해 풀-모드를 강요한다는 것이며 그러한 범위에서 '강제적 풀-모드'로 간주된다.
도 3은 본 발명에 따른 큐 관리기(QMGR) 메커니즘을 흐름도로 도시한다. 우선 임의의 요청이 요청큐내에 포함되어 있는지가 체크된다(300). 요청큐내에서, 본 실시예에 따르면, 요청들은 결정된 순서(예를 들면, 요청 생성시간)에 따라 저장된다. 그 시간은 요청이 프로세스되는 우선순위를 결정된다. 이하에서는 순서가 숫자 1에서 n까지 나타내는 것을 가정한다. 요청큐가 적어도 하나의 요청(본 실시예에서는 n = 1이 할당된 요청)을 포함하면(302), 요청은 큐관리기에 의해 프로세스될 것이다(304). 그 다음 사전-지정된 타임스탬프(쓰레스홀드)가 초과되었는지가 체크된다(306). 후자의 체크는 QMGR의 일부로서, 요청 처리의 스케쥴링을 제공한다. 타임스탬프가 초과되지 않으면, 단계(304)로 넘어가므로써 대기 상태를 정의한다. 타임스탬프가 초과되면, 활성 큐가 현재 오버로드되는지가 체크된다 (308). 활성큐가 오버로드되면, 단계(302)로 넘어간다. 활성큐가 오버로드되지 않으면, 다음은 현재 목표 시스템이 이미 활성화인지가 체크된다(310). 목표시스템이 활성화라면 단계(304)로 넘어간다, 그렇지 않다면 요청은 활성큐로 설정된다(312). 마지막 두개의 단계는 QMER에서 구축된 쓰로틀링 메커니즘을 나타내며, 점선에 의해 표시된다.
또한, SWD프로세스는 임의의 선행조건들이 직면할 때에만 배포 프로세스가 시작된다는 것을 확실하게 하기 위해 제어 및 에러 처리 특징들을 포함할 수 있다.
도 4를 참조하면, 이들 특징들을 포함하는 SWD 프로세스의 바람직한 실시예가 더 구체적으로 설명된다.
선행조건들중 하나는 엔드포인트(목표 컴퓨터 시스템)가 온라인인지 엔드포인트 관리기를 체크하는 것이다(400). 다수의 체크(402~ 404)후에도 계속 이용가능하지 않다면, 후속하는 동작은 구성 및 재시도 상태동안 통과된 재시도 설정에 따른다.
- 웨이크-온-랜 (wake-on-lan) 옵션이 선택되었다면(406), 외부 스크립트가 호출될 것이다. 이 스크립트는 웨이크업 작동이 개시되는 방식에 차이점에 있을 수 있는 가능성 때문에 로컬 처리기(local administrator)에 의한 동작으로 채워져야 한다. 부트 지연 주기(boot delay period) 이후(408)에, 엔드포인트 상태는 다시 체크된다(404). 현재 온라인상태라면, 프로시져는 다음 체크로 전환한다(410). 그렇지 않으면, 이하에서 설명될 재스켈쥴링 옵션(412)이 적용된다.
- 푸쉬재시도(attempt)의 회수가 0보다 크면 요청은 대키큐(hold queue)로 이동된다. 요청을 요청큐에 재삽입하기 위해 배포 프로세스가 생성된다. 프로세스는 "삽입 배포 요청"프로세스 단계에서 구성된 것과 같이, 현재시간보다 수분 앞서는 것으로 자동 스케쥴링된다. 이 다음에, 배포가 재스케쥴링됨을 나타내는 시비리티 (severity) 경고의 T/EC메시지가 생성된다.
- 푸쉬 재시도의 회수가 0이고 풀 재시도의 회수(414)가 0보다 크면 요청은 풀 큐로 이동된다(416). 다음번 엔트포인트가 로그인 하는 경우 재시작될 수 있다.
- 푸쉬 재시도의 개수가 0이고 풀재시도의 회수가 0이면, 요청은 중단 큐(abort queue)내로 이동되며(418), 패키지 목록 프로세싱이 실패되었음을 나타내고 메시지 필드에 마지막 시도된 파일 패키지를 제공하는 씨비리티 "마이너(MINOR)"의 T/EC 메시지(420)를 전송한다.
상기 모든 테스트가 통과된 다음, 클래스 SWD_시작(class SWD_Starting)의 T/EC메시지가 전송되며(422) 배포 프로세스는 현재의 파일 패키지 블럭을 목표상에 배포하기 위해 'wdistfpblock'호출을 개시함으로써 시작된다(424). 이 프로그램이 '0'이외의 '리턴코드(return code)'를 리턴하면, 실패된 배포 및 리스트처리가 취소될 것이다. 배포가 활성 엔드포인트에 대해 사실상 실패하면, 선택적으로 이용가능한 재시도 특징이 있다는 것에 주목할 수 있다. 두 개의 T/EC 메시지가 전송되며, 씨비리티 MINOR을 갖는 클래스 SWD_실패중 하나_실패(one of class SWD_Failed)는 현재 패키지 배포가 성공적이지 않았음을 나타내고, 씨비리티 MINOR를 갖는 클래스 SWD_목록 중 하나_실패(one of class SWD_list_Failed)는 패키지 목록 처리가 실패되었음을 나타내고 메시지 필드에 마지막에 시도된 파일을 제공한다(420). 'wdistfpblock'이 0을 리턴하면, 클래스 SWD_성공(class SWD_List_Sucess)의 T/EC메시지가 전송되고 다음 패키지에 대한 리스트처리가 진행한다. 모드 패키지가 성공적으로 배포되는 경우, 리스트 처리는 씨비리티 HARMLESS를 갖는 클래스 SWD_목록_성공 군(class SWD_List_Sucess)의 T/EC메시지로 끝마치며 요청은 참고를 위해 완료 큐로 이동된다.
처리하는 동안, 몇몇의 T/EC메시지가 생성되어, 오퍼레이터에게 현재 진행하고 있는 배포를 모니터링할 기회를 제공한다. 요청 목록 처리의 시작 및 모든 단일 배포의 시작은 어떤 프로세스가 동작하고 있다는 것을 알리기 위해 씨비리티 WARNING과 함께 전송된다. 배포 및 목록 처리 각각은 대응하는 종료 메시지를 갖으며, 이는 일반적으로 시작 이벤트를 끝마친다. 프로세스가 성공적인 경우, 마찬가지로 종료 메시지는 끝마친다. 오류 조건만이 오픈 상태로 남게 되는데 이러한 경우는 오퍼레이터의 액션이 필수이기 때문이다. 오류가 없다면, 리스트가 처리된 다음에 아무런 메시지도 개방되지 않을 것이다.

Claims (11)

  1. 적어도 두 개의 배포/설치 모드에 기반에 근거하여 소스 데이터 처리 시스템으로부터 적어도 하나의 목표 데이터 처리시스템으로 컴퓨터 프로그램을 원격 배포/설치하기 위한 방법에 있어서, 상기 방법은,
    적어도 하나의 목표 데이터 처리 시스템이 이용가능한 지를 체크하는 단계와,
    상기 적어도 하나의 목표 데이터 처리 시스템이 이용가능하다면 상기 배포/설치를 실행하는 단계와,
    상기 배포/설치가 성공적인 지를 모니터링하는 단계, 및
    상기 배포/설치가 성공적이지 않으면 상기 배포/설치모드를 전환하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 컴퓨터 프로그램은 패키지 목록에서 확인된 패키지로서 전송되며, 상기 방법은,
    푸쉬모드(push mode) 및 풀모드(pull mode) 배포를 재시도하기 위한 시도 회수를 사전-지정하는 단계와,
    상기 패키지 목록에서 확인된 다음 패키지를 검색하는 단계와,
    상기 적어도 하나의 목표 데이터 처리 시스템이 이용가능한 지를 체크하는 단계와,
    상기 적어도 하나의 목표 컴퓨터 시스템이 이용가능하다면, 상기 목표 데이터 처리 시스템상에서 상기 패키지 설치를 시작하는 단계와,
    만약 그렇지 않은 경우에, 적어도 하나의 푸쉬모드 시도가 남아있다면 다음 푸쉬모드 배포를 다시 개시하고 재스케쥴링하며, 푸쉬모드가 남아 있지 않고 적어도 하나의 풀모드 시도가 남아 있다면 다음 풀모드 배포를 다시 개시하여 재스케쥴링하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서, 몇번의 재시도 후에 상기 목표 데이터 처리 시스템이 이용가능하지 않으며,
    푸쉬 재시도의 회수가 0보다 크면, 배포/설치 요청을 대기 큐로 이동하여 상기 요청을 요청규에 재-삽입하는 것을 스케쥴링하는 단계와,
    푸쉬 재시도의 회수가 0이고 풀 재시도의 회수가 0보다 크면, 상기 요청을 풀 큐로 이동하여 상기 목표 컴퓨터 시스템이 로그인하는 경우 재시작하는 단계와.
    푸쉬 재시도의 회수가 0이고 풀 재시도의 회수가 0이면, 요청을 중단큐(abort queue)로 이동하는 단계를 수행하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 배포/설치 요청을 요청 큐로 큐잉(queuing)하고 사전-지정된 시간이 초과되면 상기 배포/설치 요청을 활성 큐에배치하는 방법.
  5. 제1항 내지 제4항중 어느 한 항에 있어서, 활성큐 오버로드를 검출하고 현재 선택된 목표 데이터 처리 시스템이 이미 활성화인지를 체크하는 단계를 더 포함하는 방법.
  6. 데이터 처리시스템에서 실행되는 데이터처리프로그램으로서, 상기 프로그램이 상기 컴퓨터 상에서 실행될 때 상기 청구항 제1항 내지 제5항 중 어느 한 항에 따른 방법을 수행하기 위한 소프트웨어 코드부분을 포함하는 프로그램.
  7. 컴퓨터 이용가능매체상에 저장된 컴퓨터프로그램제품으로서, 상기 프로그램이 상기 컴퓨터상에서 실행될 때 컴퓨터로 하여금 청구항 제1항 내지 제5항 중 어느 한항에 따른 방법을 수행하도록 하기 위한 컴퓨터 판독가능 프로그램 수단을 포함하는 프로그램 제품.
  8. 적어도 두개의 배포/설치 모드에 근거하여 소스 데이터 처리 시스템으로부터 적어도 하나의 목표 데이터 처리 시스템으로 컴퓨터 프로그램을 원격 배포/설치하기 위한 소프트웨어 배포 시스템에 있어서,
    상기 적어도 하나의 목표 데이터 처리 시스템의 이용성을 체크하여 상기 체크한 이용성의 결과에 따라 상기 배포/설치를 실행하기 위한 수단과,
    상기 배포/설치 프로세스를 모니터링하기 위한 수단, 및
    상기 모니터링 결과에 따라 상기 배포/설치 모드를 스위칭하기 위한 수단
    을 포함하는 소프트웨어 배포 시스템.
  9. 적어도 두개의 배포/설치모드에 따라 소스 데이터 처리 시스템으로부터 적어도 하나의 목표 데이터 처리시스템으로 컴퓨터 프로그램 -상기 컴퓨터 프로그램은 패키지 리스트에서 확인된 패키지로서 전송됨- 을 원격 배포/설치하기 위한 소프트웨어 배포 시스템에 있어서,
    상기 시스템은 원격 배포를 처리하기 위한 요청큐와 활성큐를 포함하는 큐관리기를 포함하는 소프트웨어 배포 시스템.
  10. 제9항에 있어서, 상기 큐관리기는 사전-지정된 시간이 초과되는지를 체크하기 위한 수단과, 상기 활성큐가 오버로드되는지를 체크하여, 오버로드되지 않으면, 상기 요청을 상기 활성큐내에 배치하기 위한 수단을 포함하는 소프트웨어 배포 시스템.
  11. 제9항 또는 제10항에 있어서,
    상기 큐관리기는 현재 목표 데이터 처리 시스템이 이미 활성되어 있는지를 체크하여, 활성되어 있지 않으면 상기 요청을 상기 활성큐내에 배치하기 위한 수단을 포함하는 소프트웨어 배포 시스템.
KR1020037008031A 2000-12-20 2001-12-06 원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템 KR100546931B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00128018 2000-12-20
EP00128018.9 2000-12-20
PCT/EP2001/014326 WO2002050660A2 (en) 2000-12-20 2001-12-06 Method and system for remote software distribution and installation

Publications (2)

Publication Number Publication Date
KR20030063426A true KR20030063426A (ko) 2003-07-28
KR100546931B1 KR100546931B1 (ko) 2006-01-26

Family

ID=8170739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037008031A KR100546931B1 (ko) 2000-12-20 2001-12-06 원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템

Country Status (11)

Country Link
US (1) US7130896B2 (ko)
EP (1) EP1415223B1 (ko)
JP (1) JP3864253B2 (ko)
KR (1) KR100546931B1 (ko)
CN (1) CN1272707C (ko)
AT (1) ATE319132T1 (ko)
AU (1) AU2002229623A1 (ko)
CA (1) CA2430099A1 (ko)
DE (1) DE60117604T2 (ko)
IL (1) IL156521A0 (ko)
WO (1) WO2002050660A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142263A3 (en) * 2011-04-12 2013-01-10 Applied Science, Inc. Systems and methods for managing blood donations
US11426498B2 (en) 2014-05-30 2022-08-30 Applied Science, Inc. Systems and methods for managing blood donations

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8028077B1 (en) * 2002-07-12 2011-09-27 Apple Inc. Managing distributed computers
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8898256B2 (en) * 2004-07-13 2014-11-25 International Business Machines Corporation Prioritization of application component distribution
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7571464B2 (en) * 2004-08-27 2009-08-04 International Business Machines Corporation Secure bidirectional cross-system communications framework
US8719815B1 (en) 2005-12-09 2014-05-06 Crimson Corporation Systems and methods for distributing a computer software package using a pre-requisite query
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
EP1944944A1 (en) * 2007-01-12 2008-07-16 Thomson Licensing System and method for combining pull and push modes
US8132166B2 (en) 2007-05-14 2012-03-06 Red Hat, Inc. Methods and systems for provisioning software
US8561058B2 (en) * 2007-06-20 2013-10-15 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8464247B2 (en) 2007-06-21 2013-06-11 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8209678B2 (en) * 2007-09-17 2012-06-26 Sony Corporation System, apparatus, and method for an upgrader module
US8713177B2 (en) 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
US9100297B2 (en) * 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8930512B2 (en) 2008-08-21 2015-01-06 Red Hat, Inc. Providing remote software provisioning to machines
US8838827B2 (en) * 2008-08-26 2014-09-16 Red Hat, Inc. Locating a provisioning server
US9477570B2 (en) 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8793683B2 (en) 2008-08-28 2014-07-29 Red Hat, Inc. Importing software distributions in a software provisioning environment
US9021470B2 (en) 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US9111118B2 (en) 2008-08-29 2015-08-18 Red Hat, Inc. Managing access in a software provisioning environment
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9952845B2 (en) * 2008-08-29 2018-04-24 Red Hat, Inc. Provisioning machines having virtual storage resources
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US8244836B2 (en) 2008-08-29 2012-08-14 Red Hat, Inc. Methods and systems for assigning provisioning servers in a software provisioning environment
US8612968B2 (en) * 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8326972B2 (en) 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8898305B2 (en) * 2008-11-25 2014-11-25 Red Hat, Inc. Providing power management services in a software provisioning environment
US9124497B2 (en) * 2008-11-26 2015-09-01 Red Hat, Inc. Supporting multiple name servers in a software provisioning environment
US8775578B2 (en) * 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
US8782204B2 (en) 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US8832256B2 (en) * 2008-11-28 2014-09-09 Red Hat, Inc. Providing a rescue Environment in a software provisioning environment
US8402123B2 (en) 2009-02-24 2013-03-19 Red Hat, Inc. Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US9727320B2 (en) 2009-02-25 2017-08-08 Red Hat, Inc. Configuration of provisioning servers in virtualized systems
US8892700B2 (en) * 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US8413259B2 (en) * 2009-02-26 2013-04-02 Red Hat, Inc. Methods and systems for secure gated file deployment associated with provisioning
US20100217944A1 (en) * 2009-02-26 2010-08-26 Dehaan Michael Paul Systems and methods for managing configurations of storage devices in a software provisioning environment
US9940208B2 (en) * 2009-02-27 2018-04-10 Red Hat, Inc. Generating reverse installation file for network restoration
US8572587B2 (en) * 2009-02-27 2013-10-29 Red Hat, Inc. Systems and methods for providing a library of virtual images in a software provisioning environment
US8640122B2 (en) * 2009-02-27 2014-01-28 Red Hat, Inc. Systems and methods for abstracting software content management in a software provisioning environment
US8667096B2 (en) 2009-02-27 2014-03-04 Red Hat, Inc. Automatically generating system restoration order for network recovery
US9411570B2 (en) * 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US9558195B2 (en) * 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US8135989B2 (en) * 2009-02-27 2012-03-13 Red Hat, Inc. Systems and methods for interrogating diagnostic target using remotely loaded image
US8990368B2 (en) 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US8417926B2 (en) 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US9250672B2 (en) 2009-05-27 2016-02-02 Red Hat, Inc. Cloning target machines in a software provisioning environment
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US9047155B2 (en) * 2009-06-30 2015-06-02 Red Hat, Inc. Message-based installation management using message bus
US10133485B2 (en) 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
US8825819B2 (en) 2009-11-30 2014-09-02 Red Hat, Inc. Mounting specified storage resources from storage area network in machine provisioning platform
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US20110307933A1 (en) * 2010-06-15 2011-12-15 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for implementing server side push mechanisms for internet protocol television (iptv) updates
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8954985B2 (en) * 2012-06-05 2015-02-10 International Business Machines Corporation Dependency management in task scheduling
US20150074659A1 (en) * 2013-09-06 2015-03-12 Vmware, Inc. Methods and Apparatus to Perform Web-Based Installations and/or Upgrade Architectures for Enterprise Software
JP2016139322A (ja) 2015-01-28 2016-08-04 株式会社リコー 画像処理装置及びそれを備えた電子黒板
US10649766B2 (en) * 2015-06-05 2020-05-12 Unisys Corporation Dynamic replacement of software components
US9880825B1 (en) 2015-08-06 2018-01-30 Mesosphere, Inc. Distributed package management using meta-scheduling
KR101981520B1 (ko) * 2017-10-25 2019-05-24 효성중공업 주식회사 스마트그리드를 위한 통신 방식 채택 방법 및 이를 이용한 통신 정책 서버

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
JPH09160858A (ja) 1995-12-08 1997-06-20 Nippon Telegr & Teleph Corp <Ntt> データ再送方法及びサーバ
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6473099B1 (en) * 1996-06-03 2002-10-29 Webtv Networks, Inc. Automatically upgrading software over a satellite link
US6259442B1 (en) * 1996-06-03 2001-07-10 Webtv Networks, Inc. Downloading software from a server to a client
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
JP2000106559A (ja) 1998-09-28 2000-04-11 Fujitsu Ltd 同報通信方法、同報通信装置、及び記録媒体
US6289511B1 (en) * 1998-09-29 2001-09-11 Telephonaktiebolaget Lm Ericsson Method and system for distributing software in a telecommunications network
US6351761B1 (en) * 1998-12-18 2002-02-26 At&T Corporation Information stream management push-pull based server for gathering and distributing articles and messages specified by the user
JP2000293452A (ja) 1999-04-01 2000-10-20 Ntt Data Corp データ中継装置、データ通信システム、データ通信方法及び記録媒体
US6966060B1 (en) * 1999-07-02 2005-11-15 Microsoft Corporation Method and system for remote client installation
US6640238B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
AU2001294677A1 (en) * 2000-09-22 2002-04-02 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142263A3 (en) * 2011-04-12 2013-01-10 Applied Science, Inc. Systems and methods for managing blood donations
KR101509051B1 (ko) * 2011-04-12 2015-04-07 어플라이드 사이언스, 인코포레이티드 헌혈을 관리하는 시스템 및 방법
US9697337B2 (en) 2011-04-12 2017-07-04 Applied Science, Inc. Systems and methods for managing blood donations
US11426498B2 (en) 2014-05-30 2022-08-30 Applied Science, Inc. Systems and methods for managing blood donations

Also Published As

Publication number Publication date
WO2002050660A3 (en) 2004-02-19
US7130896B2 (en) 2006-10-31
EP1415223B1 (en) 2006-03-01
JP2004535609A (ja) 2004-11-25
IL156521A0 (en) 2004-01-04
WO2002050660A2 (en) 2002-06-27
CN1518692A (zh) 2004-08-04
AU2002229623A1 (en) 2002-07-01
EP1415223A2 (en) 2004-05-06
CA2430099A1 (en) 2002-06-27
ATE319132T1 (de) 2006-03-15
JP3864253B2 (ja) 2006-12-27
CN1272707C (zh) 2006-08-30
US20020078186A1 (en) 2002-06-20
KR100546931B1 (ko) 2006-01-26
DE60117604T2 (de) 2006-10-05
DE60117604D1 (de) 2006-04-27

Similar Documents

Publication Publication Date Title
KR100546931B1 (ko) 원격 소프트웨어 배포 및 설치를 위한 방법 및 시스템
CA2315446C (en) External job scheduling with a distributed processing system having a local job control system
KR100382851B1 (ko) 분산형 데이터 처리 시스템에서 클라이언트 컴퓨터를관리하기 위한 방법 및 장치
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
US7127635B2 (en) Method for correcting a program running on a computer system
US7703091B1 (en) Methods and apparatus for installing agents in a managed network
US7203723B2 (en) Update system, update client apparatus, update server apparatus, and programs
US8074213B1 (en) Automatic software updates for computer systems in an enterprise environment
US7120684B2 (en) Method and system for central management of a computer network
US20060031420A1 (en) System and method for upgrading software in a distributed computer system
EP1963989B1 (en) Program execution service windows
JPH10143381A (ja) 遊休ワークステーションを共用するための装置および方法
US9189303B2 (en) Shadow queues for recovery of messages
US7146531B2 (en) Repairing applications
US20010018710A1 (en) System and method for improved automation of a computer network
EP1335285A2 (en) Control device for file resources in a network
JP4056794B2 (ja) ストレージシステムの制御方法及びストレージシステム
EP1335286A2 (en) Control device for file resources in a network
JP2004046420A (ja) 最新リソースの整合方法及びその方式
JP2000112807A (ja) ローカルデータベース遅延更新システム及びローカルデータベース遅延更新方法
Swanson et al. MVS/ESA coupled-systems considerations
EP1187016A1 (en) Distributed processing job executing method and network system
JP2001142856A (ja) ネットワークシステム及びそのクライアント機へのプログラムリリース方法
JP2003248589A (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: 20101210

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee