KR100667862B1 - 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법 - Google Patents

관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법 Download PDF

Info

Publication number
KR100667862B1
KR100667862B1 KR1020040074540A KR20040074540A KR100667862B1 KR 100667862 B1 KR100667862 B1 KR 100667862B1 KR 1020040074540 A KR1020040074540 A KR 1020040074540A KR 20040074540 A KR20040074540 A KR 20040074540A KR 100667862 B1 KR100667862 B1 KR 100667862B1
Authority
KR
South Korea
Prior art keywords
software
client
distribution
information
management server
Prior art date
Application number
KR1020040074540A
Other languages
English (en)
Other versions
KR20040088438A (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 KR1020040074540A priority Critical patent/KR100667862B1/ko
Publication of KR20040088438A publication Critical patent/KR20040088438A/ko
Application granted granted Critical
Publication of KR100667862B1 publication Critical patent/KR100667862B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법에 관한 것으로, 다수의 관리대상 클라이언트 컴퓨터 그룹에 필요한 소프트웨어를 전송시키고자 하는 경우, 이를 하나의 공유 서버에서 해당 소프트웨어를 다운로드시키지 않고 해당 클라이언트 그룹을 하드웨어 자원의 우열에 따라 트리 구조화하여 상위 클라이언트로 우선적으로 소프트웨어를 전송 한 후 해당 소프트웨어 전송이 완료된 클라이언트가 다음 서브 클라이언트로 해당 소프트웨어를 전송하도록 하는 소프트웨어 전송의 클라이언트간 피라밋 전송이 가능하도록 함으로써 서버의 부하 집중을 분산시켜 소프트웨어 배포의 속도를 향상시킬 수 있는 것을 특징으로 한다.
원격관리, 다중배포

Description

관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법{METHOD FOR MULTIPLE RELEASE OF A SOFTWARE ON CLIENT COMPUTERS}
도 1은 본 발명이 적용되는 정보통신 시스템의 일예시도.
도 2는 본 발명의 실시예에 따른 원격관리 서버를 나타내는 일예시도.
도 3은 본 발명의 실시예에 따른 클라이언트 컴퓨터를 나타내는 일예시도.
도 4a 내지 도 4c는 본 발명의 실시예에 따른 클라이언트 컴퓨터의 환경설정모드를 설명하기 위한 블록도.
도 5는 본 발명의 실시예에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 나타내는 전체적인 흐름도.
도 6은 본 발명의 실시예에 따른 클라이언트 그룹의 트리구조에 관한 일예를 나타내는 도면.
도 7은 본 발명의 실시예에 따른 클라이언트 배포용 소프트웨어 패키징 작업 단계를 나타내는 상세 흐름도.
도 8은 본 발명의 실시예에 따른 소프트웨어 패키징 작업 대상인 포토샵 7.0 의 폴더 구조를 개략적으로 나타내는 도면.
도 9는 본 발명의 실시예에 따른 배포순위 트리 구조에 의한 소프트웨어 다중배포 단계를 나타내는 상세 흐름도.
도 10은 본 발명의 실시예에 따른 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계를 나타내는 상세 흐름도.
도 11은 본 발명의 실시예에 따른 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계를 나타내는 상세 흐름도.
<도면 주요 부분에 대한 부호의 설명>
100 : 정보 통신망 200 : 원격관리 서버
210 : 서버 카드 220 : 외부 인터페이스
230 : 중앙 제어부 231 : 인증 처리부
232 : 보호복구 관리부 233 : 로그데이터 관리부
234 : 전송 제어부 235 : 이벤트 관리부
236 : 소프트웨어 관리부 240 : 데이터 저장장치
300: 클라이언트 컴퓨터 310 : 클라이언트 카드
320 : 외부 인터페이스 330 : 클라이언트 제어부
331 : 로그인 관리부 332 : 보호복구 지원부
340 : 데이터 저장부
본 발명은 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법에 관한 것으로, 더욱 상세하게는 다수의 관리대상 클라이언트 컴퓨터 그룹에 필요한 소프트웨어를 전송시키고자 하는 경우, 이를 하나의 공유 서버에서 해당 소프트웨어를 다운로드시키지 않고 해당 클라이언트 그룹을 하드웨어 자원의 우열에 따라 트리 구조화하여 상위 클라이언트로 우선적으로 소프트웨어를 전송 한 후 해당 소프트웨어 전송이 완료된 클라이언트가 다음 서브 클라이언트로 해당 소프트웨어를 전송하도록 하는 소프트웨어 전송의 클라이언트간 피라밋 전송이 가능하도록 함으로써 서버의 부하 집중을 분산시켜 소프트웨어 배포의 속도를 향상시킬 수 있는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법에 관한 것이다.
일반적인 클라이언트/서버 시스템 환경에서, 시스템 관리자는 네트워크를 통해 서버에 접속되어 있는 클라이언트 컴퓨터들의 하드웨어 및 소프트웨어 자원을 효율적으로 관리해주는 역할을 한다. 그러나 네트워크 속도 및 용량의 발전에 따라 점점 많은 수의 클라이언트 컴퓨터들이 하나의 서버에 연결됨에 따라, 시스템 관리자는 더 많은 클라이언트 컴퓨터들을 관리해야 하는 부담이 생겼다.
따라서 최근에는 이러한 시스템 관리자의 부담을 덜어주고자, 시스템 관리자들이 서버측에서 클라이언트 컴퓨터들을 보다 효율적으로 관리해줄 수 있도록 해주는 기법들이 개발되고 있다.
이러한 기법들 중에서도 가장 주목되고 있는 기능 중 하나가 클라이언트 컴퓨터로의 소프트웨어 원격 배포 기능이다. 다수의 클라이언트 컴퓨터 그룹에 동일 한 소프트웨어, 가령 워드 프로세서 프로그램 또는 메일 프로그램을 다운로드시키고자 하는 경우에, 시스템 관리자가 해당 소프트웨어를 다수의 클라이언트 그룹에 수작업으로 일일이 배포할 필요 없이, 원격지의 서버에서 직접 해당 클라이언트 컴퓨터들로 해당 소프트웨어를 전송함으로써 클라이언트측의 컴퓨터 관리 효율을 개선할 수 있었다.
하지만, 이러한 기존의 소프트웨어 배포 방식은 하나의 공유 FTP 서버를 한 곳에 두고 그곳에서 다수의 배포대상 클라이언트 컴퓨터들이 접속하여 해당 소프트웨어를 다운로드 받아가는 방식을 사용함으로써 실제 소프트웨어 배포시 다수의 클라이언트 컴퓨터들이 동시에 접속하여 다운로드를 시도하게 되어 네트웍의 과부하가 일어나 실제 다운로드 속도는 대단히 느려지게 되는 문제점이 있었다.
이에 따라, 네트웍 과부하를 막기 위해 배포대상 클라이언트 컴퓨터들 중 일정한 수의 클라이언트 컴퓨터들만을 접속 가능하게 하고 해당 클라이언트로의 소프트웨어 배포 완료 후 순차적으로 나머지 클라이언트에 대한 소프트웨어 배포를 실시하는 방식을 사용하여 다운로드 속도를 개선시키고자 하는 시도도 있었으나, 이러한 방식에서도 전체 배포대상 클라이언트에 대한 전체 배포 시간은 전혀 개선되지 않았음은 물론, 오히려 네트웍 환경에 따라 배포 시간이 더 길어지는 경우까지 발생하는 등의 문제점이 발생하였다.
본 발명의 목적은 다수의 관리대상 클라이언트 컴퓨터 그룹에 필요한 소프트웨어를 전송시키고자 하는 경우, 이를 하나의 공유 서버에서 해당 소프트웨어를 다 운로드시키지 않고 해당 클라이언트 그룹을 하드웨어 자원의 우열에 따라 트리 구조화하여 상위 클라이언트로 우선적으로 소프트웨어를 전송 한 후 해당 소프트웨어 전송이 완료된 클라이언트가 다음 서브 클라이언트로 해당 소프트웨어를 전송하도록 하는 소프트웨어 전송의 클라이언트간 피라밋 전송이 가능하도록 함으로써 서버의 부하 집중을 분산시켜 클라이언트 그룹 전체에 대한 소프트웨어 배포의 속도를 향상시킬 수 있는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법은, (a) 원격관리 서버가 관리 대상으로 가입된 적어도 하나 이상의 클라이언트 컴퓨터들에 대한 각각의 하드웨어 및 소프트웨어 자원정보를 이용하여 데이터 저장장치에 클라이언트 자원정보 DB 를 구축하는 단계; (b) 상기 원격관리 서버가 관리 대상인 클라이언트 컴퓨터의 부팅에 따라, 내부 장착된 서버 카드를 통해 해당 클라이언트 컴퓨터의 클라이언트 카드와 통신접속을 이루고, 해당 클라이언트 컴퓨터로부터 클라이언트 컴퓨터의 IP 및 패스워드 정보를 수신하여 인증처리한 후 해당 클라이언트 컴퓨터로 인증결과를 통보하는 단계; (c) 상기 원격관리 서버가 접속된 클라이언트 컴퓨터로 현재 설치된 하드웨어 및 소프트웨어에 관한 정보를 요청하여 해당 클라이언트 컴퓨터의 현재 하드웨어 및 소프트웨어 자원 정보를 확인하고 기수집된 자원목록과 비교해 변동 사항이 존재하면 해당 기저장 클라이언트 자원목록을 갱신하는 단계; (d) 상기 원격관리 서버가 적어도 하나 이상의 클라이언트 컴퓨터들로 이루어진 클라이언트 그룹 컴퓨터들 중 하나의 클라이언트 컴퓨터로부터 해당 클라이언트 그룹에 포함된 전체 컴퓨터들 각각에 대하여 소정 소프트웨어를 모두 전송해줄 것을 요구하는 소프트웨어 그룹배포 요청신호를 수신하는 단계; (e) 상기 원격관리 서버가 해당 클라이언트 그룹에 속한 클라이언트 컴퓨터들에 관한 하드웨어 및 소프트웨어 자원정보를 상기 데이터 저장장치로부터 검색하고 각각의 클라이언트 컴퓨터들의 기수집된 자원정보에 따른 전송환경우열에 따라 해당 클라이언트 그룹 내 컴퓨터들에 대하여 전송우선순위에 따른 소정 트리구조로 구조화한 배포순위 트리구조 정보를 결정하여 데이터 저장장치에 저장하는 단계; 및 (f) 상기 원격관리 서버가 상기 배포순위 트리구조 정보에 따라 전체 클라이언트 그룹 중 소정 갯수의 최상위 레벨 클라이언트 컴퓨터로 해당 배포용 소프트웨어를 직접 전송하는 한편, 해당 소프트웨어에 대한 배포가 완료되어 해당 소프트웨어를 보유한 클라이언트 컴퓨터 및 그 서브트리 클라이언트 컴퓨터로 클라이언트 간 전송경로 정보를 포함하는 공유배포 정보를 전송하여 상기 배포순위 트리구조에 따라 배포완료된 소프트웨어 보유 클라이언트 컴퓨터가 미보유 서브트리 클라이언트 컴퓨터로 해당 소프트웨어를 전송하는 공유배포가 트리 구조에 따라 클라이언트간에 순차적으로 수행되도록 지원하는 단계; 를 포함하되, 상기 배포순위 트리구조의 결정을 위한 클라이언트 그룹의 전송우선순위 판단은, 우선적으로 해당 원격관리 서버와 같은 허브단에 물려 있는지 여부로 결정되고, 다음으로 CPU 클럭수, OS 환경매칭 여부, 메모리 사이즈의 자원요건에 따라 순차적으로 해당 전송환경우열의 판단이 이루어지는 것을 특징으로 한다.
바람직하게는, 상기 제 (f) 단계는, (f-1) 상기 원격관리 서버가 소정 클라이언트 그룹의 소프트웨어 그룹배포 요청에 따라 상기 데이터 저장장치에서 해당 소프트웨어 파일 및 해당 그룹배포 요청 클라이언트 그룹에 대한 배포순위 트리구조 정보를 확인하는 단계; (f-2) 상기 원격관리 서버가 상기 배포순위 트리구조 정보에서 전송환경우열 판단에 따라 최상위 레벨로 설정된 소정 갯수의 클라이언트 컴퓨터들에 대하여 현재 환경설정모드 정보를 요구해 해당 최상위 레벨 클라이언트 컴퓨터들의 현재 환경설정모드 정보를 확인하고, 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시키는 단계; (f-3) 상기 원격관리 서버가 해당 최상위 레벨 클라이언트 컴퓨터를 타겟으로 패킷전송 경로를 설정하고 상기 소프트웨어 파일을 직접 패킷전송하는 단계; (f-4) 상기 원격관리 서버가 상기 최상위 레벨 클라이언트 컴퓨터(300)들로부터 소프트웨어 전송완료 통보신호를 수신하고 해당 배포완료 정보를 저장하는 한편, 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터들과 해당 배포완료 클라이언트 컴퓨터들의 하위 서브트리 클라이언트 컴퓨터들로 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송함으로써 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 임시 클라이언트로서 해당 소프트웨어를 공유배포로서 다운로드 받을 수 있도록 설정하는 단계; (f-5) 상기 원격관리 서버가 상기 임시 클라이언트로 설정된 소프트웨어 미보유 클라이언트 컴퓨터들에 대하여 현재 환경설정모드 정보를 요구해 해당 소프트웨어 미보유 클라이언트 컴퓨터들의 현재 환경설정모드 정 보를 확인하고, 해당 소프트웨어 미보유 클라이언트 컴퓨터들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킴으로써 해당 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 하는 단계; (f-6) 상기 원격관리 서버가 공유배포가 이루어진 상기 임시 클라이언트 컴퓨터들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단계; (f-7) 상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포완료 정보들을 통해 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 미배포 상태인지 여부를 판단하여, 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 미배포 상태인 경우, 상기 제 (f-4) 내지 (f-6) 단계를 반복 수행하여 소프트웨어를 보유한 클라이언트 컴퓨터들와 그 서브트리 클라이언트 컴퓨터들을 각각 임시 서버와 임시 클라이언트로 설정하여 최초 배포순위 트리 구조에 따라 클라이언트 그룹 내 모든 클라이언트 컴퓨터들에 해당 소프트웨어가 배포되도록 하는 단계; (f-8) 상기 원격관리 서버가 상기 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 모두 소프트웨어 배포 상태인 경우, 해당 배포대상 클라이언트 그룹에 대한 패킷전송 이벤트를 종료시키는 단계; 및 (f-9) 상기 원격관리 서버가 해당 배포대상 클라이언트 그룹의 환경설정모드를 보호모드 또는 복구모드로 변경시키는 단계; 를 포함하는 것을 특징으로 한다.
더욱 바람직하게는, 상기 소프트웨어 다중배포 과정 중 해당 클라이언트 그 룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 1 가속배포가 설정된 경우, 해당 원격관리 서버는 보다 빠른 소프트웨어의 전체 배포를 위하여 최상위 레벨 클라이언트에 대한 초기 소프트웨어 직접 전송 이후에도 검색되는 미배포 하위 레벨 클라이언트에 대한 별도의 소프트웨어 직접 전송을 계속적으로 수행하는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계를 더 포함하되, 상기 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계는, 상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크하는 단계; 상기 원격관리 서버가 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여, 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 상기 배포순위 트리구조 정보에서 전송환경우열 판단에 따라 하위 레벨로 설정된 해당 소정 갯수의 클라이언트 컴퓨터들 중 소프트웨어 미배포 하위 레벨 클라이언트 컴퓨터에 대하여 현재 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시키는 단계; 상기 원격관리 서버가 해당 하위 레벨 클라이언트 컴퓨터들을 타겟으로 패킷전송 경로를 설정하고 상기 소프트웨어 파일을 직접 패킷전송하는 단계; 상기 원격관리 서버가 파일 직접배포가 이루어진 소정 갯수의 하위 클라이언트 컴퓨터들로부터 소프트웨어 전송 완료에 따른 배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단 계; 및 상기 원격관리 서버가 상기 데이터 저장장치의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여, 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 해당 소프트웨어 미배포 하위 클라이언트에 대하여 상기 제 1 가속배포를 위한 직접 배포를 계속적으로 반복 수행하는 단계;를 포함하는 것을 특징으로 한다.
더욱 바람직하게는, 상기 소프트웨어 다중배포 과정 중 해당 클라이언트 그룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 2 가속배포가 설정된 경우, 해당 원격관리 서버는 보다 빠른 소프트웨어의 전체 배포를 위하여 이미 공유배포 과정을 통해 자신의 서브트리 클라이언트에 대해 공유배포를 마친 클라이언트가 타 클라이언트 컴퓨터에 대한 공유배포를 계속적으로 수행하게 되는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계를 더 포함하되, 상기 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계는, 상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크하는 단계; 상기 원격관리 서버가 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여, 해당 하위 레벨 클라이언트 컴퓨터가 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터들과 해당 배포완료 클라 이언트 컴퓨터들의 하위 클라이언트 컴퓨터들 중 소프트웨어 미배포 상태로 확인된 하위 클라이언트 컴퓨터들로 새로운 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송하여 제 2 가속배포 설정에 따라 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 해당 소프트웨어를 다운로드 받을 수 있도록 설정하는 단계; 상기 원격관리 서버가 제 2 가속배포 설정에 따라 새로운 임시 클라이언트로 설정된 소프트웨어 미보유 하위 클라이언트 컴퓨터들에 대하여 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시켜 새로운 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 하는 단계; 상기 원격관리 서버가 새로운 공유배포가 이루어진 상기 임시 클라이언트 컴퓨터들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단계; 및 상기 원격관리 서버가 상기 데이터 저장장치의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여, 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 해당 소프트웨어 미배포 하위 클라이언트에 대하여 상기 제 2 가속배포를 위한 공유배포를 계속적으로 반복 수행하는 단계;를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 상세히 설명한다.
이하에서 본 발명은 다수의 관리대상 클라이언트 컴퓨터 그룹에 필요한 소프 트웨어를 전송시키고자 하는 경우, 이를 하나의 공유 서버에서 해당 소프트웨어를 다운로드시키지 않고 해당 클라이언트 그룹을 하드웨어 자원의 우열에 따라 트리 구조화하여 상위 클라이언트로 우선적으로 소프트웨어를 전송 한 후 해당 소프트웨어 전송이 완료된 클라이언트가 다음 서브 클라이언트로 해당 소프트웨어를 전송하도록 하는 소프트웨어 전송의 클라이언트간 피라밋 전송이 가능하도록 함으로써 서버의 부하 집중을 분산시켜 전체적인 소프트웨어 배포의 속도를 향상시킬 수 있는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 바람직한 실시예로 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명이 적용되는 정보통신 시스템의 일예시도이다.
상기 도 1에 도시된 바와 같이, 본 발명이 적용되는 정보통신 시스템은, 정보 통신망(100), 원격관리 서버(200) 및 다수의 클라이언트 컴퓨터(300)를 포함한다.
상기 정보 통신망(100)은 유선으로 접속할 수 있는 TCP/IP 프로토콜과 무선으로 접속할 수 있는 WAP 프로토콜 등을 사용한 인터넷망을 포함한다.
상기 원격관리 서버(200)는 외부에서 상기 정보 통신망(100)을 통해 후술되는 클라이언트 컴퓨터(300)와 접속되어 해당 클라이언트 컴퓨터(300)의 성능향상, 소프트웨어 배포 및 원격설치, 자원관리 등의 작업을 수행하게 되는 원격 관리 장치이고, 상기 클라이언트 컴퓨터(300)는 기업이나, 학교, 학원, 사무실, 연구실, PC방 등 다수의 컴퓨터를 보유한 대단위 사업장에 설치된 개인용 컴퓨터 장치로서 부팅과 동시에 상기 원격관리 서버(200)와 접속되어 해당 원격관리 서버(200)에서 서비스하는 원격관리 서비스를 제공받게 되는 개인용 컴퓨터이다. 이때, 상기 클라이언트 컴퓨터(300)는 상술한 바와 같이 대단위 사업장에 속한 개인용 컴퓨터에 제한되지 않고 일반 가정용 개인 컴퓨터와 같은 단독 구성일 수 있다.
또한, 상기 원격관리 서버(200)는 전술한 바와 같이 해당 원격관리 서버의 단독 구성에 제한되지 않고, 후술하는 본 발명의 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 서비스하기 위해 별도의 외부 스토리지 서버를 구성하여 원활한 패킷전송이 가능하도록 할 수도 있다. 이하에서는 설명의 편의를 위해 상기 원격관리 서버(200) 단독으로 본 발명의 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 서비스하는 것으로 설명하지만, 상술한 바와 같이 본 발명이 이에 제한되는 것은 아니다.
본 발명에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 수행하게 되는 상기 원격관리 서버(200)는 도 2에 도시된 바와 같이, 서버 카드(210), 외부 인터페이스(220), 중앙 제어부(230), 인증 처리부(231), 보호복구 관리부(232), 로그데이터 관리부(233), 전송 제어부(234), 이벤트 관리부(235), 소프트웨어 관리부(236) 및 데이터 저장장치(240)를 포함한다.
상기 서버 카드(210)는 상기 정보 통신망(100)을 통해 원격지의 클라이언트 컴퓨터(300)와 접속할 수 있도록 하는 외부 인터페이스 카드로서 파일전송 및 통신소켓을 포함하고 있으며, 본 발명에서는 기존에서와 같이 외부 접속을 위한 연결프로그램을 기존의 서버에 단순히 설치하는 방식이 아닌 별도의 하드웨어 장치로서 해당 서버 카드(210)를 구성하고 관련 연결관리 프로그램을 카드 내 저장장치(예컨데, EEPROM)에 저장시킴으로써 우수한 서버/클라이언트 간 연결 안정성을 유지할 수 있도록 구성된다.
상기 외부 인터페이스(220)는 상기 서버 카드(210)가 외부의 클라이언트 컴퓨터(300)로부터 수신한 데이터(예컨데, 클라이언트 인증정보, 배포완료 신호)를 내부로 전달하고 외부 클라이언트 설치용 데이터(예컨데, 배포용 S/W 패키지 정보, 공유배포 경로 정보)를 상기 서버 카드(210)로 전달한다.
상기 인증 처리부(231)는 상기 서버 카드(210)가 외부 클라이언트 컴퓨터(300)로부터 수신하는 클라이언트 컴퓨터의 IP 및 패스워드 정보를 수신하여 인증처리한다.
상기 보호복구 관리부(232)는 상기 서버 카드(210)를 통해 외부 클라이언트 컴퓨터(200)의 환경설정모드 정보를 확인하고 본 발명의 소프트웨어 원격설치시 해당 클라이언트 컴퓨터(300)의 환경설정모드를 외부 데이터 접근을 허용하는 오픈모드로 전환시킨다.
이때, 관리대상인 상기 클라이언트 컴퓨터(300)의 환경설정모드는 보호모드, 복구모드 및 오픈모드로 클라이언트 또는 서버 측에서 설정 가능하며 이러한 환경설정모드에 관해서는 추후 클라이언트 컴퓨터에 관한 설명시 보다 상세히 설명된다.
상기 로그데이터 관리부(233)는 상기 인증 처리부(231) 및 보호복구 관리부(232)로부터 수행된 클라이언트 인증처리 정보 및 환경설정 정보에 관한 로그 데이 터를 후술하는 데이터 저장장치(240)에 저장한다.
한편, 상기 소프트웨어 관리부(236)는 본 발명에 따른 소프트웨어의 다중배포 시 해당 소프트웨어를 배포하도록 지정된 클라이언트 컴퓨터(300)들을 배포목록에 등록시킨다.
또한, 상기 이벤트 관리부(235)는 외부 클라이언트 컴퓨터(300)들의 접속에 따라 접속된 클라이언트 컴퓨터(300)가 상기 소프트웨어 관리부(236)의 소프트웨어 배포목록에 등록된 클라이언트 컴퓨터(300)인지 여부를 확인해 본 발명에 따른 소프트웨어 배포를 위한 이벤트를 발생시키고 전송 종료 후 해당 이벤트를 종료시킨다.
상기 전송 제어부(234)는 상기 이벤트 관리부(235)의 이벤트 발생에 따라 상기 데이터 저장장치(240)에 저장된 배포용 소프트웨어 패키지를 해당 클라이언트 컴퓨터(300)로 패킷전송하게 된다.
이때, 상기 배포용 소프트웨어 패키지는 일반적인 프로그램 파일이나 프로그램 패치 또는 업그레이드용 데이터일 수 있으며, 본 발명에서는 이러한 배포용 소프트웨어를 단순히 외부 클라이언트 컴퓨터(300)로 파일 다운로드시키는데 그치지 않고, 해당 소프트웨어에 대하여 구성요소 추출, 별도의 압축 및 레지스트리 수정 작업을 거쳐 최적화 시킨 다이어트 패키지 상태로 만든 후 해당 클라이언트 컴퓨터(300)로 전송함으로써 해당 클라이언트 컴퓨터(300)측에서 관리자가 재차 설치작업을 수행할 필요없이 해당 소프트웨어가 전송과 동시에 해당 클라이언트 컴퓨터(300)내에서 즉시 실행 가능하도록 한다. 이와 같은 소프트웨어의 다이어트 패키징 방법은 추후 소프트웨어 다중배포 방법에 관한 설명시 보다 상세히 설명된다.
상기 데이터 저장장치(240)는 외부 클라이언트 설치예약목록 정보와, 설치용 소프트웨어 패키지 파일들과, 클라이언트 원격관리 관련 정보들과, 관리대상 클라이언트 컴퓨터들의 하드웨어 및 소프트웨어 자원 정보와, 관리대상 클라이언트 컴퓨터 그룹의 자원정보에 따른 트리구조 정보와, 배포모드 설정정보 등이 저장되며, 상기 중앙 제어부(230)는 상기 각 부를 제어하여 본 발명에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포를를 가능하도록 한다.
한편, 본 발명에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법에 따라 관리되는 상기 클라이언트 컴퓨터(300)는 도 3에 도시된 바와 같이, 클라이언트 카드(310), 외부 인터페이스(320), 클라이언트 제어부(330), 로그인 관리부(331), 보호복구 지원부(332) 및 데이터 저장부(340)를 포함한다.
상기 클라이언트 카드(310)는 상기 정보 통신망(100)을 통해 원격지의 원격관리 서버(200) 또는 동일한 클라이언트 카드(310)를 소유한 타 클라이언트 컴퓨터(300)와 접속할 수 있도록 하는 외부 인터페이스 카드로서 파일전송 및 통신소켓을 포함하고 있으며, 본 발명에서는 기존에서와 같이 외부 접속을 위한 연결프로그램을 기존의 컴퓨터에 단순히 설치하는 방식이 아닌 별도의 하드웨어 장치로서 해당 클라이언트 카드(310)를 구성하고 관련 연결관리 프로그램을 카드 내 저장장치(예컨데, EEPROM)에 저장시킴으로써 우수한 서버/클라이언트 간 및 클라이언트/클라이언트 간 연결 안정성을 유지할 수 있도록 구성된다.
상기 외부 인터페이스(320)는 상기 클라이언트 카드(310)가 외부의 원격관리 서버(200) 또는 타 클라이언트 컴퓨터(300)로부터 수신한 데이터(예컨데, 배포용 S/W 패키지 정보, 공유배포 경로 정보)를 내부로 전달하고 외부 서버 전송용 데이터(예컨데, 클라이언트 인증정보, 배포완료 신호)를 상기 클라이언트 카드(310)로 전달한다.
상기 로그인 관리부(331)는 해당 클라이언트 카드(310)의 상기 원격관리 서버(200)의 서버 카드(210) 또는 타 클라이언트 컴퓨터(300)의 클라이언트 카드(310)와의 접속 시 해당 클라이언트 컴퓨터(300)의 원격관리 서버(300) 또는 클라이언트 컴퓨터(300) 접속을 위한 로그인 정보를 상기 클라이언트 카드(310)를 통해 해당 원격관리 서버(200) 또는 타 클라이언트 컴퓨터(300)로 전송한다.
상기 보호복구 지원부(332)는 해당 클라이언트 컴퓨터(300)의 동작에 따른 환경설정모드를 관리하게 되는데, 도 4를 참조하여 이러한 클라이언트 컴퓨터(300)의 환경설정모드에 관하여 상세하게 설명한다.
상기 클라이언트 컴퓨터(300)는 해당 컴퓨터 사용자의 동작에 따라 발생하는 각종 데이터들을 해당 사용자가 지정하는 환경설정모드에 따라 다양한 방법으로 관리하게 되는데, 이러한 환경설정모드는 보호모드, 복구모드 및 오픈모드의 3가지 사용자 설정 모드로 설정 가능하게 된다.
이러한 클라이언트 컴퓨터(300)의 환경설정모드 동작을 위해 클라이언트 컴퓨터(300) 내 하드 용량의 소정 공간(예컨데, 5기가 바이트(GB))을 가상 드라이브로 설정하여 PC 셋팅의 다양한 디폴트(Defaults)값을 저장하게 된다.
이때, 상기 환경설정모드 중 보호모드는 사용자의 컴퓨터 작업에 따라 발생 되어 저장되는 신규 데이터를 보호영역으로 설정하여 재부팅시에도 해당 사용자 작업에 따른 보호영역이 유지되도록 하는 것이고, 복구모드는 사용자의 컴퓨터 작업에 따라 발생되어 저장되는 신규 데이터가 생성되더라도 재부팅시에 기존의 복구영역만이 사용되도록 하는 것이며, 오픈모드는 복구영역 없이 사용자의 컴퓨터 작업에 따라 발생되어 저장되는 신규 데이터를 계속적으로 축적하여 사용영역을 계속적으로 갱신하도록 함으로써 별도의 복구영역을 필요로 하지 않는 열린 모드인 것이다.
도 4a에 도시된 바와 같이, 상기 보호모드는 최초 클라이언트 컴퓨터(300)의 소정 공간으로 지정된 복구영역이 존재하지만, 보호모드로 변경 후 해당 보호복구 지원부(332)의 데이터 저장부(340)에 대한 직접적인 제어관리에 의하여 사용자의 작업에 따라 생성되는 데이터는 보호영역으로 새롭게 정의되어 재부팅시에도 해당 보호영역이 유지되게 된다. 하지만, 해당 도면에도 나타난 바와 같이 이러한 보호영역도 복구모드로 설정 변경 시 삭제 처리되고 기존의 복구영역만이 유지되게 된다.
한편, 도 4b에 도시된 바와 같이, 상기 복구모드는 최초 클라이언트 컴퓨터(300)의 소정 공간으로 지정된 복구영역만이 유지되게 되어, 해당 보호복구 지원부(332)의 데이터 저장부(340)에 대한 직접적인 제어관리에 의하여 사용자의 작업에 따라 생성되는 데이터, 즉 사용영역은 재부팅시 삭제 처리되게 된다.
또한, 도 4c에 도시된 바와 같이, 상기 오픈모드는 모든 데이터 입력 및 교환에 대하여 열린 모드이므로 복구영역이 존재하지 않고, 해당 보호복구 지원부(332)의 데이터 저장부(340)에 대한 직접적인 제어관리에 의하여 사용자의 작업에 따라 생성되는 데이터, 즉 사용영역이 계속적으로 누적되어 재부팅시에도 기존의 사용자 데이터들이 축적되어 유지되게 된다.
따라서, 본원의 소프트웨어 다중배포 방법의 수행에 따라 해당 클라이언트 컴퓨터(300)에 배포된 새로운 소프트웨어 배포 상황이 유지 가능하도록 오픈모드로 변경하는 과정이 반드시 필요되게 되며, 이를 위해 상기 보호복구 지원부(332)는 원격 소프트웨어 배포 시 해당 클라이언트 컴퓨터(300)를 오픈모드로 변경시키고 소프트웨어 배포 완료 후 다시 본래 설정모드로 자동변환시키는 기능을 수행하게 된다.
한편, 상기 데이터 저장부(340)는 해당 클라이언트 컴퓨터(300)의 저장장치이며, 이러한 데이터 저장부(340)에는 상술한 환경설정모드 동작을 위한 소정 가상드라이브 공간이 포함되게 된다.
다음으로, 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 수행하기 위한 본 발명의 실시예에 따른 전체적인 흐름을 도 5를 참조하여 설명하면 다음과 같다.
도 5는 본 발명의 실시예에 따른 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법을 나타내는 전체적인 흐름도이다.
우선, 상기 원격관리 서버(200)에서는 클라이언트 컴퓨터(300)로 배포하기 위한 원본 소프트웨어에 대하여 설치작업 캡쳐툴을 이용하여 소정의 필수 구성요소, 시스템 파일 및 레지스트리 정보만을 선별 추출하고 별도로 압축시킴으로써 원본 소프트웨어에 비해 적어진 다이어트 용량을 가지도록 하는 동시에, Auto.bat, icons.cfg, window.cfg 파일을 편집하여 해당 압축상태의 설치용 소프트웨어가 클라이언트 컴퓨터에서 자동 소프트웨어 압축풀림, 자동 레지스트리 압축풀림 및 바탕화면 아이콘 생성이 가능하도록 해당 설치용 소프트웨어를 패키지화 함으로써 차 후 해당 설치용 소프트웨어 패키지를 외부 클라이언트 컴퓨터(300)에 전송시키는 것 만으로 소프트웨어의 클라이언트 컴퓨터 내 설치까지 이루어지도록 한 상태에서 상기 데이터 저장장치(240)에 저장시킨다(S10).
이에 따라, 해당 클라이언트 측에서는 원격지에서 배포 및 설치 과정까지 마무리해 둔 해당 소프트웨어에 대하여 별도의 설치작업 없이 바탕화면의 바로가기 아이콘을 통해 즉시 실행시켜 구동시킬 수 있게 된다.
하지만, 본 발명의 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법은 상술한 소프트웨어 패키징 작업 없이 원본 상태의 소프트웨어를 전송하는 것도 가능함은 물론이다.
상기 원격관리 서버(200)의 중앙 제어부(230)는 관리 대상으로 가입된 해당 클라이언트 컴퓨터(200)들에 대한 각각의 하드웨어 및 소프트웨어 자원정보를 이용하여 상기 데이터 저장장치(240)에 클라이언트 자원정보 DB 를 구축한다(S30).
이때, 상기 클라이언트 컴퓨터들에 관한 하드웨어 자원정보는 각각의 클라이언트 컴퓨터들의 CPU, 메모리 장치, 디스크 드라이브, 통신접속장치 및 환경, 메인보드 등에 관한 제품 및 성능 정보를 포함한다.
또한, 상기 클라이언트 컴퓨터들에 관한 소프트웨어 자원정보는 각각의 클라이언트 컴퓨터들의 OS환경정보, 통신접속환경정보, 기설치 프로그램정보 등을 포함한다.
상기 원격관리 서버(200)의 중앙 제어부(230)는 관리 대상인 클라이언트 컴퓨터(200)의 부팅에 따라, 내부 장착된 서버 카드(210)를 통해 해당 클라이언트 컴 퓨터(200)의 클라이언트 카드(210)와 통신접속을 이루고, 해당 클라이언트 컴퓨터(300)의 로그인 관리부(331)로부터 클라이언트 컴퓨터의 IP 및 패스워드 정보를 수신하여 내부 인증 처리부(231)를 통해 인증처리한 후 로그 데이터 관리부(233)에 해당 인증정보를 전송하여 해당 클라이언트 컴퓨터 접속에 따른 인증결과정보를 데이터 저장장치(240)에 저장시키는 동시에 해당 클라이언트 컴퓨터로 인증결과가 통보되도록 한다(S40).
상기 중앙 제어부(230)는 접속된 클라이언트 컴퓨터(300)로 현재 설치된 하드웨어 및 소프트웨어에 관한 정보를 요청하여 클라이언트 컴퓨터의 보호복구 지원부(332)에 기록된 클라이언트측의 자원정보를 수신하고 클라이언트 컴퓨터(300)의 현재 하드웨어 및 소프트웨어 자원 정보를 확인하여 기수집된 자원목록과 비교해 변동 사항이 존재하면 이를 반영해 해당 기저장 클라이언트 자원목록을 갱신한다(S50).
즉, 이러한 클라이언트의 하드웨어 및 소프트웨어 자원 확인은 매 부팅시마다 이루어져 변동시마다 해당 자원목록을 갱신하는 것이 바람직하다.
한편, 상기 중앙 제어부(230)는 적어도 하나 이상의 클라이언트 컴퓨터(300)들로 이루어진 클라이언트 그룹 컴퓨터들 중 하나의 클라이언트 컴퓨터(300)로부터 해당 클라이언트 그룹에 포함된 전체 컴퓨터들 각각에 대하여 소정 소프트웨어를 모두 전송해줄 것을 요구하는 소프트웨어 그룹배포 요청신호를 수신한다(S60).
즉, 다수의 클라이언트 컴퓨터(300)들로 이루어진 클라이언트 그룹, 예를 들면 기업이나, 학교, 학원, 사무실, 연구실, PC방 등 다수의 컴퓨터를 보유한 대단 위 사업장으로부터 특정 소프트웨어에 대한 원격 배포 의뢰가 해당 원격관리 서버(300)로 신청되는 것이다.
이에 따라, 상기 원격관리 서버(300)의 중앙 제어부(230)는 해당 클라이언트 그룹에 속한 클라이언트 컴퓨터들에 관한 하드웨어 및 소프트웨어 자원정보를 상기 데이터 저장장치(240)로부터 검색하고 각각의 클라이언트 컴퓨터들의 자원정보에 따른 전송환경우열에 따라 해당 클라이언트 컴퓨터들을 전송우선순위에 따른 소정 트리구조로 구조화한 배포순위 트리구조 정보를 결정하고 이를 데이터 저장장치(240)에 저장한다(S70).
이때, 상기 전송우선순위 결정을 위한 클라이언트 컴퓨터 간 전송환경우열의 판단 기준은 우선적으로 해당 원격관리 서버와 같은 허브단에 물려 있는지 여부로 결정되고, 다음으로 CPU 클럭수, OS 환경매칭 여부, 메모리 사이즈의 자원요건이 순차적으로 그 판단기준이 되며, 이러한 전송환경우열 판단 알고리즘에 따라 해당 클라이언트 그룹 내 클라이언트 컴퓨터에 대한 전송우선순위 및 배포순위 트리구조가 결정되게 된다.
이와 같은 전송환경우열 판단 알고리즘에 따라 결정되는 배포순위 트리구조의 일예가 도 6에 도시되어 있다.
도 6에 도시된 바에 따르면, 해당 원격관리 서버(200)와 직접 연결된 최상위 레벨 클라이언트 컴퓨터가 5대이며, 각각의 최상위 레벨 클라이언트의 하위 노드 클라이언트 컴퓨터가 2대씩이며, 전체 트리구조를 4차 트리로 도시하였으나, 본 발명이 이에 제한되는 것은 아니며, 상기 최상위 레벨 클라이언트 컴퓨터의 수, 노드 클라이언트 컴퓨터의 수 그리고 트리구조의 차수는 클라이언트 그룹의 규모 및 접속환경에 따라 자유롭게 설정될 수 있다.
상기 원격관리 서버(200)의 중앙 제어부(230)는 상기 제 S70 단계를 통해 결정된 배포순위 트리구조 정보에 따라 전체 클라이언트 그룹 중 소정 갯수의 최상위 레벨 클라이언트 컴퓨터로 해당 배포용 소프트웨어를 직접 전송하는 한편, 해당 소프트웨어에 대한 배포가 완료되어 해당 소프트웨어를 보유한 클라이언트 컴퓨터 및 그 서브트리 클라이언트 컴퓨터로 클라이언트 간 전송경로 정보를 포함하는 공유배포 정보를 전송하여 상기 배포순위 트리구조에 따라 배포완료된 소프트웨어 보유 클라이언트 컴퓨터가 미보유 서브트리 클라이언트 컴퓨터로 해당 소프트웨어를 전송하는 공유배포가 트리 구조에 따라 클라이언트간에 순차적으로 수행되도록 함으로써 본 발명의 실시예에 따른 배포순위 트리 구조에 의한 소프트웨어 다중 배포 단계를 수행한다(S80).
즉, 상기 배포순위 트리 구조에 의한 소프트웨어 다중 배포 방식은 기존의 배포방식과 같이 공유 FTP 서버를 한곳에 두고 그곳에서 모든 클라이언트 컴퓨터들이 해당 소프트웨어를 다운로드 받아가는 방식이 아니고, 공유 FTP 서버 P2P 파일 공유방식을 접목하여 파일을 다운로드 하는 방식으로서, 모든 클라이언트들이 공유 FTP 서버에서 파일을 받아가지 않고 공유 FTP 서버에서 이미 파일을 받아간 클라이언트들을 임시 FTP 서버로 만들어서 파일을 아직 못받아간 클라이언트들이이 임시 FTP 서버에서 다운로드 받아가게 구성하여 고유 FTP 서버에만 집중되는 네트워크 과부하를 다수의 클라이언트로 분산시켜 다운로드 속도 및 성능을 향상시킬 수 있 게 된다.
이러한 공유 FTP 서버의 동작원리는 클라이언트가 서버에서 파일을 끌어가는 방식으로 배포순위 트리구조에 따라 1차로 파일전송이 완료된 클라이언트가 임시 FTP 서버가 되어 공유 FTP 서버와 동일하게 자신의 하위 서브트리에 해당되는 2차 클라이언트 컴퓨터로 해당 소프트웨어를 전송하는 것이다.
한편, 상기 제 S10 단계인 클라이언트 배포용 소프트웨어 패키징 작업 단계에 대해 도 7을 참조하여 상세하게 설명하면 다음과 같다.
도 7은 본 발명의 실시예에 따른 클라이언트 배포용 소프트웨어 패키징 작업 단계를 나타내는 상세 흐름도이다.
이하에서, 본 발명의 실시예에 따른 클라이언트 배포용 소프트웨어 패키징 작업에 대한 설명은 포토샵 7.0(Photoshop 7.0)을 일예로 하여 기재되지만, 본 발명의 패키징 원리가 해당 소프트웨어에 제한되지 않음은 물론이다.
우선, 설치작업 캡쳐툴(Installation Capture Tools)을 이용하여 타겟 소프트웨어인 원본 포토샵 7.0을 검색하여 필수 구성요소인 소정 디렉토리(Directory) 및 시스템 파일을 선별 추출한다(S11).
이때, 상기 필수 구성요소의 선별은 해당 소프트웨어의 기본적인 기능을 해치지 않는 범위에서 선택적으로 이루어질 수 있으며, 상기 시스템 파일은 프로그램 시작시 필요한 각종 설정값을 저장하는 ini 파일, 독립된 객체들을 하나로 종합한 라이브러리 파일인 dll(Dynamic Link Library) 파일 및 응용 프로그램에 관한 도움말이 기록된 hlp 파일인 것이 바람직하다.
또한, 상기 설치작업 캡쳐툴(Installation Capture Tools)은 Wise 5.0과 같은 설치저작 툴일 수 있다.
다음으로, 상기 제 S11 단계에서 추출된 필수 구성요소들을 도 8에 도시된 바와 같이 제 1 하위폴더인 [Photoshop 7.0] 폴더의 하위 [WINDOWS] 폴더 안에서 압축시킨다(S12).
도 8은 일예로 예시한 포토샵 7.0(Photoshop 7.0)의 폴더 구조를 나타낸다.
다음으로, 소프트웨어 소스 추출툴을 이용하여 해당 타겟 소프트웨어인 원본 포토샵 7.0을 검색하여 필수 레지스트리를 추출한다(S13).
이때, 상기 소프트웨어 소스 추출툴은 비쥬얼 C++ 소스컨트롤(Visual C++ source controls)을 사용해 해당 소프트웨어의 레지스트리를 추출할 수 있게 된다.
다음으로, 상기 제 S13 단계를 통해 추출된 레지스트리 파일(Registry.reg)을 상기 제 1 하위폴더인 [Photoshop 7.0] 폴더의 밑에 복사시킨다(S14).
다음으로, 상기 제 1 하위폴더인 [Photoshop 7.0] 폴더의 하위 [Program Files] 폴더 내에 신규 폴더인 [Common Files1] 폴더를 생성시킨다(S15).
다음으로, 상기 제 S15 단계를 통해 신규 생성된 [Common Files1] 폴더에 상기 설치작업 캡쳐툴을 통해 추출된 구성요소 중 [Common Files] 폴더를 삽입하여 해당 [Common Files] 폴더를 신규 생성된 [Common Files1] 폴더의 하위폴더로 지정한다(S16).
다음으로, 상기 제 S16 단계를 통해 [Common Files] 폴더를 하위폴더로 가지고 있는 신규 생성된 [Common Files1] 폴더의 이름을 [Common Files] 폴더로 변경 한다(S17).
이와 같이 [Common Files] 폴더를 이중 구조로 우선 형성함으로써 차후 해당 폴더를 압축 한 후 실제 클라이언트 컴퓨터에서의 그 압축파일을 풀 때 해당 클라이언트 컴퓨터에서 원본과 같은 원래의 소프트웨어 폴더구조를 갖을 수 있게 된다.
다음으로, 상기 제 S17 단계를 통해 명칭 변경된 상기 [Common Files] 폴더를 새로운 압축폴더명인 [Common]으로 명칭변경하여 압축시킨다(S18).
다음으로, 상기 제 S18 단계를 통해 압축 생성된 압축파일(Common.zip)을 제 1 하위폴더인 [Photoshop 7.0] 폴더의 밑에 복사시킨다(S19).
다음으로, auto.bat 파일을 다음의 표 1과 같이 수정한다(S20).
@echo off regedit/sregistry.reg
이와 같은 auto.bat 파일의 수정을 통해 해당 소프트웨어가 클라이언트 컴퓨터로 전송된 후, 상기 레지스트리 파일이 해당 클라이언트 컴퓨터에서 자동으로 풀릴 수 있게 된다.
다음으로, 설정 파일인 icons.cfg 파일에서 설정값을 노트패드로 연결하여 연 후 다음의 표2와 같이 수정한다(S21).
Photoshop7.0=Photoshop
이와 같은 icons.cfg 파일의 수정을 통해 해당 소프트웨어가 클라이언트 컴퓨터로 전송된 후, 해당 클라이언트 컴퓨터의 바탕화면에 소프트웨어 실행 바로가기 아이콘을 자동으로 형성할 수 있게 된다.
다음으로, 설정 파일인 windows.cfg 파일에서 설정값을 다음의 표3과 같이 수정한다(S22).
Program Files=Common.zip windows=windows.zip
이와 같은 windows.cfg 파일의 수정을 통해 해당 소프트웨어가 클라이언트 컴퓨터로 전송된 후, 상기 구성압축 파일이 해당 클라이언트 컴퓨터에서 자동으로 풀릴 수 있게 된다.
다음으로, 상술한 과정을 통해 구성된 모든 구성요소 전체를 하나의 압축파일로 변환하여 클라이언트 배포용 소프트웨어 패키징 파일로서 상기 데이터 저장장치(240)에 저장시킨다(S23).
상술한 과정을 통해 제작되어 데이터 저장장치(240)에 저장된 클라이언트 배포용 소프트웨어 패키징 파일은 차후 클라이언트 컴퓨터(300)로 전송되게 되면, 자동적으로 그 압축상태가 해제되는 동시에 바탕화면에 실행 아이콘이 형성되게 됨으로써 해당 클라이언트 컴퓨터(300) 측에서는 별도의 설치과정 없이 즉시 해당 소프트웨어를 사용할 수 있게 된다.
한편, 상기 제 S80 단계인 배포순위 트리구조에 의한 소프트웨어 다중배포 단계에 대해 도 9를 참조하여 상세하게 설명하면 다음과 같다.
도 9는 본 발명의 실시예에 따른 배포순위 트리구조에 의한 소프트웨어 다중배포 단계를 나타내는 상세 흐름도이다.
우선, 상기 원격관리 서버(200)의 중앙 제어부(230)는 소정 클라이언트 그룹의 소프트웨어 그룹배포 요청에 따라 상기 데이터 저장장치(240)에서 해당 소프트웨어 파일 및 해당 그룹배포 요청 클라이언트 그룹에 대한 배포순위 트리구조 정보를 확인한다(S81).
이때, 배포용으로 사용되는 상기 소프트웨어 파일은 상기 제 S10 단계에서 다이어트 가공된 소프트웨어 패키지 파일임이 바람직하나, 본 발명이 이에 제한되는 것은 아니다.
상기 중앙 제어부(230)는 상기 배포순위 트리구조 정보에서 최상위 레벨로 설정된 소정 갯수의 클라이언트 컴퓨터(300)들, 즉 전송환경우열 판단에 따라 최우선 전송우선순위를 배정받은 소정 갯수의 클라이언트 컴퓨터(300)들에 대하여 보호복구 관리부(232)를 통해 현재 환경설정모드 정보를 요구해 해당 최상위 레벨 클라이언트 컴퓨터(300)들의 현재 환경설정모드 정보를 확인하고, 해당 최상위 레벨 클라이언트 컴퓨터(300)들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킨다(S82).
이때, 오픈모드로 전환된 해당 최상위 레벨 클라이언트 컴퓨터(300)들로의 소프트웨어 직접 전송을 위해, 상기 원격관리 서버(200)는 내부 소프트웨어 관리부(236)를 통해 전송할 소프트웨어 패키지를 확인하고 클라이언트 패킷전송경로를 설 정하여 권한등록을 수행하는 한편, 내부 이벤트 관리부(235)를 통해 패킷전송 이벤트를 발생시켜 권한설정을 마치게 된다.
다음으로, 상기 원격관리 서버(200)의 중앙 제어부(230)는 전송 제어부(234)를 통해 패킷전송 경로설정된 해당 최상위 레벨 클라이언트 컴퓨터(300)들로 상기 소프트웨어 파일을 직접 패킷전송하게 된다(S83).
이때, 전송용으로 사용되는 상기 소프트웨어 파일은 상기 제 S10 단계에서다이어트 가공된 소프트웨어 패키지 파일임이 바람직하며, 이에 따라 전송완료된 상기 최적화된 압축상태의 소프트웨어 패키지는 해당 클라이언트 컴퓨터(300) 측에서 즉시 실행가능하게 된다.
상기 중앙 제어부(230)는 전송 제어부(234)를 통해 상기 최상위 레벨 클라이언트 컴퓨터(300)들로부터 소프트웨어 전송완료 통보신호가 수신되었는지 여부에 따라 해당 최상위 레벨 클라이언트 컴퓨터(300)들에 대한 서버측에서의 소프트웨어 직접전송이 완료되었는지 여부를 판단한다(S84).
상기 제 S84 단계의 판단결과, 해당 최상위 레벨 클라이언트 컴퓨터(300)들에 대한 소프트웨어 직접전송이 완료된 경우, 상기 중앙 제어부(230)는 해당 배포완료 정보를 저장하는 한편, 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터(300)들과 해당 배포완료 클라이언트 컴퓨터(300)들의 하위 서브트리 클라이언트 컴퓨터(300)들로 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송함으로써 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 해당 소프트웨어를 다운로드 받을 수 있도록 설정하게 된다(S86).
이때, 상기 서버단 설정정보 및 클라이언트단 설정정보는 상기 소프트웨어 보유 클라이언트 컴퓨터를 임시 서버로 그리고 소프트웨어 미보유 클라이언트 컴퓨터를 임시 클라이언트로 설정하는 한편 상기 패킷전송 경로 정보를 통해 해당 임시 서버 및 임시 클라이언트 간 데이터 공유 및 전송을 가능하게 한다.
상기 중앙 제어부(230)는 상기 제 S86 단계를 통해 임시 클라이언트로 설정된 소프트웨어 미보유 클라이언트 컴퓨터(300)들에 대하여 보호복구 관리부(232)를 통해 현재 환경설정모드 정보를 요구해 소프트웨어 보유 클라이언트의 서브 트리인 해당 소프트웨어 미보유 클라이언트 컴퓨터(300)들의 현재 환경설정모드 정보를 확인하고, 해당 소프트웨어 미보유 클라이언트 컴퓨터(300)들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킴으로써 해당 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 한다(S87).
상기 중앙 제어부(230)는 상기 제 S87 단계를 통해 공유배포가 이루어진 임시 클라이언트 컴퓨터(300)들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치(240)에 저장한다(S88).
한편, 상기 중앙 제어부(230)는 상기 데이터 저장장치(240)에 저장된 배포완료 정보들을 통해 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 미배포 상태인지 여부를 판단하여(S89), 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨 터들이 소프트웨어 미배포 상태인 경우, 상기 중앙 제어부(230)는 절차를 상기 제 S86 단계로 이행하여 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트 컴퓨터들와 그 서브트리 클라이언트 컴퓨터들을 각각 임시 서버와 임시 클라이언트로 설정하여 상술한 S86 내지 S88의 공유배포 프로세스를 반복 수행함으로써 최초 배포순위 트리 구조에 따라 클라이언트 그룹 내 모든 클라이언트 컴퓨터들에 해당 소프트웨어가 배포될 수 있도록 한다.
한편, 상기 제 S88 단계의 판단결과, 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 배포 상태인 경우, 상기 중앙 제어부(230)는 상기 이벤트 관리부(235)를 통해 해당 배포대상 클라이언트 그룹에 대한 패킷전송 이벤트를 종료시킨다(S91).
상기 중앙 제어부(230)는 상기 보호복구 관리부(232)를 통해 해당 배포대상 클라이언트 그룹의 환경설정모드를 복구모드로 변경시킨다(S92).
한편, 상기 배포순위 트리 구조에 의한 소프트웨어 다중 배포 과정 중 해당 클라이언트 그룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 1 가속배포가 설정되었는지 여부를 판단하여(S85), 제 1 가속배포가 설정된 경우, 해당 원격관리 서버(200)는 보다 빠른 소프트웨어의 전체 배포를 위하여 최상위 레벨 클라이언트에 대한 초기 소프트웨어 직접 전송 이후에도 검색되는 미배포 하위 레벨 클라이언트에 대한 별도의 소프트웨어 직접 전송을 계속적으로 수행하게 되는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계(S110)를 추가적으로 수행하게 되는데 이러한 제 1 가속배포 설정에 따른 본 발명의 실시예에 따른 제 S110 단계에 대해 도 10을 참조하여 상세하게 설명하면 다음과 같다.
도 10은 본 발명의 실시예에 따른 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계를 나타내는 상세 흐름도이다.
상기 원격관리 서버(200)의 중앙 제어부(230)는 상기 데이터 저장장치(240)에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크한다(S111).
이때, 이러한 하위 레벨 클라이언트에 대한 체크는 최하위 레벨로부터 시작되어 중복체크를 피하는 것이 바람직하다.
상기 중앙 제어부(230)는 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여(S112), 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 배포 상태인 경우, 상기 중앙 제어부(230)는 계속적으로 소정 하위 레벨 클라이언트에 대한 소프트웨어 배포 상태 여부를 체크하게 된다.
한편, 상기 제 S112 단계의 판단결과, 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 상기 중앙 제어부(230)는 상기 배포순위 트리구조 정보에서 하위 레벨로 설정된 해당 소정 갯수의 클라이언트 컴퓨터(300)들, 즉 전송환경우열 판단에 따라 하위 전송우선순위를 배정받은 소정 갯수의 클라이언트 컴퓨터(300)들에 대하여 보호복구 관리부(232)를 통해 현재 환경설정모드 정보를 요 구해 해당 하위 레벨 클라이언트 컴퓨터(300)들의 현재 환경설정모드 정보를 확인하고, 해당 하위 레벨 클라이언트 컴퓨터(300)들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킨다(S113).
다음으로, 상기 원격관리 서버(200)의 중앙 제어부(230)는 전송 제어부(234)를 통해 패킷전송 경로설정된 해당 하위 레벨 클라이언트 컴퓨터(300)들로 상기 소프트웨어 파일을 직접 패킷전송하게 된다(S114).
상기 중앙 제어부(230)는 상기 제 S114 단계를 직접배포가 이루어진 소정 갯수의 하위 클라이언트 컴퓨터(300)들로부터 소프트웨어 전송 완료에 따른 배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치(240)에 저장한다(S115).
상기 중앙 제어부(230)는 상기 데이터 저장장치(240)의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여(S116), 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 상기 제 S111 단계로 절차를 이행하여 제 1 가속배포를 위한 직접 배포를 계속적으로 수행하여 해당 클라이언트 그룹에 대한 소프트웨어 직접 배포가 보다 더 빠르게 수행될 수 있도록 한다.
한편, 상기 배포순위 트리 구조에 의한 소프트웨어 다중 배포 과정 중 해당 클라이언트 그룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 2 가속배포가 설정되었는지 여부를 판단하여(S90), 제 2 가속배포가 설정된 경우, 해당 원격관리 서버(200)는 보다 빠른 소프트웨어의 전체 배포를 위하여 이미 공유배포 과정을 통해 자신의 서브트리 클라이언트에 대 해 공유배포를 마친 클라이언트가 타 클라이언트 컴퓨터에 대한 공유배포를 계속적으로 수행하게 되는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계(S120)를 추가적으로 수행하게 되는데 이러한 제 2 가속배포 설정에 따른 본 발명의 실시예에 따른 제 S120 단계에 대해 도 11을 참조하여 상세하게 설명하면 다음과 같다.
도 11은 본 발명의 실시예에 따른 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계를 나타내는 상세 흐름도이다.
상기 원격관리 서버(200)의 중앙 제어부(230)는 상기 데이터 저장장치(240)에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크한다(S121).
이때, 이러한 하위 레벨 클라이언트에 대한 체크는 미배포 클라이언트 레벨의 상위 레벨로부터 시작되어 공유배포 전송의 속도 및 효율을 높이는 것이 바람직하다.
상기 중앙 제어부(230)는 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여(S122), 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 배포 상태인 경우, 상기 중앙 제어부(230)는 계속적으로 소정 하위 레벨 클라이언트, 즉 미배포 클라이언트 레벨 중 상위 레벨 클라이언트에 대한 소프트웨어 배포 상태 여부를 체크하게 된다.
한편, 상기 제 S122 단계의 판단결과, 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 상기 중앙 제어부(230)는 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터(300)들과 해당 배포완료 클라이언트 컴퓨터(300)들의 하위 클라이언트 컴퓨터(300)들 중 소프트웨어 미배포 상태로 확인된 하위 클라이언트 컴퓨터(300)들로 새로운 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송함으로써 제 2 가속배포 설정에 따라 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 해당 소프트웨어를 다운로드 받을 수 있도록 설정하게 된다(S123).
상기 중앙 제어부(230)는 상기 제 S123 단계를 통해 제 2 가속배포 설정에 따라 새로운 임시 클라이언트로 설정된 소프트웨어 미보유 하위 클라이언트 컴퓨터(300)들에 대하여 보호복구 관리부(232)를 통해 현재 환경설정모드 정보를 요구해 소프트웨어 보유 클라이언트의 하위 레벨로서 새로운 공유배포 대상으로 설정된 해당 소프트웨어 미보유 클라이언트 컴퓨터(300)들의 현재 환경설정모드 정보를 확인하고, 해당 소프트웨어 미보유 클라이언트 컴퓨터(300)들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킴으로써 새롭게 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 한다(S124).
상기 중앙 제어부(230)는 상기 제 S124 단계를 통해 새로운 공유배포가 이루어진 임시 클라이언트 컴퓨터(300)들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치(240)에 저장한다 (S125).
상기 중앙 제어부(230)는 상기 데이터 저장장치(240)의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여(S126), 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 상기 제 S121 단계로 절차를 이행하여 제 2 가속배포를 위한 공유배포를 계속적으로 수행하여 해당 클라이언트 그룹에 대한 소프트웨어 공유배포가 보다 더 신속하게 진행될 수 있도록 한다.
한편, 상기 소프트웨어의 전송 전 전송 예약시간 설정을 확인하는 단계를 추가함으로써 해당 소프트웨어의 전송 및 설치가 클라이언트측의 컴퓨터 사용환경에 따라 적절한 시간에 이루어질 수 있도록 하는 것도 가능하다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것은 아니다.
이상에서 살펴본 바와 같이, 본 발명에 나타난 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법은 다수의 관리대상 클라이언트 컴퓨터 그룹에 필요한 소프트웨어를 전송시키고자 하는 경우, 이를 하나의 공유 서버에서 해당 소프트웨어를 다운로드시키지 않고 해당 클라이언트 그룹을 하드웨어 자원의 우열에 따라 트리 구조화하여 상위 클라이언트로 우선적으로 소프트웨어를 전송 한 후 해당 소프트웨어 전송이 완료된 클라이언트가 다음 서브 클라이언트로 해당 소프트웨어를 전송하도록 하는 소프트웨어 전송의 클라이언트간 피라밋 전송이 가능하도록 함으로써 서버의 부하 집중을 분산시켜 소프트웨어 배포의 속도를 향상시킬 수 있는 효과가 있다.
또한, 단순히 해당 공유 서버 및 각각의 클라이언트 컴퓨터가 한차례의 소프트웨어 전송 역할에 그치지 않고 계속적으로 소프트웨어 미배포 클라이언트 컴퓨터를 검색하여 계속적으로 해당 공유 서버의 직접 전송 및 클라이언트간 공유배포가 연속적으로 이루어지도록 함으로써 소프트웨어 배포의 속도를 가속시킬 수 있는 효과도 있다.

Claims (4)

  1. (a) 원격관리 서버가 관리 대상으로 가입된 적어도 하나 이상의 클라이언트 컴퓨터들의 집합인 클라이언트 그룹내 각 클라이언트 컴퓨터들에 대한 각각의 하드웨어 및 소프트웨어 자원정보를 이용하여 데이터 저장장치에 클라이언트 자원정보 DB 를 구축하는 단계;
    (b) 상기 원격관리 서버가 관리 대상인 클라이언트 컴퓨터의 부팅에 따라, 내부 장착된 서버 카드를 통해 해당 클라이언트 컴퓨터의 클라이언트 카드와 통신접속을 이루고, 해당 클라이언트 컴퓨터로부터 클라이언트 컴퓨터의 IP 및 패스워드 정보를 수신하여 인증처리한 후 해당 클라이언트 컴퓨터로 인증결과를 통보하는 단계;
    (c) 상기 원격관리 서버가 접속된 클라이언트 컴퓨터로 현재 설치된 하드웨어 및 소프트웨어에 관한 정보를 요청하여 해당 클라이언트 컴퓨터의 현재 하드웨어 및 소프트웨어 자원 정보를 확인하고 기수집된 자원목록과 비교해 변동 사항이 존재하면 해당 기저장 클라이언트 자원목록을 갱신하는 단계;
    (d) 상기 원격관리 서버가 적어도 하나 이상의 클라이언트 컴퓨터들로 이루어진 클라이언트 그룹 컴퓨터들 중 하나의 클라이언트 컴퓨터로부터 해당 클라이언트 그룹에 포함된 전체 컴퓨터들 각각에 대하여 소정 소프트웨어를 모두 전송해줄 것을 요구하는 소프트웨어 그룹배포 요청신호를 클라이언트 그룹내 하나의 클라이언트 컴퓨터로부터 직접 수신하는 단계;
    (e) 상기 원격관리 서버가 해당 클라이언트 그룹에 속한 클라이언트 컴퓨터들에 관한 하드웨어 및 소프트웨어 자원정보를 상기 데이터 저장장치로부터 검색하고 각각의 클라이언트 컴퓨터들의 기수집된 자원정보에 따른 전송환경우열에 따라 해당 클라이언트 그룹 내 컴퓨터들에 대하여 전송우선순위에 따른 소정 트리구조로 구조화한 배포순위 트리구조 정보를 결정하여 데이터 저장장치에 저장하는 단계; 및
    (f) 상기 원격관리 서버가 상기 배포순위 트리구조 정보에 따라 전체 클라이언트 그룹 중 소정 갯수의 최상위 레벨 클라이언트 컴퓨터로 해당 배포용 소프트웨어를 직접 전송하는 한편, 해당 소프트웨어에 대한 배포가 완료되어 해당 소프트웨어를 보유한 클라이언트 컴퓨터 및 그 서브트리 클라이언트 컴퓨터로 클라이언트 간 전송경로 정보를 포함하는 공유배포 정보를 전송하여 상기 배포순위 트리구조에 따라 배포완료된 소프트웨어 보유 클라이언트 컴퓨터가 미보유 서브트리 클라이언트 컴퓨터로 해당 소프트웨어를 전송하는 공유배포가 트리 구조에 따라 클라이언트간에 순차적으로 수행되도록 지원하는 단계; 를 포함하되,
    상기 배포순위 트리구조의 결정을 위한 클라이언트 그룹의 전송우선순위 판단은,
    우선적으로 해당 원격관리 서버와 같은 허브단에 물려 있는지 여부로 결정되고, 다음으로 CPU 클럭수, OS 환경매칭 여부, 메모리 사이즈의 자원요건에 따라 순차적으로 해당 전송환경우열의 판단이 이루어지는 것을 특징으로 하는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법.
  2. 제 1항에 있어서,
    상기 제 (f) 단계는,
    (f-1) 상기 원격관리 서버가 소정 클라이언트 그룹의 소프트웨어 그룹배포 요청에 따라 상기 데이터 저장장치에서 해당 소프트웨어 파일 및 해당 그룹배포 요청 클라이언트 그룹에 대한 배포순위 트리구조 정보를 확인하는 단계;
    (f-2) 상기 원격관리 서버가 상기 배포순위 트리구조 정보에서 전송환경우열 판단에 따라 최상위 레벨로 설정된 소정 갯수의 클라이언트 컴퓨터들에 대하여 현재 환경설정모드 정보를 요구해 해당 최상위 레벨 클라이언트 컴퓨터들의 현재 환경설정모드 정보를 확인하고, 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시키는 단계;
    (f-3) 상기 원격관리 서버가 해당 최상위 레벨 클라이언트 컴퓨터를 타겟으로 패킷전송 경로를 설정하고 상기 소프트웨어 파일을 직접 패킷전송하는 단계;
    (f-4) 상기 원격관리 서버가 상기 최상위 레벨 클라이언트 컴퓨터(300)들로부터 소프트웨어 전송완료 통보신호를 수신하고 해당 배포완료 정보를 저장하는 한편, 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터들과 해당 배포완료 클라이언트 컴퓨터들의 하위 서브트리 클라이언트 컴퓨터들로 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송함으로써 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 임시 클라이언트로서 해당 소프트웨어를 공유배포로서 다운로드 받을 수 있도록 설정하는 단계;
    (f-5) 상기 원격관리 서버가 상기 임시 클라이언트로 설정된 소프트웨어 미 보유 클라이언트 컴퓨터들에 대하여 현재 환경설정모드 정보를 요구해 해당 소프트웨어 미보유 클라이언트 컴퓨터들의 현재 환경설정모드 정보를 확인하고, 해당 소프트웨어 미보유 클라이언트 컴퓨터들의 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시킴으로써 해당 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 하는 단계;
    (f-6) 상기 원격관리 서버가 공유배포가 이루어진 상기 임시 클라이언트 컴퓨터들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단계;
    (f-7) 상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포완료 정보들을 통해 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 미배포 상태인지 여부를 판단하여, 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 소프트웨어 미배포 상태인 경우, 상기 제 (f-4) 내지 (f-6) 단계를 반복 수행하여 소프트웨어를 보유한 클라이언트 컴퓨터들와 그 서브트리 클라이언트 컴퓨터들을 각각 임시 서버와 임시 클라이언트로 설정하여 최초 배포순위 트리 구조에 따라 클라이언트 그룹 내 모든 클라이언트 컴퓨터들에 해당 소프트웨어가 배포되도록 하는 단계;
    (f-8) 상기 원격관리 서버가 상기 공유배포 과정을 통해 소프트웨어를 보유한 클라이언트의 서브트리 클라이언트 컴퓨터들이 모두 소프트웨어 배포 상태인 경우, 해당 배포대상 클라이언트 그룹에 대한 패킷전송 이벤트를 종료시키는 단계; 및
    (f-9) 상기 원격관리 서버가 해당 배포대상 클라이언트 그룹의 환경설정모드를 보호모드 또는 복구모드로 변경시키는 단계; 를 포함하는 것을 특징으로 하는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법.
  3. 제 2항에 있어서,
    상기 소프트웨어 다중배포 과정 중 해당 클라이언트 그룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 1 가속배포가 설정된 경우, 해당 원격관리 서버는 보다 빠른 소프트웨어의 전체 배포를 위하여 최상위 레벨 클라이언트에 대한 초기 소프트웨어 직접 전송 이후에도 검색되는 미배포 하위 레벨 클라이언트에 대한 별도의 소프트웨어 직접 전송을 계속적으로 수행하는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계를 더 포함하되,
    상기 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 직접 전송 단계는,
    상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크하는 단계;
    상기 원격관리 서버가 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여, 해당 하위 레벨 클라이 언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 상기 배포순위 트리구조 정보에서 전송환경우열 판단에 따라 하위 레벨로 설정된 해당 소정 갯수의 클라이언트 컴퓨터들 중 소프트웨어 미배포 하위 레벨 클라이언트 컴퓨터에 대하여 현재 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시키는 단계;
    상기 원격관리 서버가 해당 하위 레벨 클라이언트 컴퓨터들을 타겟으로 패킷전송 경로를 설정하고 상기 소프트웨어 파일을 직접 패킷전송하는 단계;
    상기 원격관리 서버가 파일 직접배포가 이루어진 소정 갯수의 하위 클라이언트 컴퓨터들로부터 소프트웨어 전송 완료에 따른 배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단계; 및
    상기 원격관리 서버가 상기 데이터 저장장치의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여, 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 해당 소프트웨어 미배포 하위 클라이언트에 대하여 상기 제 1 가속배포를 위한 직접 배포를 계속적으로 반복 수행하는 단계;를 포함하는 것을 특징으로 하는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법.
  4. 제 2항 또는 제 3항에 있어서,
    상기 소프트웨어 다중배포 과정 중 해당 클라이언트 그룹에 대한 소프트웨어 그룹 배포에 대해 클라이언트 그룹의 요청정보 또는 자체 설정정보에 따라 제 2 가속배포가 설정된 경우, 해당 원격관리 서버는 보다 빠른 소프트웨어의 전체 배포를 위하여 이미 공유배포 과정을 통해 자신의 서브트리 클라이언트에 대해 공유배포를 마친 클라이언트가 타 클라이언트 컴퓨터에 대한 공유배포를 계속적으로 수행하게 되는 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계를 더 포함하되,
    상기 하위 레벨 클라이언트에 대한 계속적인 소프트웨어 공유배포 단계는,
    상기 원격관리 서버가 상기 데이터 저장장치에 저장된 배포순위 트리구조 정보에서 하위 레벨로 지정된 소정 클라이언트들에 대한 배포완료 정보가 등록되어 있는지 여부를 확인함으로써 해당 소정 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 체크하는 단계;
    상기 원격관리 서버가 축적된 상기 배포완료 정보를 통해 해당 하위 레벨 클라이언트가 소프트웨어 미배포 상태인지 여부를 판단하여, 해당 하위 레벨 클라이언트 컴퓨터가 해당 하위 레벨 클라이언트 컴퓨터가 소프트웨어 미배포 상태인 경우, 소프트웨어가 배포완료되어 해당 소프트웨어를 보유한 각각의 배포완료 클라이언트 컴퓨터들과 해당 배포완료 클라이언트 컴퓨터들의 하위 클라이언트 컴퓨터들 중 소프트웨어 미배포 상태로 확인된 하위 클라이언트 컴퓨터들로 새로운 서버단 및 클라이언트단 설정정보와 패킷전송 경로 정보를 포함하는 공유배포 정보를 전송하여 제 2 가속배포 설정에 따라 해당 소프트웨어 보유 클라이언트 컴퓨터를 임시서버로 하여 소프트웨어 미보유 클라이언트 컴퓨터가 해당 소프트웨어를 다운로드 받을 수 있도록 설정하는 단계;
    상기 원격관리 서버가 제 2 가속배포 설정에 따라 새로운 임시 클라이언트로 설정된 소프트웨어 미보유 하위 클라이언트 컴퓨터들에 대하여 현재 컴퓨터 환경설정모드를 배포용 소프트웨어의 전송이 가능하도록 오픈모드로 강제 전환시켜 새로운 임시 서버 및 임시 클라이언트로 설정된 클라이언트 간 소프트웨어 공유배포가 이루어지도록 하는 단계;
    상기 원격관리 서버가 새로운 공유배포가 이루어진 상기 임시 클라이언트 컴퓨터들로부터 소프트웨어 공유전송 완료에 따른 공유배포 완료신호를 수신하고 해당 배포완료 정보를 데이터 저장장치에 저장하는 단계; 및
    상기 원격관리 서버가 상기 데이터 저장장치의 배포완료 정보를 통해 해당 배포대상 클라이언트 그룹 전체에 대하여 소프트웨어 배포가 완료되었는지 여부를 판단하여, 클라이언트 그룹 전체에 대한 소프트웨어 배포가 완료되지 않은 경우, 해당 소프트웨어 미배포 하위 클라이언트에 대하여 상기 제 2 가속배포를 위한 공유배포를 계속적으로 반복 수행하는 단계;를 포함하는 것을 특징으로 하는 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법.
KR1020040074540A 2004-09-17 2004-09-17 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법 KR100667862B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040074540A KR100667862B1 (ko) 2004-09-17 2004-09-17 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040074540A KR100667862B1 (ko) 2004-09-17 2004-09-17 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법

Publications (2)

Publication Number Publication Date
KR20040088438A KR20040088438A (ko) 2004-10-16
KR100667862B1 true KR100667862B1 (ko) 2007-01-12

Family

ID=37370258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040074540A KR100667862B1 (ko) 2004-09-17 2004-09-17 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법

Country Status (1)

Country Link
KR (1) KR100667862B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100693724B1 (ko) * 2004-12-17 2007-03-12 엘지엔시스(주) 아이피 주소 정보를 이용한 파일 배포 방법 및 이를구현하는 클라이언트와 클라이어트-서버 시스템
US7913250B2 (en) * 2005-11-16 2011-03-22 Microsoft Corporation Automated state migration while deploying an operating system
KR101024897B1 (ko) * 2008-12-23 2011-03-31 최승일 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법
CN113676757A (zh) * 2020-05-15 2021-11-19 杭州晨熹多媒体科技有限公司 一种数据传输方法、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990087967A (ko) * 1998-05-12 1999-12-27 다니구찌 이찌로오, 기타오카 다카시 소프트웨어자동배포시스템
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20020016198A (ko) * 2000-08-24 2002-03-04 강창민 네트워크로 연결된 복수의 사용자 단말장치간의 공유를통한 분산처리시스템 및 시스템의 형성방법
KR20020022933A (ko) * 2000-09-21 2002-03-28 박봉규 다수의 클라이언트를 계층구조로 접속하여 피라미드확산방식으로 데이터를 전송하는 방법 및 이를 위한 장치
KR20040056074A (ko) * 2002-12-23 2004-06-30 한국과학기술정보연구원 그리드 네트워크에서 그리드 자원에 대한 정보를 제공하는장치 및 방법과 그 프로세스를 기록한 컴퓨터 판독가능한기록매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990087967A (ko) * 1998-05-12 1999-12-27 다니구찌 이찌로오, 기타오카 다카시 소프트웨어자동배포시스템
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20020016198A (ko) * 2000-08-24 2002-03-04 강창민 네트워크로 연결된 복수의 사용자 단말장치간의 공유를통한 분산처리시스템 및 시스템의 형성방법
KR20020022933A (ko) * 2000-09-21 2002-03-28 박봉규 다수의 클라이언트를 계층구조로 접속하여 피라미드확산방식으로 데이터를 전송하는 방법 및 이를 위한 장치
KR20040056074A (ko) * 2002-12-23 2004-06-30 한국과학기술정보연구원 그리드 네트워크에서 그리드 자원에 대한 정보를 제공하는장치 및 방법과 그 프로세스를 기록한 컴퓨터 판독가능한기록매체

Also Published As

Publication number Publication date
KR20040088438A (ko) 2004-10-16

Similar Documents

Publication Publication Date Title
US10326668B2 (en) Portable and flexible deployment of servers
TWI520062B (zh) 使用硬性限制及軟性限制在主機上放置物件
US8015275B2 (en) Computer product, method, and apparatus for managing operations of servers
US7716373B2 (en) Method, apparatus, and computer product for updating software
US9547624B2 (en) Computer system and configuration management method therefor
US8307362B1 (en) Resource allocation in a virtualized environment
CN101820387B (zh) 一种易扩展的快速机群部署方法
CN111989681A (zh) 自动部署的信息技术(it)系统和方法
EP3447965B1 (en) Network function instance management method and relevant device
EP3576377A1 (en) Game server switching method, relevant device and system
US20230006944A1 (en) Interoperable cloud based media processing using dynamic network interface
EP1946222A4 (en) MANAGING AN AUTOMATED DEVICE CONTROL SYSTEM
JP2022536706A (ja) セキュリティが強化された自動的に配備される情報技術(it)システム及び方法
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
CN114237809A (zh) 一种计算机系统、容器管理方法及装置
US20140109089A1 (en) System to rebuild difference virtual hard disk for updating operation system and method thereof
KR100667862B1 (ko) 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법
CN106911741B (zh) 一种虚拟化网管文件下载负载均衡的方法及网管服务器
EP2195745B1 (en) Session broker extensibility application program interface
US20060020698A1 (en) Method and system for managing connections
CN103138961B (zh) 服务器控制方法、被控服务器及中心控制服务器
KR100471420B1 (ko) 관리대상 컴퓨터에 대한 소프트웨어 원격설치 방법
US10230787B2 (en) System and method for managing distributed cluster identity
US12007848B2 (en) Automatic selection of network path connecting backup clients to a pool of multiple backup storage appliances
US20230020458A1 (en) Automatic selection of network path connecting backup clients to a pool of multiple backup storage appliances

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
LAPS Lapse due to unpaid annual fee