KR100596298B1 - 운영체제의 자동 설치 및 구성을 위한 시스템 및 방법 - Google Patents

운영체제의 자동 설치 및 구성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100596298B1
KR100596298B1 KR1020037017260A KR20037017260A KR100596298B1 KR 100596298 B1 KR100596298 B1 KR 100596298B1 KR 1020037017260 A KR1020037017260 A KR 1020037017260A KR 20037017260 A KR20037017260 A KR 20037017260A KR 100596298 B1 KR100596298 B1 KR 100596298B1
Authority
KR
South Korea
Prior art keywords
end user
package
network
function
installation
Prior art date
Application number
KR1020037017260A
Other languages
English (en)
Other versions
KR20040028804A (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 KR20040028804A publication Critical patent/KR20040028804A/ko
Application granted granted Critical
Publication of KR100596298B1 publication Critical patent/KR100596298B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

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

Abstract

네트워크에서 적어도 하나의 서버 컴퓨터에 연결된 적어도 하나의 최종 사용자 컴퓨터상에 운영체제, 소프트웨어 제품 및 어플리케이션을 포함하는 패키지를 설치하고 구성하는 시스템 및 방법이 개시된다. 상기 방법은 관리자에 의해 제공되는 툴을 이용하여, 최종 사용자에 의해 사이트상에서 설치가 개시되고 수행되는 풀 배치(pull deployment) 모델에 근거한다. 선정된 머신 기능에 따라, 생성 프로세스는 설치를 위해 필요한 파라미터들을 갖는 소스 파일을 생성하는데, 파라미터들은 중앙 구성 데이터베이스에 저장되어 있다. 설치를 위해 필요한 응답 파일들이 그 다음에 생성된다. 시스템은 설치 프로세스를 추적하고 성공 및 실패 여부를 중앙 데이터베이스에 보고하도록 해준다.
운영 체제, 자동 설치

Description

운영체제의 자동 설치 및 구성을 위한 시스템 및 방법{System and method for the automatic installation and configuration of an operating system}
본 발명은 소프트웨어 설치 및 구성에 관한 것으로서, 구체적으로는, 운영 체제의 원시적인 무인(pristine, unattended) 설치 및 구성을 위한 시스템 및 방법에 관한 것이다.
기업의 운영에는 운영체제, 제품 및 소프트웨어 어플리케이션들을 자동 구축할 필요가 있다. 적절하게 기능하기 위해서는, 기업 내의 모든 시스템들이 동일한 운영 체제 수준에 있으며 각각의 개별 구성 유형이 동일한 제품 코드 레벨에 있는 것이 중요하다.
광범위한 기업 배치 프로세스의 일부인 초기 설치는 시스템 관리자가, 무인 설치 모드에서, 운영체체 또는 소프트웨어가 설치되어 있지 않은 신규 서버 및 신규 워크스테이션들을 네트워크에 추가시키는 공지된 프로세스이다.
무인 또는 초기 설치는 소유 총 비용(Total Cost of Ownership: TCO) 요소를 줄이는 핵심이다. 관리 시스템이 점차적으로 복잡해짐에 따라, 초기 설치 배치 방법은 정보 기술 서비스의 붕괴를 줄이고자 하는 비스니스 또는 기업에 핵심이 되고 있다. 다른 조직들은 동작 붕괴에 대한 특정 조건 및 처벌을 부과하는 서비스 레벨 계약(Service Level Agreement: SLA)의 압력에 대처하여야 한다. 이러한 조직들의 경우에, 사건 해결 시간은 극적으로 축소되어야 한다.
오늘날, 소규모 LAN상의 응답 파일들을 이용함으로써, 기술자들은 개별 컴퓨터로부터 무인 설치 셋업을 실행시킬 수 있다. 이러한 설치에서, 응답 파일들은 운영 체제를 설치하기 위해 필요한 선택사항들을 제공하는데, 그러하지 않은 경우에는 수동으로 입력될 필요가 있을 것이다. 설치 제어는 프로세스를 착수한 기술자에 의해 수행된다. 그러나, 사용자의 IT 요구사항은 오늘날 시장 환경에서 매우 급속한 속도로 변하고 있다. 이러한 변화는 새로운 비즈니스 요구사항을 더 잘 충족시킬 수 있도록 툴을 개발하기 위해 계속적인 이노베이션 및 노력을 투자하도록 유도한다.
이제까지, 플랫폼에 따라 달라지는 운영체제를 로드하기 위한 다양한 시스템 및 방법들이 서버 및 워크스테이션의 유인 또는 무인 설치에 적용되었다. 시장에서는, 인스털쉴드사(Installshield Corp.), 와이즈사(Wise Corp), 티볼리 시스템즈 인크(Tivoli Systems Inc Corp.), 아이비엠사(IBM Corp) 및 마이크로소프트사(Microsoft Corp.)의 제품 등이 마이크로소프트사의 Windows NT, 아이비엠사의 OS/2, 마이크로소프트사의 Windows 95, UNIX 또는 AIX 운영체제들을 설치하는데 광범위하게 사용되고 있다. 이들 제품들은 무인 설치를 수행하기 위해 효율적인 방법을 제공하는 반면에, 단지 일부 운영체제들의 설치만을 제공하거나, 무인 설치 파라미터 생성을 가능하게 해주는 프로세스의 중앙제어 또는 명령어 라인의 출구(exits)를 제공하지 못한다.
따라서, 기존 시스템의 공통적인 단점은 운영 체제의 무인 설치와 구축하고자 하는 머신의 소정의 구성간의 인터페이스를 제공하지 못한다는 점이다. 그 결과, 최종 사용자는 무인 설치를 스스로 수행할 수 있을 만큼 충분히 숙련되어 있어야만 한다. 또한, 신규 머신이 구축될 때마다 모든 파라미터들을 재입력해야만 한다.
Dean 등의 미국 특허 제6,202,206호는 다수의 서버 및 클라이언트 컴퓨터로 이루어진 네트워크에서 프로그램, 세팅 및 구성을 설치하는 방법을 제공한다. 이 방법은 제1 서버에 설치될 모든 프로그램들을 미리 로드하는 단계와, 선택된 컴포넌트 및 프로그램을 설치하기 위해 일련의 키스트로크 및 커서 입력을 실행하는 단계를 포함한다. 이러한 해결방법은 사용자가 설치될 컴포넌트 및 프로그램들을 선택할만큼 충분히 숙련될 것을 필요로 한다.
그러나, 이러한 문제들을 해결하고자 하는 모든 공지된 시도들은 로딩되는 소프트웨어를 모니터링하고 제어하기 위한 시스템을 제공하고, 어떠한 제품이 성공적으로 설치되어 구성되었는지를 검사하는 사용자 인터페이스가 부족하다.
더욱이, 공지된 어떠한 방법도 일단 운영체제가 적합하게 로딩된 후에 배치팀으로 하여금 부가적인 제품들의 설치 및 구성을 자동화시키고 제어해줄 수 있도록 해주는 명령어 라인 및 중앙 구성 데이터베이스를 제공하지 못한다.
마지막으로, 기존의 어떠한 것도 운영체제를 적합하게 로딩하는데 필요한 사용자 입력을 최소화시켜주는 프로파일링(profiling) 메커니즘을 제공하지 못한다.
따라서, 일단의 프로파일에 근거하여, 서버 또는 워크스테이션의 무인 설치 를 수행해주는 새로운 시스템 및 방법이 필요하다. 또한, 서버 또는 워크스테이션의 전체 라이프사이클을 추적하고, 제품 설치 및 구성의 복잡함으로부터 최종 사용자를 분리해주는 새로운 방법이 필요하다.
따라서, 본원 발명의 목적은 운영체제의 초기 설치에 대한 현행 시스템 및 방법을 개선하는 것이다.
본 발명의 또다른 목적은 중앙 리포지터리(repository)에 의해 제어되는 머신 프로파일링 메커니즘에 따라 운영 체제 또는 임의의 필요한 제품 또는 어플리케이션을 구축하는 것이다.
본 발명의 또다른 목적은 머신들이 처음 구축된 후에 이들을 자동 갱신하기 위해 소프트웨어 배포 제품들과 통합되는 해결책을 제공하는 것이다.
본 발명의 또다른 목적은 서버 또는 워크스테이션의 상태를 그들의 라이프 사이클에 걸쳐서 추적할 수 있도록 해주는 해결책을 제공하는 것이다.
본 발명의 또다른 목적은 최종 사용자를, 운영 체제 파라미터들(디폴트 라우터, 비디오 드라이버 등)과 같은 상세한 구현사항 또는 제품 구성으로부터 분리시키는 해결책을 제공하는 것이다.
본 발명의 또다른 목적은 다른 운영 체제 또는 데이터베이스에 이식될 수 있는 시스템을 제공하는 것이다.
본 발명은 서버 또는 워크스테이션상에 소프트웨어의 초기 설치를 제공하는 방법을 제공한다. 방법은 풀 배치(pull deployment) 모델에 근거한 것으로서, 설치는 관리자에 의해 제공되는 툴들을 이용하여 최종 사용자에 의해 사이트상에서 트리거되어 수행된다. 선정된 머신 기능에 근거하여, 본 발명은 설치에 필요한 모든 파라미터들을 갖춘 소스 파일을 생성하는 생성 프로세스를 제공한다. 파라미터들은 중앙 구성 데이터베이스에 저장된다. 네트워크의 임의의 워크스테이션 또는 서버의 초기 설치에 필요한 응답 파일들이 생성된다. 개시된 시스템은 설치 프로세스를 추적하고 그의 성공 및 실패 여부를 중앙 데이터베이스에 보고하도록 해준다.
더욱이, 본 발명은 지정된 기능에 근거하여 타겟 머신의 초기 로드를 개시하도록 해당 머신을 부팅하기 위한 표준 지원장치(플로피 디스크, 시디롬, 광 시디롬 또는 기타 저장장치)를 제공한다. 이러한 지원장치는 기본적으로 서버로부터 설치 파일들을 가져와서(pull) 필요한 운영체제, 특정 구성 및 각각의 머신에 연관된 모든 기타 제품 또는 어플리케이션들을 설치한다.
시스템 관리자의 역할은 운영 체제 및 각 특정 기능을 위한 제품들의 설치를 자동화시키는 것이다. 결과적으로, 본 발명의 응용은 특정의 하드웨어 또는 소프트웨어로 국한되는 것은 아니다.
개시된 방법은 다음과 같은 장점들로써 운영체제 및 제품들의 초기 설치를 제어한다.
배치의 중앙 제어를 제공한다.
머신의 저장소 및 이에 연관된 하드웨어 및 소프트웨어를 추적한다.
하드웨어 및 소프트웨어의 설치, 구성 및 실행 세부사항들로부터 사용자를 분리시킨다.
머신 구축을 위해 중앙 리포지터리에 연결할 필요성을 방지해준다.
서버 및 워크스테이션을 설치하기 위해 특별한 기술의 필요성을 없애준다.
머신의 기본 레벨이 충족되도록 보장한다.
배치 비용을 절약하고 배치 시간을 줄여준다.
필요하면, 임의의 위치에 있는 특정 사이트에 대한 모든 머신들의 중앙 구축 또는 한 사이트에 개별 머신의 로컬 구축을 가능하게 해준다.
머신이 임의의 횟수만큼 재구축될 수 있도록 해준다.
유일한 제어 시스템 하에서 소프트웨어 배포 및 초기 설치를 통합시켜준다.
상기 방법이 상이한 운영 체제 및 데이터베이스에 이식될 수 있도록 해준다.
네이밍(naming) 표준의 이행을 시행한다.
본 발명은 네트워크내의 하나 이상의 서버 컴퓨터들에 연결된 하나 이상의 최종 컴퓨터들상에, 운영 체제, 소프트웨어 제품 및 어플리케이션들을 포함하는 패키지를 설치하고 구성하는 방법을 제공함으로써 전술한 목적 및 기타 목적들을 달성한다. 본 발명은, 중앙 리포지터리에 패키지 및 하나 이상의 최종 사용자 컴퓨터의 식별 데이터를 저장하는 단계와, 상기 식별 데이터에 근거하여 중앙 리포지터리로부터 상기 패키지를 하나 이상의 컴퓨터들에 전송하는 단계와, 상기 서버 컴퓨터상에서 상기 식별 데이터에 근거하여 설치 프로그램 및 이에 연관된 응답 파일들을 생성하는 단계와, 상기 패키지를 상기 최종 사용자 컴퓨터상에 설치하는 단계를 포함한다. 상기 식별 데이터는 최종 사용자 컴퓨터가 설치된 장소에 관한 위치 정보와 최종 사용자 컴퓨터가 네트워크내에서 수행하는 기능에 대한 정보를 적어도 포함한다.
본 발명 및 이를 이용한 바람직한 모드, 본 발명의 더 나아간 목적 및 장점들은 첨부된 도면과 함께 예시적인 실시예에 대한 이하의 상세한 설명을 참조함으로써 가장 잘 이해될 것이다.
도 1은 본 발명에 따른 시스템의 구조 및 주요 구성 요소들을 도시한다.
도 2는 본 발명에 따른 패키지 관리 프로세스의 흐름도이다.
도 3은 본 발명의 방법에 따른 클래스 기능(Class Function) 정의에 대한 흐름도이다.
도 4는 본 발명의 방법에 따른 기능 정의 프로세스의 흐름도이다.
도 5는 본 발명의 방법에 따른 위치 정의 프로세스의 흐름도이다.
도 6은 본 발명의 방법에 따른 하드웨어 클래스 정의의 흐름도이다.
도 7은 본 발명의 방법에 따른 하드웨어 정의의 흐름도이다.
도 8은 본 발명의 방법에 따른 패키지 정의의 흐름도이다.
도 9는 본 발명의 방법에 따른 워크스테이션 정의의 흐름도이다.
도 10은 본 발명의 방법에 따라 응답 파일들을 생성하는 프로세스의 흐름도이다.
도 11은 도 10의 프로세스에 따라 수행되는 응답 파일 템플릿의 파일링(filing)을 설명한다.
본 발명을 서버 또는 워크스테이션 상의 초기 설치에 의한 사용에 대해서 설명한다. 그러나, 본 발명은 제한적이라기보다는 예시적이며, 본 발명이 일단 개시되면, 본 기술분야의 숙련자들은 다른 환경에서도 본 발명의 이용을 확장시킬 수 있다.
이하의 설명에서, 일부 용어들은 여러 유형이 구성요소들을 지정하기 위해 본 기술분야의 통상의 지식을 가진 자에게 공지된 일반적인 의미로 이용된다. 예를 들면, 용어 "서버","워크스테이션" 및 "머신"은 임의의 컴퓨터 시스템 하드웨어에 관하여 이용된다.
다음과 같은 기본적인 관찰이 본 발명을 이끌었다. IT 설치상에서, 특정 구성으로 제품 설치를 요청하는 스태프(staff)(구조 그룹)는 설치를 실현하는 스태프(제품 그룹)와는 다르다는 것이다. 구조 그룹과 제품 그룹 및 최종 사용자간의 유일한 연결은 하드웨어, 운영체제 및 특정 구성에 필요한 제품 또는 어플리케이션의 "기능에 의한(by-function)" 정의이다.
따라서, 도면을 참조하여 본 발명을 설명하기 이전에, "기능에 의한"을 포함하여 본 발명의 범용 개념들중 일부를 우선 설명하고자 한다.
기능: 요구되는 운영 체제, 제품 및 어플리케이션들로 머신이 적합하게 구축된 후에 머신이 수행할 역할 또는 프로파일. 예를 들어, 기능은 "SAP 클라이언트" 또는 "마이크로소프트 오피스 워크스테이션" 또는 "인터넷 브라우저"가 될 수 있다.
기능 클래스: 동일한 기능들의 그룹을 식별하는 기능 클래스.
기능 클래스 코드: 머신이 속하는 기능 그룹을 식별해주는 기능 클래스 코드. 바람직한 실시예에서, 기능 클래스 코드는 소정의 운영체제에 머신의 범용 역할을 부가한 것에 해당한다. 예를 들어, "MS Windows NT SAP Server" 또는 "MS Windows NT SAP Client"는 각각 SAP 서버 하드웨어 및 Windows NT 운영체제상에서 작동하는 SAP 클라이언트 하드웨어를 각각 지정한다.
머신 명칭: 네트워크 환경내의 하나의 머신에 지정된 유일한 이름. 본 명세서에서 설명되는 방법은 구축될 모든 머신(타겟 머신)에 대해 표준 네이밍 규약을 사용한다. 명칭은 머신이 설치될 사이트/위치를 지정하는 코드와, 머신의 기능을 지정하기 위한 코드와, 각각의 머신에 연관된 번호를 포함한다. 설명상, 다음과 같은 네이밍 규약이 전체적인 기재를 위해 가정된다. 바람직하게, 머신 명칭은 7개 문자 (VVVffnn)로 이루어지는데, 머신 명칭의 처음 3개 문자 'VVV'는 사이트 또는 위치를 지정하고, 다음 2개의 16진수 'ff'는 기능 코드를 지정하고, 마지막 2개 10진수 'nn'는 머신 번호를 지정하며, 이에 의해 각각의 위치 또는 사이트에서 기능이 유일하게 된다.
이러한 특정 규약은 제한적이라기보다는 예시적이며, 위치 또는 사이트 명칭을 서브넷으로 변환하기 위해 변환 테이블을 이용하는 것과 같이, 머신 명칭에 기하여, 머신 파라미터들을 구축하는데 다른 네이밍 및 인코딩 규약들이 이용될 수 있다. 예를 들어, 이하의 리스트는 몇몇 다른 공지된 규약을 제공한다.
- IP 유형의 어드레스 이용: 16진수를 10진수로 변환한 "10.vvv.fff.nnn"
- 넷바이오스(Netbios) 명칭의 이용:'VVVPffnn'
- DB 명칭의 이용:'VVVBffnn;' 또는
- Mac 어드레스 이용: 제1 어댑터에 대한 '400000vvffnn'
여기서, VVV, ff 및 nn은 머신 명칭에 관하여 전술한 의미를 가질 수 있다. 기능 코드, 사이트/위치 코드, 머신 번호를 인코딩하는데 사용되는 문자 개수는 시스템의 구체적인 구현에 따라 달라질 수 있다. 세부적인 사항들은 상이한 초기 설치 시나리오에 따라 달라질 수 있기 때문에, 본 발명에 그다지 중요한 것은 아니다.
이제, 도 1을 참조하면, 본 발명의 주요 구성요소가 도시된다. 중앙 리포지터리(104)의 저장영역인 구성 데이터베이스(100)는 설치될 각각의 타겟 머신(112, 최종 사용자 워크스테이션 또는 서버)에 연관된 식별 데이터(패키지와, 하드웨어 및 소프트웨어의 정의/구성/파라미터들)를 저장한다. 구성 데이터베이스는 S/390 메인프레임상에 구현되는 DB2 데이터베이스일 수 있으며, 이들 모두는 IBM사의 제품이다.
소프트웨어 배포 어플리케이션(이하, "SD 어플리케이션"(102)이라 함)을 구성 데이터베이스(100)의 전단부로서 이용하여 무인 설치중에 수행되는 상이한 동작들을 관리한다. 복수의 소프트웨어 배포 서버("SD 서버", 108-1, 108-i, 108-n)들이 중앙 리포지터리에 연결되어 타겟 머신(112)의 무인 설치 준비중에 생성되는 패키지와 모든 필요한 파일(운영 체제 파일 등)을 수신한다. 중앙 리포지터리에 연결된 소프트웨어 배포 패키징 구성요소("SD 팩(106)")에 의해 패키지를 생성하는데, 이는 중앙 리포지터리(104)에 업로드된다. 부트 디스켓(110)은 타겟 머신(112)상에서 필요한 시스템을 시작시키기 위해 이용될 수 있다.
이해를 쉽게 하기 위해, 본 시스템은 하나의 SD 서버(108)와 최종 사용자 단말인 하나의 타겟 머신(112)를 위해 설명된다.
구성 데이터베이스(100)는 하드웨어 및 소프트웨어 장치의 정의와, 그들의 구성 및 그들의 파라미터들을 저장한다. 구성 데이터베이스(100)는 일련의 데이터 구조를 바람직하게는 다음의 사항들을 포함하는 테이블의 형태로 유지한다.
- 어플리케이션에서 사용되는 상이한 코드들(위치, 머신 상태, 전달 상태, 기능명 등)
- 기능 클래스(어플리케이션, 데이터베이스, 인터넷, 서버 네트워크 등)
- 기능 파라미터(기본 운영 체제, 프로토콜, 제품 등)
- 기능을 위해 요구되는 패키지 및 그의 설치 규칙(수동/자동, 초기/갱신, 목적지, 등)
- 기능을 위해 요구되는 하드웨어
- 하드웨어 클래스(키보드, 비디오 모니터, 네트워크 어댑터)
- 패키지 정의 및 그의 전달 상태(업로드, 다운로드, 오류, 이용가능함 , 전송 등)
- 하드웨어 정의 및 그의 저장 상태
- 모든 머신들에 대한 정의, 그들의 파라미터들, 그들의 하드웨어, 그들의 패키지 및 머신간의 링크들.
구성 데이터베이스(100)는 SD 서버(108) 및 일단 다운로드된 시스템 패키지의 상태를 추적하는 것에 주목한다.
상기에서 언급된 SD 어플리케이션(102)은 몇가지 동작을 수행하는데, 구체적으로, 타겟 머신의 기능에 기초하여 타겟 머신에 대한 상이한 구성들을 관리하고, 머신과 연관된 파라미터들을 관리 및 추적하고, 머신의 라이프 사이클(생성, 전환, 설치 등) 동안 머신을 추적하고, 프로세스가 로드되도록 트리거하고, 머신을 구성하고, 시스템 및 어플리케이션 소프트웨어를 그들의 배포 상태(업로드, 다운로드, 오류, 이용가능함, 전송)로 관리하고, 마지막으로 SD 서버(108)로의 패키지 전달을 관리한다.
SD 팩(106)은 패키지가 중앙 리포지터리로 일단 업로드되면 구성 데이터베이스(100)의 각각의 테이블을 갱신하는데 또한 이용된다.
SD 서버(108)는, 운영 체제 파일에 부가하여, 비디오, 네트워크 어댑터 드라이버 및 무인 설치 제품들의 설치 스크립트를 또한 저장하는데, 이는 타겟 서버 또는 워크스테이션에 의해 실행될 것이다. SD 서버(108)는 복제 프로세스동안 중앙 리포지터리(104)에 질의하고 동일한 위치 및 기능에 의해 정의된 각각의 시스템 패키지를 다운로드할 수 있는 능력이 있으며, 이에 대해서는 후술한다.
최종 사용자가 사용자로 하여금 타겟 머신 명칭, SD 서버 명칭, 하드웨어 모델, 네트워크 종류를 입력하도록 요구하는 MS-DOD 어플리케이션 또는 CID(configuration-installation-distribution) 적용 어플리케이션(즉, OS/2 시작용 구성-설치-배포 메소드)을 시작함으로써 구축될 타겟 머신을 부팅한다. 그 후 에, 해당 기능에 이미 연결된 연관 패키지 및 운영 체제는 자동 설치된다.
본 발명은 몇가지 프로세스를 포함하는데, 이는 첨부된 도면들을 참조하여 설명된다.
패키지 관리 프로세스:
도 2는 SD 팩(106)을 통해 수행되는 패키지 관리 프로세스(200)를 도시한다. 제1 단계에서(202), 패키지 명칭과 버전을 패키지와 연관시키는 임의의 종래 패키징 메소드에 의해 이미 생성된 패키지가 SD 팩(106)으로부터 중앙 리포지터리(104)에 업로드된다. 다음 단계(204)에서, 각각의 업로드 동작이 패키지 상태를 "업로드"로 설정함으로써 구성 데이터베이스(100)내의 패키지 상태를 갱신한다. 각각의 패키지를 수신한 SD 서버(108-1, 108-i, 108-n)는 패키지에 대한 질의를 위해 복제 프로세스를 실행한다(단계 206). 복제 프로세스는 SD 서버(108)가 떨어져 있을 때 SD 서버가 구성 데이터베이스와 동기화되도록 해준다. 패키지 상태는 "다운로드"로 갱신되고(단계 208), 패키지는 대응 SD 서버(108-1, 108-i, 108-n)로 다운로드된다 (단계 210). SD 서버(108)는 PC 팩토리(머신들이 배치전에 구축되고 저장되는 중앙 사이트)와 같은 상이한 원격 사이트 또는 머신들이 로딩될 필요가 있는 임의의 위치에 위치할 수 있다.
워크스테이션 정의 프로세스
SD 어플리케이션(102)에 의해 수행되는 워크스테이션 정의 프로세스는 주로 네트워크상의 장치 구성을 관리한다. 머신에 관한 위치 및 기능 정보를 이용하여 SD 서버(108)상에서 우선 워크스테이션 생성 프로세스를 실행한다. 이러한 정보는, 구성 데이터베이스(100)내에 저장되며, 이는 최종 사용자가 머신 명칭을 입력할 때 SD 어플리케이션(102)이 가져온다. 워크스테이션 생성 프로세스는 구성 데이터베이스(100)로부터 SD 서버(108)에 타겟 머신(112)의 개별 정보를 전송하고 SD 서버(108)상의 설치 프로그램과 각각의 머신에 필요한 해당 응답 파일들을 생성하는 프로세스를 개시한다.
SD 서버(108)상에 존재하는 설치 프로그램은 운영 체제, 각각의 기능을 위한 모든 기본 제품들 및 어플리케이션들과, 이용가능한 부가적인 패키지들을 설치하는 설치 단계들을 정의한다. 설치 프로그램은 오류가 난 경우에 중단될 수 있으며, 오류를 야기한 문제점이 일단 고쳐진 후에 인너렙트 단계에서 회복될 수 있다.
초기 로드 프로세스:
바람직한 실시예에서, 타겟 머신을 로드하기 위한 초기 로드 프로세스는 부트 디스켓으로 플로피 디스켓을 이용함으로써 작동된다. 타겟 머신(예, 서버 또는 워크스테이션, 112)의 초기 로드는 SD 서버(108)로의 연결을 통해 행해진다. 타겟 머신(112)은 부트 디스켓을 이용하여 SD 서버(108)에 연결된다. 초기 로드가 PC 팩토리내에서 수행된다면, 타겟 머신은 성공적인 로드 후에 네트워크의 서브넷에 연결된다. 그런 후에, SD 서버(108)는 구성 데이터베이스(100) 내의 타겟 머신(112)의 상태를 머신이 올바르게 로드되었음을 나타내는 상태로 갱신한다. 본 발명의 시스템의 각 구성요소에 의해 수행되는 동작들에 대한 좀더 상세한 설명은 다음과 같다.
A. SD 어플리케이션에 의해 수행되는 동작
SD 어플리케이션(102)은 구축될 워크스테이션을 관리하기 위해 요구되는 정의 집합과, 각각의 정의에 연관된 일단의 동작을 제공한다. 바람직하게, 일단의 동작에는, 각각의 정의를 열거하고, 생성하고, 삭제하고, 및/또는 수정하는 것을 포함한다.
설치될 각각의 워크스테이션은 네트워크내에서 유일하게 워크스테이션을 식별해주는 일단의 항목들에 의해 정의된다. 정의된 항목들은 바람직하게는 다음과 같다.
기능 클래스: 기능 클래스는"기능 클래스" 및 "기능 클래스 코드 설명"를 유일하게 식별해주는 "기능 클래스 코드"를 포함한다. 도 3은 SD 어플리케이션(102)에 의해 수행되는 기능 클래스 정의를 생성하기 위한 프로세스(300)를 도시한다. 기능 클래스 코드가 생성되어 구성 데이터베이스(100) 내에 저장된다(단계 302). 그런 후에, 기능 클래스 코드 설명이 기능 클래스 코드에 지정된다(단계 304).
모든 기능 클래스 정의가 생성되고, 열거되고, 삭제되고, 수정될 수 있다. 생성 동작은 기능 클래스 코드 및 기능 클래스 코드 설명이 구성 데이터베이스(100)로 삽입되도록 해준다. 삭제 동작은 구성 데이터베이스(100)로부터 코드 및 설명(워크스테이션 및 종속 기능의 임의의 인스턴스 포함)를 삭제한다. 수정 동작은 구성 데이터베이스(100)의 임의의 기능 클래스 코드의 설명을 갱신하고, 열거 동작은 기능 클래스 코드 및 이에 연관된 설명의 선택을 수행한다.
기능: 기능은 머신이 수행할 역할을 정의하고, "기능 코드" 및" 기능 설명"에 의해 유일하게 식별된다. 기능에 대한 각 정의는 운영 체제, 운영 체제의 특정 세팅을 나타내기 위한 일단의 파라미터들(예를 들면, 도메인 서버, 출력 서버, 특정 하드웨어), 설명 및 로드될 미들웨어 제훔을 지정하는데 필요한 기타 파라미터들을 지정한다.
도 4는 SD 어플리케이션(102)에 의해 수행되는 기능 정의 프로세스의 흐름도이다. 도시된 바와 같이, 제1 단계(단계 402)에서, 기능 클래스가 검색된다. 기능 클래스가 존재하지 않으면, 그것은 생성된다(단계 300)으로 진행함). 기능 클래스가 그 기능에 대해 이미 존재한다면, 특정 기능에 대한 코드가 생성된다(단계 404). 기능 코드 설명이 생성된다(단계 406). 각각의 기능 정의는 생성, 열거, 상세화, 삭제 및 수정될 수 있으며, 연관된 패키지가 열거될 수 있다. 생성 동작은 도 4에 도시된 동작들을 수행한다. 열거 동작은 구성 데이터베이스(100)에서의 선택을 수행하기 위해 기능 코드 및 이에 대한 설명을 디스플레이한다. 상세 동작은 기능의 상세한 설명을 디스플레이하기 위해 수행될 수 있다. 삭제 동작은 SD 구성 데이터베이스(100)내의 기능 인스턴스를 삭제한다. 수정 동작은 기능의 설명 또는 파라미터들을 변경하고 SD 구성 데이터베이스(100)내에서 그들을 갱신한다. 연관-패키지-열거 동작은 기능에 연관된 패키지를 열거한다.
위치: 위치는 위치 데이터에 의해 정의되는데, 이는 "위치 코드", "위치 코드 설명" 및 네트워크내의 연관된"서브넷"을 포함한다. 도 5는 SD 어플리케이션(102)에 의해 수행되는 위치에 대한 정의 프로세스(500)의 흐름도를 도시한다. 프로세스는 위치 코드가 이미 존재하는지의 여부를 검사한다(단계 502). 그렇다면, 프로세스는 종료된다. 위치 코드가 아직 생성되지 않았다면, 새 로운 위치 코드가 생성된다(단계 504).
다음에, 프로세스는 서브넷의 존재 여부를 검사한다(단계 506). 그렇다면, 프로세스는 종료한다. 서브넷이 존재하지 않는다면, 프로세스는 서브넷을 생성한다(단계 508). 마지막으로, 위치 설명이 위치 코드에 연관된다(단계 510). 위치 정의는 이미 언급된 동작들에 의해 처리될 수 있다. 즉, 생성, 열거, 삭제 및/또는 수정될 수 있다. 생성 동작은 도 5에 도시된 동작을 수행한다. 열거 동작은 SD 구성 데이터베이스(100)내에서 위치 코드 및 그 설명을 선택한다. 삭제 동작은 SD 구성 데이터베이스(100)내의 위치 코드에 첨부된 임의의 인스턴스를 삭제한다. 수정 동작은 위치 설명을 변경하고, 그것을 SD 구성 데이터베이스(100)내에 갱신한다.
하드웨어 클래스: 하드웨어 클래스는 하드웨어 클래스를 식별하는 "하드웨어 클래스 코드" 및 하드웨어 클래스 설명"을 포함한다. 도 6은 SD 어플리케이션(102)에 의해 수행되는 하드웨어를 정의하기 위한 프로세스(600)를 도시한다. 우선, SD 어플리케이션(102)은 하드웨어 클래스 코드가 이미 존재하는지 여부를 검사한다(단계 602). 그렇다면, 프로세스는 종료한다. 그렇지 않으면, 하드웨어 클래스 코드가 생성되고(단계 604), SD 구성 데이터베이스(100)에 저장된다. 하드웨어 클래스 설명이 이미 정의된 하드웨어 클래스 코드에 연관된다(단계 606). 하드웨어 클래스의 각 정의는 생성, 열거, 삭제 및/또는 수정될 수 있다. 생성 동작은 코드 및 그 설명을 구성 데이터베이스(100)에 삽입한다. 삭제 동작은 코드 및 설명 뿐만 아니라 그에 종속되는 하드웨어 및 워크스테이션의 임의의 인스 턴스를 SD 구성 데이터베이스(100)로부터 삭제한다. 수정 동작은 하드웨어 클래스 코드의 설명을 수정하고 SD 구성 데이터베이스(100)내의 설명 레코드를 갱신한다. 열거 동작은 하드웨어 클래스 코드 및 연관 설명의 선택을 수행한다.
하드웨어: 하드웨어 정의는 각각의 하드웨어를 식별하는 "하드웨어 코드" 및 "하드웨어 설명"을 포함한다. 도 7은 SD 어플리케이션(102)에 의해 수행되는 하드웨어 정의 프로세스의 흐름도를 도시한다. 프로세스는 특정 하드웨어에 대한 하드웨어 클래스 코드의 존재 여부를 검사한다(단계 702) (예, 하드웨어는 키보드 하드웨어 클래스에 포함될 스페인어 키보드이다). 코드가 존재하지 않는다면, 그것이 생성된다(단계 600으로 진행함). 하드웨어 클래스 코드가 존재한다면, 하드웨어 코드가 생성된다(단계 704). 각각이 하드웨어 정의가 생성, 열거, 삭제 및/또는 수정될 수 있다. 생성 동작은 도 7에 도시된 동작을 수행한다. 삭제 동작은 SD 구성 데이터베이스(100)로부터 하드웨어 인스턴스를 삭제한다. 수정 동작은 하드웨어 설명의 설명 레코드 또는 다른 파라미터들을 수정하고 SD 구성 데이터베이스(100)내의 그들을 갱신한다. 마지막으로, 열거 동작은 SD 구성 데이터베이스(100)내의 하드웨어 코드, 하드웨어 클래스 코드 및 설명의 선택을 수행한다.
패키지: 도 8은 패키지 정의 프로세스(800)의 흐름도이다. 패키지 정의는 패키지 버전을 식별해주는 "패키지 명칭", 패키지 설명, 패키지가 장래 설치될 가능성이 있는 운영 체제, 지정된 기능, 지정된 위치, 압축 종류 및 패키지가 물리적으로 저장되는 파일 시스템 도는 디렉토리를 포함한다. 패키지는 SD 팩 구성요소(106)를 통해 생성된다. SD 어플리케이션(102)은 열거, 수정 및 삭제 동작을 수행한다. 우선, 시스템 패키지가 선택된 후에(단계 802), 기능(단계 804) 및 위치(단계 806)가 패키지에 지정된다. 위치가 지정되면, 프로세스는 머신의 초기 로드시에 로드될 패키지를 설정한다(808). 그런 후에, 패키지를 지정된 위치에 대해 상태 "이용가능함"으로 세팅하기 위해 프로세스가 개시된다(단계 810). 동일한 위치에 속하고 동일한 기능에 의해 정의되며, 구성 데이터베이스(100)에 질의하는 SD 서버는 이러한 특정 시스템 패키지를 다운로드할 것이다.
워크스테이션: 도 9는 각각의 타겟 머신(112)에 대해 SD 어플리케이션(102)에 의해 수행되는 워크스테이션 정의 프로세스(900)의 흐름도이다. 위치 코드 및 이에 연관된 위치 설명 리스트로부터 위치가 선택된다(단계 902). 다음에, 기능 코드 및 이에 연관된 기능 설명 리스트로부터 기능이 선택된다(단계 904). 다음에, 타겟 워크스테이션(112)을 그 위치에서 유일하게 만들어주는 워크스테이션에 대한 번호가 이미 존재하는지를 검사하기 위한 테스트가 수행된다(단계 906). 그렇지 않다면, 머신에 번호가 지정된다(단계 908). 번호가 지정된 것과 무관하게, 해당 머신에 필요한 하드웨어가 선택된다(단계 910). 다음에, SD 서버내에 파일을 생성하기 위해 SD 어플리케이션(102)내에서 워크스테이션 생성기 프로세스가 실행된다( 단계 912). 생성 프로세스가 실패하면, 오류 메시지가 표시된다(단계 914). 여기서 이 파일은 "SRC"파일로 지칭될 것이며, SD 서버(108)의 동작을 참조하며 이하에서 상세히 설명될 것이다. 워크스테이션 생성 프로세스가 성공하면, 워크스테 이션의 상태는 "생성"으로 설정될 것이다(단계 916).
B. SD 서버의 동작: SD 서버(108)내에서 수행되는 프로세스는 2가지 요소를 포함하는데 "SRC" 파일과 "SDCONF" 프로세스이다. 전술한 바와 같이, "SRC" 파일은 워크스테이션 생성 프로세스중에 생성되고, 특정 템플릿을 채울 특정 포맷내의 필요한 파라미터들을 포함한다(즉, 머신 명칭, 네트워크 어댑터, 도메인, 비디오 어댑터, 키보드, 디폴트 라우터 등). "SDCONF"는 "SRC"파일을 판독하고 타겟 머신의 무인 로딩을 위해 필요한 응답 파일들을 생성하는 프로세스이다.
"SRC" 파일 명칭은 바람직하게는 (위치, 기능 및 시퀀스 번호를 포함하는 전술한 네이밍 규약에 따라) 로드될 각각의 머신의 머신 명칭이며, ".GEN"유형의 파일 확장자를 갖는다. 예를 들어, 파일 "AQU1201.GEN"은 머신 AQU1201이 SD 어플리케이션(102)에 의해 정의되었으며 지정 SD 서버내에 올바르게 생성되었음을 나타낸다. 더욱이, "SRC"파일은 생성될 머신에 대한 완전한 설명을 포함한다.
이후에, 타겟 머신(112)의 설치를 완료하는데 필요한 운영체제 및 어플리케이션 응답 파일이 생성된다. 기본적으로, "SDCONF"프로세스는 SD 서버(108)상에 저장되어 있으며 SD 어플리케이션(102)에 의해 원격 실행되는 스크립트의 실행을 포함한다. 이러한 원격 절차는 SRC 파일로부터 데이터를 판독하고, 타겟 머신(112)의 완전한 설치를 위해 필요한 응답 파일 및 기능 특정 스크립트를 생성한다. 응답 파일 및 기능 특정 스크립트는 SD 서버(108)내에 존재하는 응답 파일 템플릿을 적절한 정보로 채움으로써 구축된다. 이러한 스크립트는 원시적 설치 프 로세스에 포함될 부가적인 패키지들을 설치하기 위해 이용되며, 미리 SD 어플리케이션(102)에 의해 각 머신의 기능에 지정된다.
SRC 파일의 파라미터들은 스크립트를 구축하기 위한 지정된 의미를 갖는다. 대부분의 파라미터들은 타겟 머신이 수행하는 기능들의 정의로부터 발생하며, 다른 것들은 해당 머신(예, 하드웨어, IP 어드레스 등)에 특정된다. 더욱이, 일부 파라미터들은 특정 운영체제에 링크되어 있다. 이러한 로직은 SRC 파일을 파싱(parsing)하고 판독할 책임이 있는 스크립트(SDCONF)를 구축하는데 구현된다.
타겟 머신(112)의 완전 설치를 위해 SD 서버(108)내의 모든 파일들이 준비되면, 타겟 머신(112)이 부팅되어, 서버에 연결되고, 파티셔닝되고(partitioned), 포맷된 후에, 마침내 설치된다. 이러한 프로세스의 상세사항들은 설치될 운영체제에 따라 달라진다. 사실상, OS/2는 자신의 파티셔닝 툴(즉, 3개의 CD 디스켓에 포함된 부트관리자(BootManager)를 가지며, Windows 파티셔닝은 DOS 네트워크 부트가능 디스켓으로 행해져야 한다.
설치 동작은 사용자로 하여금 설치될 머신의 명칭과 해당 머신을 생성하는데 이용되는 SD 서버의 명칭을 입력하도록 요구함으로써 시작된다. 이러한 정보들이 사용자에 의해 일단 입력되면, 타겟 머신(112)은 SD 서버에 연결되고, 프로세스는 사용자의 다른 간섭없이 완전히 자동화된다. 머신 명칭의 포맷이 "VVVFFxx"이기 때문에, "FF" 코드가 머신의 기능을 SD 서버(108)내의 적절한 디렉토리 경로에 매핑시킨다.
따라서, 설치는 운영체제의 설치(즉, OS/2, NT, Windows 2000, Windows 9x) 의 설치 및 다음과 같은 부가적인 소프트웨어 제품들의 설치를 포함한다.
- 모든 기능에 공통되는 제품(Windows NT Service Pack, OS/2 fixes, 인터넷 브라우저, 안티바이러스 등과 같은 기본 제품이라 불리우는 제품들),
- IBM상의 DB2 또는 IBM MQSeries, 또는 Lotus Corp의 Lotus Notes와 같은 기능-특정 미들웨어 제품들,
- (전형적으로 어플리케이션 패키지들을 위한) 기능-특정 초기 로드 소프트웨어 배포 패키지들.
도 10은 "SDCONF" 프로세스(1000)를 설명한다. 우선, SDCONF는, 검색 인자로서 설치될 머신 명칭을 이용하여, 설치될 각 머신에 연관된 SRC 파일을 검색한다(단계 1002). 그 다음에, 타겟 머신에 필요한 운영체제를 확인하기 위해 SRC 파일이 검사된다(단계 1004). 다음에, 이 파라미터에 따라, 각각의 부루틴이 호출된다(1006-a, 단계(1006-b, 1006-c)). SDCONF는 운영체제 응답 파일 템플릿을 SRC의 파일로부터 판독된 구체적인 데이터로 채움으로써 운영체제 응답 파일을 형성한다(단계 1008). (도 11은 "TSTP1301"이란 명칭의 머신에 대한 응답 파일 템플릿의 기록을 도시한다). 마지막으로, 기능-특정 스크립트가 생성된다. 미들웨어 제품 및 SD 패키지들을 설치하는 기능-특정 프로그램은, 예를 들면, 하드웨어-의존적 소프트웨어와 같은 머신-특정 소프트웨어를 설치하기 위해서도 이용될 수 있다.
첨부물 A는 세가지 유형의 상이한 파라미터들에 대한 파일 구조를 도시하는 SRC 파일의 예를 도시한다.
(1) 헤더가 없는 파라미터: 예를 들어, BASE_OPERATING_SYSTEM, 또는 TCPT_ADDR, 또는 FCT_NAME 파라미터들.
(2) "MAT" 헤더를 갖는 파라미터: 이들 모두는 KEYBOARD-TYPE 또는 SCREEN-TYPE과 같은 하드웨어 파라미터들이다. 구축될 머신에 해단 특정 하드웨어 정보는 이러한 파라미터 섹션에 기재된다. 이러한 파라미터들에 따라, 스크립트가 운영 체제 응답 파일을 위한 특별한 드라이버를 포함할 것이다.
(3) "SOFT" 헤더를 갖는 파라미터: 이들 모두는 ADMINPWD 또는 PRINTSRV 파라미터와 같은 소프트웨어 파라미터들이다. 머신 기능에 연관된 특정 소프트웨어 패키지들이 이러한 파라미터 섹션에 기재된다.
첨부물 B는 SDCONF 프로세스에 의해 생성되는 파일들의 위치와 함께, SD 서버(108)의 디렉토리 구조 예를 도시한다. 2가지 주요 요소들, CID 및 SDSYS의 구조가 도시된다. 기본적으로, CID 요소는 운영 체제에 의해 구성되는 유틸리티 및 제품 설치 코드를 저장하고, SDSYS 요소는 타겟 머신의 완전 자동 설치를 위해 필요한 최종 파일들을 포함하는 기능 및 머신 특정 서브 디렉토리들을 저장한다.
전술한 설명으로부터, 본 발명의 다음과 같은 장점을 제공함이 명백해진다.
- 구성 데이터베이스(100)를 소프트웨어 배포 시스템과 통합시킬수 있는 능력.
- 임의 개수의 부가적인 구성 파라미터들을 포함하기 위해 "기능별( by-function)"개념을 확장시킬 수 있는 능력(예를 들면, 공백 클라이언트가 특정의 MQ 계열 제품에 링크되도록 기능을 구성함).
- 소프트웨어 배포 시스템에 정보 전달을 가능하게 해주는 파라미터들을 저 장하기 위한 부가적인 필드를 이용하여 워크스테이션 정의를 확장시킬 수 있는 능력, 이에 따라, SD 어플리케이션(102)을 통해 중앙 데이터베이스의 파라미터들을 변경함으로써, 임의의 워크스테이션이 재구성될 수 있음.
- 상이한 운영 센터들간에 시스템 패키지를 교환하기 위해 중앙 리포지터리간에 패키지를 전송할 수 있는 능력.
본 발명은 바람직한 실시예와 관련하여 구체적으로 도시되고 설명되었지만, 본 기술분야의 통상의 지식을 가진 자라면 본 발명의 정신 및 범위를 벗어남없이 형태 및 상세사양에서 다양한 변화가 가능함을 이해할 것이다.

Claims (19)

  1. 네트워크에서 적어도 하나의 서버 컴퓨터에 연결된 적어도 하나의 최종 사용자 컴퓨터상에 운영체제, 소프트웨어 제품 및 어플리케이션을 포함하는 패키지를 설치하고 구성하기 위한 시스템에 있어서,
    상기 적어도 하나의 서버 컴퓨터에 연결되어 상기 패키지 및 상기 적어도 하나의 최종 사용자 컴퓨터의 식별 데이터를 저장하기 위한 수단과,
    상기 적어도 하나의 최종 사용자 컴퓨터의 식별 데이터에 기초하여 상기 저장 수단으로부터 상기 적어도 하나의 서버 컴퓨터에 상기 패키지를 전송하기 위한 수단과,
    상기 전송 수단에 연결되어, 상기 적어도 하나의 최종 사용자 컴퓨터상에 상기 패키지를 설치하기 위해, 상기 식별 데이터에 기초하여 설치 프로그램 및 이에 연관된 응답 파일을 상기 적어도 하나의 서버 컴퓨터상에 생성하기 위한 수단을 포함하고,
    상기 식별 데이터는 상기 적어도 하나의 최종 사용자 컴퓨터가 설치되는 위치 데이터 및 상기 적어도 하나의 최종 사용자 컴퓨터가 상기 네트워크내에서 수행하는 기능 데이터를 적어도 포함하는 시스템.
  2. 제1항에 있어서, 상기 패키지에 상기 적어도 하나의 최종 사용자 컴퓨터 위치 데이터 및 상기 적어도 하나의 최종 사용자 컴퓨터 기능 데이터를 지정하기 위 한 수단을 더 포함하는 시스템.
  3. 제2항에 있어서, 상기 네트워크는 다수의 패키지들로 설치될 다수의 최종 사용자 컴퓨터를 더 포함하고, 상기 기능 정보는 다수의 기능 클래스들로 정리되고, 각각의 기능 클래스는 상기 네트워크의 다수의 최종 사용자 컴퓨터들중에서 상기 네트워크내에서 공통 기능을 갖는 최종 사용자 컴퓨터 집합을 식별하는 시스템.
  4. 제3항에 있어서, 상기 다수의 기능 클래스는 클라이언트 기능 클래스와 서버 기능 클래스를 포함하는 시스템.
  5. 제3항에 있어서, 상기 식별 데이터는 상기 네트워크내의 다수의 최종 사용자 컴퓨터의 하드웨어 및 소프트웨어 구성에 대한 정보를 더 포함하는 시스템.
  6. 제3항에 있어서, 상기 저장 수단은 상기 다수의 최종 사용자 컴퓨터 각각에 지정된 설치 상태를 갱신하기 위한 수단을 더 포함하는 시스템.
  7. 제6항에 있어서, 상기 저장 수단은 상기 다수의 패키지 각각에 지정된 패키지 상태를 갱신하기 위한 수단을 더 포함하는 시스템.
  8. 제3항에 있어서, 상기 패키지를 생성하기 위한 수단과 상기 저장 수단에 상 기 생성된 패키지를 전송하기 위한 수단을 더 포함하는 시스템.
  9. 제1항에 있어서, 상기 적어도 하나의 최종 사용자 컴퓨터의 초기 로드를 수행하기 위한 수단을 더 포함하는 시스템.
  10. 제9항에 있어서, 상기 초기 로드를 수행하기 위한 수단은 최종 사용자 컴퓨터가 부팅되는 부팅가능 장치를 포함하는 시스템.
  11. 네트워크에서 적어도 하나의 서버 컴퓨터에 연결된 적어도 하나의 최종 사용자 컴퓨터상에 운영체제, 소프트웨어 제품 및 어플리케이션을 포함하는 패키지를 설치하고 구성하는 방법에 있어서,
    상기 패키지 및 상기 적어도 하나의 최종 사용자 컴퓨터의 식별 데이터를 중앙 리포지터리(repository)에 저장하는 단계와,
    상기 식별 데이터에 기초하여 상기 중앙 리포지터리로부터 상기 적어도 하나의 서버 컴퓨터에 상기 패키지를 전송하는 단계와,
    상기 식별 데이터에 기초하여 설치 프로그램 및 이에 연관된 응답 파일을 상기 적어도 하나의 서버 컴퓨터상에 생성하는 단계와,
    상기 패키지를 상기 적어도 하나의 최종 사용자 컴퓨터상에 설치하는 단계를 포함하고,
    상기 식별 데이터는 상기 적어도 하나의 최종 사용자 컴퓨터가 설치되는 위 치 데이터 및 상기 적어도 하나의 최종 사용자 컴퓨터가 상기 네트워크내에서 수행하는 기능 데이터를 적어도 포함하는 방법.
  12. 제11항에 있어서, 상기 패키지에 상기 위치 데이터 및 상기 기능 데이터를 지정하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 네트워크는 다수의 패키지들로 설치될 다수의 최종 사용자 컴퓨터를 더 포함하고, 상기 기능 정보는 다수의 기능 클래스들로 정리되고, 각각의 기능 클래스는 상기 네트워크의 다수의 최종 사용자 컴퓨터들중에서 상기 네트워크내에서 공통 기능을 갖는 최종 사용자 컴퓨터 집합을 식별하는 방법.
  14. 제13항에 있어서, 상기 다수의 기능 클래스는 클라이언트 기능 클래스와 서버 기능 클래스를 포함하는 방법.
  15. 제13항에 있어서, 상기 식별 데이터는 상기 네트워크내의 다수의 최종 사용자 컴퓨터의 하드웨어 및 소프트웨어 구성에 대한 정보를 더 포함하는 방법.
  16. 제13항에 있어서, 상기 저장 단계는 상기 다수의 최종 사용자 컴퓨터 각각에 지정된 설치 상태를 갱신하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서, 상기 저장 단계는 상기 다수의 패키지 각각에 지정된 패키지 상태를 갱신하는 단계를 더 포함하는 방법.
  18. 제11항에 있어서, 상기 패키지를 생성하는 단계와 상기 중앙 리포지터리에 상기 생성된 패키지를 전송하는 단계를 더 포함하는 방법.
  19. 제11항에 있어서, 상기 적어도 하나의 최종 사용자 컴퓨터의 초기 로드를 수행하는 단계를 더 포함하는 방법.
KR1020037017260A 2001-08-29 2002-08-13 운영체제의 자동 설치 및 구성을 위한 시스템 및 방법 KR100596298B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/942,134 2001-08-29
US09/942,134 US6854112B2 (en) 2001-08-29 2001-08-29 System and method for the automatic installation and configuration of an operating system
PCT/EP2002/009681 WO2003021430A2 (en) 2001-08-29 2002-08-13 System and method for the automatic installation and configuration of an operating system

Publications (2)

Publication Number Publication Date
KR20040028804A KR20040028804A (ko) 2004-04-03
KR100596298B1 true KR100596298B1 (ko) 2006-07-03

Family

ID=25477624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037017260A KR100596298B1 (ko) 2001-08-29 2002-08-13 운영체제의 자동 설치 및 구성을 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US6854112B2 (ko)
EP (1) EP1421483A2 (ko)
JP (1) JP4700909B2 (ko)
KR (1) KR100596298B1 (ko)
CN (1) CN1291313C (ko)
CA (1) CA2457440C (ko)
IL (2) IL160613A0 (ko)
WO (1) WO2003021430A2 (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US20030069946A1 (en) * 2001-10-05 2003-04-10 Adc Telecommunications, Inc. Central directory server
US20030192041A1 (en) * 2002-04-03 2003-10-09 Mentze Duane E. software distribution system and method
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
JP4340476B2 (ja) * 2002-06-28 2009-10-07 株式会社リコー ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
US7210143B2 (en) * 2002-07-17 2007-04-24 International Business Machines Corporation Deployment of applications in a multitier compute infrastructure
US20040060035A1 (en) * 2002-09-24 2004-03-25 Eric Ustaris Automated method and system for building, deploying and installing software resources across multiple computer systems
US7730155B1 (en) * 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US7181740B2 (en) * 2003-03-31 2007-02-20 Sony Corporation Method and system for automated provision of build images
US8086659B2 (en) 2003-06-25 2011-12-27 Microsoft Corporation Task sequence interface
US7290258B2 (en) * 2003-06-25 2007-10-30 Microsoft Corporation Managing multiple devices on which operating systems can be automatically deployed
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US7340739B2 (en) * 2003-06-27 2008-03-04 International Business Machines Corporation Automatic configuration of a server
JP4438048B2 (ja) * 2003-08-08 2010-03-24 キヤノン株式会社 周辺装置及びその周辺装置のファームウェア更新方法、プログラム
US7774774B1 (en) * 2003-10-22 2010-08-10 Apple Inc. Software setup system
US7890948B2 (en) * 2003-10-30 2011-02-15 Inernational Business Machines Corporation Methods and apparatus for customizing user-interface control in existing application
DE10358019A1 (de) * 2003-12-11 2005-07-14 Siemens Ag Verfahren zur Aktualisierung eines Automatisierungssystems
US7383429B2 (en) * 2003-12-18 2008-06-03 Hewlett-Packard Development Company, L.P. Configuring settings of a computer system to be compatible with an operating system
US20050198631A1 (en) * 2004-01-12 2005-09-08 Dell Products L.P. Method, software and system for deploying, managing and restoring complex information handling systems and storage
US20050160420A1 (en) * 2004-01-20 2005-07-21 Kruta Andrew W. Method and apparatus for distribution and installation of computer programs across an enterprise
DE102004015834B3 (de) * 2004-03-31 2005-03-03 Fujitsu Siemens Computers Gmbh Verfahren zur benutzerspezifischen Konfiguration eines Computers aus einer Gruppe von vorbereiteten Computern
US7685230B2 (en) * 2004-04-01 2010-03-23 Vaakya Technologies Private Limited System and method for program execution
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
US20050262501A1 (en) * 2004-05-21 2005-11-24 Claudio Marinelli Software distribution method and system supporting configuration management
WO2005116888A2 (en) * 2004-05-26 2005-12-08 Man Bytes Dog Limited Method of providing computing resources to computers operated by different companies
US7437721B2 (en) * 2004-09-29 2008-10-14 Microsoft Corporation Isolating software deployment over a network from external malicious intrusion
US7797698B2 (en) * 2004-11-17 2010-09-14 International Business Machines Corporation Method and apparatus for dynamic middleware assembly
US7464118B2 (en) * 2004-12-03 2008-12-09 International Business Machines Corporation Algorithm for maximizing application availability during automated enterprise deployments
US9043781B2 (en) * 2004-12-03 2015-05-26 International Business Machines Corporation Algorithm for automated enterprise deployments
US20060248513A1 (en) * 2005-04-27 2006-11-02 Foster Gavin A E z/OS rapid automated deployment method
US8413134B2 (en) * 2005-05-10 2013-04-02 International Business Machines Corporation Method, system and computer program for installing software products based on package introspection
US20070074202A1 (en) * 2005-09-27 2007-03-29 International Business Machines Corporation Program product installation
US8458098B1 (en) * 2005-09-29 2013-06-04 Qurio Holdings, Inc. Methods of tracking remote software installations and registrations and related systems and computer program products
US7516104B1 (en) 2005-09-29 2009-04-07 Qurio Holdings, Inc. Methods of providing software over a network and related systems and computer program products
US8271970B2 (en) * 2005-10-27 2012-09-18 Siemens Aktiengesellschaft Method for software distribution
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
US7861241B2 (en) * 2006-02-09 2010-12-28 Canon Kabushiki Kaisha Install apparatus, install method, program, and storage medium
US20070239861A1 (en) * 2006-04-05 2007-10-11 Dell Products L.P. System and method for automated operating system installation
US7802243B1 (en) * 2006-04-20 2010-09-21 Open Invention Network Llc System and method for server customization
US7761538B2 (en) * 2006-08-30 2010-07-20 Microsoft Corporation Dynamically configuring, allocating and deploying computing systems
US8255904B2 (en) 2006-12-08 2012-08-28 Hewlett-Packard Development Company, L.P. System and method for generating a distributable software package
JP4449008B2 (ja) * 2007-03-05 2010-04-14 株式会社日立製作所 計算機初期化システム
US8505005B1 (en) 2007-07-24 2013-08-06 United Services Automobile Association (Usaa) Multi-platform network-based software distribution
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
CN101453416A (zh) * 2007-11-30 2009-06-10 国际商业机器公司 用于远程程序安装的包预取的服务节点、网络及其方法
CN101453367B (zh) * 2007-11-30 2011-12-28 华为技术有限公司 软件部署方法和系统及软件部署服务器和用户服务器
US8346897B2 (en) 2008-02-25 2013-01-01 Jon Jaroker System and method for deploying and maintaining software applications
CN101656623B (zh) * 2008-08-21 2012-01-11 华为技术有限公司 软件安装的方法、服务器及系统
US8949788B2 (en) * 2008-12-17 2015-02-03 Red Hat, Inc. Building and packaging software
US8875125B2 (en) * 2009-01-27 2014-10-28 Dell Products L.P. Operation system installation methods and media
KR101086797B1 (ko) * 2009-02-24 2011-11-30 부산대학교 산학협력단 Rfid 미들웨어 관리 시스템의 장애 관리 장치 및 방법
DE102009043287A1 (de) * 2009-09-29 2011-03-31 Abb Technology Ag Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8607200B2 (en) * 2010-06-01 2013-12-10 Red Hat, Inc. Executing a web application at different stages in the application life cycle
US20120110567A1 (en) * 2010-10-28 2012-05-03 Peter Lyons Operating system installation using build plans
US8554797B2 (en) * 2010-12-17 2013-10-08 Sap Ag System and method for modular business applications
US20120278797A1 (en) * 2011-02-21 2012-11-01 Randy Kent Secrist Methods and systems for packaging encapsulated operating system and custom software for single stream multi-system installation
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
KR101850817B1 (ko) * 2011-11-17 2018-04-23 삼성전자주식회사 서로 다른 단말에 어플리케이션을 자동으로 설치하는 장치 및 방법
US20130262845A1 (en) * 2012-03-29 2013-10-03 Verizon Patent And Licensing Inc. Method and system for generating a standardized system build file
CN103793217B (zh) 2012-10-31 2017-03-01 国际商业机器公司 用于软件快速配置的方法和系统
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US9575739B2 (en) * 2013-03-06 2017-02-21 International Business Machines Corporation Performing unattended software installation
WO2015165111A1 (en) * 2014-04-30 2015-11-05 Pivotal Software, Inc. Fast deployment across cloud platforms
WO2015168251A1 (en) 2014-04-30 2015-11-05 Twitter, Inc. Software development kit platform
US10640328B2 (en) * 2017-12-13 2020-05-05 Thyssenkrupp Elevator Ag System for compiling and transferring elevator configuration data and methods of using same
CN110187895B (zh) * 2019-05-24 2023-01-24 深圳前海微众银行股份有限公司 操作系统部署方法、装置、设备及计算机可读存储介质
CN111190921B (zh) * 2020-01-02 2022-09-16 安超云软件有限公司 一种超融合多功能序列号处理的方法及系统
US20240193237A1 (en) * 2021-04-16 2024-06-13 Hewlett-Packard Development Company, L.P. Operating system configuration and registration without manual user input or interaction at computing device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566339A (en) * 1992-10-23 1996-10-15 Fox Network Systems, Inc. System and method for monitoring computer environment and operation
US5758165A (en) * 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
JP2001510597A (ja) 1995-11-20 2001-07-31 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ コンピュータプログラム頒布システム
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5960204A (en) 1996-10-28 1999-09-28 J.D. Edwards World Source Company System and method for installing applications on a computer on an as needed basis
US5923885A (en) * 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
US6202206B1 (en) * 1998-05-14 2001-03-13 International Business Machines Corporation Simultaneous installation and configuration of programs and components into a network of server and client computers
US6338149B1 (en) * 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US6499137B1 (en) * 1998-10-02 2002-12-24 Microsoft Corporation Reversible load-time dynamic linking
WO2000054149A2 (en) * 1999-03-10 2000-09-14 Automation Control Products Llc Methods and systems for reduced configuration dependency in thin client applications
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법

Also Published As

Publication number Publication date
WO2003021430A2 (en) 2003-03-13
CN1291313C (zh) 2006-12-20
US6854112B2 (en) 2005-02-08
WO2003021430A3 (en) 2003-12-31
JP4700909B2 (ja) 2011-06-15
IL160613A0 (en) 2004-07-25
CA2457440C (en) 2005-12-20
CN1549965A (zh) 2004-11-24
CA2457440A1 (en) 2003-03-13
IL160613A (en) 2009-02-11
US20030046682A1 (en) 2003-03-06
KR20040028804A (ko) 2004-04-03
JP2005502117A (ja) 2005-01-20
EP1421483A2 (en) 2004-05-26

Similar Documents

Publication Publication Date Title
KR100596298B1 (ko) 운영체제의 자동 설치 및 구성을 위한 시스템 및 방법
US6026438A (en) Dynamic workstation configuration processor
US7069541B2 (en) System and method for a web-based application development and deployment tracking tool
US20050289536A1 (en) Automated deployment of an application
US9928041B2 (en) Managing a software appliance
US7356816B2 (en) Method and apparatus for multiplatform migration
US8042107B2 (en) System and method for expediting and automating mainframe computer setup
US20050289538A1 (en) Deploying an application software on a virtual deployment target
WO2009012696A1 (fr) Procédé de gestion de configuration de lot de dispositifs de communication et son appareil
US6901590B2 (en) System and method for single transparent deployment flow
US7434041B2 (en) Infrastructure for verifying configuration and health of a multi-node computer system
Cisco CiscoView CD Installation Instructions for AIX
Cisco CiscoView CD Installation Instructions for AIX
Cisco CiscoView CD Installation Instructions for AIX
Cisco CiscoView CD Installation Instructions for AIX
CN111897794A (zh) 数据库的维护方法、装置、电子设备和存储介质
US20080022258A1 (en) Custom database system and method of building and operating the same
AU2002337038A1 (en) System and method for the automatic installation and configuration of an operating system
KR102178861B1 (ko) 소프트웨어 생애 주기에 따른 서버 제공을 위한 클라우드 관리시스템
US20100070954A1 (en) Custom database system and method of building and operating the same
JP2024061435A (ja) デプロイ方法、プログラム、サーバ装置及び情報処理システム
Malcher et al. Installing the Oracle Binaries
WO2010039993A2 (en) Automation for virtualized it environments
CN116302315A (zh) 一种异构服务器自动化迁移方法及系统
Jashnani et al. Oracle Database Client Installation Guide, 11g Release 2 (11.2) for Linux E24322-05

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140527

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 14