KR101173712B1 - 동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터클러스터 가상화용 시스템 및 방법 - Google Patents

동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터클러스터 가상화용 시스템 및 방법 Download PDF

Info

Publication number
KR101173712B1
KR101173712B1 KR1020067023881A KR20067023881A KR101173712B1 KR 101173712 B1 KR101173712 B1 KR 101173712B1 KR 1020067023881 A KR1020067023881 A KR 1020067023881A KR 20067023881 A KR20067023881 A KR 20067023881A KR 101173712 B1 KR101173712 B1 KR 101173712B1
Authority
KR
South Korea
Prior art keywords
nodes
node
distributed application
operable
boot
Prior art date
Application number
KR1020067023881A
Other languages
English (en)
Other versions
KR20060134211A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34940758&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101173712(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 레이던 컴퍼니 filed Critical 레이던 컴퍼니
Publication of KR20060134211A publication Critical patent/KR20060134211A/ko
Application granted granted Critical
Publication of KR101173712B1 publication Critical patent/KR101173712B1/ko

Links

Images

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/99931Database or file accessing

Abstract

컴퓨터 클러스터 가상화를 위한 방법은 분산 애플리케이션을 선택하는 단계를 포함한다. 분산 애플리케이션과 연관된 정책이 검색된다. 복수의 노드 중 하나가 동적으로 선택된다. 그 후, 선택된 노드의 부트 이미지가 검색된 정책에 적어도 부분적으로 기초하여 재설정되며, 부트 이미지는 분산 애플리케이션과 호환가능하다. 그 후, 가상 디스크 이미지가 노드와 연관된다. 그 후, 분산 애플리케이션의 적어도 일부분이 연관된 가상 디스크 이미지를 사용하여 재설정된 노드 상에서 실행된다.
가상화, 클러스터, 부트, 가상 디스크, 분산 애플리케이션

Description

동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터 클러스터 가상화용 시스템 및 방법{SYSTEM AND METHOD FOR COMPUTER CLUSTER VIRTUALIZATION USING DYNAMIC BOOT IMAGES AND VIRTUAL DISK}
본 발명은 데이터 프로세싱 분야에 관한 것으로서, 보다 구체적으로는 동적 부트 이미지들 및 가상 디스크 액세스를 사용하는 컴퓨터 클러스터 가상화용 시스템 및 방법에 관한 것이다.
통상적으로, 기업 애플리케이션들은 전용 컴퓨터 자원들 상에서 실행된다. 종종, 기업은 제조, 시험, 및 개발과 같은 상이한 경우의 애플리케이션에 대한 다양한 컴퓨팅 환경들을 포함할 것이다. 이러한 다수의 컴퓨팅 환경은 통상적으로 라이브(live) 또는 제조 경우와 동일한 크기 및 용량이다. 더욱이, 비제조 환경들은 연장된 기간 동안 자주 유휴상태에 있는다. 이로 인해, 이러한 다양한 환경들을 유지 및 관리하는데 있어서 일반적으로 많은 양의 컴퓨팅 자원들 및 노동력이 낭비된다.
현재, 기업들은 이러한 문제들을 다루기 위한 시도로서 프로비저닝(provisioning)을 사용할 수 있다. 일반적으로 프로비저닝은, 보관소로부터 자원으로 로컬 디스크를 복사함으로써 기업 애플리케이션에 대해 컴퓨터 자원들을 인 스턴스화하는 프로세스이다. 그 후, 자원은 일반적으로 10분정도 걸리는 프로세스를 통해 프로비저닝된 운영 체제 및 소프트웨어를 이용하여 부팅된다.
본 발명은 분산 애플리케이션을 선택하는 것을 포함하는 컴퓨터 클러스터 가상화용 시스템 및 방법을 제공한다. 분산 애플리케이션과 연관된 정책이 검색된다. 복수의 노드 중 하나가 아마도 검색된 정책에 기초하여 동적으로 선택된다. 그 후, 선택된 노드의 부트 이미지(boot image)가 검색된 정책에 적어도 부분적으로 기초하여 재설정되며, 부트 이미지는 분산 애플리케이션과 호환가능하다. 그 후, 가상 디스크 이미지가 노드와 연관된다. 그 후, 연관된 가상 디스크 이미지를 사용하여 재설정된 노드 상에서 분산 애플리케이션의 적어도 일부분이 실행된다.
본 발명은 몇몇 중요한 기술적 이점들을 가진다. 예를 들어, 본 발명의 하나의 가능한 이점은, 컴퓨팅 노드들이 분산 애플리케이션을 위한 가상 클러스터의 구성원이 되도록 온-더-플라이(on-the-fly)로 다시 프로비저닝될 수 있게 함으로써, 프로비저닝 시간을 15초 이하로 줄일 수 있다. 본 발명의 또 다른 가능한 이점은 IT(Information Technology) 하드웨어 및 유지 비용을 적어도 30% 정도 줄일 수 있다는 것이다. 더욱이, 애플리케이션이 피크 프로세싱 기간에 있지 않은 경우, 그 애플리케이션의 유휴 노드들이 다른 분산 애플리케이션들에 동적으로 재할당되거나 다시 프로비저닝될 수 있다. 또 다른 가능한 이점은, 중앙집중식 용량 계획, 성능 모니터링, 및 간단화된 관리를 제공한다는 것이다. 또한, 본 발명은 보다 나은 노드 장애 관리를 의도할 수 있다. 본 발명의 다양한 실시예들은 이러한 이점들을 가지지 않거나, 그 중 일부 또는 모두를 가질 수 있다. 본 발명의 다른 기술적 이점들은 본 기술분야의 당업자에게 명백할 것이다.
본 발명 및 그 이점들의 보다 완전한 이해를 위해, 첨부 도면들과 함께 취해진 다음의 상세한 설명을 참조한다.
도 1은 본 발명의 일 실시예에 따라 동적 부팅을 제공하는 예시적인 분산 시스템을 나타낸다.
도 2는 본 발명의 일 실시예 내에서 노드를 동적으로 재부팅하기 위한 예시적인 방법을 나타낸다.
도 1은 동적 부트 이미지들(131)을 사용하여 소프트웨어 애플리케이션들(114) 및 프로세스들을 실행하기 위한 분산 컴퓨팅 시스템(100)을 예시하는 블록도이다. 일반적으로, 시스템(100)은 기업 또는 다른 분산 애플리케이션들에 대한 스케일러블(scalable)한 분산 컴퓨팅 환경이다. 시스템(100)은 스케일러블하고, 무정지형(fault-tolerant) 컴퓨팅 환경을 제공하는데, 이 컴퓨팅 환경은 컴퓨팅 니즈에 기초하여 동적으로 성장할 수 있고 각 애플리케이션(114)에 그 자신의 스케일러블한 가상 클러스터를 제공하는 것을 통해 다수의 애플리케이션(114)에 컴퓨팅 자원들을 동시에 제공할 수 있다. 예를 들어, 시스템(100)은 네트워크(116)를 통해 하나 이상의 관리 워크스테이션들 또는 로컬 클라이언트들(120)에 접속되는 서버(102)를 포함할 수 있다. 그러나, 시스템(100)은 선택적으로 독립형 컴퓨팅 환 경 또는 임의의 다른 적절한 환경일 수 있다. 요약하면, 시스템(100)은 애플리케이션(114) 요구조건들, 파라미터들, 및 프로세싱 니즈가 변경함에 따라 자동적으로 노드들(108)이 온-더-플라이로 동적 할당될 수 있게 하는 임의의 컴퓨팅 환경이다. 본원에서 사용되는 "동적"이라는 용어는 일반적으로, 소정의 프로세싱이 하나 이상의 변수들에 기초하여 런-타임(run-time)에서 적어도 부분적으로 결정된다는 것을 의미한다. 본원에서 사용되는 "자동적"이라는 용어는 일반적으로, 시스템(100)의 적어도 일부분에 의해 적절한 프로세싱이 실질적으로 수행된다는 것을 의미한다. "자동적"이라는 것이 본원의 범위에 벗어나지 않고 임의의 적절한 사용자 또는 관리자의 시스템(100)과의 상호작용을 더 의도한다는 것을 이해하여야 한다.
서버(102)는 하나 이상의 노드(108)들에 걸쳐 다수의 애플리케이션(114)을 실행하도록 동작가능한 임의의 로컬 또는 분산형 컴퓨터를 포함한다. 일반적으로, 서버(102)는 랙 탑재형(rack-mounted) 서버, 블레이드(blade) 서버, 또는 다른 분산 서버와 같은 분산 컴퓨터를 포함한다. 노드들(108)은, 예를 들어 블레이드들, 범용 개인용 컴퓨터들(PC), 매킨토시들, 워크스테이션들, 유닉스 기반 컴퓨터들 또는 임의의 다른 적절한 장치들과 같은 임의의 컴퓨터 또는 프로세싱 장치를 포함한다. 일반적으로, 도 1은 본 발명과 함께 사용될 수 있는 컴퓨터들 또는 블레이드들 중 단지 하나의 예를 제공한다. 예를 들어, 도 1이 본 발명과 함께 사용될 수 있는 하나의 블레이드 서버(102)를 나타내더라도, 서버(102)는 서버 풀뿐만 아니라 서버들 이외의 컴퓨터들을 사용하여 구현될 수 있다. 즉, 본 발명은 종래의 운영 체제들 없이 컴퓨터들뿐만 아니라 범용 컴퓨터들 이외의 컴퓨터들을 의도한다. 본 문서에 사용되는 바와 같이, "컴퓨터"라는 용어는 개인용 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 또는 임의의 다른 적절한 프로세싱 장치를 포함하도록 의도된다. 서버(102) 또는 컴포넌트 노드들(108)은 리눅스, UNIX, Windows Server, 또는 임의의 다른 적절한 운영 체제를 포함하는 임의의 운영 체제를 실행하도록 구성될 수 있다. 일 실시예에 따르면, 서버(102)는 또한 원격 웹 서버와 통신가능하게 연결되거나 이를 포함할 수 있다.
예시된 서버(102)는 복수의 노드(108)와 통신가능하게 연결되고 동적 부트 이미지(105)를 실행하도록 동작가능한 관리 노드(104)를 포함한다. 그러나, 서버(102) 및 노드들(108)은 예시된 구성요소들 모두를 포함하지 않을 수 있다는 것을 이해하여야 한다. 관리 노드(104)는, 서버(102)를 관리하거나 또는 관리자를 지원하는데 실질적으로 전용인 적어도 하나의 블레이드 또는 컴퓨팅 장치를 포함한다. 예를 들어, 관리 노드(104)는 2개의 핫 스왑가능한(hot-swappable) 블레이드들을 포함할 수 있으며, 2개의 블레이드들 중 하나 또는 랙 탑재형 서버들은 (능동/수동 구성과 같은) 여분이다.
동적 부트 엔진(105)은, 노드들(108)을 동적으로 할당하고 관리하며 노드들(108) (또는 애플리케이션 환경들)의 가상 클러스터들을 사용하여 애플리케이션들(114)을 실행하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함할 수 있다. 예를 들어, 동적 부트 엔진(105)은, C, C++, 자바, 비주얼 베이직, 어셈블러, 임의의 버젼의 4GL 및 기타 또는 그들의 조합을 포함하는 임의의 적절한 컴퓨터 언어로 기록 또는 기술될 수 있다. 동적 부트 엔진(105)이 단일의 다중 태스크형 모듈로서 도 1에 예시되어 있으나, 이러한 엔진에 의해 수행되는 특징들 및 기능은, 예를 들어, 물리적 계층 모듈, 가상 계층 모듈, 작업 스케줄러, 및 프리젠테이션 엔진과 같은 다수의 모듈에 의해 수행될 수 있다. 더욱이, 동적 부트 엔진(105)은 본 발명의 범위에서 벗어나지 않고 또 다른 소프트웨어 모듈의 서브 모듈 또는 자식(child)일 수 있다. 따라서, 동적 부트 엔진(105)은 정책들(132)에 기초하여 노드들(108) 및 애플리케이션들(114)을 지능적으로 관리하도록 동작가능한 하나 이상의 소프트웨어 모듈들을 포함한다.
일반적으로, 동적 부트 엔진(105)은, 개별 노드들(108) 상에서 애플리케이션 환경들을 시작 및 정지함으로써 하나 이상의 애플리케이션들(114)을 관리한다. 예를 들어, 동적 부트 엔진(105)은, 원하는 애플리케이션 환경에 특정되거나 그와 호환가능한, 부트 이미지 파일(130)로부터의 상이한 부트 이미지(131)를 이용하여 특정 노드(108)를 재설정할 수 있다. 즉, 동적 부트 엔진(105)은 임의의 제어되는 노드(108) 상에서 임의의 적절한 애플리케이션 환경을 동적으로 부팅하는 것을 지원한다. 따라서, 동적 부트 엔진(105)은 임의의 제어되는 컴퓨터 상에서 공용 IP 인터페이스에 대한 IP 또는 MAC 어드레스들을 동적으로 설정하는 것을 지원할 수도 있다. 동적 부트 엔진(105)은 부착된 디스크 저장소로부터 부팅하거나 네트워크 부트 프로토콜을 사용하여 임의의 노드(108)를 네트워크로부터 직접 부팅할 수도 있다. 동적 부트 엔진(105)은, 임의의 제어되는 컴퓨터에 대해 운영 체제, 서비스들 및 애플리케이션들을 포함하는 가상 로컬 디스크 이미지로의 고속 네트워크 액세스를 이용할 수도 있다. 동적 부트 엔진(105)이 달력 날짜 및 시간에 기초하거나 임의의 다른 미리 결정된 파라미터들을 사용하여 애플리케이션 환경들을 시동하거나 셧다운시킬 수 있다는 것을 이해할 것이다.
동적 부트 엔진(105)은 다양한 장애 허용성 및 복구 기술들을 지원할 수도 있다. 예를 들어, 부트 엔진(105)은, 장애 노드(108)를 교체 노드(108)로 자동적으로 교체하고 동적으로 재부팅함으로써 단일 하드웨어 구성요소 장애들로부터 서버(102)를 자동적으로 복구할 수 있다. 더욱이, 새로운 노드(108)를 자동적으로 인식하고 임의의 필요한 구성, 재설정 또는 부팅을 행하는 동적 부트 엔진(105)의 능력 때문에, 새로운 노드(108)를 설치하는 것이 용이해질 수 있다.
노드들(108)은 애플리케이션(114)의 (태스크 또는 프로세스와 같은) 적어도 일부를 실행하도록 동작가능한 임의의 컴퓨터, 블레이드, 또는 서버를 포함한다. 예시된 노드(108)는 하이 레벨에서 메모리(109) 및 프로세서(110)를 포함한다. 메모리(109)는 임의의 메모리 또는 데이터베이스 모듈을 포함할 수 있고 자기 미디어, 광 미디어, RAM, ROM, 착탈식 미디어, 또는 임의의 다른 적절한 로컬 또는 원격 메모리 구성요소를 제한없이 포함하는 휘발성 또는 비휘발성 메모리의 형태를 취할 수 있다. 메모리(109)는 임의의 다양한 로컬 정보를 포함할 수 있다. 노드(108)는 또한 프로세서(110)를 포함한다. 프로세서(110)는 명령어들을 실행하고 데이터를 처리하여, 예를 들어 CPU 또는 FPGA(field programmable gate array)와 같은 서버(102)의 동작들을 수행한다. 도 1이 각 노드(108)에 단일 프로세서를 예시하더라도, 다수의 프로세서(110)가 특정 니즈에 따라 사용될 수 있으며, 프로세서(110)에 대한 참조는 적용가능할 경우 다수의 프로세서(110)를 포함한다는 것을 의미한다. 프로세서(110)는 예를 들어 EEPROM(Electronically Erasable Programmable Read-Only Memory)(111)와 같은 부트 이미지에 대한 임의의 지시자를 포함할 수 있다. 그러나, 노드(108)는, 본 발명의 범위에서 벗어나지 않고, 임의의 적절한 방식으로 구성된 임의의 개수의 구성요소를 포함할 수 있다는 것을 이해할 것이다. 노드(108)는 로컬 임시 파일 공간 및 가상 메모리 스왑 공간을 제공하기 위해 하나 이상의 로컬 하드 드라이브들을 포함할 수도 있다.
애플리케이션(114)은, 예를 들어, 데이터베이스 관리 시스템(DBMS), 회계 소프트웨어, 및 기타와 같은 임의의 기업 또는 분산 애플리케이션을 포함할 수 있다. 통상적으로, 애플리케이션(114)은 임의의 적절한 언어로 기록된 소프트웨어로 구성되고 임의의 데이터 프로세싱을 수행하도록 동작가능하다. 그러나, 비전통적인 애플리케이션들도 본 발명의 범위 내에 있다. 애플리케이션(114)은 애플리케이션 환경, 또는 애플리케이션 실행을 위한 환경을 논리적으로 정의하는 가상 클러스터에서 실행될 수 있다. 일 실시예에서, 애플리케이션 환경은, i) 애플리케이션 환경의 명칭 및 기술; ii) 노드들(108)의 최소수/최대수; iii) 운영 체제 소프트웨어 버젼 및 애플리케이션(114) 소프트웨어 버젼과 같은 소프트웨어 구성 정보; 및 iv) 부트 이미지, 호스트네임 및 IP 어드레스, 노드(108) 부팅 이후 적용되는 맞춤형 구성, 가상 로컬 디스크 이미지, 로컬 파일 시스템들, 탑재할 파일 시스템들, 및 네트워크 구성과 같은 각 노드(108)의 하드웨어 구성을 포함한다. 그러나, 동적 부트 엔진(105)이 애플리케이션 환경을 정의하고, 배치하고 프로세싱하는 것을 지원하는데 임의의 적절한 파라미터, 변수, 또는 특성이 사용될 수 있다는 것을 이해할 것이다. 예를 들어, 애플리케이션 환경은 애플리케이션(114) 시동, 셧다운, 및 건강 모니터링에 대한 정보를 포함할 수도 있다.
서버(102)는 클라이언트-서버 또는 다른 분산 환경에서 네트워크(116)를 통해 클라이언트(120)와 같은 다른 컴퓨터 시스템들과 통신하기 위한 인터페이스(115)를 포함할 수 있다. 소정의 실시예들에서, 서버(102)는 부트 이미지들(131), 가상 로컬 디스크 이미지들(134), 정책들(132) 또는 애플리케이션 데이터(140)를 저장 또는 프로세싱을 위해 네트워크(116)로부터 고속 인터페이스(115)를 경유하여 수신한다. 일반적으로, 인터페이스(115)는 적절한 조합의 소프트웨어 및/또는 하드웨어로 인코딩되며, 네트워크(116)와 통신하도록 동작할 수 있는 로직을 포함할 수 있다. 보다 구체적으로, 인터페이스(115)는 통신 네트워크(116)와 연관되는 하나 이상의 통신 프로토콜들을 지원하는 소프트웨어 또는 물리적 신호들을 전달하도록 동작가능한 하드웨어를 포함할 수 있다.
네트워크(116)는 컴퓨터 서버(102)와 클라이언트들(120)과 같은 임의의 다른 컴퓨터 간의 무선 또는 유선 통신을 용이하게 한다. 물론, 서버(102)와 클라이언트(120) 사이에 존재하는 것으로 예시되었지만, 네트워크(116)는 본 발명의 범위에서 벗어나지 않고 다양한 노드들(108) 사이에 존재할 수도 있다. 즉, 네트워크(116)는 다양한 컴퓨팅 구성요소들 간의 통신을 용이하게 하도록 동작가능한 임의의 네트워크, 네트워크들 또는 서브-네트워크를 포함한다. 네트워크(116)는 예를 들어 인터넷 프로토콜(IP) 패킷들, 프레임 중계(Frame Relay) 프레임들, ATM(Asynchronous Transfer Mode) 셀들, 음성, 비디오, 데이터 및 다른 적절한 정 보를 네트워크 어드레스들 사이에서 전달할 수 있다. 네트워크(116)는 예를 들어 IB(InfiniBand), GE(Gigabit Ethernet) 또는 FC(FibreChannel)과 같은 임의의 다른 적절한 통신 프로토콜에 따라 데이터 패킷들을 처리 및 라우팅할 수도 있다. 데이터 패킷들은 통상적으로 애플리케이션 데이터(140) 내의 데이터를 전송하는데 사용된다. 데이터 패킷은 소스 식별자 및 목적지 식별자를 갖는 헤더를 포함할 수 있다. 예를 들어, 소스 어드레스와 같은 소스 식별자는 정보의 송신자를 식별하고, 예를 들어, 목적지 어드레스와 같은 목적지 식별자는 정보의 수신자를 식별한다. 네트워크(116)는 하나 이상의 LAN(local area network)들, RAN(radio access networks)들, MAN(metropolitan area network)들, WAN(wide area network)들, 인터넷으로 알려진 전역 컴퓨터 네트워크의 모두 또는 그 일부분, 및/또는 하나 이상의 위치들에서의 임의의 다른 통신 시스템 또는 시스템들을 포함할 수 있다.
부트 표(130)는 다수의 부트 이미지(131)를 포함하는 임의의 디스크 팜(farm) 또는 네트워크 파일 시스템이다. 원격으로 예시되었으나, 부트 이미지들(131)은 동적 부트 엔진(105)에 의해 미리 로딩되어 초기화 및 설치를 간단하게 할 수 있다. 부트 이미지(131)는 부트 드라이브의 주요 운영 체제 파티션의 적어도 일부분에 대한 임의의 형태, 이미지, 지시자 또는 참조이다. 부트 이미지(131)는 통상적으로 이진 형태이다. 부트 이미지 유형들은 파일로부터의 커널 이미지들, 블록 장치 또는 플로피 디스크로부터의 커널 이미지들, 또는 소정의 운영 체제의 부트 섹터를 포함한다. 예를 들어, 리눅스 부트 이미지는,
0x1B031336,
0x4,
0x90000000,
0x90000200,
0x4,
0x90200,
0x800,
0x800,
0x4,
0x10000,
0x80000,
0x80000,
0x04000004,
0x100000,
0x80000,
0x80000 로서 보여질 수 있다.
상기 예의 부트 이미지(131)는 단지 예시를 위한 것이며, 예시된 요소들 중 아무것도, 일부 또는 전부뿐만 아니라 도시되지 않은 추가 요소들을 포함할 수 있 다. 더욱이, 부트 이미지(131)는 본 발명의 범위에서 벗어나지 않고 상기 예와 상이한 레이아웃 또는 포맷일 수 있다.
정책 표(132)는 노드들(108) 및 애플리케이션들(114)을 관리하기 위한 임의의 파라미터들을 포함한다. 예를 들어, 정책들(132)은 애플리케이션 환경들에 노드들(108)을 자동적으로 추가 또는 제거하기 위한 것일 수 있다. 대안적으로 또는 조합으로, 정책들(132)이 서버(102)에 의해 사용되어 경쟁하는 애플리케이션들(114) 간의 이슈들을 해결할 수 있다. 일반적으로, 정책 표(132)는 SQL문 또는 스크립트들에 의하여 기술된 관계형 데이터베이스에 저장된 하나 이상의 표들을 포함할 수 있다. 또 다른 실시예에서, 정책 표(132)는 다양한 데이터 구조들을, XML 문서들, VSAM(Virtual Storage Access Method) 파일들, 단층 파일들, 비트리브(Btrieve) 파일들 또는 CSV(comma-separated-value) 파일들로서 저장 또는 정의할 수 있다. 정책 표(132)는 한 컴퓨터 또는 다수의 컴퓨터에 걸쳐 저장된 다수의 표 또는 파일을 포함할 수도 있다. 더욱이, 정책 표(132)는 본 발명의 범위에서 벗어나지 않고 로컬 또는 원격일 수 있으며 임의의 유형의 적절한 데이터를 저장할 수 있다. 예를 들어, 정책 표(132)는, i) 애플리케이션 환경에 할당된 노드들(108)의 최대수/최소수; ii) 애플리케이션에 할당된 서버들의 디폴트 수; iii) 노드(108)를 애플리케이션 환경에 동적으로 추가하기 위한 조건들; iv) 애플리케이션 환경으로부터 노드(108)를 동적으로 제거하기 위한 조건들; v) (네트워크 액세스를 차단하는 것과 같은) 노드(108) 제거의 조건들(그러나, 문제점 조사에 달려있음); 및 vi) 애플리케이션(114)이 능동적으로 트랜잭션 또는 프로세스를 작동시키 기 때문에 노드(108)가 제거되지 않아야 하는 조건들을 포함하는 개별적인 가상 클러스터 정책들을 저장할 수 있다.
또 다른 예에서, 정책 표(132)는 우선순위, 자원 공유 및 선취(preemption) 정책들과 같은 임의의 개수의 가상 클러스터간 정책들을 포함할 수 있다. 우선순위는 통상적으로 정책 충돌이 있는 경우 어느 애플리케이션 환경이 자원들을 취득할지를 결정한다. 예를 들어, 특정 애플리케이션 환경의 우선순위가 보다 높다면, 노드들(108)에 대해 우선순위에 놓인 액세스를 취할 수 있다. 자원 공유는 종종 애플리케이션 환경들의 정의된 자격에 기초한다. 예를 들어, 각 애플리케이션 환경은 노드들(108)의 퍼센티지에 대한 자격을 얻을 수 있다. 자원 공유는 또한 시간의 슬라이딩 윈도우에 대한 컴퓨터 사용에 기초할 수 있다. 선취 정책들은 높은 우선순위 애플리케이션 환경들이 보다 낮은 우선순위 애플리케이션 환경들로부터 노드들(108)을 인수할 수 있게 한다.
가상 로컬 디스크 이미지 표(133)는 임의의 디스크 팜, 또는 다수의 가상 로컬 디스크 이미지(134)를 포함하는 네트워크 파일 시스템이다. 원격으로 예시되었지만, 가상 로컬 디스크 이미지(134)는 운영 체제 및 애플리케이션 소프트웨어에 미리 로딩될 수 있어 초기화 및 설치를 간단하게 한다. 가상 로컬 디스크 이미지134)는, 각 애플리케이션에 대한 각 가상 노드의 로컬 디스크 저장에 대한 임의의 형태, 이미지, 지시자 또는 참조이다. 가상 로컬 디스크 이미지(134)는 통상적으로 운영 체제, 구성된 서비스들, 및 각 애플리케이션의 가상 노드의 설치된 애플리케이션들을 포함할 것이다. 각 가상 로컬 디스크 이미지(134)는, 복수의 노드 사 이에서 공유하기 위한 판독 전용의 다수의 파일 시스템, 또는 일반적으로 애플리케이션 노드에 특정한 수정가능한 파일 시스템들을 포함할 수 있다. 가상 로컬 디스크 이미지(134)는 전통적인 파일 시스템 내의 계층적 디렉토리에 저장되거나 애플리케이션 노드들에 제공된 네트워크 파일 시스템 인터페이스를 갖는 복구가능한 데이터베이스에 저장될 수 있다.
일반적으로, 애플리케이션 데이터(140)는 임의의 메모리, 데이터베이스, SAN(storage area network), 또는 애플리케이션들(114)을 위한 데이터를 저장하는 NAS(network-attached storage)이다. 애플리케이션 데이터(140)는 SQL문 또는 스크립트들에 의해 기술된 관계형 데이터베이스에 저장된 하나 이상의 표를 포함할 수 있다. 또 다른 실시예에서, 애플리케이션 데이터(140)는 다양한 데이터 구조들을 XML 문서들, VASM 파일들, 단층 파일들, 비트리브(Btrieve) 파일들, 또는 CSV 파일들로서 저장하거나 정의할 수 있다. 애플리케이션 데이터(140)는 하나의 컴퓨터 또는 다수의 컴퓨터에 걸쳐 저장된 다수의 표 또는 파일들을 포함할 수도 있다. 더욱이, 애플리케이션 데이터(140)는 본 발명의 범위를 벗어나지 않고 로컬 또는 원격일 수 있다.
클라이언트(120)는 GUI(graphical user interface)(122)를 경유하여 관리 화면을 사용자에게 제공하도록 동작가능한 임의의 장치이다. 하이 레벨에서, 예시된 클라이언트(120)는 적어도 GUI(122)를 포함하고 시스템(100)과 연관된 임의의 적절한 데이터를 수신, 송신, 처리 및 저장하도록 동작가능한 전자 컴퓨팅 장치를 포함한다. 서버(102)에 통신가능하게 연결된 임의의 개수의 클라이언트(120)가 존재할 수 있다는 것을 이해할 것이다. 또한, "클라이언트(120)" 및 "클라이언트(120)의 사용자"는 본 발명의 범위를 벗어나지 않고 적절하게 교환가능하게 사용될 수 있다. 더욱이, 예시의 용이함을 위해, 각 클라이언트는 한명의 사용자에 의해 사용되는 것으로 기술된다. 그러나, 이러한 개시는, 많은 사용자들이 하나의 컴퓨터를 사용하여 커맨드들을 전달하거나 동일한 GUI(122)를 사용하여 그래픽 프레젠테이션(presentation)을 볼 수 있다는 것을 의도한다.
본원에 사용되는 바와 같이, 클라이언트(120)는 개인용 컴퓨터, 터치 스크린 단말기, 워크스테이션, 네트워크 컴퓨터, 키오스크, 무선 데이터 포트, 휴대폰, PDA(personal data assistant), 이러한 장치들 또는 다른 장치들 내의 하나 이상의 프로세서 또는 임의의 다른 적절한 프로세싱 장치를 포함하도록 의도된다. 예를 들어, 클라이언트(120)는, 키패드, 터치 스크린, 마우스, 또는 정보를 수취할 수 있는 다른 장치와 같은 입력 장치, 및 디지털 데이터, 시각 정보, 또는 GUI(122)를 포함하는, 서버(102) 또는 클라이언트들(120)의 동작과 연관된 정보를 전달하는 출력 장치를 포함하는 컴퓨터를 포함할 수 있다. 입력 장치 및 출력 장치 양쪽은, 고정형, 또는 자기 컴퓨터 디스크, CD-ROM과 같은 착탈식 저장 미디어, 또는 관리 및 작업 제출 디스플레이, 즉 GUI(122)를 통해 클라이언트들(120)의 사용자들로부터 입력을 수신하고 클라이언트들(120)의 사용자에게 제공하기 위한 다른 적절한 미디어를 포함할 수 있다.
GUI(122)는 시스템 (또는 네트워크) 관리자가 시스템(100)과 인터페이스할 수 있게 동작가능한 그래픽 사용자 인터페이스를 포함하여 애플리케이션들(114) 또는 시스템 성능을 모니터하거나, 가상 클러스터들을 수정하거나, 또는 임의의 적절한 관리 목적을 행한다. 일반적으로, GUI(122)는 클라이언트(120)의 사용자에게, 시스템(100)에 의해 제공되는 효율적이고 사용자 친화적인 데이터 프레젠테이션을 제공한다. GUI(122)는 다수의 맞춤가능한 프레임들 또는 대화형 필드들을 갖는 뷰들, 풀-다운 목록들, 및 사용자에 의해 작동되는 버튼들을 포함할 수 있다. 일 실시예에서, GUI(122)는 애플리케이션 환경들 또는 정책 화면들의 다양한 그래픽 뷰들을 제공하고 입력 장치들 중 하나를 경유하여 클라이언트(120)의 사용자로부터 커맨드들을 수신하는 디스플레이를 제공한다. 이러한 그래픽 뷰들은, i) 애플리케이션 환경들, 노드의 자원들 및 모니터링된 부하들의 현재 상태의 그래픽 표현들; ii) 애플리케이션 환경 및 노드의 부하들 및 시간에 따른 사용의 그래픽 표현들; iii) 마법사들; 및 iv) 어느 애플리케이션(114)이 각 애플리케이션 환경 및 각 노드(108) 상에서 동작하는지에 대한 뷰들을 포함할 수 있다. 요약하면, GUI(122)는 노드들(108)의 임의의 물리적 및 논리적 상태 또는 특성들을 시스템 관리자에게 제공하고 그 관리자로부터 다양한 커맨드들을 수신할 수 있다.
일 실시예에서, GUI(122)는 관리자가 애플리케이션 환경들을 생성, 삭제, 복사 및 수정할 수 있게 한다. 관리자는 GUI(122)를 사용하여 애플리케이션 환경 공유 정책들을 셋업하거나, 애플리케이션 환경들을 활성화 및 비활성화하거나, 애플리케이션 환경들 및 노드들(108)의 상태 및 부하들을 모니터링할 수도 있다. 또한, GUI(122)는 활성인 애플리케이션 환경들로부터 노드들(108)을 추가 또는 삭제할 수 있게 한다. GUI(122)는, 예를 들어 구성가능한 부하 레벨들이 노드(108) 상 에서 도달되거나 애플리케이션 환경 내에서 도달되는 것, 노드(108)가 가용하지 않게 되는 것, 애플리케이션 환경이 시작하거나 정지하는 것, 노드(108)가 애플리케이션 환경으로부터 추가 또는 제거되는 것, 서버(102)가 애플리케이션 환경의 최소 요구조건을 만족시킬 수 없는 것, 또는 (트랜잭션 응답 시간과 같은) 서비스 요구조건의 레벨이 초과된 것과 같은 다양한 시스템(100) 특성들에 기초하여 관리자에게 경고를 제공할 수도 있다.
그래픽 사용자 인터페이스라는 용어가 단일 또는 다수개로 사용되어 하나 이상의 그래픽 사용자 인터페이스들 및 특정 그래픽 사용자 인터페이스의 각 디스플레이를 기술할 수 있다는 것을 이해하여야 한다. 그러므로, GUI(122)는, 시스템(100)에서 정보를 처리하고 그 결과들을 사용자에게 효율적으로 제공하는, 일반적인 웹 브라우저와 같은, 임의의 그래픽 사용자 인터페이스를 의도할 수 있다. GUI(122)는 또한 SSL-HTTPS를 경유하여 통신하도록 동작가능한 보안 브라우저를 의도할 수 있다. 서버(102)는 웹 브라우저(예를 들어, 마이크로소프트사의 인터넷 익스플로러 또는 넷스케이프 네비게이터)를 통해 클라이언트(120)로부터 데이터를 수취하고 네트워크(116)를 사용하여 적절한 HTML 또는 XML 응답들을 반환할 수 있다.
동작의 일 양상에서, 동적 부트 엔진(105)은 분산 애플리케이션(114)을 선택한다. 하나 이상의 연관된 정책들(132)에 기초하여, 동적 부트 엔진(105)은 하나 이상의 선택된 노드(108)를 특정 애플리케이션 환경 또는 가상 클러스터에 동적으로 추가 또는 제거할 수 있다. 검색된 정책들(132)에 기초하여, 동적 부트 엔 진(105)은 선택된 노드들(108)에 대한 적절한 부트 이미지(132)를 선택한다. 예를 들어, 애플리케이션(114)의 일부분을 실행하는 4개 노드들(108)이 이미 존재한다면, 그 후 동적 부트 엔진(105)은 애플리케이션(114)과 호환가능한 (노드(108)의 하드웨어 및 다른 특성 및 하나 이상의 정책들(132)에 적어도 부분적으로 기초하여) 제5 부트 이미지(132)를 자동적으로 선택한다. 검색된 정책들(132)에 기초하여, 동적 부트 엔진(105)은 선택된 노드(108)에 대한 적절한 가상 로컬 디스크 이미지(134)를 선택할 수도 있다. 적절한 부트 이미지(132) 및/또는 가상 로컬 디스크 이미지(134)가 선택되면, 동적 부트 엔진(105)은 선택된 부트 이미지(132) 및 가상 로컬 디스크 이미지(134)에 대한 지시자 또는 다른 참조로 노드(108)를 플래시하고 노드(108)를 재부팅시킨다. 노드(108)가 초기화되면(일반적으로 15초 미만), 동적 부트 엔진(105)(또는 소정의 다른 작업 스케줄러)이 적절한 태스크, 프로세스, 선택된 노드(108) 상의 애플리케이션(104)의 다른 부분을 실행한다.
도 2는 본 발명의 일 실시예 내에서 노드(108)를 동적으로 재부팅하기 위한 예시적인 방법(200)을 나타나는 흐름도이다. 도 2는 복수의 노드(108) 중 하나의, 가상 클러스터 또는 애플리케이션 환경에 대한 동적 할당을 일반적으로 기술하는 방법(200)을 나타낸다. 물론, 임의의 개수의 노드들(108)이 본 발명의 범위 내에서 순차적으로 또는 동시에 재설정, 재부팅 또는 다른 방식으로 할당될 수 있다. 하이 레벨에서, 방법(200)은 애플리케이션(114)의 환경에 대한 할당을 위해 노드(108)를 선택하는 단계, 선택된 노드(108)의 부트 이미지(132)를 재설정하는 단계, 및 노드(108)를 재부팅하는 단계를 포함한다. 다음의 설명은 방법(200)의 수 행에 있어서 동적 부트 엔진(105)의 동작에 초점이 맞추어진다. 그러나, 시스템(100)은 설명된 기능 중 일부 또는 전부를 구현하는 논리적 요소들의 임의의 적절한 조합 및 배치를 사용하는 것을 의도한다.
방법(200)은, 소프트웨어 애플리케이션(114)이 보다 많은 노드들(108)에 할당되어야 한다는 것을 동적 부트 엔진(105)이 결정하는 단계 205에서 시작한다. 이러한 결정은 임의의 적절한 기술을 사용하여 일어날 수 있다. 예를 들어, 관리자는 애플리케이션(114)을 위한 애플리케이션 환경에 노드(108)를 수동으로 추가할 수 있다. 또 다른 예에서, 정책들(132)에 기초하여 노드들(108)이 사용될 수 있거나 사용되어야 한다는 것을 동적 부트 엔진(105)이 동적으로 결정할 수 있다. 다음으로, 단계 210에서, 임의의 미사용 컴퓨팅 노드(108)가 가용한지를 동적 부트 엔진(105)이 판정한다. 보다 많은 노드들(108)이 가용하다면, 그 후 단계 215에서 동적 부트 엔진(105)은 임의의 적절한 기술을 사용하여 가용한 제1 컴퓨팅 노드(108)를 선택한다. 예를 들어, 동적 부트 엔진(105)은 물리적 위치, 가상 위치, 애플리케이션(114) 호환성, 프로세서 속도, 또는 임의의 다른 적절한 특성에 기초하여 노드(108)를 선택한다. 판정 단계 220에서, 동적 부트 엔진(105)은 선택된 노드가 애플리케이션(114)과 호환가능한지를 판정한다. 노드(108)가 애플리케이션(114)과 호환가능하지 않다면, 그 후 동적 부트 엔진(105)은 단계 225에서 임의의 적절한 기술을 사용하여 선택된 노드를 내린다. 다음으로, 동적 부트 엔진(105)은 단계 230에서 소프트웨어 애플리케이션(114)에 기초하여 동적으로 정책(132)을 선택한다. 예를 들어, 동적 부트 엔진(105)은 3개 노드들(108)이 현재 소프트웨어 애플리케이션(114)을 실행하고 있다고 판정할 수 있다. 이러한 판정에 기초하여, 동적 부트 엔진(105)은 정책(132) 내의 제4 논리 노드(108)를 찾는다. 선택된 정책(132)에 기초하여, 동적 부트 엔진(105)은 단계 235에서 새로운 부트 이미지(131)에 대한 지시자를 이용하여 선택된 노드를 플래시하고 단계 237에서 가상 로컬 디스크 이미지(132)를 연관시킨다. 상술한 바와 같이, 동적 부트 엔진(105)은 플래시 EEPROM(111) 또는 임의의 다른 적절한 구성요소일 수 있다. 다음으로, 동적 부트 엔진(105)은 단계 240에서 새로운 부트 이미지(131)를 사용하여 선택된 노드(108)를 부팅한다. 노드(108)가 재부팅되었다면(또는 노드가 이미 애플리케이션(114)과 호환가능하다면), 그 후 동적 부트 엔진(105)은 단계 245에서 선택된 노드(108) 상에서 애플리케이션(114)을 실행하고 방법(200)은 종료한다.
판정 단계 210으로 되돌아가서, 가용한 컴퓨팅 노드들(108)이 존재하지 않으면, 그 후 동적 부트 엔진(105)은 단계 250에서 애플리케이션(114)에 대한 최적의 사용된 노드(108)를 선택한다. 이러한 최적의 노드(108) 선택은, 예를 들어 가장 적게 사용된 노드(108)를 결정하는 것, 호환가능한 노드(108)를 선택하는 것 또는 소정의 다른 "가장 적합한(best fit)" 것을 결정하는 것과 같은 임의의 적절한 방식으로 일어날 수 있다. 단계 255에서, 동적 부트 이미지(105)는 선택된 노드(108) 상의 현재의 프로세싱을 종료시킨다. 동적 부트 엔진(105)은, 운영 체제를 이용하는 프로세스를 중단시키는, 애플리케이션 특정 커맨드들을 실행하는 것, 및 기타의 것과 같은 임의의 적절한 기술을 사용하여 프로세싱을 중단시킬 수 있다. 판정 단계 260에서, 선택된 노드(108)가 애플리케이션(114)과 호환가능한지를 동적 부트 엔진(105)이 판정한다. 노드(108)가 애플리케이션(114)과 호환가능하지 않다면, 그 후 동적 부트 엔진(105)은 단계 265에서 임의의 적절한 기술을 사용하여 선택된 노드를 내린다. 다음으로, 동적 부트 엔진(105)은 단계 270에서 소프트웨어 애플리케이션(114)에 기초하여 정책(132)을 동적으로 선택한다. 예를 들어, 3개 노드들(108)이 현재 소프트웨어 애플리케이션(114)을 실행하고 있다고 동적 부트 엔진(105)이 판정할 수 있다. 이러한 판정에 기초하여, 동적 부트 엔진(105)은 정책(132) 내의 제4 논리 노드(108)를 찾는다. 선택된 정책(132)에 기초하여, 동적 부트 엔진(105)은 단계 275에서 새로운 부트 이미지(131)에 대한 지시자를 이용하여 선택된 노드를 플래시하고 단계 277에서 가상 로컬 디스크 이미지(134)를 연관시킨다. 상술한 바와 같이, 자원 관리 엔진은 플래시 EEPROM(111)이거나 임의의 다른 적절한 구성요소일 수 있다. 다음으로, 동적 부트 엔진(105)은 단계 280에서 새로운 부트 이미지(131) 및 가상 로컬 디스크 이미지(134)를 사용하여 선택된 노드(108)를 부팅한다. 노드(108)가 재부팅되었다면(또는 노드가 이미 애플리케이션(114)과 호환가능하다면), 그 후 동적 부트 엔진(105)은 단계 285에서 선택된 노드(108) 상에서 애플리케이션(114)을 실행시키고 방법(200)은 종료한다.
앞선 흐름도 및 첨부 도면은 단지 예시적인 방법(200)을 나타낸다. 시스템(100)은 이러한 태스크들 및 다른 태스크들을 수행하기 위한 임의의 적절한 기술을 사용하는 것을 의도할 수 있다. 따라서, 본 흐름도 내의 많은 단계들은 동시에 발생하거나 및/또는 도시된 것과는 상이한 순서들로 발생할 수 있다. 더욱이, 시스템(100)은 방법들이 적절하게 되어 있는 한, 추가 단계들, 보다 적은 단계들 및/ 또는 상이한 단계들을 갖는 방법을 사용할 수 있다.
본 발명이 소정의 실시예들 및 일반적으로 연관된 방법들에 의해서 설명되었지만, 이러한 실시예들 및 방법들에 대한 수정 및 변경들은 본 기술분야의 당업자에게 자명할 것이다. 따라서, 예시적인 실시예들의 상기 설명들은 본 발명을 정의하거나 제한하지 않는다. 다른 변화, 대체, 및 수정들도 본 발명의 사상 및 범위에서 벗어나지 않고 가능하다.

Claims (45)

  1. 컴퓨터 클러스터 가상화를 위한 방법으로서,
    분산 애플리케이션을 선택하는 단계;
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는지의 여부를 판정하는 단계;
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는 것에 응답하여, 복수의 노드들 중 하나의 노드를 선택하는 단계;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한지의 여부를 판정하는 단계;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한 것에 응답하여, 상기 선택된 노드 상에서 상기 분산 애플리케이션을 실행하는 단계;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능하지 않은 것에 응답하여, 상기 분산 애플리케이션과 연관된 정책을 검색하는 단계 - 상기 검색된 정책은 상기 분산 애플리케이션에 대한 가상 노드 클러스터(virtual cluster of nodes)를 관리하기 위한 파라미터들을 포함함 - ;
    상기 검색된 정책에 따라 부트 이미지(boot image) 및 가상 로컬 디스크 이미지를 선택하는 단계;
    상기 분산 애플리케이션과 호환 가능하지 않은 경우, 상기 선택된 부트 이미지에 대한 지시자(pointer)를 이용하여 상기 선택된 노드를 플래시(flash)하고, 가상 디스크 이미지를 상기 선택된 노드에 연관시키는 단계 - 상기 가상 디스크 이미지는 운영 체제, 구성된 서비스들, 및 상기 선택된 노드의 설치된 애플리케이션들을 포함하며, 상기 선택된 부트 이미지는 상기 분산 애플리케이션과 호환 가능함 - ;
    상기 선택된 부트 이미지 및 가상 디스크 이미지를 이용하여 상기 선택된 노드 상에서 상기 분산 애플리케이션의 적어도 일부분을 실행하는 단계
    를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  2. 제1항에 있어서,
    상기 애플리케이션은 상기 복수의 노드들의 서브세트 상에서 실행되고,
    상기 방법은,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하는 단계; 및
    상기 비교에 기초하여 복수의 호환 가능한 부트 이미지 중 하나를 선택하는 단계
    를 더 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  3. 제2항에 있어서,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하는 단계는,
    상기 서브세트 내의 노드들의 최소 또는 최대의 수를 결정하는 단계;
    상기 검색된 정책에 기초하여 상기 노드들의 서브세트의 노드들을 선택하는 단계; 및
    상기 정책 및 상기 선택된 노드들에 기초하여 상기 부트 이미지를 선택하는 단계
    를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  4. 제2항에 있어서,
    상기 노드들의 서브세트의 각각은 상기 복수의 호환가능한 부트 이미지 중 하나와 연관되는, 컴퓨터 클러스터 가상화를 위한 방법.
  5. 제1항에 있어서,
    상기 복수의 노드들 중 하나의 노드를 선택하는 단계는,
    상기 복수의 노드들 중 하나 이상이 제2 분산 애플리케이션에 의해 미사용(unutilize)되었는지의 여부를 판정하는 단계; 및
    상기 노드들 중 적어도 하나가 미사용되었다는 것에 응답하여, 상기 미사용 노드들 중 하나를 선택하는 단계
    를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  6. 제5항에 있어서,
    상기 노드들 중에 미사용 노드가 없다는 것에 응답하여,
    상기 검색된 정책;
    가장 적게 사용된 노드;
    제2 분산 애플리케이션과 연관된 애플리케이션 환경의 우선순위; 및
    상기 제2 분산 애플리케이션과 상기 선택된 노드의 호환성
    중 하나 이상에 기초하여 상기 제2 분산 애플리케이션에 의해 사용되는 상기 노드들 중 하나를 선택하는 단계를 더 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  7. 제6항에 있어서,
    상기 선택된 노드를 플래시하는 것은,
    상기 선택된 노드를 자동으로 셧다운시키고;
    상기 선택된 노드를 플래시하고; 및
    재설정된 부트 이미지를 사용하여 상기 선택된 노드를 재시동하는 것
    을 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  8. 제7항에 있어서, 상기 노드를 셧다운시키기 이전에 상기 제2 분산 애플리케이션과 연관된 임의의 프로세스들을 종료시키는 단계를 더 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  9. 제1항에 있어서,
    상기 정책은 부트 이미지들에 대한 복수의 참조(references)를 포함하고, 각각의 부트 이미지는 상기 분산 애플리케이션과 호환가능한 상기 복수의 노드들 중 적어도 하나와 연관되는, 컴퓨터 클러스터 가상화를 위한 방법.
  10. 제1항에 있어서, 상기 정책은 상기 노드의 상기 선택의 타이밍을 결정하기 위한 하나 이상의 파라미터를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  11. 제1항에 있어서,
    상기 부트 이미지는 스토리지 에어리어 네트워크(Storage Area Network)에 저장된 원격 부트 이미지를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  12. 제1항에 있어서,
    상기 노드는 상기 플래시 이전에 제1 부트 이미지와 연관되고 상기 플래시로부터 제2 부트 이미지와 연관되며,
    상기 제1 및 제2 부트 이미지는,
    운영 체제;
    시스템 구성; 및
    분산 애플리케이션 파라미터들
    중 적어도 하나의 특징이 상이한, 컴퓨터 클러스터 가상화를 위한 방법.
  13. 제1항에 있어서,
    상기 복수의 노드들 중 하나의 노드에서의 장애를 식별하는 단계를 더 포함하고, 장애가 발생한 상기 노드는 상기 선택된 분산 애플리케이션의 적어도 일부분을 실행하며,
    상기 복수의 노드 중 하나의 노드를 선택하는 단계는 상기 장애에 응답하여 남아있는 노드들 중 하나를 선택하는 단계를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  14. 제1항에 있어서, 상기 복수의 노드들의 각각은 동일한 프로세서 아키텍쳐를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  15. 제1항에 있어서, 상기 복수의 노드들 중 하나의 노드를 선택하는 단계는 상기 복수의 노드 중 하나의 노드를 미리 결정된 시간에 선택하는 단계를 포함하는, 컴퓨터 클러스터 가상화를 위한 방법.
  16. 컴퓨터 클러스터 가상화를 위한 프로그램 코드를 포함하는 컴퓨터 판독 가능한 매체로서, 상기 프로그램 코드는,
    분산 애플리케이션을 선택하고,
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는지의 여부를 판정하고;
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는 것에 응답하여, 복수의 노드들 중 하나의 노드를 선택하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한지의 여부를 판정하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한 것에 응답하여, 상기 선택된 노드 상에서 상기 분산 애플리케이션을 실행하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능하지 않은 것에 응답하여, 상기 분산 애플리케이션과 연관된 정책을 검색하고 - 상기 검색된 정책은 상기 분산 애플리케이션에 대한 가상 노드 클러스터(virtual cluster of nodes)를 관리하기 위한 파라미터들을 포함함 - ;
    상기 검색된 정책에 따라 부트 이미지 및 가상 로컬 디스크 이미지를 선택하고;
    상기 분산 애플리케이션과 호환 가능하지 않은 경우, 상기 선택된 부트 이미지에 대한 지시자를 이용하여 상기 선택된 노드를 플래시하고, 가상 디스크 이미지를 상기 선택된 노드에 연관시키고 - 상기 가상 디스크 이미지는 운영 체제, 구성된 서비스들, 및 상기 선택된 노드의 설치된 애플리케이션들을 포함하며, 상기 선택된 부트 이미지는 상기 분산 애플리케이션과 호환 가능함 - ;
    상기 선택된 부트 이미지 및 가상 디스크 이미지를 이용하여 상기 선택된 노드 상에서 상기 분산 애플리케이션의 적어도 일부분을 실행하도록
    동작가능한, 컴퓨터 판독 가능한 매체.
  17. 제16항에 있어서,
    상기 애플리케이션은 상기 복수의 노드의 서브세트 상에서 실행되고,
    상기 프로그램 코드는,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하고; 및
    상기 비교에 기초하여 복수의 호환 가능한 부트 이미지 중 하나를 선택하도록 더 동작가능한, 컴퓨터 판독 가능한 매체.
  18. 제17항에 있어서,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하도록 동작가능한 상기 프로그램 코드는,
    상기 서브세트 내의 노드들의 최소 또는 최대의 수를 결정하고;
    상기 검색된 정책에 기초하여 상기 노드들의 서브세트의 노드들을 선택하고; 및
    상기 정책 및 상기 선택된 노드들에 기초하여 상기 부트 이미지를 선택하도록 동작가능한 프로그램 코드를 포함하는, 컴퓨터 판독 가능한 매체.
  19. 제17항에 있어서,
    상기 노드들의 서브세트의 각각은 상기 복수의 호환가능한 부트 이미지 중 하나와 연관되는, 컴퓨터 판독 가능한 매체.
  20. 제16항에 있어서,
    상기 복수의 노드들 중 하나의 노드를 선택하도록 동작가능한 상기 프로그램 코드는,
    상기 복수의 노드들 중 하나 이상이 제2 분산 애플리케이션에 의해 미사용되었는지의 여부를 판정하고; 및
    상기 노드들 중 적어도 하나가 미사용되었다는 것에 응답하여, 상기 미사용 노드들 중 하나를 선택하도록 동작가능한 프로그램 코드를 포함하는, 컴퓨터 판독 가능한 매체.
  21. 제20항에 있어서,
    상기 노드들 중에 미사용 노드가 없다는 것에 응답하여, 상기 프로그램 코드는,
    상기 검색된 정책;
    가장 적게 사용된 노드;
    제2 분산 애플리케이션과 연관된 애플리케이션 환경의 우선순위; 및
    상기 제2 분산 애플리케이션과 상기 선택된 노드의 호환성
    중 하나 이상에 기초하여 상기 제2 분산 애플리케이션에 의해 사용되는 상기 노드들 중 하나를 선택하도록 더 동작가능한, 컴퓨터 판독 가능한 매체.
  22. 제21항에 있어서,
    상기 선택된 노드를 플래시하도록 동작가능한 프로그램 코드는,
    상기 선택된 노드를 자동으로 셧다운시키고;
    상기 선택된 노드를 플래시하고; 및
    재설정된 부트 이미지를 사용하여 상기 선택된 노드를 재시동하도록 동작가능한 프로그램 코드를 포함하는, 컴퓨터 판독 가능한 매체.
  23. 제22항에 있어서,
    상기 프로그램 코드는, 상기 노드를 셧다운시키기 이전에 상기 제2 분산 애플리케이션과 연관된 임의의 프로세스들을 종료시키도록 더 동작가능한, 컴퓨터 판독 가능한 매체.
  24. 제16항에 있어서,
    상기 정책은 부트 이미지들에 대한 복수의 참조를 포함하고, 각각의 부트 이미지는 상기 분산 애플리케이션과 호환가능한 상기 복수의 노드들 중 적어도 하나와 연관되는, 컴퓨터 판독 가능한 매체.
  25. 제16항에 있어서, 상기 정책은 상기 노드의 상기 선택의 타이밍을 결정하기 위한 하나 이상의 파라미터를 포함하는, 컴퓨터 판독 가능한 매체.
  26. 제16항에 있어서,
    상기 부트 이미지는 스토리지 에어리어 네트워크(Storage Area Network)에 저장된 원격 부트 이미지를 포함하는, 컴퓨터 판독 가능한 매체.
  27. 제16항에 있어서,
    상기 노드는 상기 플래시 이전에 제1 부트 이미지와 연관되고 상기 플래시로부터 제2 부트 이미지와 연관되며,
    상기 제1 및 제2 부트 이미지는,
    운영 체제;
    시스템 구성; 및
    분산 애플리케이션 파라미터들
    중 적어도 하나의 특징이 상이한, 컴퓨터 판독 가능한 매체.
  28. 제16항에 있어서,
    상기 프로그램 코드는,
    상기 복수의 노드들 중 하나의 노드에서의 장애를 식별하도록 더 동작가능하며, 장애가 발생한 상기 노드는 상기 선택된 분산 애플리케이션의 적어도 일부분을 실행하며,
    상기 복수의 노드 중 하나의 노드를 선택하도록 동작가능한 프로그램 코드는, 상기 장애에 응답하여 남아있는 노드들 중 하나를 선택하도록 동작가능한 프로그램 코드를 포함하는, 컴퓨터 판독 가능한 매체.
  29. 제16항에 있어서, 상기 복수의 노드들의 각각은 동일한 프로세서 아키텍쳐를 포함하는, 컴퓨터 판독 가능한 매체.
  30. 제16항에 있어서,
    상기 복수의 노드들 중 하나의 노드를 선택하도록 동작가능한 프로그램 코드는, 상기 복수의 노드 중 하나의 노드를 미리 결정된 시간에 선택하도록 동작가능한 프로그램 코드를 포함하는, 컴퓨터 판독 가능한 매체.
  31. 컴퓨터 클러스터 가상화를 위한 시스템으로서,
    복수의 컴퓨팅 노드; 및
    관리 노드
    를 포함하며, 상기 관리 노드는,
    분산 애플리케이션을 선택하고,
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는지의 여부를 판정하고;
    상기 분산 애플리케이션이 실행을 위해 보다 많은 노드를 필요로 하는 것에 응답하여, 복수의 노드들 중 하나의 노드를 선택하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한지의 여부를 판정하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능한 것에 응답하여, 상기 선택된 노드 상에서 상기 분산 애플리케이션을 실행하고;
    상기 선택된 노드가 상기 분산 애플리케이션과 호환 가능하지 않은 것에 응답하여, 상기 분산 애플리케이션과 연관된 정책을 검색하고 - 상기 검색된 정책은 상기 분산 애플리케이션에 대한 가상 노드 클러스터(virtual cluster of nodes)를 관리하기 위한 파라미터들을 포함함 - ;
    상기 검색된 정책에 따라 부트 이미지 및 가상 로컬 디스크 이미지를 선택하고;
    상기 분산 애플리케이션과 호환 가능하지 않은 경우, 상기 선택된 부트 이미지에 대한 지시자를 이용하여 상기 선택된 노드를 플래시하고, 가상 디스크 이미지를 상기 선택된 노드에 연관시키고 - 상기 가상 디스크 이미지는 운영 체제, 구성된 서비스들, 및 상기 선택된 노드의 설치된 애플리케이션들을 포함하며, 상기 선택된 부트 이미지는 상기 분산 애플리케이션과 호환 가능함 - ;
    상기 선택된 부트 이미지 및 가상 디스크 이미지를 이용하여 상기 선택된 노드 상에서 상기 분산 애플리케이션의 적어도 일부분을 실행하도록
    동작가능한, 컴퓨터 클러스터 가상화를 위한 시스템.
  32. 제31항에 있어서,
    상기 애플리케이션은 상기 복수의 노드의 서브세트 상에서 실행되고, 상기 관리 노드는,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하고; 및
    상기 비교에 기초하여 복수의 호환 가능한 부트 이미지 중 하나를 선택하도록 더 동작가능한, 컴퓨터 클러스터 가상화를 위한 시스템.
  33. 제32항에 있어서,
    상기 노드들의 서브세트를 상기 검색된 정책과 비교하도록 동작가능한 상기 관리 노드는,
    상기 서브세트 내의 노드들의 최소 또는 최대의 수를 결정하고;
    상기 검색된 정책에 기초하여 상기 노드들의 서브세트의 노드들을 선택하고; 및
    상기 정책 및 상기 선택된 노드들에 기초하여 상기 부트 이미지를 선택하도록 동작가능한 관리 노드를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  34. 제32항에 있어서,
    상기 노드들의 서브세트의 각각은 상기 복수의 호환가능한 부트 이미지 중 하나와 연관되는, 컴퓨터 클러스터 가상화를 위한 시스템.
  35. 제31항에 있어서,
    상기 복수의 노드들 중 하나의 노드를 선택하도록 동작가능한 관리 노드는,
    상기 복수의 노드들 중 하나 이상이 제2 분산 애플리케이션에 의해 미사용되었는지의 여부를 판정하고; 및
    상기 노드들 중 적어도 하나가 미사용되었다는 것에 응답하여, 상기 미사용 노드들 중 하나를 선택하도록 동작가능한 상기 관리 노드를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  36. 제35항에 있어서,
    상기 노드들 중에 미사용 노드가 없다는 것에 응답하여, 상기 관리 노드는,
    상기 검색된 정책;
    가장 적게 사용된 노드;
    선택된 분산 애플리케이션의 우선순위; 및
    상기 제2 분산 애플리케이션과 상기 선택된 노드의 호환성
    중 하나 이상에 기초하여 상기 제2 분산 애플리케이션에 의해 사용되는 상기 노드들 중 하나를 선택하도록 더 동작가능한, 컴퓨터 클러스터 가상화를 위한 시스템.
  37. 제36항에 있어서,
    상기 선택된 노드를 플래시하도록 동작가능한 관리 노드는,
    상기 선택된 노드를 자동으로 셧다운시키고;
    상기 선택된 노드를 플래시하고; 및
    재설정된 부트 이미지를 사용하여 상기 선택된 노드를 재시동하도록 동작가능한 관리 노드를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  38. 제37항에 있어서,
    상기 관리 노드는, 상기 노드를 셧다운시키기 이전에 상기 제2 분산 애플리케이션과 연관된 임의의 프로세스들을 종료시키도록 더 동작가능한, 컴퓨터 클러스터 가상화를 위한 시스템.
  39. 제31항에 있어서,
    상기 정책은 부트 이미지들에 대한 복수의 참조를 포함하고, 각각의 부트 이미지는 상기 분산 애플리케이션과 호환가능한 상기 복수의 노드들 중 적어도 하나와 연관되는, 컴퓨터 클러스터 가상화를 위한 시스템.
  40. 제31항에 있어서, 상기 정책은 상기 노드의 상기 선택의 타이밍을 결정하기 위한 하나 이상의 파라미터를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  41. 제31항에 있어서,
    상기 부트 이미지는 스토리지 에어리어 네트워크(Storage Area Network)에 저장된 원격 부트 이미지를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  42. 제31항에 있어서,
    상기 노드는 상기 플래시 이전에 제1 부트 이미지와 연관되고 상기 플래시로부터 제2 부트 이미지와 연관되며,
    상기 제1 및 제2 부트 이미지는,
    운영 체제;
    시스템 구성; 및
    분산 애플리케이션 파라미터들
    중 적어도 하나의 특징이 상이한, 컴퓨터 클러스터 가상화를 위한 시스템.
  43. 제31항에 있어서,
    상기 관리 노드는,
    상기 복수의 노드들 중 하나의 노드에서의 장애를 식별하도록 더 동작가능하며, 장애가 발생한 상기 노드는 상기 선택된 분산 애플리케이션의 적어도 일부분을 실행하며,
    상기 복수의 노드 중 하나의 노드를 선택하도록 동작가능한 관리 노드는, 상기 장애에 응답하여 남아있는 노드들 중 하나를 선택하도록 동작가능한 관리 노드를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  44. 제31항에 있어서, 상기 복수의 노드들의 각각은 동일한 프로세서 아키텍쳐를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
  45. 제31항에 있어서,
    상기 복수의 노드들 중 하나의 노드를 선택하도록 동작가능한 관리 노드는, 상기 복수의 노드 중 하나의 노드를 미리 결정된 시간에 선택하도록 동작가능한 관리 노드를 포함하는, 컴퓨터 클러스터 가상화를 위한 시스템.
KR1020067023881A 2004-04-15 2005-04-12 동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터클러스터 가상화용 시스템 및 방법 KR101173712B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/825,345 US8190714B2 (en) 2004-04-15 2004-04-15 System and method for computer cluster virtualization using dynamic boot images and virtual disk
US10/825,345 2004-04-15
PCT/US2005/012316 WO2005106655A1 (en) 2004-04-15 2005-04-12 System and method for computer cluster virtualization using dynamic boot images and virtual disk

Publications (2)

Publication Number Publication Date
KR20060134211A KR20060134211A (ko) 2006-12-27
KR101173712B1 true KR101173712B1 (ko) 2012-08-13

Family

ID=34940758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067023881A KR101173712B1 (ko) 2004-04-15 2005-04-12 동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터클러스터 가상화용 시스템 및 방법

Country Status (13)

Country Link
US (1) US8190714B2 (ko)
EP (1) EP1594057B1 (ko)
JP (1) JP2005302039A (ko)
KR (1) KR101173712B1 (ko)
CN (1) CN100447746C (ko)
AT (1) ATE474265T1 (ko)
CA (1) CA2503773C (ko)
DE (1) DE602005022249D1 (ko)
HK (1) HK1078957A1 (ko)
IL (1) IL178607A (ko)
MY (1) MY143931A (ko)
TW (1) TWI287713B (ko)
WO (1) WO2005106655A1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2827035A1 (en) 2004-11-08 2006-05-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US7698430B2 (en) 2005-03-16 2010-04-13 Adaptive Computing Enterprises, Inc. On-demand compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US20110258320A1 (en) * 2005-04-07 2011-10-20 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US8484213B2 (en) * 2005-08-31 2013-07-09 International Business Machines Corporation Heterogenous high availability cluster manager
US8370416B2 (en) * 2006-04-26 2013-02-05 Hewlett-Packard Development Company, L.P. Compatibility enforcement in clustered computing systems
CN101169725A (zh) * 2006-10-23 2008-04-30 国际商业机器公司 随需个人计算机供应系统和方法
US8065676B1 (en) 2007-04-24 2011-11-22 Hewlett-Packard Development Company, L.P. Automated provisioning of virtual machines for a virtual machine buffer pool and production pool
US8141090B1 (en) * 2007-04-24 2012-03-20 Hewlett-Packard Development Company, L.P. Automated model-based provisioning of resources
US8069341B2 (en) * 2007-06-29 2011-11-29 Microsoft Corporation Unified provisioning of physical and virtual images
US9262366B2 (en) * 2007-09-21 2016-02-16 Microsoft Technology Licensing, Llc Software deployment in large-scale networked systems
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090113408A1 (en) * 2007-10-30 2009-04-30 Telefonaktiebolaget Lm Ericsson (Publ) System synchronization in cluster
US9015704B2 (en) 2008-03-24 2015-04-21 International Business Machines Corporation Context agent injection using virtual machine introspection
KR101398935B1 (ko) * 2008-04-29 2014-06-27 삼성전자주식회사 가상화를 이용한 시스템 복원 방법 및 장치
KR101371270B1 (ko) * 2008-07-17 2014-03-07 엘에스아이 코포레이션 가상화된 서버 플랫폼 상에서 부팅가능한 가상 스토리지 설비를 설치하는 시스템들 및 방법들
EP2344950A4 (en) * 2008-10-08 2012-06-06 Hewlett Packard Development Co FIRMWARE STORAGE MEDIUM WITH ADJUSTED IMAGE
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8639658B1 (en) * 2010-04-21 2014-01-28 Symantec Corporation Cache management for file systems supporting shared blocks
US9684712B1 (en) * 2010-09-28 2017-06-20 EMC IP Holding Company LLC Analyzing tenant-specific data
US9237188B1 (en) * 2012-05-21 2016-01-12 Amazon Technologies, Inc. Virtual machine based content processing
US9110670B2 (en) 2012-10-19 2015-08-18 Microsoft Technology Licensing, Llc Energy management by dynamic functionality partitioning
US9417925B2 (en) * 2012-10-19 2016-08-16 Microsoft Technology Licensing, Llc Dynamic functionality partitioning
CN103116569A (zh) * 2012-10-31 2013-05-22 劲智数位科技股份有限公司 操作系统环境调整的丛集式计算机系统
US20140122670A1 (en) * 2012-11-01 2014-05-01 Intigua Inc. System and method for automated system management
US9167002B2 (en) * 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
FR3011151B1 (fr) * 2013-09-20 2017-01-13 Bull Sas Procede de configuration d'au moins un nœud d'une grappe d'ordinateurs
RU2600538C2 (ru) * 2014-04-08 2016-10-20 Интел Корпорейшн Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде
RU2580425C1 (ru) * 2014-11-28 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ структуризации хранящихся объектов в связи с пользователем на сервере и сервер
US10387011B2 (en) 2015-05-08 2019-08-20 Rockwell Automation Technologies, Inc. System and method to capture and document cross-product compatibility status information for industrial devices
US9762454B2 (en) * 2015-05-08 2017-09-12 Rockwell Automation Technologies, Inc. System and method to capture and document cross-product compatibility status information for industrial devices
KR101644958B1 (ko) * 2015-12-23 2016-08-12 한국과학기술정보연구원 다중 사용자 맞춤형 컴퓨팅 자원 제공을 위한 클러스터 구축 방법 및 클러스터 구축 장치
US10237335B2 (en) * 2016-06-15 2019-03-19 Advanced Micro Devices, Inc. Managing cluster-level performance variability without a centralized controller
US10289785B1 (en) * 2016-09-15 2019-05-14 Xilinx, Inc. Platform architecture creation for a system-on-chip
US10387165B2 (en) 2016-10-25 2019-08-20 International Business Machines Corporation Choosing optimum nodes to boot in multi-node server
CN107147532B (zh) * 2017-05-27 2020-03-06 杭州迪普科技股份有限公司 一种分布式设备的虚拟化方法和装置
US20190004816A1 (en) * 2017-06-29 2019-01-03 Dell Products L.P. Systems and methods for heterogeneous system on a chip servers
US11237841B2 (en) 2019-08-21 2022-02-01 Micron Technology, Inc. Configurable media structure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024192A (ja) * 2000-07-07 2002-01-25 Hitachi Ltd 計算機資源分割装置および資源分割方法
US20030005276A1 (en) * 2001-06-28 2003-01-02 Ibm Corporation Method and system for booting of a target device in a network environment based on automatic client discovery and scan
WO2003005192A1 (en) * 2001-07-04 2003-01-16 Idékapital Ab A system and a method for selecting a preconfigured operating system for a server
US20030097487A1 (en) * 2001-11-20 2003-05-22 Rietze Paul D. Common boot environment for a modular server system

Family Cites Families (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885770A (en) * 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
US4868818A (en) * 1987-10-29 1989-09-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault tolerant hypercube computer system architecture
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5301104A (en) * 1990-08-07 1994-04-05 Honeywell Inc. Method for allocating processing elements interconnected in a hypercube topology
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
JPH05274178A (ja) 1992-03-25 1993-10-22 Fujitsu Ltd 並列計算機デバッグ結果表示処理方式
CA2106280C (en) * 1992-09-30 2000-01-18 Yennun Huang Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance
US5781715A (en) * 1992-10-13 1998-07-14 International Business Machines Corporation Fault-tolerant bridge/router with a distributed switch-over mechanism
US5513313A (en) * 1993-01-19 1996-04-30 International Business Machines Corporation Method for generating hierarchical fault-tolerant mesh architectures
US5450578A (en) * 1993-12-23 1995-09-12 Unisys Corporation Method and apparatus for automatically routing around faults within an interconnect system
JP3541212B2 (ja) 1993-12-28 2004-07-07 富士通株式会社 プロセッサ割当て装置
US6408402B1 (en) 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
JP3993634B2 (ja) * 1994-03-22 2007-10-17 ハイパーチップ インコーポレイテッド システムオペレータとの直接通信のための手段を有する完全集積システムをサポートする効率的なダイレクトセル交換フォールトトレラントアーキテクチャ
JPH08227356A (ja) 1994-12-21 1996-09-03 Tec Corp データ処理装置
US5682491A (en) * 1994-12-29 1997-10-28 International Business Machines Corporation Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US5603044A (en) * 1995-02-08 1997-02-11 International Business Machines Corporation Interconnection network for a multi-nodal data processing system which exhibits incremental scalability
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US6006242A (en) * 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US6393581B1 (en) * 1996-08-29 2002-05-21 Cornell Research Foundation, Inc. Reliable time delay-constrained cluster computing
JPH10116261A (ja) 1996-10-14 1998-05-06 Hitachi Ltd 並列計算機システムのチェックポイントリスタート方法
KR100207598B1 (ko) 1997-01-27 1999-07-15 윤종용 상호연결망으로서 파이브 채널을 사용한 클러스터시스템
US5933631A (en) * 1997-03-17 1999-08-03 International Business Machines Corporation Dynamic boot filesystem selection
US6029246A (en) * 1997-03-31 2000-02-22 Symantec Corporation Network distributed system for updating locally secured objects in client machines
US5991877A (en) * 1997-04-03 1999-11-23 Lockheed Martin Corporation Object-oriented trusted application framework
US6088330A (en) * 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6167502A (en) 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6633945B1 (en) * 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6477663B1 (en) * 1998-04-09 2002-11-05 Compaq Computer Corporation Method and apparatus for providing process pair protection for complex applications
US6189100B1 (en) * 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6195760B1 (en) 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6683696B1 (en) * 1998-10-27 2004-01-27 Hewlett-Packard Development Company, L.P. Filter based data imaging method for an image forming device
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6496941B1 (en) 1998-12-29 2002-12-17 At&T Corp. Network disaster recovery and analysis tool
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6408326B1 (en) * 1999-04-20 2002-06-18 Microsoft Corporation Method and system for applying a policy to binary data
US6718486B1 (en) * 2000-01-26 2004-04-06 David E. Lovejoy Fault monitor for restarting failed instances of the fault monitor
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6741983B1 (en) * 1999-09-28 2004-05-25 John D. Birdwell Method of indexed storage and retrieval of multidimensional information
US6629266B1 (en) * 1999-11-17 2003-09-30 International Business Machines Corporation Method and system for transparent symptom-based selective software rejuvenation
DE19957806A1 (de) * 1999-12-01 2001-06-07 Bsh Bosch Siemens Hausgeraete Wärmeisolierende Wandung
US6748437B1 (en) * 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method for creating forwarding lists for cluster networking
JP3329804B2 (ja) * 2000-02-21 2002-09-30 株式会社東芝 監視制御装置
US6460149B1 (en) * 2000-03-03 2002-10-01 International Business Machines Corporation Suicide among well-mannered cluster nodes experiencing heartbeat failure
AU2001287250A1 (en) 2000-03-22 2001-10-03 Yotta Yotta, Inc. Method and system for providing multimedia information on demand over wide area networks
US6785713B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6658504B1 (en) 2000-05-16 2003-12-02 Eurologic Systems Storage apparatus
US20040034794A1 (en) * 2000-05-28 2004-02-19 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
JP2002108839A (ja) 2000-09-28 2002-04-12 Mitsubishi Electric Corp 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
KR20010000624A (ko) 2000-10-10 2001-01-05 최은석 고성능 컴퓨터를 이용한 연산기능 제공방법
US7428583B1 (en) * 2000-10-31 2008-09-23 Intel Corporation Network policy distribution
US6748737B2 (en) 2000-11-17 2004-06-15 Patrick Alan Lafferty Regenerative energy storage and conversion system
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6735660B1 (en) * 2000-12-21 2004-05-11 International Business Machines Corporation Sideband signal transmission between host and input/output adapter
EP1370966B1 (en) 2001-02-24 2010-08-25 International Business Machines Corporation A novel massively parrallel supercomputer
US7107337B2 (en) * 2001-06-07 2006-09-12 Emc Corporation Data storage system with integrated switching
US6952766B2 (en) * 2001-03-15 2005-10-04 International Business Machines Corporation Automated node restart in clustered computer system
US7028228B1 (en) * 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7231430B2 (en) * 2001-04-20 2007-06-12 Egenera, Inc. Reconfigurable, virtual processing system, cluster, network and method
US6675264B2 (en) * 2001-05-07 2004-01-06 International Business Machines Corporation Method and apparatus for improving write performance in a cluster-based file system
WO2002095580A1 (en) 2001-05-23 2002-11-28 Tekelec Methods and systems for automatically configuring network monitoring system
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US8010558B2 (en) * 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US20030005039A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation End node partitioning using local identifiers
US8032625B2 (en) * 2001-06-29 2011-10-04 International Business Machines Corporation Method and system for a network management framework with redundant failover methodology
GB0116310D0 (en) 2001-07-04 2001-08-29 New Transducers Ltd Contact sensitive device
US7065764B1 (en) * 2001-07-20 2006-06-20 Netrendered, Inc. Dynamically allocated cluster system
US7016299B2 (en) * 2001-07-27 2006-03-21 International Business Machines Corporation Network node failover using path rerouting by manager component or switch port remapping
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
JP2003099412A (ja) 2001-09-21 2003-04-04 Hitachi Eng Co Ltd 超並列コンピュータ
US7073053B1 (en) * 2001-10-11 2006-07-04 Cisco Technology, Inc. Method and apparatus for a boot progression scheme for reliably initializing a system
GB2381713A (en) 2001-11-01 2003-05-07 3Com Corp Failover mechanism involving blocking of access of a malfunctioning server and continuing monitoring to enable unblocking of access if server recovers
EP1318453A1 (en) * 2001-12-07 2003-06-11 Hewlett-Packard Company Scheduling system, method and apparatus for a cluster
CA2365729A1 (en) * 2001-12-20 2003-06-20 Platform Computing (Barbados) Inc. Topology aware scheduling for a multiprocessor system
US7046687B1 (en) * 2002-01-16 2006-05-16 Tau Networks Configurable virtual output queues in a scalable switching system
US6918063B2 (en) * 2002-02-04 2005-07-12 International Business Machines Corporation System and method for fault tolerance in multi-node system
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US7640547B2 (en) * 2002-02-08 2009-12-29 Jpmorgan Chase & Co. System and method for allocating computing resources of a distributed computing system
DE10214067B4 (de) * 2002-03-28 2010-01-21 Advanced Micro Devices, Inc., Sunnyvale Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
US7043539B1 (en) * 2002-03-29 2006-05-09 Terraspring, Inc. Generating a description of a configuration for a virtual network system
US7139798B2 (en) * 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
JP3932994B2 (ja) 2002-06-25 2007-06-20 株式会社日立製作所 サーバ引継システムおよびその方法
DE10234992A1 (de) * 2002-07-31 2004-02-19 Advanced Micro Devices, Inc., Sunnyvale Retry-Mechanismus für blockierende Schnittstellen
US7765299B2 (en) 2002-09-16 2010-07-27 Hewlett-Packard Development Company, L.P. Dynamic adaptive server provisioning for blade architectures
US7127597B2 (en) * 2002-09-24 2006-10-24 Novell, Inc. Mechanism for controlling boot decisions from a network policy directory based on client profile information
US20040210656A1 (en) * 2003-04-16 2004-10-21 Silicon Graphics, Inc. Failsafe operation of storage area network
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
US7007125B2 (en) 2003-06-24 2006-02-28 International Business Machines Corporation Pass through circuit for reduced memory latency in a multiprocessor system
US7379983B2 (en) * 2003-06-25 2008-05-27 International Business Machines Corporation Merging scalable nodes into single-partition merged system using service processors of nodes
US7644153B2 (en) * 2003-07-31 2010-01-05 Hewlett-Packard Development Company, L.P. Resource allocation management in interactive grid computing systems
WO2005036405A1 (en) * 2003-10-08 2005-04-21 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US7207039B2 (en) * 2003-12-24 2007-04-17 Intel Corporation Secure booting and provisioning
US7685597B1 (en) * 2004-02-20 2010-03-23 Sun Microsystems, Inc. System and method for management of characterized resources
US8484348B2 (en) * 2004-03-05 2013-07-09 Rockstar Consortium Us Lp Method and apparatus for facilitating fulfillment of web-service requests on a communication network
US20050256942A1 (en) 2004-03-24 2005-11-17 Mccardle William M Cluster management system and method
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) * 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US7711977B2 (en) 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
JP2007141305A (ja) 2005-11-16 2007-06-07 Hitachi Global Storage Technologies Netherlands Bv 磁気ディスク装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024192A (ja) * 2000-07-07 2002-01-25 Hitachi Ltd 計算機資源分割装置および資源分割方法
US20030005276A1 (en) * 2001-06-28 2003-01-02 Ibm Corporation Method and system for booting of a target device in a network environment based on automatic client discovery and scan
WO2003005192A1 (en) * 2001-07-04 2003-01-16 Idékapital Ab A system and a method for selecting a preconfigured operating system for a server
US20030097487A1 (en) * 2001-11-20 2003-05-22 Rietze Paul D. Common boot environment for a modular server system

Also Published As

Publication number Publication date
JP2005302039A (ja) 2005-10-27
IL178607A0 (en) 2007-02-11
IL178607A (en) 2011-10-31
US20050234846A1 (en) 2005-10-20
DE602005022249D1 (de) 2010-08-26
EP1594057B1 (en) 2010-07-14
CA2503773C (en) 2013-06-04
ATE474265T1 (de) 2010-07-15
TW200614001A (en) 2006-05-01
CN100447746C (zh) 2008-12-31
US8190714B2 (en) 2012-05-29
CN1700178A (zh) 2005-11-23
TWI287713B (en) 2007-10-01
CA2503773A1 (en) 2005-10-15
HK1078957A1 (en) 2006-03-24
MY143931A (en) 2011-07-29
KR20060134211A (ko) 2006-12-27
EP1594057A1 (en) 2005-11-09
WO2005106655A1 (en) 2005-11-10

Similar Documents

Publication Publication Date Title
KR101173712B1 (ko) 동적 부트 이미지들 및 가상 디스크를 사용하는 컴퓨터클러스터 가상화용 시스템 및 방법
US11687422B2 (en) Server clustering in a computing-on-demand system
US11194483B1 (en) Enriching a storage provider with container orchestrator metadata in a virtualized computing system
US8583770B2 (en) System and method for creating and managing virtual services
US7725559B2 (en) Virtual data center that allocates and manages system resources across multiple nodes
US9104461B2 (en) Hypervisor-based management and migration of services executing within virtual environments based on service dependencies and hardware requirements
US7941510B1 (en) Management of virtual and physical servers using central console
US7657536B2 (en) Application of resource-dependent policies to managed resources in a distributed computing system
US20080163171A1 (en) Virtual resource templates
US20070061441A1 (en) Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US20070067366A1 (en) Scalable partition memory mapping system
US20070124573A1 (en) Method for rapid startup of a computer system
US11941406B2 (en) Infrastructure (HCI) cluster using centralized workflows
GB2405006A (en) Managing replacement of computing resources
US7668938B1 (en) Method and system for dynamically purposing a computing device
US20080263183A1 (en) Management of Kernel configurations for nodes in a clustered system
US20230244591A1 (en) Monitoring status of network management agents in container cluster
US20210067599A1 (en) Cloud resource marketplace
Platform Administering Platform LSF

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 8