KR102227185B1 - 분산 플랫폼의 자동 구축 방법 - Google Patents

분산 플랫폼의 자동 구축 방법 Download PDF

Info

Publication number
KR102227185B1
KR102227185B1 KR1020140142006A KR20140142006A KR102227185B1 KR 102227185 B1 KR102227185 B1 KR 102227185B1 KR 1020140142006 A KR1020140142006 A KR 1020140142006A KR 20140142006 A KR20140142006 A KR 20140142006A KR 102227185 B1 KR102227185 B1 KR 102227185B1
Authority
KR
South Korea
Prior art keywords
local device
node devices
software package
package
node
Prior art date
Application number
KR1020140142006A
Other languages
English (en)
Other versions
KR20160046218A (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 KR1020140142006A priority Critical patent/KR102227185B1/ko
Publication of KR20160046218A publication Critical patent/KR20160046218A/ko
Application granted granted Critical
Publication of KR102227185B1 publication Critical patent/KR102227185B1/ko

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 분산 플랫폼의 자동 설치 방법에 관한 것으로서, 본 발명에 따른 분산 플랫폼의 자동 설치 방법은 부팅 수단에 저장된 운영 체제를 이용하여 로컬 디바이스를 부팅하는 단계, 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 로컬 디바이스에 저장하는 단계, 로컬 디바이스 패키지를 로컬 디바이스에 설치하는 단계, 로컬 디바이스와 복수의 노드 디바이스가 네트워크를 통해 서로 접속되도록 설정하는 단계, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 단계 및 복수의 노드 디바이스 각각으로 네트워크를 통해 복수의 노드 디바이스 각각에 할당된 소프트웨어 패키지 및 설정 파일을 전송하는 단계를 포함하고, 로컬 디바이스를 통해 복수의 노드 디바이스로 분산 플랫폼을 구축하기 위한 소프트웨어 패키지를 자동적으로 전송하여, 수작업을 거치지 않고 분산 플랫폼을 빠르게 구축할 수 있다.

Description

분산 플랫폼의 자동 구축 방법{METHOD FOR AUTOMATICALLY CONSTRUCTING DISTRIBUTED PLATFORM}
본 발명은 분산 플랫폼의 자동 구축 방법에 관한 것으로서, 보다 상세하게는 소프트웨어 패키지를 복수의 노드 디바이스 각각에 할당하여 전송함으로써 분산 플랫폼을 자동적으로 구축하는 방법에 관한 것이다.
분산 시스템이란 하나의 고성능 디바이스에서 수행하던 복잡한 프로세스를 작은 단위로 나누어 네트워크를 통해 연결된 복수의 디바이스에서 나누어 처리하는 시스템을 말한다. 분산 시스템에서는 하나의 작업을 복수의 디바이스에서 병렬로 처리함으로써 시스템의 처리율이 향상되고, 데이터의 복사본을 복수의 디바이스에 저장함으로써 시스템의 신뢰도가 향상된다. 또한, 분산 시스템은 새로운 디바이스를 네트워크에 추가함으로써 용이하게 시스템을 확장할 수 있다는 장점을 갖는다. 다만, 분산 시스템을 구축하기 위해서는 분산 시스템을 구성하는 디바이스 각각에 분산 시스템을 위한 소프트웨어를 설치하여 분산 플랫폼을 구축하는 것이 요구된다.
이와 관련하여, 종래에는 분산 플랫폼의 구축을 위해 분산 시스템을 구성하는 복수의 디바이스 각각에 사용자가 직접 분산 플랫폼을 구축하기 위한 소프트웨어를 설치해야 하는 불편함이 있었다. 특히, 분산 시스템을 구성하는 디바이스의 수가 수십 내지 수백개인 경우에는 분산 플랫폼을 구축하기 위해 시간 및 인력 등으로 인한 비용이 크게 증가하는 문제점이 있었고, 디바이스에 설치된 소프트웨어에 이상이 있는 경우 수십 내지 수백 개의 디바이스에 설치된 소프트웨어를 테스트하고 이상이 있는 디바이스를 찾아서 소프트웨어를 재설치해야 한다는 문제점이 있었다. 또한, 종래의 복수의 디바이스에 소프트웨어를 자동으로 설치하는 방법들에서는 복수의 디바이스에 동일한 소프트웨어를 설치할 수 있을 뿐, 디바이스 각각의 특성을 반영하여 디바이스 각각에 서로 상이한 소프트웨어를 설치하여 분산 플랫폼을 구축하는 것이 불가능했다.
따라서, 분산 플랫폼을 구축하기 위해 복수의 디바이스 각각에 적합한 소프트웨어를 설치하고, 설치된 소프트웨어가 정상적으로 구동하는지 여부를 테스트할 수 있는 방법의 개발이 요구되었다.
본 발명이 해결하고자 하는 과제는 로컬 디바이스로부터 복수의 노드 디바이스로 소프트웨어 패키지를 자동적으로 전송함으로써, 복수의 노드 디바이스에 분산 플랫폼을 빠르게 구축할 수 있는 분산 플랫폼의 자동 구축 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 복수의 노드 디바이스의 특성을 반영하여 복수의 노드 디바이스 각각에 적합한 소프트웨어 패키지를 할당함으로써, 최적의 분산 시스템을 구축할 수 있는 분산 플랫폼의 자동 구축 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는 로컬 디바이스를 통해 설치된 소프트웨어를 테스트하고 이상이 있는 경우 재설치함으로써, 분산 플랫폼의 구축 과정에서 발생하는 문제를 빠르게 해결할 수 있는 분산 플랫폼의 자동 구축 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법은 부팅 수단에 저장된 운영 체제를 이용하여 로컬 디바이스를 부팅하는 단계, 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 로컬 디바이스에 저장하는 단계, 로컬 디바이스 패키지를 로컬 디바이스에 설치하는 단계, 로컬 디바이스와 복수의 노드 디바이스가 네트워크를 통해 서로 접속되도록 설정하는 단계, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 단계 및 복수의 노드 디바이스 각각으로 네트워크를 통해 복수의 노드 디바이스 각각에 할당된 소프트웨어 패키지 및 설정 파일을 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 부팅하는 단계는, 로컬 디바이스와 연결된 저장 매체에 저장된 운영 체제를 이용하여 로컬 디바이스를 부팅하는 단계이고, 저장하는 단계는, 저장 매체로부터 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 부팅하는 단계는, 로컬 디바이스와 네트워크를 통해 연결된 컴퓨팅 디바이스에 저장된 운영 체제를 이용하여 로컬 디바이스를 부팅하는 단계이고, 저장하는 단계는, 컴퓨팅 디바이스로부터 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 저장하는 단계는, 로컬 디바이스와 인터넷 통신망을 통해 연결된 서버로부터 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 단계는, 복수의 노드 디바이스 각각에 서로 상이한 소프트웨어 패키지 및 설정 파일을 할당하는 단계인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 단계는, 복수의 노드 디바이스 각각에 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일를 할당하기 위한 할당 규칙을 생성하는 단계 및 할당 규칙에 기초하여 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 생성하는 단계는, 사용자로부터 복수의 노드 디바이스 각각에 할당할 소프트웨어 패키지에 대한 정보를 수신하는 단계 및 노드 디바이스 패키지에 대한 정보에 기초하여 할당 규칙을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 단계는, 적어도 하나의 미리 저장된 규칙에 기초하여 할당 규칙을 결정하는 단계 및 할당 규칙에 기초하여 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 단계인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 분산 플랫폼의 자동 구축 방법은 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 테스트하는 단계는, 복수의 노드 디바이스에 설치된 설정 파일을 분석하여 소프트웨어 정보를 획득하는 단계, 소프트웨어 정보에 기초하여 선택된 테스트 프로그램을 복수의 노드 디바이스로 각각 전송하는 단계, 복수의 노드 디바이스로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하는 단계 및 테스트 결과 정보를 통해 복수의 노드 디바이스 중 재설치 대상을 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 분산 플랫폼의 자동 구축 방법은 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 테스트하는 단계는, 할당 규칙에 기초하여 선택된 테스트 프로그램을 복수의 노드 디바이스로 각각 전송하는 단계, 복수의 노드 디바이스로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하는 단계 및 테스트 결과 정보를 통해 복수의 노드 디바이스 중 재설치 대상을 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 분산 플랫폼의 자동 구축 방법은 재설치 대상인 노드 디바이스로 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송하는 단계를 더 포함하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 컴퓨터 판독 가능 매체는 로컬 디바이스를 부팅하고, 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 로컬 디바이스에 저장하고, 로컬 디바이스 패키지를 로컬 디바이스에 설치하고, 로컬 디바이스와 복수의 노드 디바이스가 네트워크를 통해 서로 접속되도록 설정하고, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하고, 복수의 노드 디바이스 각각으로 네트워크를 통해 복수의 노드 디바이스 각각에 할당된 소프트웨어 패키지 및 설정 파일을 전송하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 저장하는 명령어들의 세트는, 로컬 디바이스와 네트워크를 통해 연결된 컴퓨팅 디바이스로부터 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 수신하여 저장하는 명령어들의 세트인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 저장하는 명령어들의 세트는, 로컬 디바이스와 인터넷 통신망을 통해 연결된 서버로부터 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 수신하여 저장하는 명령어들의 세트인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 명령어들의 세트는, 복수의 노드 디바이스 각각에 서로 상이한 소프트웨어 패키지 및 설정 파일을 할당하는 명령어들의 세트인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 명령어들의 세트는, 복수의 노드 디바이스 각각에 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일를 할당하기 위한 할당 규칙을 생성하고, 할당 규칙에 기초하여 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 생성하는 명령어들의 세트는, 사용자로부터 복수의 노드 디바이스 각각에 할당할 소프트웨어 패키지에 대한 정보를 수신하고, 노드 디바이스 패키지에 대한 정보에 기초하여 할당 규칙을 생성하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 할당하는 명령어들의 세트는, 적어도 하나의 미리 저장된 규칙에 기초하여 할당 규칙을 결정하고, 할당 규칙에 기초하여 적어도 하나의 소프트웨어 패키지 및 적어도 하나의 설정 파일을 복수의 노드 디바이스 각각에 할당하는 명령어들의 세트인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 컴퓨터 판독 가능 매체는 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 명령어들의 세트를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 테스트하는 명령어들의 세트는, 복수의 노드 디바이스에 설치된 설정 파일을 분석하여 소프트웨어 정보를 획득하고, 소프트웨어 정보에 기초하여 선택된 테스트 프로그램을 복수의 노드 디바이스로 각각 전송하고, 복수의 노드 디바이스로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하고, 테스트 결과 정보를 통해 복수의 노드 디바이스 중 재설치 대상을 결정하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 컴퓨터 판독 가능 매체는 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 명령어들의 세트를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 테스트하는 명령어들의 세트는, 할당 규칙에 기초하여 선택된 테스트 프로그램을 복수의 노드 디바이스로 각각 전송하고, 복수의 노드 디바이스로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하고, 테스트 결과 정보를 통해 복수의 노드 디바이스 중 재설치 대상을 결정하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 컴퓨터 판독 가능 매체는 재설치 대상인 노드 디바이스로 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송하는 명령어들의 세트를 더 포함하는 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 로컬 디바이스를 통해 복수의 노드 디바이스로 분산 플랫폼을 구축하기 위한 소프트웨어 패키지를 자동적으로 전송하여, 수작업을 거치지 않고 분산 플랫폼을 빠르게 구축할 수 있다.
본 발명은 복수의 노드 디바이스 각각에 서로 상이한 소프트웨어 패키지를 할당하여 전송함으로써, 복수의 노드 디바이스 각각이 분산 시스템 내에서 노드 디바이스의 성능에 적합한 기능을 수행하게 하는 분산 플랫폼을 구축할 수 있는 효과가 있다.
본 발명은 복수의 노드 디바이스에 설치된 소프트웨어를 테스트하고 문제가 발생한 경우 해당 소프트웨어를 자동적으로 재설치할 수 있는 분산 플랫폼의 자동 구축 방법을 제공할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 3은 본 발명의 또 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 4는 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 또 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 소프트웨어 패키지의 이동 경로를 설명하기 위한 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템 (1000) 은 저장 매체 (10), 로컬 디바이스 (100), 스위치 (200), 및 복수의 노드 디바이스 (300) 를 포함한다. 복수의 노드 디바이스 (300) 는 제1 노드 디바이스 (310), 제2 노드 디바이스 (320) 및 제3 노드 디바이스 (330) 를 포함한다. 도 1에서는 식별의 편의를 위해 복수의 노드 디바이스 (300) 가 3개의 노드 디바이스를 포함하는 것으로 도시되었으나, 복수의 노드 디바이스 (300) 는 임의의 개수의 노드 디바이스를 포함할 수 있다.
저장 매체 (10) 는 데이터를 저장하는 매체이다. 저장 매체 (10) 는, 예를 들어, 플래쉬 메모리, CD-ROM 또는 착탈형 디스크일 수도 있다. 저장 매체 (10) 는 운영체제, 로컬 디바이스 패키지, 하나 이상의 소프트웨어 패키지 및 설정 파일을 포함할 수 있다. 로컬 디바이스 패키지는 로컬 디바이스 (100) 에 설치할 운영 체제의 설치 패키지 및 응용 소프트웨어의 설치 패키지를 지칭한다. 소프트웨어 패키지는 복수의 노드 디바이스 (300) 에 설치할 운영체제의 설치 패키지 및 응용 소프트웨어의 설치 패키지를 지칭한다. 설정 파일은 복수의 노드 디바이스 (300) 각각에 설치할 소프트웨어 패키지에 대한 정보를 포함하는 파일을 지칭한다.
로컬 디바이스 (100) 는 저장 매체 (10) 및 복수의 노드 디바이스 (300) 와 연결되는 디바이스로서, 저장 매체 (10) 로부터 수신한 소프트웨어 패키지를 복수의 노드 디바이스 (300) 에 할당하여 전송하고, 전송된 소프트웨어 패키지가 정상적으로 설치되었는지 여부를 테스트 한다. 로컬 디바이스 (100) 는, 예를 들어, USB 포트 또는 CD-ROM 드라이브를 통해 저장 매체 (10) 를 인식할 수 있다. 로컬 디바이스 (100) 는 인식된 저장 매체 (10) 에 저장된 운영 체제를 이용하여 라이브 부팅을 할 수 있다. 로컬 디바이스 (100) 는 저장 매체 (10) 로부터 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신하여 저장할 수 있다. 로컬 디바이스 (100) 는 네트워크를 통해 복수의 노드 디바이스 (300) 와 접속된다.
스위치 (200) 는 로컬 디바이스 (100) 및 복수의 노드 디바이스 (300) 를 중개한다. 즉, 로컬 디바이스 (100) 및 복수의 노드 디바이스 (300) 를 포함하는 네트워크는 스위치 (200) 를 통해 구성된다. 스위치 (200) 는, 예를 들어, L2/L3 스위치일 수도 있다.
복수의 노드 디바이스 (300) 는 분산 시스템을 구성하는 디바이스이다. 복수의 노드 디바이스 (300) 는 제1 노드 디바이스 (310), 제2 노드 디바이스 (320) 및 제3 노드 디바이스 (330) 를 포함한다. 제1 노드 디바이스 (310), 제2 노드 디바이스 (320) 및 제3 노드 디바이스 (330) 는 각각 상이한 성능을 가질 수 있다. 예를 들어, 제1 노드 디바이스 (310) 는 고성능의 프로세서를 포함하고, 제2 노드 디바이스 (320) 는 대용량의 메인 메모리를 포함하고, 제3 노드 디바이스 (330) 는 대용량의 스토리지를 포함할 수도 있다. 복수의 노드 디바이스 (300) 는 로컬 디바이스 (100) 로부터 전송된 소프트웨어 패키지를 설치한다. 복수의 노드 디바이스 (300) 에 소프트웨어 패키지가 설치됨으로써 분산 플랫폼이 구축된다.
도 2는 본 발명의 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템 (1000) 은 저장 매체 (10), 컴퓨팅 디바이스 (20), 로컬 디바이스 (100), 스위치 (200), 및 복수의 노드 디바이스 (300) 를 포함한다. 도 1을 참조하여 설명된 사항에 대해서는 중복 설명을 생략한다.
컴퓨팅 디바이스 (20) 는 저장 매체 (10) 및 로컬 디바이스 (100) 와 연결되는 디바이스로서, 로컬 디바이스 (100) 를 네트워크 부팅하고 로컬 디바이스 (100) 가 저장 매체 (10) 로부터 데이터를 수신하게 하는 기능을 한다. 컴퓨팅 디바이스 (20) 는, 예를 들어, 노트북 컴퓨터, 랩탑 컴퓨터 또는 태블릿 PC 등과 같은 휴대 가능한 컴퓨터일 수도 있다. 컴퓨팅 디바이스 (20) 는 저장 매체 (10) 에 저장된 운영체제를 이용하여 라이브 부팅할 수 있다. 컴퓨팅 디바이스 (20) 는, 예를 들어, USB 포트 또는 CD-ROM 드라이브를 통해 저장 매체 (10) 를 인식할 수 있다. 컴퓨팅 디바이스 (20) 는 스위치 (200) 를 통해 로컬 디바이스와 연결된다.
로컬 디바이스 (100) 는 컴퓨팅 디바이스 (20) 및 복수의 노드 디바이스 (300) 와 연결된다. 로컬 디바이스 (100) 는 컴퓨팅 디바이스 (20) 에 저장된 운영체제를 이용하여 네트워크 부팅을 할 수 있다. 로컬 디바이스 (100) 는 저장 매체 (10) 에 저장된 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 컴퓨팅 디바이스 (20) 를 통해 수신할 수 있다.
스위치 (200) 는 컴퓨팅 디바이스 (20), 로컬 디바이스 (100) 및 복수의 노드 디바이스 (300) 를 연결한다.
로컬 디바이스 (100) 가 네트워크를 통해 컴퓨팅 디바이스 (20) 와 연결됨으로써, 로컬 디바이스 (100) 에 직접 저장 매체 (10) 를 연결할 수 없는 경우, 로컬 디바이스 (100) 는 컴퓨팅 디바이스 (20) 에 저장된 운영체제를 이용하여 부팅하고, 컴퓨팅 디바이스 (20) 로부터 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신할 수 있다는 본 발명의 유리한 효과가 획득된다.
도 3은 본 발명의 또 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템의 개략적인 블록도이다.
도 3을 참조하면, 본 발명의 또 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 시스템 (1000) 은 저장 매체 (10), 서버 (30), 로컬 디바이스 (100), 스위치 (200), 및 복수의 노드 디바이스 (300) 를 포함한다. 도 1을 참조하여 설명된 사항에 대해서는 중복 설명을 생략한다.
저장 매체 (10) 는 데이터를 저장하는 매체로서, 로컬 디바이스 (100) 를 부팅하기 위한 운영체제를 포함할 수 있다. 저장 매체는 로컬 디바이스 (100) 와 연결된다.
서버 (30) 는 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 저장하고, 저장된 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 로컬 디바이스 (100) 로 전송하는 기능을 한다. 서버 (30) 는 인터넷 통신망을 통해 로컬 디바이스 (100) 와 연결된다. 서버 (30) 는 하나 이상의 버전의 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 저장할 수 있다. 서버 (30) 는, 예를 들어, 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일에 대한 메타 정보를 포함하는 메타 서버 및 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 저장하는 패키지 서버를 포함할 수도 있다.
로컬 디바이스 (100) 는 저장 매체 (10), 서버 (30) 및 복수의 노드 디바이스 (300) 와 연결된다. 로컬 디바이스 (100) 는 저장 매체 (10) 에 저장된 운영체제를 이용하여 라이브 부팅을 할 수 있다. 로컬 디바이스 (100) 는 서버 (30) 로부터 인터넷 통신망을 통해 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신하여 저장할 수 있다. 서버 (30) 가 메타 서버 및 패키지 서버를 포함하는 경우, 로컬 디바이스 (100) 는 서버 (30) 로부터 원하는 버전의 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신할 수도 있다.
스위치 (200) 는 서버 (30), 로컬 디바이스 (100) 및 복수의 노드 디바이스 (300) 와 연결된다. 스위치 (200) 는 네트워크를 통해 로컬 디바이스 (100) 및 복수의 노드 디바이스 (300) 와 연결되고, 인터넷 통신망을 통해 서버 (30) 와 연결된다.
로컬 디바이스 (100) 가 인터넷 통신망을 통해 하나 이상의 버전의 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일이 저장된 서버 (30) 와 연결됨으로써, 로컬 디바이스 (100) 가 서버 (30) 로부터 원하는 버전의 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신하여 저장할 수 있다는 본 발명의 유리한 효과가 획득된다.
도 4는 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다. 설명의 편의를 위해 도 1 내지 도 3을 참조하여 설명한다.
본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법은 로컬 디바이스 (100) 가 부팅 수단 (40) 에 저장된 운영 체제를 이용하여 부팅함으로써 개시된다 (S410).
로컬 디바이스 (100) 는 부팅 수단 (40) 에 저장된 운영 체제에 대한 정보를 읽어서 부팅할 수 있다. 부팅 수단 (40) 은, 예를 들어, 저장 매체 (10) 또는 컴퓨팅 디바이스 (20) 일 수도 있다. 부팅 수단 (40) 이 저장 매체 (10) 인 경우, 로컬 디바이스 (100) 는 저장 매체 (10) 에 저장된 운영체제를 이용하여 라이브 부팅을 할 수 있다. 부팅 수단 (40) 이 컴퓨팅 디바이스 (20) 인 경우, 로컬 디바이스 (100) 는 컴퓨팅 디바이스 (20) 에 저장된 운영체제를 이용하여 네트워크 부팅을 할 수 있다.
다음으로, 로컬 디바이스 (100) 는 로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 설정 파일을 저장한다 (S420).
로컬 디바이스 (100) 는 로컬 디바이스 (100) 에 설치할 소프트웨어의 설치 패키지인 로컬 디바이스 패키지, 복수의 노드 디바이스 (300) 에 설치할 소프트웨어의 설치 패키지인 소프트웨어 패키지 및 복수의 노드 디바이스 (300) 각각에 설치할 소프트웨어 패키지에 대한 정보를 포함하는 설정 파일을 외부 장치로부터 수신하여 저장한다. 로컬 디바이스 (100) 는, 예를 들어, 저장 매체 (10), 컴퓨팅 디바이스 (20) 또는 서버 (30) 로부터 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신하여 저장할 수도 있다. 로컬 디바이스 (100) 는 부팅 후 저장 매체 (10), 컴퓨팅 디바이스 (20) 또는 서버 (30) 에 저장된 로컬 디바이스 패키지의 자동 설치 프로그램을 구동함으로써, 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 수신할 수도 있다. 로컬 디바이스 (100) 는 로컬 디바이스 (100) 에 포함된 저장부에 로컬 디바이스 패키지, 소프트웨어 패키지 및 설정 파일을 저장할 수 있다.
다음으로, 로컬 디바이스 (100) 는 로컬 디바이스 패키지를 설치한다 (S430).
로컬 디바이스 (100) 는 저장된 로컬 디바이스 패키지에 포함된 운영체제 및 응용 소프트웨어를 설치한다. 예를 들어, 로컬 디바이스 (100) 가 저장 매체 (10), 컴퓨팅 디바이스 (20) 또는 서버 (30) 에 저장된 로컬 디바이스 패키지의 자동 설치 프로그램을 구동하면, 로컬 디바이스 패키지는 로컬 디바이스 (100) 에 저장되고, 저장된 로컬 디바이스 패키지에 포함된 운영체제 및 응용 소프트웨어는 로컬 디바이스 (100) 에 자동적으로 설치될 수도 있다. 로컬 디바이스 패키지에 포함된 운영체제는, 예를 들어, 리눅스 (Linux), 윈도우즈 (Windows) 및 유닉스 (UNIX) 등과 같은 다양한 운영체제일 수 있다. 로컬 디바이스 패키지에 포함된 응용 프로그램은, 예를 들어, 복수의 노드 디바이스 (300) 에 소프트웨어 패키지를 설치하기 위한 자동 설치 프로그램 및 복수의 노드 디바이스 (300) 에 소프트웨어 패키지가 정상적으로 설치되었는지 여부를 테스트하기 위한 테스트 프로그램을 포함할 수도 있다.
다음으로, 로컬 디바이스 (100) 는 로컬 디바이스 (100) 와 복수의 노드 디바이스 (300) 가 네트워크를 통해 서로 접속되도록 설정한다 (S440).
로컬 디바이스 (100) 와 복수의 노드 디바이스 (300) 는 스위치 (200) 를 통해 서로 접속될 수 있다. 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 로부터 IP 할당을 요청받은 후, 복수의 노드 디바이스 (300) 에 IP를 할당하여 로컬 디바이스 (100) 와 복수의 노드 디바이스 (300) 가 접속되도록 설정할 수도 있다. 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 에 IP를 할당하는 동시에 복수의 노드 디바이스 (300) 가 로컬 디바이스 (100) 에 설치된 소프트웨어 패키지의 자동 설치 프로그램에 접속할 수 있도록 자동 설치 프로그램의 주소 및 경로 정보를 전송할 수도 있다. 로컬 디바이스 (100) 는, 예를 들어, DHCP (dynamic host configuration protocol) 서버의 기능을 할 수도 있다.
다음으로, 로컬 디바이스 (100) 는 설정 파일에 기초하여 적어도 하나의 소프트웨어 패키지를 복수의 노드 디바이스 (300) 각각에 할당한다 (S450).
로컬 디바이스 (100) 는 로컬 디바이스 (100) 에 설치된 소프트웨어 패키지의 자동 설치 프로그램을 구동하여 소프트웨어 패키지를 복수의 노드 디바이스 (300) 에 할당할 수 있다. 로컬 디바이스 (100) 는 저장된 설정 파일로부터 복수의 노드 디바이스 (300) 각각에 설치할 운영체제 및 응용 소프트웨어의 정보를 획득한 후, 획득된 정보에 기초하여 소프트웨어 패키지를 복수의 노드 디바이스 (300) 각각에 할당할 수 있다. 설정 파일은, 예를 들어, 하나의 노드 디바이스에 웹 서버를 위한 소프트웨어 패키지를 설치하고 나머지 노드 디바이스에 데이터베이스 서버를 위한 소프트웨어 패키지를 설치하도록 하는 정보를 포함할 수도 있다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각에 서로 상이한 소프트웨어 패키지를 할당할 수도 있다. 예를 들어, 로컬 디바이스 (100) 는 일부의 노드 디바이스에 호스트 서버를 구축하기 위한 소프트웨어 패키지를 할당하고, 다른 일부의 노드 디바이스에 매니지먼트 서버를 구축하기 위한 소프트웨어 패키지를 할당하고, 또 다른 일부의 노드 디바이스에 데이터베이스 서버를 구축하기 위한 소프트웨어 패키지를 할당할 수 있다.
또한, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각에 포함된 하드웨어의 성능을 반영하여 소프트웨어 패키지를 할당할 수도 있다. 예를 들어, 로컬 디바이스 (100) 는 고성능의 프로세서를 포함하는 제1 노드 디바이스 (310) 에 호스트 서버를 구축하기 위한 소프트웨어 패키지를 할당하고, 대용량의 메인 메모리를 포함하는 제2 노드 디바이스 (320) 에 매니지먼트 서버를 구축하기 위한 소프트웨어 패키지를 할당하고, 대용량의 스토리지를 포함하는 제3 노드 디바이스 (320) 에 데이터베이스 서버를 구축하기 위한 소프트웨어 패키지를 할당할 수도 있다.
상술한 바와 같이, 복수의 노드 디바이스 (300) 각각에 서로 상이한 소프트웨어 패키지를 할당함으로써, 복수의 노드 디바이스 (300) 가 분산 시스템 내에서 노드 디바이스의 성능에 적합한 기능을 수행하게 할 수 있다는 본 발명의 유리한 효과가 획득된다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 는 설정 파일에 기초하여 복수의 노드 디바이스 (300) 각각에 소프트웨어 패키지를 할당하기 위한 할당 규칙을 생성하고, 생성된 할당 규칙에 기초하여 소프트웨어 패키지를 복수의 노드 디바이스 (300) 각각에 할당할 수도 있다. 할당 규칙은 복수의 노드 디바이스 (300) 각각에 설치될 소프트웨어 패키지를 특정할 수 있는 정보를 포함할 수 있다. 예를 들어, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각에 할당할 소프트웨어 패키지에 대한 정보가 기록된 설정 파일에 기초하여, 할당 규칙으로서 복수의 노드 디바이스 (300) 각각에 할당할 소프트웨어 패키지를 특정할 수 있는 환경 설정 정보를 생성하고, 생성된 환경 설정 정보를 네트워크를 통해 복수의 노드 디바이스 (300) 각각으로 전송함으로써 소프트웨어 패키지를 복수의 노드 디바이스 (300) 각각에 할당할 수도 있다. 상술한 예시는 본 발명을 설명하기 위한 것이지 본 발명의 범위를 제한하기 위한 것이 아니다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 는 사용자로부터 수신된 복수의 노드 디바이스 (300) 각각에 할당할 소프트웨어 패키지에 대한 정보에 기초하여 설정 파일을 변경할 수도 있다. 즉, 로컬 디바이스 (100) 는 사용자가 원하는 노드 디바이스에 사용자가 원하는 소프트웨어 패키지를 할당할 수 있도록 설정 파일을 변경할 수 있다. 예를 들어, 로컬 디바이스 (100) 는 사용자로부터 입력부를 통해 제1 노드 디바이스 (310) 에 제1 소프트웨어 패키지, 제2 노드 디바이스 (320) 에 제2 소프트웨어 패키지 그리고 제3 노드 디바이스 (330) 에 제3 소프트웨어 패키지를 할당하는 명령을 수신하고, 수신된 명령에 따라 제1 노드 디바이스 (310) 에 제1 소프트웨어 패키지, 제2 노드 디바이스 (320) 에 제2 소프트웨어 패키지 그리고 제3 노드 디바이스 (330) 에 제3 소프트웨어 패키지를 할당하도록 설정 파일을 변경할 수도 있다. 로컬 디바이스 (100) 가 인터넷 통신망을 통해 서버 (30) 에 연결된 경우, 로컬 디바이스 (100) 는 서버 (30) 로부터 수신된 소프트웨어 패키지의 리스트에서 소프트웨어 패키지를 선택하여 설정 파일을 변경할 수도 있다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 는 미리 저장된 규칙에 기초하여 할당 규칙을 결정할 수도 있다. 예를 들어, 로컬 디바이스 (100) 는 설정 파일에 저장된 규칙의 리스트 중 하나를 할당 규칙으로 결정할 수도 있다. 다른 예를 들면, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각의 하드웨어 정보에 기초하여 규칙의 리스트를 생성하여 제공하고, 규칙의 리스트 중 하나를 할당 규칙으로 결정할 수도 있다. 또 다른 예를 들면, 로컬 디바이스 (100) 는 미리 저장된 규칙을 사용자의 명령에 따라 변경한 후, 변경된 규칙을 할당 규칙으로 결정할 수도 있다.
다음으로, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각으로 네트워크를 통해 복수의 노드 디바이스 (300) 각각에 할당된 소프트웨어 패키지를 전송한다 (S460). 로컬 디바이스 (100) 가 소프트웨어 패키지를 전송한 경우, 복수의 노드 디바이스 (300) 는 소프트웨어 패키지를 자동으로 설치할 수 있다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 가 복수의 노드 디바이스 (300) 각각으로 환경 설정 정보를 전송한 경우, 노드 디바이스 (300) 는 환경 설정 정보에 의해 특정되는 소프트웨어 패키지의 전송을 로컬 디바이스 (100) 에 요청하고, 로컬 디바이스 (100) 는 전송 요청에 따라 복수의 노드 디바이스 (300) 각각으로 요청된 소프트웨어 패키지를 전송할 수도 있다. 복수의 노드 디바이스 (300) 는 전송 요청에 따라 수신된 소프트웨어 패키지를 자동으로 설치할 수도 있다.
도 5는 본 발명의 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다. 설명의 편의를 위해 도 1 내지 도 3을 참조하여 설명한다.
본 발명의 다른 실시예에 따르면, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트할 수도 있다.
먼저, 로컬 디바이스 (100) 는 설정 파일을 분석하여 복수의 노드 디바이스 (300) 각각에 설치된 소프트웨어 정보를 획득한다 (S510).
로컬 디바이스 (100) 는 설정 파일에 기록된 복수의 노드 디바이스 (300) 각각에 할당할 소프트웨어 패키지에 대한 정보를 통해 복수의 디바이스 (300) 각각에 설치된 소프트웨어 정보를 획득할 수 있다. 소프트웨어 정보는 복수의 디바이스 (300) 각각에 설치된 운영체제 정보 및 응용 소프트웨어 정보를 포함할 수 있다.
다음으로, 로컬 디바이스 (100) 는 소프트웨어 정보에 기초하여 선택된 테스트 프로그램을 복수의 노드 디바이스 (300) 로 전송한다 (S520).
로컬 디바이스 (100) 는 설치된 운영체제 정보 및 응용 소프트웨어 정보에 기초하여 테스트 프로그램을 선택하고, 선택된 테스트 프로그램을 복수의 노드 디바이스 (300) 로 전송할 수 있다. 로컬 디바이스 (100) 는 설치된 운영체제에서 동작 가능하고 설치된 응용 소프트웨어를 테스트할 수 있는 테스트 프로그램을 선택할 수 있다.
다음으로, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 수신한다 (S530).
복수의 노드 디바이스 (300) 각각은 수신한 테스트 프로그램을 실행하여 설치된 운영체제 및 응용 소프트웨어에 동적 점검 명령을 함으로써, 운영체제 및 응용 소프트웨어의 정상 동작 여부에 대한 정보를 포함하는 테스트 결과 정보를 생성할 수 있다. 로컬 디바이스 (100) 는 생성된 테스트 결과 정보를 노드 디바이스 (300) 로부터 수신한다.
다음으로, 로컬 디바이스 (100) 는 테스트 결과 정보를 통해 복수의 노드 디바이스 (300) 중 재설치 대상을 결정한다 (S540).
로컬 디바이스 (100) 는 수신된 테스트 결과 정보를 분석하여 운영체제 또는 응용 소프트웨어가 정상적으로 동작하지 않는 노드 디바이스를 판별함으로써 재설치 대상 노드 디바이스를 결정한다.
다음으로, 로컬 디바이스 (100) 는 재설치 대상인 노드 디바이스로 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송한다 (S550). 로컬 디바이스 (100) 는 설정 파일에 기초하여 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송할 수 있다.
상술한 바와 같이, 테스트 프로그램을 통해 운영체제 또는 응용 소프트웨어가 정상적으로 동작하지 않는 노드 디바이스를 판별하여 재설치 대상인 노드 디바이스로 할당된 소프트웨어 패키지를 재전송함으로써, 복수의 노드 디바이스 (300) 에 소프트웨어적인 문제가 발생한 경우 자동적으로 해결할 수 있다는 본 발명의 유리한 효과가 획득된다.
도 6은 본 발명의 또 다른 실시예에 따른 분산 플랫폼의 자동 구축 방법을 설명하기 위한 순서도이다. 설명의 편의를 위해 도 1 내지 도 3을 참조하여 설명한다. 도 6을 참조하여 설명된 사항에 대해서는 중복 설명을 생략한다.
먼저, 로컬 디바이스 (100) 는 할당 규칙에 기초하여 선택된 테스트 프로그램을 노드 디바이스로 전송한다 (S610). 예를 들어, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각에 설치된 소프트웨어를 특정할 수 있는 환경 설정 정보에 기초하여 테스트 프로그램을 선택하고, 선택된 테스트 프로그램을 노드 디바이스로 전송할 수 있다. 환경 설정 정보는 노드 디바이스에 설치된 운영체제 및 응용 소프트웨어를 특정할 수 있으므로, 로컬 디바이스 (100) 는 설치된 운영체제에서 동작 가능하고 설치된 응용 소프트웨어를 테스트할 수 있는 테스트 프로그램을 선택할 수 있다. 다른 예를 들면, 로컬 디바이스 (100) 는 이하 도 7을 참조하여 설명되는 디렉터리에 저장된 테스트 프로그램을 각각의 디렉터리에 대응하는 노드 디바이스로 전송할 수도 있다.
다음으로, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 로부터 테스트 프로그램에 의해 생성된 테스트 결과 정보를 수신하고 (S620), 테스트 결과 정보를 통해 복수의 노드 디바이스 (300) 중 재설치 대상을 결정하고 (S630), 재설치 대상인 노드 디바이스로 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송한다 (S640).
도 7은 본 발명의 일 실시예에 따른 분산 플랫폼의 자동 구축 방법을 구현하기 위한 소프트웨어 패키지의 이동 경로를 설명하기 위한 개념도이다.
본 발명의 몇몇 실시예에 따르면, 로컬 디바이스 (100) 는 복수의 노드 디바이스 (300) 각각에 할당할 소프트웨어 패키지에 대한 정보가 기록된 설정 파일에 기초하여 복수의 노드 디바이스 (300) 각각에 대응하는 디렉터리를 생성하고, 생성된 디렉터리에 소프트웨어 패키지의 정보를 생성하여 저장함으로써 복수의 노드 디바이스 (300) 각각에 소프트웨어 패키지를 할당할 수도 있다.
도 7을 참조하면, 로컬 디바이스 (100) 는 운영체제 패키지 (711, 712 및 713) 및 응용 소프트웨어 패키지 (721, 722, 723 및 724) 를 포함한다. 로컬 디바이스 (100) 는 설정 파일에 기초하여 제1 노드 디바이스 (310) 에 대응하는 제1 디렉터리 (810), 제2 노드 디바이스 (320) 에 대응하는 제2 디렉터리 (820), 제3 노드 디바이스 (330) 에 대응하는 제3 디렉터리 (830) 를 생성한다.
로컬 디바이스 (100) 는 제1 디렉터리 (810) 에 제1 노드 디바이스 (310) 에 할당할 제1 운영체제 패키지 정보 및 제2 응용 소프트웨어 패키지 정보를 생성하여 저장하고, 제2 디렉터리 (820) 에 제2 노드 디바이스 (320) 에 할당할 제1 운영체제 패키지 정보 및 제1 응용 소프트웨어 패키지 정보를 생성하여 저장하고, 제3 디렉터리 (830) 에 제1 노드 디바이스 (330) 에 할당할 제1 운영체제 패키지 정보 및 제4 응용 소프트웨어 패키지 정보를 생성하여 저장한다. 디렉터리 (810, 820 및 830) 는 노드 디바이스 (310, 320 및 330) 각각에서 운영체제 및 응용 소프트웨어의 정상 설치 여부를 테스트하기 위한 테스트 프로그램을 포함할 수도 있다.
로컬 디바이스 (100) 는 제1 노드 디바이스 (310) 에 제1 디렉터리 (810) 에 저장된 정보를 전송하고, 제2 노드 디바이스 (320) 에 제2 디렉터리 (820) 에 저장된 정보를 전송하고, 제3 노드 디바이스 (330) 에 제3 디렉터리 (830) 에 저장된 정보를 전송한다.
복수의 노드 디바이스 (300) 각각이 네트워크 부팅된 후, 로컬 디바이스 (100) 로부터 수신한 정보에 기초하여, 제1 노드 디바이스 (310) 는 제1 운영체제 패키지 (711) 및 제2 응용 소프트웨어 패키지 (722) 의 전송을 요청하고, 제2 노드 디바이스 (320) 는 제1 운영체제 패키지 (711) 및 제1 응용 소프트웨어 패키지 (721) 의 전송을 요청하고, 제3 노드 디바이스 (330) 는 제1 운영체제 패키지 (711) 및 제4 응용 소프트웨어 패키지 (724) 의 전송을 요청할 수 있다.
로컬 디바이스 (100) 는, 복수의 노드 디바이스 (300) 로부터 전송 요청을 수신한 경우, 요청된 운영체제 패키지 (711, 712, 713 또는 714) 및 응용 소프트웨어 패키지 (721, 722, 723 또는 724) 를 복수의 노드 디바이스 (300) 각각으로 전송할 수 있다. 상술한 실시예는 본 발명을 설명하기 위한 예시에 불과하므로, 본 발명의 범위는 상술한 실시예에 의해 제한되지 않는다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 저장 매체
20 : 컴퓨팅 디바이스
30 : 서버
40 : 부팅 수단
100 : 로컬 디바이스
200 : 스위치
300 : 복수의 노드 디바이스
310 : 제1 노드 디바이스
320 : 제2 노드 디바이스
330 : 제3 노드 디바이스
711 : 제1 운영체제 패키지
712 : 제2 운영체제 패키지
713 : 제3 운영체제 패키지
721 : 제1 응용 소프트웨어 패키지
722 : 제2 응용 소프트웨어 패키지
723 : 제3 응용 소프트웨어 패키지
724 : 제4 응용 소프트웨어 패키지
810 : 제1 디렉터리
820 : 제2 디렉터리
830 : 제3 디렉터리

Claims (25)

  1. 부팅 수단에 저장된 운영 체제를 이용하여 로컬 디바이스를 부팅하는 단계;
    로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 복수의 노드 디바이스 각각에 할당할 소프트웨어 패키지에 대한 정보가 기록된 설정 파일을 상기 로컬 디바이스에 저장하는 단계;
    상기 로컬 디바이스 패키지를 상기 로컬 디바이스에 설치하는 단계;
    상기 로컬 디바이스와 상기 복수의 노드 디바이스가 네트워크를 통해 서로 접속되도록 설정하는 단계;
    상기 설정 파일에 기초하여 상기 적어도 하나의 소프트웨어 패키지를 상기 복수의 노드 디바이스 각각에 할당하는 단계; 및
    상기 복수의 노드 디바이스 각각으로 상기 네트워크를 통해 상기 복수의 노드 디바이스 각각에 할당된 소프트웨어 패키지를 전송하는 단계를 포함하고,
    상기 할당하는 단계는,
    상기 설정 파일에 기초하여 상기 복수의 노드 디바이스에 할당할 소프트웨어 패키지를 특정할 수 있는 환경 설정 정보를 생성하는 단계;
    상기 생성된 환경 설정 정보를 상기 네트워크를 통해 상기 복수의 노드 디바이스 각각으로 전송하는 단계;
    상기 복수의 노드 디바이스로부터 상기 환경 설정 정보에 의해 특정되는 소프트웨어 패키지의 전송 요청을 수신하는 단계; 및
    상기 전송 요청에 따라 상기 복수의 노드 디바이스 각각으로 요청된 소프트웨어 패키지를 전송하는 단계를 포함하고,
    상기 자동 구축 방법은,
    상기 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 단계를 더 포함하고,
    상기 테스트하는 단계는,
    상기 환경 설정 정보에 기초하여 테스트 프로그램을 선택하는 단계;
    상기 선택된 테스트 프로그램을 상기 복수의 노드 디바이스 각각에 전송하는 단계;
    상기 복수의 노드 디바이스로부터 상기 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하는 단계; 및
    상기 테스트 결과 정보를 통해 상기 복수의 노드 디바이스 중 재설치 대상을 결정하는 단계를 포함하는 것을 특징으로 하는, 분산 플랫폼의 자동 구축 방법.
  2. 제 1 항에 있어서,
    상기 부팅하는 단계는,
    상기 로컬 디바이스와 연결된 저장 매체에 저장된 운영 체제를 이용하여 상기 로컬 디바이스를 부팅하는 단계이고,
    상기 저장하는 단계는,
    상기 저장 매체로부터 상기 로컬 디바이스 패키지, 상기 적어도 하나의 소프트웨어 패키지 및 상기 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 하는, 분산 플랫폼의 자동 구축 방법.
  3. 제 1 항에 있어서,
    상기 부팅하는 단계는,
    상기 로컬 디바이스와 상기 네트워크를 통해 연결된 컴퓨팅 디바이스에 저장된 운영 체제를 이용하여 상기 로컬 디바이스를 부팅하는 단계이고,
    상기 저장하는 단계는,
    상기 컴퓨팅 디바이스로부터 상기 로컬 디바이스 패키지, 상기 적어도 하나의 소프트웨어 패키지 및 상기 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 하는, 분산 플랫폼의 자동 구축 방법.
  4. 제 1 항에 있어서,
    상기 저장하는 단계는,
    상기 로컬 디바이스와 인터넷 통신망을 통해 연결된 서버로부터 상기 로컬 디바이스 패키지, 상기 적어도 하나의 소프트웨어 패키지 및 상기 설정 파일을 수신하여 저장하는 단계인 것을 특징으로 하는, 분산 플랫폼의 자동 구축 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제 1 항에 있어서,
    상기 재설치 대상인 노드 디바이스로 상기 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송하는 단계를 더 포함하는 것을 특징으로 하는, 분산 플랫폼의 자동 구축 방법.
  14. 로컬 디바이스를 부팅하고,
    로컬 디바이스 패키지, 적어도 하나의 소프트웨어 패키지 및 복수의 노드 디바이스 각각에 할당할 소프트웨어 패키지에 대한 정보가 기록된 설정 파일을 상기 로컬 디바이스에 저장하고,
    상기 로컬 디바이스 패키지를 상기 로컬 디바이스에 설치하고,
    상기 로컬 디바이스와 상기 복수의 노드 디바이스가 네트워크를 통해 서로 접속되도록 설정하고,
    상기 설정 파일에 기초하여 상기 적어도 하나의 소프트웨어 패키지를 상기 복수의 노드 디바이스 각각에 할당하고,
    상기 복수의 노드 디바이스 각각으로 상기 네트워크를 통해 상기 복수의 노드 디바이스 각각에 할당된 소프트웨어 패키지를 전송하고,
    상기 할당하는 명령어들의 세트는,
    상기 설정 파일에 기초하여 상기 복수의 노드 디바이스에 할당할 소프트웨어 패키지를 특정할 수 있는 환경 설정 정보를 생성하는 명령어들의 세트이고,
    상기 생성된 환경 설정 정보를 상기 네트워크를 통해 상기 복수의 노드 디바이스 각각으로 전송하는 명령어들의 세트이고,
    상기 복수의 노드 디바이스로부터 상기 환경 설정 정보에 의해 특정되는 소프트웨어 패키지의 전송 요청을 수신하는 명령어들의 세트이고,
    상기 전송 요청에 따라 상기 복수의 노드 디바이스 각각으로 요청된 소프트웨어 패키지를 전송하는 명령어들의 세트이고,
    상기 컴퓨터 판독 가능 매체는,
    상기 복수의 노드 디바이스로 전송된 소프트웨어 패키지가 각각 정상적으로 설치되었는지 여부를 테스트하는 명령어들의 세트를 더 포함하고,
    상기 테스트하는 명령어들의 세트는,
    상기 환경 설정 정보에 기초하여 테스트 프로그램을 선택하고,
    상기 선택된 테스트 프로그램을 상기 복수의 노드 디바이스 각각에 전송하고,
    상기 복수의 노드 디바이스로부터 상기 테스트 프로그램에 의해 생성된 테스트 결과 정보를 각각 수신하고,
    상기 테스트 결과 정보를 통해 상기 복수의 노드 디바이스 중 재설치 대상을 결정하는 명령어들의 세트를 포함하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능 매체.
  15. 제 14 항에 있어서,
    상기 저장하는 명령어들의 세트는,
    상기 로컬 디바이스와 상기 네트워크를 통해 연결된 컴퓨팅 디바이스로부터 상기 로컬 디바이스 패키지, 상기 적어도 하나의 소프트웨어 패키지 및 상기 설정 파일을 수신하여 저장하는 명령어들의 세트인 것을 특징으로 하는, 컴퓨터 판독 가능 매체.
  16. 제 14 항에 있어서,
    상기 저장하는 명령어들의 세트는,
    상기 로컬 디바이스와 인터넷 통신망을 통해 연결된 서버로부터 상기 로컬 디바이스 패키지, 상기 적어도 하나의 소프트웨어 패키지 및 상기 설정 파일을 수신하여 저장하는 명령어들의 세트인 것을 특징으로 하는, 컴퓨터 판독 가능 매체.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 제 14 항에 있어서,
    상기 재설치 대상인 노드 디바이스로 상기 재설치 대상인 노드 디바이스에 할당된 소프트웨어 패키지를 전송하는 명령어들의 세트를 더 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능 매체.
KR1020140142006A 2014-10-20 2014-10-20 분산 플랫폼의 자동 구축 방법 KR102227185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140142006A KR102227185B1 (ko) 2014-10-20 2014-10-20 분산 플랫폼의 자동 구축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140142006A KR102227185B1 (ko) 2014-10-20 2014-10-20 분산 플랫폼의 자동 구축 방법

Publications (2)

Publication Number Publication Date
KR20160046218A KR20160046218A (ko) 2016-04-28
KR102227185B1 true KR102227185B1 (ko) 2021-03-11

Family

ID=55915163

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140142006A KR102227185B1 (ko) 2014-10-20 2014-10-20 분산 플랫폼의 자동 구축 방법

Country Status (1)

Country Link
KR (1) KR102227185B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262366B2 (en) * 2007-09-21 2016-02-16 Microsoft Technology Licensing, Llc Software deployment in large-scale networked systems
KR20090083807A (ko) * 2008-01-30 2009-08-04 (주)그리드라이즈 데이터베이스용 프로그램 설치 시스템 및 설치 방법
KR101468983B1 (ko) * 2012-07-31 2014-12-03 한국과학기술정보연구원 동적 계산 환경을 설정하기 위한 장치, 동적 계산 환경을 설정하기 위한 방법, 및 동적 계산 환경을 설정하기 위한 프로그램을 저장하는 저장매체
KR20140107042A (ko) * 2013-02-27 2014-09-04 삼성전자주식회사 관리 장치 및 서버 노드 관리 방법

Also Published As

Publication number Publication date
KR20160046218A (ko) 2016-04-28

Similar Documents

Publication Publication Date Title
US10333981B2 (en) Method and apparatus for security checking of image for container
US10333782B1 (en) System and method for distributed management of cloud resources in a hosting environment
US9386079B2 (en) Method and system of virtual desktop infrastructure deployment studio
US20160335066A1 (en) System and method for automatically deploying cloud
US9612814B2 (en) Network topology-aware recovery automation
TWI478063B (zh) 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體
US20170010874A1 (en) Provisioning storage devices in a data center
US10917291B2 (en) RAID configuration
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US20130339947A1 (en) Method and system for hypervisor-based service management
US9886284B2 (en) Identification of bootable devices
US20170171021A1 (en) Automatic deployment of a new server in a peer-to-peer network of servers
US11556369B2 (en) Virtual machine deployment method and OMM virtual machine
JP5754440B2 (ja) 構成情報管理サーバ、構成情報管理方法、及び構成情報管理用プログラム
US11079944B2 (en) Dynamic provisioning of container storage
US20120227037A1 (en) Installation system and method for instaling virtual machines
US20160019106A1 (en) Seamless Method for Booting from a Degraded Software Raid Volume on a UEFI System
CN111104201A (zh) 系统迁移方法和装置、电子设备、存储介质
US11023153B2 (en) Installation of operating system
US10346188B1 (en) Booting virtual machine instances in a distributed data processing architecture
JP2015148861A (ja) 情報処理システム及びプログラム管理方法
US11295018B1 (en) File system modification
KR102227185B1 (ko) 분산 플랫폼의 자동 구축 방법
US9292318B2 (en) Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant