KR20070085283A - 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법 - Google Patents

스토리지 관리를 용이하게 하는 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR20070085283A
KR20070085283A KR1020077009207A KR20077009207A KR20070085283A KR 20070085283 A KR20070085283 A KR 20070085283A KR 1020077009207 A KR1020077009207 A KR 1020077009207A KR 20077009207 A KR20077009207 A KR 20077009207A KR 20070085283 A KR20070085283 A KR 20070085283A
Authority
KR
South Korea
Prior art keywords
management
peer
logical
logical entity
lpar
Prior art date
Application number
KR1020077009207A
Other languages
English (en)
Inventor
존 에드워드 힉맨
케사바프라사드 란가나단
마이클 안소니 슈미트
건디 스티븐 리차드 반
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20070085283A publication Critical patent/KR20070085283A/ko

Links

Images

Classifications

    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

스토리지 자원을 조직화함으로써 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법이 제공된다. 상기 장치는 피어 투 피어 도메인에서 서로 상호 작용하도록 제1 논리 엔티티 및 제2 논리 엔티티를 구성하여 각 논리 엔티티가 다른 논리 엔티티의 동작을 미러링하고 다른 논리 엔티티와 직접 통신하게 하는 구성 모듈을 포함한다. 정보 모듈은 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 관리 노드에 노출시켜서 로컬 자원들이 관리 노드로부터 관리 명령의 목표 자원으로서 이용될 수 있게 한다. 어드레스 모듈은 관리 노드로부터의 관리 명령을 관리 명령의 유형에 의해 결정된 대로 제1 논리 엔티티의 로컬 자원 및/또는 제2 논리 엔티티의 로컬 자원을 향하여 선택적으로 어드레스한다.

Description

스토리지 관리를 용이하게 하는 장치, 시스템 및 방법{APPARATUS, SYSTEM, AND METHOD FOR FACILITATING STORAGE MANAGEMENT}
본 발명은 데이터 스토리지 컴퓨터 시스템에 관한 것이다. 구체적으로, 본 발명은 스토리지 자원들을 조직화함으로써 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법에 관한 것이다.
컴퓨터와 정보 기술은 진보를 계속하면서 그 능력과 복잡도가 증가하고 있다. 특히, 데이터 스토리지 시스템은 물리적 데이터 스토리지 시스템 및 그 하드웨어, 소프트웨어 및 각종 다른 요소들의 신뢰성, 가용성(availability) 및 편리성(serviceability)에 대한 점증하는 수요를 충족시키도록 발전을 계속하고 있다. 데이터 스토리지 시스템은 가끔 중요 핵심 데이터(mission critical data)를 취급한다. 결과적으로, 데이터 스토리지 시스템은 온라인을 유지하고 24/7 스케쥴에 따라 이용가능한 것이어야 한다. 또한, 데이터 스토리지 시스템은 호스트에 대한 데이터 입력/출력(I/O)을 취급하는 신뢰성 및 가용성을 크게 해치지 않고 정전 및 서비스 중단, 하드웨어 및 소프트웨어 고장, 및 통상적인 시스템 유지까지 취급할 수 있어야 한다.
도 1은 종래의 데이터 스토리지 시스템(100)을 도시한 것이다. 이 시스 템(100)은 SAN(Storage Area Network)(106)과 같은 네트워크(106)에 의해 스토리지 서브시스템(104)에 접속된 하나 이상의 호스트(102)를 포함한다. 호스트(102)는 데이터 I/O를 위해 스트로지 서브시스템(104)과 통신한다. 호스트(102)는 당업계에 잘 알려져 있고, 데이터 I/O를 위해 스트로지 서브시스템(104)과 통신하도록 구성된 임의의 컴퓨터 시스템을 포함한다.
본 발명에서 사용하기에 적합한 스트로지 서브시스템(104)의 일 예는 뉴욕주 아몽크에 소재하는 인터내셔널 비즈니스 머신즈 코포레이션(IBM)으로부터 입수가능한 IBM 엔터프라이즈 스토리지 서버(IBM Enterprise Storage Server®)이다. 신뢰성, 가용성 및 용장성(redundancy)을 제공하기 위해, 스트로지 서브시스템(104)은 별도의 채널을 통해 SAN(106)에 접속되는 복수의 호스트 어댑터(도시 생략)를 포함한다. 호스트 어댑터(108)는 화이버 채널(Fibre Channel)과 같은 고속 통신 프로토콜을 지원한다. 물론, 비제한적인 예로서 iSCSI(Internet Small Computer Interface), FCIP(Fibre Channel over IP), ESCON(Enterprise Systems Connection), 인피니밴드(InfiniBand) 및 이더넷을 포함하는 다른 프로토콜을 지원하기 위해 각종의 다른 호스트 어댑터(108)를 사용할 수 있다. 스트로지 서브시스템(104)은 비제한적인 예로서 직접 액세스 스토리지 장치, 테이프 스토리지 장치 등과 같은 하나 이상의 대용량 스토리지 장치(108)를 이용하여 데이터를 저장 및 검색한다.
하드웨어의 가격이 내려감에 따라, 데이터 스토리지 시스템(100)은 예비 하드웨어(redundant hardware) 및 하드웨어 서브시스템을 포함시킴으로써 더욱 복잡 해지고 있다. 가끔, 하드웨어 성분들은 고장을 일으키기 쉽다. 따라서, 스트로지 서브시스템(104)은 하나 이상의 프로세서, 전자 메모리 장치, 호스트 어댑터 등을 포함할 수 있다.
전형적으로, 예비 하드웨어의 가장 생산적인 사용을 위하여, 하드웨어는 복수의 논리적 노드(110) 사이에서 특효적으로 할당되거나 공유된다. 논리적 노드(110)는 각각의 논리적 노드(110)가 다른 논리적 노드(110)로부터 독립하여 운영 체제(OS)(112)를 실행할 수 있도록 스트로지 서브시스템(104)의 컴퓨팅 하드웨어 자원(resource)의 할당을 표시한다. 또한, 각각의 논리적 노드(110)는 독립 세트의 애플리케이션(114)을 동작시킨다. 논리적 노드(110)는 호스트(102)에 별도의 물리적 컴퓨팅 시스템으로서 나타난다.
하이퍼바이저(PHYP)(116)라고도 알려져 있는 코디네이션 모듈(116)은 2개 이상의 규정된 논리적 노드(110) 사이에서 전용 및 공유 하드웨어 자원의 사용을 조정한다. PHYP(116)는 전용 프로세서에서 펌웨어로 구현될 수 있다. 전형적으로, 논리적 노드(110)는 메모리를 공유한다. PHYP(116)는 논리적 노드(110)가 메모리의 부적당한 섹션에 액세스하지 않도록 보장한다.
스트로지 서브시스템(104)을 복수의 논리적 노드(110)로 분리하면 더 높은 신뢰성을 얻을 수 있다. 만일 하나의 논리적 노드(110)가 소프트웨어 또는 하드웨어 문제로 인하여 폭주하거나 고장이면, 하나 이상의 다른 논리적 노드(110)를 사용하여 폭주된 논리적 노드(110)에 의해 수행되었던 태스크를 계속하거나 재시작할 수 있다.
복수의 논리적 노드(110)의 관리, 제어 및 서비스가 과제(challenge)이다. 임의의 관리, 제어, 유지, 감시, 문제 해결 또는 서비스 동작은 스트로지 서브시스템(104)의 24/7 가용성이 손상되지 않도록 일정한 I/O 처리로 조정되어야 한다. 전형적으로, 관리 콘솔(118)은 I/O 채널로부터 분리된 제어 통신(이 명세서에서는 "대역외 통신"이라고 부름)을 통해 스트로지 서브시스템(104)을 관리한다.
스트로지 서브시스템(104)은 대역외 통신을 위하여 이더넷 카드 등의 네트워크 어댑터를 포함할 수 있다. 관리 콘솔(118)은 별도의 OS 및 관리 애플리케이션의 세트를 실행하는 워크스테이션과 같은 별도의 컴퓨터 시스템을 포함할 수 있다. 관리 콘솔(118)은 관리자가 논리적 노드(110)를 시작(생성)하고 중지하고 구성하기 위해 PHYP(116)와 인터페이스할 수 있게 한다.
불행하게도, 관리 콘솔(118)의 관리 능력은 심각하게 제한된다. 특히, 논리적 노드(110)는 완전하게 독립적이고 비상관적이다. 따라서, 복수의 논리적 노드(110)를 관리하기 위해, 예를 들면 스토리지 스페이스 쿼터(quota)를 설정하기 위해, 관리자는 각 노드(110)에 별도로 로그인하여 변경을 수행하고, 그 다음에 로그아웃해야 한다. 이 처리는 매우 귀찮고, 동작에 수반되는 논리적 노드(110)의 수가 증가함에 따라 에러를 야기할 수 있다. 현재로서는 2개 이상의 논리적 노드(110)를 동시에 관리하는 방법이 없다. 노드(110)는 한번에 하나씩 순차적으로 관리된다.
신뢰성 및 가용성의 장점 때문에, 각 노드(110)가 다른 노드의 모든 동작을 능동적으로 반영하도록 2개 이상의 논리적 노드(110)를 관련시키는 것이 바람직하 다. 이 방법에서, 하나의 노드(110)가 고장/폭주하면, 다른 노드가 이어받아서 I/O 요구의 서비스를 계속할 수 있다. 관련된 논리적 노드(110)를 단일 엔티티로서 함께, 또는 단일 관리 노드로부터 필요에 따라 개별적으로 관리하는 것이 또한 바람직하다. 그러나, 현재로서는 논리적 노드(110)들 간에 상관성이 없고, 하나 이상의 논리적 노드(110)를 한번에 동시 관리하는 방법이 없다.
관리 및 서비스 변경의 반복성은 노드(110)가 고도로 균일하고 구성에 있어서 이름처럼 미세한 속성만큼 차이가 있는 스트로지 서브시스템(104)에서 악화된다. 스토리지 설비는 또한 하나 이상의 공통으로 구성된 노드(110)에 폴리시(policy), 속성 또는 제약의 각종 조합을 적용하고 싶어할 수 있다. 현재로서는 그렇게 하기 위해, 폴리시들이 구현되고 유지될 수 있도록 관리자가 노드(110)들 간의 유사성 및 차이점을 별도로 추적해야 한다. 노드(110)의 서브세트에 적용되는 임의의 폴리시는 구현 및 유지하기가 어렵고 시간 소모적이다.
노드(110)들이 관련되어 있다 하더라도, 관리자는 각 노드(110)에 별도로 로그인해야 하고, 관리 동작을 완성하기 위해 다른 관리 콘솔(118) 머신으로 물리적으로 이동해야 할 것이다. 관련된 노드(110)들은 용장성의 I/O 동작을 제공할 수 있다. 그러나, 관련된 노드(110)들의 관리는 도전 사항이고 시간 소모적이다. 각각 개별적으로 관리되어야 하는 많은 수의 노드(110)들은 관리자 효율성을 제한한다.
그러므로, 본 발명은 전술한 종래 기술의 단점들을 모두 또는 많이 극복하는 단일 관리 모듈을 통하여 논리적 노드의 관리를 용이하게 하는 장치, 시스템 및 방법을 제공한다.
본 발명의 일 태양에 따른 장치는 구성 모듈, 정보 모듈 및 어드레스 모듈을 포함한다. 구성 모듈은 피어 투 피어 도메인(peer-to-peer domain)에서 서로 상호 작용하는 제1 논리 엔티티 및 제2 논리 엔티티를 구성하여, 각각의 논리 엔티티가 다른 논리 엔티티의 동작을 반영하고 다른 논리 엔티티와 직접 통신 관계에 있게 한다.
피어 투 피어 도메인은 하나의 엔티티에 의해 수행되는 I/O 및 관리 동작이 다른 엔티티에 의해 자동으로 수행되도록 관련된 2개 이상의 논리 엔티티를 포함할 수 있다. 2개 이상의 논리 엔티티가 관련되어 각각의 논리 엔티티에 전용되는 하드웨어의 용장성을 제공할 수 있다. 논리 엔티티는 논리적 노드, 가상 머신, 논리적 파티션(LPAR), 스토리지 설비 이미지(SFI), 스토리지 애플리케이션 이미지(SAI) 등에 대응할 수 있다. 피어 투 피어 도메인의 논리 엔티티는 각각 서로 감시하고 관리하기 위한 실질적으로 동일한 권리를 포함할 수 있다. 일 실시예에서, 피어 투 피어 도메인의 제1 논리 엔티티 및 제2 논리 엔티티는 논리 엔티티 중 하나의 고장에 응답하여 다른 논리 엔티티의 동작을 이어받도록 구성된다. 동작적 논리 엔티티는 고장인 논리 엔티티가 오프라인되었기 때문에 한 세트의 변화들을 로그(log)하고, 온라인 상태가 되는 고장난 논리 엔티티에 응답하여 변화들의 세트를 복원할 수 있다.
정보 모듈은 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원들을 관리 노드에 노출시킨다. 로컬 자원들은 제1 논리 엔티티 및 제2 논리 엔티티의 로컬 자원들이 관리 노드로부터의 관리 명령의 목표 자원(target resource)으로서 이용될 수 있도록 노출된다. 정보 모듈은 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원들을 관리 노드에 방송(broadcast)할 수 있다. 대안적으로, 정보 모듈은 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원들을, 관리 노드에 액세스가능한 중앙 리포지토리(repository)에 등록할 수 있다.
관리 노드는 제1 논리 엔티티 및 제2 논리 엔티티와 관리 관계에 있을 수 있다. 관리 관계는 관리 노드가 논리 엔티티를 관리 및 감시할 수 있게 하는 관리 도메인을 정의한다. 그러나, 논리 엔티티는 관리 노드를 관리 또는 감시할 수 없다.
특정 실시예에서, 관리 도메인은, 서로 피어 투 피어 도메인에 있는 제1 세트의 논리 엔티티, 및 서로 피어 투 피어 도메인에 있는 제2 세트의 논리 엔티티를 포함한다. 각 논리 엔티티의 로컬 자원은 관리 명령의 목표 자원으로서 사용하기 위해 관리 노드에 노출될 수 있다. 또한, 각 세트의 논리 엔티티는 다른 세트의 논리 엔티티와 통신 불가능할 수 있다. 관리 명령은 양쪽 세트, 하나의 세트, 또는 어느 하나의 세트 또는 양쪽 세트의 개별적 논리 엔티티에 목표정해질 수 있다.
다른 실시예에서, 관리 도메인은 관리 피어 투 피어 도메인의 관리 노드와 상호 작용하도록 구성된 제2 관리 노드를 포함한다. 관리 피어 투 피어 도메인은 어느 하나의 관리 노드가 관리 노드들의 관리 동작을 감시하고 관리 노드 중의 하나의 고장에 응답하여 그 관리 동작을 이어받을 수 있게 한다.
특정 실시예에서, 동기화 모듈은 제1 논리 엔티티 또는 제2 논리 엔티티에 의해 로컬 자원에 대해 행하여진 수정(modification)에 응답하여 제1 논리 엔티티 및 제2 논리 엔티티의 로컬 자원들을 나타내는 자원 정의(resource definition)를 동기화시킨다.
제1 논리 엔티티 및 제2 논리 엔티티는 공통 하드웨어 플랫폼의 논리적 파티션(LPAR)을 포함할 수 있다. LPAR은 각각의 LPAR이 공통 하드웨어 플랫폼의 분리된 중앙 전자 콤플렉스(CEC)에서 실행하도록 구성될 수 있다. 제1 논리 엔티티 및 제2 논리 엔티티는 독립적으로 관리할 수 있는 스토리지 설비 이미지(SFI)를 정의할 수 있다. 관리 모듈은 관리 도메인 내의 복수의 SFI에게 관리 명령을 보내도록 구성될 수 있다. 대안적으로, 또는 추가적으로, 논리 엔티티의 쌍은 독립적으로 관리할 수 있는 스토리지 애플리케이션 이미지(SAI)에서 정의된다.
본 발명의 신호 운반 매체는 스토리지 자원들을 조직화함으로써 스토리지 관리를 용이하게 하는 동작을 수행하도록 구성된 기계 판독가능 명령어를 포함하는 것으로 또한 제시된다. 일 실시예에서, 동작은 피어 투 피어 도메인에서 서로 상호작용하도록 제1 논리 엔티티 및 제2 논리 엔티티를 구성하여, 각 논리 엔티티가 다른 논리 엔티티의 동작을 반영하고 다른 논리 엔티티와 직접 통신 관계에 있게 하는 동작을 포함한다. 다른 동작은 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원들을 관리 노드에 노출시켜서 제1 논리 엔티티 및 제2 논리 엔티티의 로컬 자원들이 관리 노드로부터의 관리 명령의 목표 자원으로서 이용될 수 있게 한다. 마지막으로, 동작은 관리 노드로부터의 관리 명령을 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 향하여 선택적으로 어드레스하도록 실행된다.
본 발명은 장치 및 방법과 관련하여 위에서 설명한 구성 요소 및 단계들과 실질적으로 동일한 기능을 포함하는 시스템, 방법 및 장치로서 구성된 실시예들을 또한 포함한다.
따라서, 본 발명의 실시예에서는 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법이 제공된다. 바람직하게, 이러한 장치, 시스템 및 방법은 2개 이상의 관련된 노드들을 단일 엔티티로서, 또는 필요에 따라 개별적으로 자동으로 관리한다. 유사하게, 상기 장치, 시스템 및 방법은 그룹들 간에 보안이 유지되지만 다른 폴리시가 쉽게 구현되고 관리될 수 있도록 관련 노드 그룹들의 관리를 지원한다. 또한 상기 장치, 시스템 및 방법은 노드의 다른 그룹핑을 위해 예를 들면 스토리지 서브시스템과 같은 복수의 하드웨어 플랫폼의 관리를 지원한다. 상기 장치, 시스템 및 방법은 용장성의 관리 노드들이 복수의 상관성 및/또는 비상관성 노드들을 능동적으로 관리하게 한다.
이제, 본 발명의 실시예들을 첨부 도면을 참조하여 단지 예로서 설명한다.
도 1은 복수의 비상관성 독립 논리 노드를 관리하는 종래의 시스템을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따라서 스토리지 자원들을 조직화함으로써 스토리지 관리를 용이하게 하는 엔티티의 조직화를 나타내는 논리 블록도이다.
도 3은 본 발명의 임의의 실시예에 따라서 스토리지 자원들을 조직화함으로써 스토리지 관리를 용이하게 하는 장치의 일 실시예를 나타내는 논리 블록도이다.
도 4는 본 발명의 특정 실시예를 구현하기에 적합한 대표적 시스템을 나타내는 개략적 블록도이다.
도 5는 본 발명의 일 실시예에 따른 도 4에 도시된 시스템 구성 요소들을 이용하는 엔티티의 논리적 표시를 나타내는 개략적 블록도이다.
도 6은 스토리지 자원들을 조직화함으로써 스토리지 관리를 용이하게 하는 방법을 나타내는 개략적 흐름도이다.
본 발명의 실시예들은 첨부 도면을 참조함으로써 가장 잘 이해될 수 있을 것이며, 도면 전체에서 동일한 부분들은 동일한 기호로 표시하였다. 이하의 설명은 단지 예를 든 것에 불과하고, 여기에서 청구하는 본 발명과 일치하는 장치, 시스템 및 방법의 특정의 선택된 실시예를 나타낼 뿐이다.
도 2는 스토리지 관리를 용이하게 하는 관리 구조(200)의 논리적 표시를 나타낸 것이다. 특정 실시예에서, 제1 논리 엔티티(202) 및 제2 논리 엔티티(204)는 피어 투 피어 관계(206)를 공유한다. 여기에서 사용하는 "논리 엔티티"는 관계를 공유하는 2개 이상의 사물(논리적 또는 물리적)을 나타내기 위한 임의의 논리적 구성을 의미한다. 따라서, 이 명세서 전반에 걸쳐 사용되는 논리 엔티티는 논리적 노드, 가상 머신, 논리적 파티션(LPAR), 스토리지 설비 이미지(SFI, 뒤에서 더 자세히 설명됨), 스토리지 애플리케이션 이미지(SAI, 뒤에서 더 자세히 설명됨) 등을 포함할 수 있다.
피어 투 피어 관계(206)에 의해 관련된 한 쌍의 논리 엔티티(202, 204)가 유 리하다. 일 실시예에서, 논리 엔티티(202, 204)는 호스트(102)에 액세스가능한 복수의 논리 스토리지 장치를 정의하는 스토리지 엔티티로서 사용될 수 있다. 다시 말해서, 스토리지 장치의 저장 공간은 각각의 논리 장치에 할당될 수 있고, 호스트(102)에서 사용하기 위한 논리 스토리지 장치를 나타내도록 구성될 수 있다.
바람직하게, 제1 논리 엔티티(202)는 제2 논리 엔티티(204)와 실질적으로 동일하게 구성된다. 각 논리 엔티티(202, 204)는 만일 하나의 엔티티(202, 204)가 고장이면, 다른 엔티티(202, 204)가 어떠한 중단도 없이 추가의 I/O 통신에 대한 서비스를 계속하도록 I/O 통신에 능동적으로 서비스할 수 있다. 논리 엔티티(202, 204)는 서로에 대하여 "핫"(능동) 백업으로서 사용된다. 하나의 논리 엔티티(202, 204)가 고장일 때 하나의 논리 엔티티(202, 204) 또는 다른 논리 엔티티를 사용함에 따른 지연은 없다. 하나의 논리 엔티티(202, 204)의 고장이 호스트(102)에 의해 통지되지 않는 것이 바람직하기 때문에, 논리 엔티티(202, 204)는 동일한 크기, 매개변수 및 다른 속성을 갖도록 구성된다.
유사하게 구성된 논리 엔티티(202, 204)는 엔티티(202, 204)가 다른 엔티티(202, 204)와 그 구성에 있어서 동기된 채 유지되도록 동일한 명령을 사용하여 관리되어야 한다. 본 발명은 논리 엔티티(202, 204)를 피어 투 피어 도메인(208)으로 조직한다. 피어 투 피어 도메인(208)은 하나 이상의 엔티티(202, 204)의 논리적 그룹핑을 나타낸다. 각 논리 엔티티(202, 204)는 하나의 논리 엔티티(202, 204)에서 수행되는 동작이 다른 논리 엔티티(202, 204)에서도 또한 자동으로 수행되도록 다른 논리 엔티티(202, 204)와 통신한다. 제2 피어 투 피어 도메인(210)은 피어 투 피어 관계(206)로 제3 논리 엔티티(212) 및 제4 논리 엔티티(214)를 갖는 것으로 또한 정의될 수 있다. 바람직하게, 제1 피어 투 피어 도메인(208)의 멤버들은 제2 피어 투 피어 도메인(210)의 멤버들과 통신, 감시 또는 제어 관계에 있는 것이 금지되고, 그 반대로도 금지된다. 이제, 피어 투 피어 도메인(208)과 논리 엔티티(202, 204)를 참조하여 설명하겠다. 당업자라면 여기에서의 설명이 피어 투 피어 도메인(210)과 제3 논리 엔티티(212) 및 제4 논리 엔티티(214)에도 또한 쉽게 적용될 수 있다는 것을 알 것이다.
바람직하게, 피어 투 피어 도메인(208)은 피어 투 피어 도메인(208)의 논리 엔티티(202, 204) 간에 직접 통신(어떤 매개물도 없이)을 제공한다. 물론, 피어 투 피어 도메인(208)은 2개 이상의 논리 엔티티(202, 204)를 포함할 수 있다.
피어 투 피어 도메인(208)에 2개 이상의 논리 엔티티(202, 204)를 배치하면, 전형적으로 논리 엔티티(202, 204)로부터 이용할 수 있는 자원에 대한 더 높은 가용성을 제공한다. 만일 하나의 엔티티(202, 204)가 고장이면, 다른 엔티티가 그 동작을 계속한다. 그러나, 위에서 설명한 바와 같이, 논리 엔티티(202, 204)의 종래의 관리는 만일 관리 노드(216)가 각 논리 엔티티(202, 204)에 개별적으로 접속되어 각 논리 엔티티(202, 204)를 관리하도록 요구되면 난제가 될 것이다.
본 발명에서, 피어 투 피어 도메인(208) 그룹핑은 하나의 엔티티(202, 204)에 의해 수행되는 I/O 동작 및 관리 동작이 다른 엔티티(202, 204)에 반영되는 것을 보장한다. 특정 실시예에서, 피어 투 피어 도메인(208)의 제1 멤버(즉, 온라인으로 되는 첫번째 멤버)는 피어 리더가 된다. 관리 노드(216)는 피어 투 피어 도메 인(208)의 임의 멤버와 관리 명령을 통신(218)하거나 또는 피어 리더와 직접 통신할 수 있다. 만일 엔티티(202, 204)가 피어 리더가 아니면, 명령은 피어 리더에게 포워딩될 수 있다. 피어 리더는 명령을 해석한다. 만일 피어 투 피어 도메인(208)의 모든 멤버에게 적용할 수 있으면, 명령은 모든 멤버들 중에서 반영된다. 이 방법으로, 단일 관리 명령이 피어 투 피어 도메인(208)의 단일 엔티티(202, 204)에 대하여 발행될 수 있고, 피어 투 피어 도메인(208)의 모든 멤버에 대하여 변화가 이루어진다. 마찬가지로, 제2 피어 투 피어 도메인(208)도 유사한 방식으로 동작한다.
엔티티(202, 204)를 피어 투 피어 도메인(208)으로 조직화하면 관리자는 서로에 대하여 용장성의 자동 백업으로서 기능하는 스토리지 엔티티와 같은 동일한 엔티티들을 그룹핑할 수 있게 한다. 관리 노드(216)가 필요에 따라 각 엔티티(202, 204)와 통신(218)할 수 있지만, 관리 노드(216)는 단일 관리 명령을 단일 엔티티(208)인 피어 투 피어 도메인(208)에게 직접 보낼 수 있다. 이 방법으로 관리 부담/제경비(overhead)가 감소된다.
관리 노드(216)는 하나 이상의 엔티티(202, 204, 212, 214)의 동작을 감시 및 관리하는 물리적 또는 논리적 컴퓨팅 장치이다. 바람직하게, 관리 노드(216)는 엔티티(202, 204, 212, 214)와 상호 작용하고 엔티티(202, 204, 212, 214)를 감시하기 위해 대역외 통신 채널(218)을 사용한다. 관리 노드(216)와 통신(218)하는 엔티티(202, 204, 212, 214)는 관리 도메인(220)을 구성한다.
관리 도메인(220)은 적어도 하나의 관리 노드(216) 및 적어도 하나의 관리된 엔티티를 포함한다. 관리 노드(216)는 상태 질의 또는 구성 변경과 같은 관리 명령들을 관리된 엔티티(202, 204, 212, 214)에 보낸다.
특정의 감시 및 관리 명령은 관리 노드(216)가 각 엔티티(202, 204)에 대하여 규정된 자원(222, 223)에 액세스할 것을 요구한다. 여기에서 사용하는 "자원"은 논리 엔티티(202, 204, 212, 214)에 물리적으로 할당된, 또는 논리 엔티티(202, 204, 212, 214)에 대하여 논리적으로 규정된 펌웨어, 소프트웨어, 하드웨어 및 논리 엔티티를 지칭하는 것이다. 자원의 예로는 물리적 및 논리적 스토리지 장치, 스토리지 장치 제어기, I/O 장치, I/O 장치 드라이버, 메모리 장치, 메모리 제어기, 프로세서, 대칭형 멀티프로세서 제어기, 펌웨어 장치, 펌웨어 실행가능 코드, 운영 체제, 애플리케이션, 프로세스, 스레드(thread), 운영 체제 서비스 등이 있다.
피어 투 피어 도메인(208)의 각 엔티티(202, 204)의 자원(222, 223)들은 동일한 것일 수 있다. 대안적으로, 도메인(208, 210)에 관계없이 모든 엔티티(202, 204, 212, 214)에 걸친 자원(222, 223)들은 동일한 것일 수도 있고 다른 것일 수도 있다. 도 3과 관련하여 더 자세히 설명되는 바와 같이, 본 발명은 관리 도메인(220)의 모든 엔티티(202, 204, 212, 214)의 자원(222, 223)들을 노출시킨다. 관리 노드(216)는 자원(222, 223)들에 관한 정보를 이용하여, 목표 자원(222, 223)이라고도 부르는 특수 자원(222, 223)에 대한 관리 명령을 목표로 정한다. 전형적으로, 목표 자원은 관리 명령의 주체(subject)이고 전체 엔티티(202)를 포함할 수 있다.
도 2는 관리 도메인(220) 내에서 피어 투 피어 도메인(208, 210)에 엔티 티(202, 204, 212, 214)를 배열한 하나의 잠재적 구성을 도시한 것이다. 예를 들면, 제3 논리 엔티티(212)는 피어 투 피어 도메인(208) 내에 배치되어 제1 엔티티(202) 및 제2 엔티티(204)와 직접적인 피어 투 피어 관계(206)를 가질 수 있다. 엔티티를 관리 도메인(220) 내의 피어 투 피어 도메인(208, 210)에서 그룹핑하는 것은 동종의 논리 엔티티(202, 204)의 쌍들이 단일 엔티티(피어 투 피어 도메인(208))로서 관리될 수 있게 한다. 더 나아가, 조직화는 엔티티(202, 204)의 목적, 기능 또는 지리적 위치를 포함하는 각종 요인에 따라 엔티티(202, 204)를 그룹핑할 수 있다. 피어 투 피어 도메인(208, 210)은 보안성 및 프라이버시 목적으로 분리될 수 있지만, 아직은 단일 관리 노드(216)를 통하여 관리된다.
일 실시예에서, 제1 엔티티(202)와 제2 엔티티(204)는 제1 피어 투 피어 도메인(208)에서 피어 투 피어 관계(206)에 있는 제1 세트의 논리 엔티티(202, 204)를 구성한다. 제3 엔티티(212)와 제4 엔티티(214)는 제2 피어 투 피어 도메인(210)에서 피어 투 피어 관계(206)에 있는 제2 세트의 논리 엔티티(212, 214)를 구성한다. 바람직하게, 제1 세트의 논리 엔티티(202, 204)와 제2 세트의 논리 엔티티(212, 214) 간에는 통신이 없다. 제1 세트의 논리 엔티티(202, 204), 제2 세트의 논리 엔티티(212, 214) 및 관리 노드(216)는 함께 관리 도메인(220)을 형성한다. 제1 세트의 논리 엔티티(202, 204) 및 제2 세트의 논리 엔티티(212, 214)의 자원(222, 223)들은 관리 노드(216)에 노출되어, 관리 노드(216)가 어느 한 세트의 자원(222, 223)에 목표 정해진 관리 명령을 보낼 수 있게 한다.
이 방법으로, 제1 세트의 논리 엔티티(202, 204) 및 제2 세트의 논리 엔티 티(212, 214)는 서로로부터 격리된다. 그러나, 관리 노드(216)는 단일 엔티티로서 상기 세트들 중의 하나에, 또는 개별 엔티티에, 또는 양쪽 세트에 함께 관리 명령을 보낼 수 있다. 이러한 조직화는 특히 2개 이상 엔티티의 세트가 단일 유닛으로서 관리될 수 있기 때문에 융통성을 제공한다. 위에서 설명한 바와 같이, 세트의 피어 리더에 보내진 관리 명령은 필요할 때 세트의 관련 엔티티에 적절히 라우트된다. 관리 노드(216)는 제1 세트에, 또는 제2 세트에, 또는 제1 세트와 제2 세트 둘 다에 명령을 보낼 수 있다.
예를 들어서, 만일 서비스 절차가 제2 세트의 논리 엔티티(212, 214)에서 요구되면, 관리 노드(216)는 대기 행렬된(queued) I/O를 처리하고 양쪽의 논리 엔티티(212, 214)에서 임의의 추가적인 I/O 통신 처리를 자동으로 중지시키는 단일의 수신 거부(quiesce) 스토리지 명령을 발행할 수 있다. 이때, 서비스 절차는 오프라인에서 논리 엔티티(212, 214)를 취하는(다시 단일 명령을 사용함) 것과 같은 추가의 관리 명령 등을 포함할 수 있다.
위에서 설명한 바와 같이, 시스템의 물리적 및 논리적 엔티티의 용장성은 컴퓨팅 시스템에 대하여 높은 가용성, 신뢰성 및 편리성을 제공한다. 용장 자원(222, 223)의 사용자가 이용불능 엔티티의 통지 없이 계속하여 자원(222, 223)들을 이용할 수 있도록 하나의 용장 엔티티는 이용불능으로 되고 다른 엔티티는 이용가능으로 될 수 있다.
일 실시예에서, 용장 관리 노드(224)는 관리 노드(216)의 동작을 미러링(mirror)한다. 관리 노드(216, 224)는 피어 투 피어 관계(206)로 상호 작용할 수 있다. 관리 노드(216, 224)는 함께, 어느 하나의 관리 노드(216, 224)가 복수의 피어 투 피어 도메인(208)의 관리 동작을 감시하고 관리 노드(216, 224) 중의 하나의 고장에 응답하여 그 관리 동작을 이어받게 하는 관리 피어 투 피어 도메인(226)을 형성한다. 관리 피어 투 피어 도메인(226)은 관리 노드(216, 224)만을 포함하고, 관리 노드(216, 224)가 서로를 감시하여 필요할 때 그 절차를 이어받을 수 있게 한다. 이 방법으로, 용장 관리는 시스템의 신뢰성, 편리성 및 가용성을 더욱 개선하기 위해 제공될 수 있다.
도 3은 스토리지 관리를 용이하게 하기 위한 장치의 일 실시예를 도시한 것이다. 장치(300)는 컴퓨터 시스템 관리자가 유니버설 도메인(306) 내에 규정된 다른 방식으로 조직분해된(disorganized) 복수의 엔티티(302) 및 관리 노드(304)에 대하여 조직화 및 정렬을 적용할 수 있게 한다. 조직화의 필요성 및 물리적 하드웨어에 의존해서, 유니버설 도메인(306)의 엔티티의 수는 2개 이상부터 수 백개까지의 범위에 있을 수 있다. 엔티티(302) 또는 그 자원(222, 223)을 관리 명령의 목적지 또는 목표로서 식별하는 것은 어떤 조직화 형태가 없다면 어려울 것이다. 만일 조직화가 용장성의 동종 엔티티를 구현하기 원하면 문제점이 더욱 복잡해진다. 본 발명의 장치(300)는 소정의 정렬 및 조직화를 구현하고, 특히 서로를 미러링하고 백업하도록 의도된 엔티티의 관리를 용이하게 하고 자동화하기 위해 엔티티간 통신에 관한 특정 규칙을 강화한다. 결과적으로, 다른 논리 엔티티에 어드레스된 더 소수의 이중적 관리 명령이 필요하다. 또한, 정렬 및 조직화는 2개 이상의 비슷하게 구성된 엔티티(302) 간의 구별을 용이하게 한다.
장치(300)는 구성 모듈(308), 정보 모듈(310) 및 동기화 모듈(312)을 포함할 수 있다. 구성 모듈(308)은 피어 투 피어 도메인(208)에서 제2 논리 엔티티(316)와 상호 작용하도록 제1 논리 엔티티(314)를 구성한다. 제1 논리 엔티티(314)는 제2 논리 엔티티(316)와 직접 통신하고 그 동작을 미러링한다. 다시 말하면, 제1 논리 엔티티(314) 및 제2 논리 엔티티(316)는 피어 투 피어 관계(206)를 갖는다.
일 실시예의 피어 투 피어 도메인(208)에서, 논리 엔티티(314, 316)는 서로를 감시하고 관리하는 실질적으로 동일한 권리를 갖는다. 이것은 어느 하나의 논리 엔티티(314, 316)가 피어 리더로서 기능하고 관리 명령을 다른 논리 엔티티(314)로 보낼 수 있게 한다. 따라서, 본 발명의 다른 시스템 및 서브시스템에 제공된 용장성에 의해, 고장인 지점은 하나도 없다. 바람직하게, 각 구성 요소는 높은 가용성이 제공되도록 용장성의 대응하는 구성 요소를 갖는다.
일 실시예에서, 논리 엔티티(314, 316)는 컴퓨터 시스템의 논리적 파티션(LPAR)을 포함하고, 각 LPAR에는 독립 세트의 컴퓨터 하드웨어(프로세서, 메모리, I/O, 스토리지)가 할당된다. 피어 투 피어 도메인(208)은 용장성이 제공되도록 한 쌍의 LPAR을 포함할 수 있다.
일 실시예에서, 구성 모듈(308)은 논리 엔티티(314, 316)의 논리 제어 통신 및 미러링을 규정하여 각각의 논리 엔티티가 피어 투 피어 도메인(208)의 다른 논리 엔티티(314, 316)의 동작을 미러링 및 관리만 하게 한다. 예를 들면, 하나의 논리 엔티티(314, 316)는 피어 리더로서 지정될 수 있다. 피어 투 피어 도메인(208)에 보내진 모든 관리 명령은 피어 리더를 통하여 라우트된다. 관리 명령 및 I/O 통 신은 필요에 따라 각 논리 엔티티(314, 316)에 미러링될 수 있다.
정보 모듈(310)은 제1 논리 엔티티(314) 및 제2 논리 엔티티(316)의 로컬 자원(222)을 관리 노드(318)에 노출시킨다. 일 실시예에서, 정보 모듈(310)은 로컬 자원(222)을 정의하는 정보를 각 관리 노드(318)에 대하여 미리 정해진 통신 어드레스를 이용하여 관리 도메인(220) 내의 각 관리 노드(318)에 방송한다. 정보 모듈(310)은 로컬 자원(222)을 정의하는 초기 정보뿐만 아니라 로컬 자원(222)을 정의하는 정보에 대하여 행하여진 수정(modification)까지도 방송할 수 있다. 각 관리 노드(318)는 정보를 수신하고 그 정보를 적당한 엔티티(314, 316)의 식별자와 관련시킬 수 있다.
대안적으로, 정보 모듈(310)은 논리 엔티티(314, 316)의 로컬 자원(222)을 중앙 리포지토리(322)에 등록한다(320). 정보 모듈(310)은 초기 정보를 등록할 수 있다. 이때 논리 엔티티는 필요에 따라 정보에 대한 업데이트를 등록할 수 있다. 목표 자원(222)의 중앙 리포지토리(322)는 목표 자원(222)이 적당한 논리 엔티티(314, 316)와 관련되는 데이터베이스를 포함할 수 있다. 대안적으로, 중앙 리포지토리(322)는 로컬 자원(222)을 논리 엔티티(314, 316)와 관련시키고 관리 노드(318)에 액세스할 수 있는 파일 또는 임의의 다른 데이터 구조를 포함할 수 있다.
특정 실시예에서, 관리 노드(318)는 속성(attribute) 및 메서드(method)를 둘 다 포함하는 소프트웨어 객체에 의해 관리 노드 및 논리 엔티티가 표시되는 객체 지향 프레임워크(object-oriented framework)를 이용하여 논리 엔티티(314, 316)를 관리한다. 상기 속성은 객체에 대한 데이터를 저장한다. 상기 메서드는 객체에 대한 특정 기능성을 구현하도록 특효적으로 구성된 로직을 포함한다. 객체 지향 프레임워크는 자원(222)에 대한 정보에의 액세스를 제어할 수 있다. 예를 들면, 관리 노드(318)가 인증된 관리자이면, 엔티티(314, 316)를 나타내는 소프트웨어 객체는 액세서(accessor) 메서드가 로컬 자원에 관한 정보를 보고할 수 있게 한다. 다시 말하면, 통상적으로 객체에 대한 사설 속성 및/또는 메서드를 구성하는 정보는 관리 노드(318)를 나타내는 소프트웨어 객체에 이용될 수 있다.
동기화 모듈(312)은 로컬 자원(222)을 나타내는 자원 정의(resource definition)를 동기화시킨다. 자원 정의는 중앙 리포지토리(322)에 저장될 수 있다. 동기화 모듈(312)은 논리 엔티티(314, 316)에 의해 또는 관리 노드(318)에 의해 직접 로컬 자원(222)에 대한 수정이 이루어진 후에 자원 정의를 동기화시킨다. 수정은 구성 변경, 업데이트된 버젼 정보, 자원(222)의 규정 또는 삭제 등을 포함할 수 있다. 특정 실시예에서, 동기화 모듈(312) 및/또는 그 부분들은 논리 엔티티(314, 316)에 및/또는 관리 노드(318)에 존재할 수 있다.
일 실시예에서, 장치(300)는 관리 노드(318)에 존재하는 어드레스 모듈(324)을 포함한다. 특정 실시예에서, 어드레스 모듈(324) 및/또는 그 부분들은 논리 엔티티(314, 316)에 및/또는 관리 노드(318)에 존재할 수 있다. 어드레스 모듈(324)은 관리 명령을 관리 노드(318)로부터 논리 엔티티(314, 316)의 로컬 자원(222)으로 선택적으로 어드레스한다. 위에서 설명되고 여기에서 사용되는 바와 같이, 로컬 자원(222)은 논리 엔티티(314, 316)와 관련된 각종의 물리적 및 논리적 성분들뿐만 아니라 논리 엔티티(314, 316) 자체를 나타낼 수 있다. 예를 들면, 로컬 자원(222)은 논리 엔티티를 루트(root)로 하고 각종의 논리적 및 물리적 객체들을 자손으로 하는 자원들의 계층 구조를 포함할 수 있다.
어떤 로컬 자원(222)이 어드레스될 것인지는 관리 명령의 특성 및 의도된 영향(intended affect)에 의존한다. 예를 들어서, 피어 투 피어 도메인(208)의 글로벌 변화가 추가의 1 메가바이트의 메모리를 각 논리 엔티티(314, 316)의 논리 메모리 장치 "D"에 할당함으로써 이루어진다고 가정하자. 관리 명령은 논리 엔티티(314, 316)에 직접 어드레스되지 못할 수 있다. 그 대신, 각 논리 엔티티(314, 316)의 논리 메모리 장치 "D"가 관리 명령을 수신하기 위해 필요할 수 있다. 종래의 방식으로, 별도의 명령이 각 논리 엔티티(314, 316)의 논리 메모리 장치 "D"에 보내질 것이다. 그러나, 논리 엔티티(314, 316)가 공통의 피어 투 피어 도메인(208)에 있고 각각 논리 메모리 장치 "D"를 구비하고 있기 때문에, 관리 노드(318)는 논리 메모리 장치 "D"에 어드레스된 단일 관리 명령을 피어 리더에게 보낸다. 이때, 피어 리더는 관리 명령을 피어 투 피어 도메인(208)의 다른 피어(들)에게 중계(relay)한다.
당업자라면 특정 자원(222)에 목표 정해진 관리 명령을 보내기 위해 사용할 수 있는 각종 어드레싱 기술을 알고 있을 것이다. 예를 들면, 자원(222)은 자원(222), 논리 엔티티(316) 및 피어 투 피어 도메인(208)용의 독특한 식별자를 포함하는 독특한 식별자와 함께 등록될 수 있다. 여기에서 사용되는, 특정 자원을 목표로 정하기 위한 기준 또는 목표로 정해진 자원들은 관리 명령이 그 특정 자원에 서 작용한다는 것 및 자원(222)이 관리 명령을 실행하기 위한 아규멘트(argument)로서 리스트될 수 있다는 것을 둘 다 의미한다. 어느 경우이든, 관리 노드(318)는 자원(222)을 규정하는 정보를 정확히 참조할 수 있어야 한다.
일 실시예에서, 어드레스 모듈(324)은 관리 명령을 목표 자원(222)에 어드레스하기 위해 객체 지향 메시징을 사용한다. 어드레스 모듈(324)은 피어 도메인(208)의 리스팅을 유지할 수 있다. 어드레스 모듈(324)은 또한 피어 도메인(208)의 멤버들과 관리 도메인(220)의 멤버들 사이의 관계를 또한 유지하여 특정 논리 엔티티(314)에 대한 특정 하드웨어 명령과 같은 관리 명령이 수행될 수 있게 한다.
어드레스 모듈(324)은 객체 지향 프레임워크를 이용하여 소정의 논리 엔티티(314, 316) 및/또는 로컬 자원(222)에 관리 명령을 보낼 수 있다. 특히, 피어 투 피어 도메인(208)은 객체 지향 프레임워크에서 독특한 이름/식별자에 의해 유일하게 식별된 소프트웨어 객체에 의해 표시될 수 있다. 도메인(208)에 대한 논리 엔티티의 관계를 참조함으로써, 어드레스 모듈(324)은 논리 엔티티(314)를 나타내는 소프트웨어 객체를 직접 참조할 수 있다. 이때, 객체 지향 프레임워크는 목표로 정해진 관리 명령을 특수 논리 엔티티(314) 및/또는 로컬 자원(222)에 중계한다. 이것은 관리 노드(318)가 로컬 자원(222)을 어떻게 목표로 정할 수 있는지에 관한 하나의 예이다.
제1 논리 엔티티(314) 및 제2 논리 엔티티(316)는 관리 노드(318)와 관리 관계(326)를 갖는다. 관리 관계(326)는 관리 노드(318)가 엔티티(314, 316)의 동작을 감시 및 관리(관리 명령을 통해서)할 수 있게 한다. 그러나, 엔티티(314, 316)는 관리 노드(318)를 관리 또는 감시할 수 없다(일 방향 화살표가 관리 권한을 나타내는 것임). 엔티티(314, 316)를 포함하는 피어 투 피어 도메인(208)과 관리 노드(318)는 함께 관리 도메인(220)을 구성한다.
도 4는 스토리지 관리를 용이하게 하는 시스템(400)을 구현하는데 적당한 시스템 하드웨어를 도시한 것이다. 위에서 언급한 바와 같이, 데이터 처리 시스템은 덜 비싼 하드웨어가 단일의 물리적 엔클로저에 결합됨에 따라 계속하여 더 복잡하게 된다. 이때, 하드웨어는 물리적으로 또는 논리적으로 또는 물리적 및 논리적 분할의 조합으로 복수의 논리 엔티티(202, 204)(도 2 참조)로 분할된다. 이중의 하드웨어를 사용하면, 논리 엔티티(202, 204)와 같은 용장성 하위 구성요소(subcomponent)를 포함함으로써 더 높은 가용성을 얻을 수 있다.
스토리지 서브시스템으로서 사용하기에 적당한 일 실시예에서, 시스템(400)은 공통 하드웨어 플랫폼(402)에 의해 결합된 적어도 2개의 물리적으로 분리된 중앙 전자 콤플렉스(CEC)를 포함한다. 공통 하드웨어 플랫폼(402)은 단순한 물리적 엔클로저를 포함할 수 있다.
CEC는 PHYP(116)(도 1 참조)와 같은 공통 코디네이션 모듈(116)에 접속된 물리적 컴퓨팅 장치의 독립적 집합이다. CEC는 프로세서 콤플렉스(404)에 조직된 복수의 대칭형 멀티프로세서, 복수의 전자 메모리 장치(406), 복수의 직접 액세스 스토리지 장치(DASD)(408), 호스트 어댑터(410)와 같은 복수의 네트워크 I/O 인터페이스 장치(410), 및 네트워크 어댑터(412)와 같은 복수의 관리 인터페이스 장치(412)를 포함한다. CEC는 독립 전력 결합 및 전력 기반 구조(power infrastructure) 뿐만 아니라 통풍 및 냉각 시스템을 포함할 수 있다. 각각의 CEC는 독립적으로 전력 순환될 수 있다. 특정의 서브시스템조차도 CEC의 다른 부분의 동작에 영향을 주지 않고 전력 순환될 수 있다. 물론 당업자라면 위에서 설명한 특정의 하드웨어 장치가 서브시스템으로 조직될 수 있고 본 발명과 관련없는 각종 제어기를 포함할 수 있지만, CEC가 복수의 논리적 노드(206)를 지원하게 할 수 있다는 것을 알 것이다.
일 실시예에서, 시스템(400)은 제1 CEC(414)와 제2 CEC(416)를 포함한다. 바람직하게, 제2 CEC(416)는 제1 CEC(414)와 실질적으로 동일한 수량, 유형, 브랜드 및 구성의 하드웨어를 포함한다. 공통의 하드웨어를 가지면 문제 해결에 수반되는 변수들을 감소시키는 것이 현안의 문제점이다. 일 실시예에서, 제1 CEC(414)와 제2 CEC(416)는 네트워크 어댑터(412)를 통하여 접속된 단일의 하드웨어 관리 콘솔(HMC)(418)에 의해 관리 및 제어될 수 있다. 일 실시예에서, HMC(418)는 리눅스 운영 체제 및 적당한 관리 애플리케이션을 동작시키는 퍼스널 컴퓨터와 같은 전용 하드웨어 관리 장치이다.
하드웨어의 이러한 복합 시스템(400)을 관리하는 것은 단일 CEC 내에서도 매우 도전적일 수 있다는 것에 주목하여야 한다. 특히, 24/7 가용성의 목표가 유지되어야 한다. 따라서, HMC(418)는 복합 서비스를 포함하고, 최고 레벨의 가용성이 유지될 수 있도록 CEC에 서비스함에 있어서 관리자를 안내하는 유지 스크립트 및 루틴을 포함한다. 단일의 실수가 큰 결과를 가져올 수 있다. 특정 실시예에서, 관리 로직은 복수의 자원 관리자에서 구체화된다. 각종 자원 관리자는 ESS의 각종 하드 웨어 및 소프트웨어 서브시스템의 건전성(health)을 감시하고 체크한다. 소프트웨어 모듈 및 스크립트는 문제를 진단하고 고정하는 것뿐만 아니라 예방적 유지(preventative maintenance)를 수행함에 있어서 서비스 기술 및 시스템 관리자를 코치한다. 전형적으로, 이러한 루틴은 나머지 하드웨어 성분들이 온라인에 유지되어 있는 동안 하위 구성요소 및/또는 시스템을 적절히 폐쇄(전력 사이클)한다.
도 5는 도 4의 하드웨어 시스템(400)을 도시한 것이고, 하드웨어에서 동작하는 소프트웨어 및 논리 엔티티를 포함한다. 시스템(400)은 공통 하드웨어 플랫폼(402) 내에 제1 CEC(414)와 제2 CEC(416)를 포함한다. 일 실시예에서, CEC(414, 416)는 완전히 독립적이고 스토리지 서브시스템 내에서 동작한다.
시스템(400)은 제1 논리적 파티션(LPAR)(502), 제2 LPAR(504), 제3 LPAR(506) 및 제4 LPAR(508)를 포함한다. 어떤 시스템(400)은 도시된 것보다 더 많은 LPAR을 포함할 수 있다. 각 LPAR(502-508)은 하나 이상의 프로세서(510), 하나 이상의 I/O 채널(512) 및 영구 및/또는 비영구 메모리(514)를 포함하는 컴퓨팅 자원의 할당을 포함한다. 특정의 컴퓨팅 하드웨어는 공유되고 다른 하드웨어는 특수 LPAR에 단독으로 전용될 수 있다. 여기에서 사용하는 용어 LPAR은 각각의 LPAR이 다른 LPAR에 무관하게 운영 체제를 실행할 수 있도록 하나 이상의 프로세서, 메모리 및 I/O 통신의 관리 및 할당을 지칭하는 것이다. LPAR을 묘사하기 위해 공통으로 사용되는 다른 용어들은 가상 머신 및 논리 엔티티(202, 204)(도 2 참조)를 포함한다.
일 실시예에서, 제1 LPAR(502) 및 제2 LPAR(504)은 동종의 것이어서 프로세 서(510), I/O(512) 및 메모리(514)의 구성이 동일하다. 유사하게, 메모리(514)에서 실행하는 소프트웨어도 동종의 것일 수 있다. 각 LPAR(502, 504)의 메모리(514)는 동일한 OS(516) 및 자원 관리자(518)를 실행할 수 있다.
바람직하게, 자원 관리자(518)는 특정 LPAR(502, 504)에 대한 관리 명령을 취급하기 위한 로직을 포함한다. 자원 관리자(518)는 동기화 모듈(520)을 포함할 수 있다. 동기화 모듈(520)은 도 3과 관련하여 설명한 동기화 모듈(312)과 실질적으로 동일한 로직을 포함할 수 있다.
일 실시예에서, 제1 CEC(414)에서 동작하는 제1 LPAR(502)은 제2 CEC(416)에서 동작하는 제2 LPAR(504)와 피어 투 피어 관계(524)로 동작한다. 제1 LPAR(502)과 제2 LPAR(504)은 함께 스토리지 설비 이미지(SFI)(526)를 구성한다. 바람직하게, SFI(526)는 도 2와 관련하여 설명한 피어 투 피어 도메인(208)의 그룹핑, 특징 및 기능성과 실질적으로 대응한다. 특정 실시예에서, SFI(526)는 피어 투 피어 도메인(208)이 2개 이상의 LPAR(502, 504)을 가질 때 SFI(526)가 일 실시예에서 2개의 LPAR(502, 524)로 제한될 수 있기 때문에 피어 투 피어 도메인(208)의 서브셋을 포함할 수 있다.
SFI(526)는 데이터의 저장 및 검색을 위한 용장성 논리 자원을 제공한다. 모든 데이터 저장 처리는 전형적으로 LPAR(502)과 LPAR(504) 사이에서 논리적으로 나누어져서, 하나의 LPAR이 이용불능일 때 나머지 LPAR이 모든 작업을 처리한다. 바람직하게, SFI(526)는 제2 LPAR(504)의 물리적 하드웨어와 완전하게 독립된 물리적 하드웨어에서 동작하는 하나의 LPAR(502)을 포함한다. 따라서, 양호한 실시예에서, SFI(526)는 하드웨어의 물리적 분할을 포함한다. 이 방법으로, 하나의 CEC(416)는 오프라인 즉 물리적으로 파워 오프될 수 있고, SFI(526)는 온라인을 유지할 수 있다. CEC(416)가 온라인으로 복귀하면, 자원 관리자(518)는 메모리(514) 및 스토리지를 동기화시켜서 제2 LPAR(504)이 다시 제1 LPAR(502)과 매칭되게 한다.
SFI(526)는 논리적 스토리지 장치로 추가로 분리될 수 있다. SFI(526)는 또한 논리적 스토리지 장치를 관리하기 위한 가상화 드라이버 소프트웨어를 포함할 수 있다. 바람직하게, SFI(526)는 데이터를 저장하고 검색하기 위해 필요한 소프트웨어를 포함한다. 예를 들면, 하나의 SFI(526)는 데이터의 저장 및 검색을 가능하게 하는 OS 내의 파일 시스템을 포함할 수 있다.
시스템(400)은 피어 투 피어 관계(524)의 제3 LPAR(506) 및 제4 LPAR(508)로 구성된 스토리지 애플리케이션 이미지(SAI)(528)을 또한 포함할 수 있다. 바람직하게, SAI(528)를 구성하는 LPAR(506, 508)은 동일한 OS(516) 및 동일한 자원 관리자(518)를 포함한다. 특정 실시예에서, SFI(526)의 OS(516) 및/또는 자원 관리자(518)는 SAI(526)의 OS(516) 및/또는 자원 관리자(518)와 다를 수 있다. 특정 실시예에서, SAI(528)는 도 2와 관련하여 설명한 피어 투 피어 도메인(208)의 그룹핑, 특징 및 기능성과 실질적으로 대응한다. 특정 실시예에서, SAI(528)는 피어 투 피어 도메인(208)이 2개 이상의 LPAR(502. 504)을 가질 때 SAI(528)가 일 실시예에서 2개의 LPAR(502, 524)로 제한될 수 있기 때문에 피어 투 피어 도메인(208)의 서브셋을 포함할 수 있다.
바람직하게, 피어 투 피어 도메인(208, 210)은 서로 분리된 상태로 유지된 다. 만일 복수의 피어 투 피어 도메인(208, 210)의 멤버들간에 피어 투 피어 관계를 원하면, 복수의 피어 투 피어 도메인(208, 210)이 결합되어 단일의 피어 투 피어 도메인(208)을 형성한다. 결과적으로, 2개의 SFI(526) 및/또는 SAI(528)는 서로 피어 투 피어 도메인(208)에 있지 않을 것이다. 이것은 스토리지 콘텍스트에서 스토리지 설비 이미지가 스토리지 애플리케이션 이미지와 다른 용도로 사용되기 때문에 유리할 수 있다. 다시 말해서, SFI(526)에서 그리고 SAI(528)에서 수행되는 I/O과 관리 동작 간에는 관계가 거의 없거나 전혀 없을 수 있다.
SAI(528)는 스토리지 애플리케이션을 SFI(526)의 논리적 및 물리적 스토리지 장치(408)(도 4 참조)와 무관하게 관리될 수 있는 단일 논리 유닛으로 조직한다. SAI(528)는 또한 제3 LPAR(506) 및 제4 LPAR(508)이 서로에 대하여 데이터 처리를 미러링하기 때문에 용장도를 또한 포함한다. 바람직하게, SFI(526)는 제4 LPAR(508)의 물리적 하드웨어와 완전하게 독립된 물리적 하드웨어에서 동작하는 제3 LPAR(506)을 포함한다. 따라서, 양호한 실시예에서, SAI(528)는 하드웨어의 물리적 분할을 포함한다. 이 방법으로, 하나의 CEC(416)는 오프라인 즉 물리적으로 파워 오프되고 SAI(528)는 온라인을 유지할 수 있다. SAI(528)의 스토리지 애플리케이션(530)은 데이터의 저장 및 검색을 관리하기 위한 애플리케이션을 포함한다. 스토리지 애플리케이션의 예로는 IBM사의 티볼리 스토리지 관리자(Tivoli Storage Manager), 데이터베이스 관리 시스템 등이 있다.
관리 모듈(532)은 관리 명령을 SFI(526) 및/또는 SAI(528)(피어 투 피어 도메인)에 선택적으로 통신하도록 구성된다. 대안적으로 또는 추가적으로, 관리 모 듈(532)은 관리 명령을 필요할 때 개별 LPAR(502-508)에 직접 보낼 수 있다. LPAR(502-508)의 노출된 로컬 자원(533)은 관리 모듈(532)이 관리 명령을 특정 자원(533)에 보내게 하고, 및/또는 특정 관리 명령에 특정 자원(533) 아규멘트를 포함시키게 한다.
관리 모듈(532)은 도 3과 관련하여 설명한 구성 모듈(308), 정보 모듈(310) 및 어드레스 모듈(324)과 실질적으로 동일한 기능을 포함하는 구성 모듈(534), 정보 모듈(536) 및 어드레스 모듈(538)을 포함한다. 구체적으로, 정보 모듈(536) 또는 그 구성 요소들은 SFI(526) 및/또는 SAI(528)의 로컬 자원(533)을 정의하는 정보를 방송할 수 있다. 대안적으로, 정보 모듈(536) 또는 그 구성 요소들은 SFI(526) 및/또는 SAI(528)의 로컬 자원(533)을 정의하는 정보를 관리 모듈(532)에 액세스가능한 데이터베이스와 같은 중앙 리포지토리에 등록할 수 있다.
특정 실시예에서, 정보 모듈(536)은 주기적인 폴링(polling)을 통하여 LPAR(502-508)로부터 로컬 자원을 정의하는 정보를 검색한다. 대안적으로, 정보 모듈(536)은 LPAR(502-508)로부터의 신호에 기초하여 로컬 자원을 정의하는 정보를 검색할 수 있다. 유리하게도, 관리 모듈(532)은 단일 SFI(526)를 나타내는 복수의 LPAR(502, 504)의 세부를 추상화(abstract)하고, 사용자가 각 LPAR(502, 504)에 대한 특정 변화가 일어날 것임을 보장하면서 관리 명령을 전체 SFI(526)에 어드레스하게 한다.
바람직하게, 관리 모듈(532)은 관리 명령을 SFI(526) 및 SAI(528)에, 및 그에 따라서, 관리 모듈(532) 및 LPAR(502-508)을 논리적으로 연결하는 관리 서브시 스템(540)을 통하여 LPAR(502-508)에 통신한다. 본 발명에 따라서 수정될 수 있는 서브시스템의 일 예는 뉴욕주 아몽크에 소재하는 인터내셔널 비즈니스 머신즈 코포레이션(IBM)으로부터 구할 수 있는 자원 감시 및 제어(RMC) 서브시스템이다. 당업자라면 본 발명을 지원하는 관리 서브시스템(540)이 그 관리 서브시스템의 기원이 되는 종래의 RMC 서브시스템과 동일하지 않다는 것을 알 것이다.
RMC 기반 관리 서브시스템(540)은 AIX와 같은 운영 체제에 전형적으로 통합된 기능 모듈이다. 물론, 관리 서브시스템(540)은 리눅스, 유닉스, 윈도즈 등과 같은 다른 운영 체제로 구현될 수 있다. 관리 서브시스템(540)의 상보적인 구성 요소들은 관리 모듈(532)과 LPAR(502-508) 둘 다에 존재할 수 있다.
관리 서브시스템(540)은 디스크 공간, 프로세서 사용, 장치 드라이버, 어댑터 카드 상태 등과 같은 자원들을 감시한다. 관리 서브시스템(540)은 미리 규정된 조건에 응답하여 액션을 수행하도록 설계된다. 그러나, 종래의 RMC는 피어 투 피어 도메인(208)(SFI(526) 또는 SAI(528))에서 한 쌍의 LPAR(502-508)과 동시에 인터페이스할 수 없다. 그 대신에, 종래의 RMC 서브시스템들은 하나의 LPAR과 동시에 통신한다.
본 발명의 특정 실시예에서, 종래의 RMC 서브시스템은 피어 투 피어 도메인(208) 내에서 관리 및 감시를 가능하게 하고 LPAR이 다른 피어 투 피어 도메인(208) 내의 LPAR을 관리 또는 감시하는 것을 금지하는 수정된 관리 서브시스템(540)을 생성하도록 확장되고 수정된다. 수정된 관리 서브시스템(540)은 관리 모듈(532)과 같은 관리 노드가 2개 이상의 피어 투 피어 도메인(208, 210)을 또한 관 리할 수 있게 한다.
수정된 관리 서브시스템(540)은 하나 이상의 LPAR(502-508)의 각각의 관리가능한 자원을 나타내는 객체를 포함한 객체 모델을 포함할 수 있다. 객체는 물리적 및 논리적 자원의 특징 및 속성을 나타낸다. 객체는 통신 어드레스, 버젼 정보, 특징 정보, 호환성 정보, 동작 상태 정보 등의 정보를 저장할 수 있다.
관리 서브시스템(540)은 한 세트의 자원 관리자(518)를 또한 포함한다. 일 실시예에서 자원 관리자(518)는 객체 모델에 정의된 자원(533)에 관리 명령을 해석하여 적용하는 로직을 포함한다. 특정 실시예에서, 자원 관리자(518)는 각각의 LPAR(502-508)에서 실행하는 기존 RMC 모듈의 소프트웨어 확장이다. 자원 관리자(518)는 객체 지향 RMC 모듈 또는 절차적으로 설계된 RMC 모듈을 확장할 수 있다.
특정 실시예에서, 관리 모듈(532)은 복수의 SFI(526), SAI(528) 및 그 내부에 규정된 관련 LPAR(502-508)에 대한 관리의 중심점으로서 기능한다. 관리 모듈(532)은 대역외 통신 네트워크를 통하여 복수의 하드웨어 플랫폼(542)에 결합될 수 있다. 관리 모듈(532)은 복수의 플랫폼(542)을 통하여 분산된 SFI(526) 및 SAI(528)에 하나 이상의 관리 명령을 전송하도록 구성되는 것이 바람직하다. 또한 각 SFI(526) 및/또는 SAI(528)는 다른 OS(516) 및/또는 애플리케이션(530) 세트를 포함할 수 있다. SFI(526) 및/또는 SAI(528)는 지오그래피, 또는 공통 목적, 기능성, 또는 다른 특성에 따라 공통 관리 도메인(544) 내에 조직될 수 있다. 관리 도메인(544)은 복수의 하드웨어 플랫폼(542)을 포함할 수 있다는 것에 주목하여야 한 다. 관리 모듈(532)에 의해 SFI(526), SAI(528) 또는 SFI(526)와 SAI(528)의 조합을 포함하는 피어 투 피어 도메인(208, 210)을 선택하는 명령이 발행될 수 있다.
다시 도 5를 참조하면, 관리 서브시스템(540) 및 자원 관리자(518)는 LPAR(502, 504)의 고장에 응답해서 제1 LPAR(502)이 제2 LPAR(504)의 동작을 이어받고 제2 LPAR(504)이 제1 LPAR(502)의 동작을 이어받도록 구성되는 것이 바람직하다. 피어 투 피어 도메인(208)은 각각의 LPAR(502, 504)이 다른 LPAR의 동작을 미러링하도록 통신 채널을 제공함으로써 이것을 가능하게 한다. 특정 실시예에서, 피어 투 피어 도메인(208)의 하나의 LPAR(502, 504)이 고장일 때, 관리 서브시스템(540)은 고장인 LPAR이 오프라인 상태가 되었기 때문에 비고장 LPAR에서 행하여진 한 세트의 변화를 로그할 수 있다. 또한, 관리 서브시스템(540)은 고장인 LPAR이 다시 온라인 상태가 될 때 상기 변화들의 세트를 복원함에 있어서 능동 LPAR의 자원 관리자(518)를 보조할 수 있다.
피어 투 피어 도메인(208)은 각 LPAR(502, 504)이 다른 LPAR을 감시할 수 있게 한다. 따라서, LPAR(502, 504)은 다른 LPAR이 오프라인으로 되는 것과 같은 에러 조건을 갖는 때를 검출하는 로직을 포함할 수 있다. 에러 조건이 검출되면 로깅이 개시될 수 있다. 동일한 모니터는 LPAR이 온라인으로 되돌아와서 변화들의 세트의 복원 동작을 트리거하는 때를 알려줄 수 있다. 이 방법으로, 피어 투 피어 도메인(208)이 전체로서(또는 SFI(526) 또는 SAI(528)) 호스트(102)에 대해 이용가능하게 남아있도록 실시간 용장성이 제공된다.
도 6은 일 실시예에 따른 스토리지 자원의 조직화를 통하여 스토리지를 용이 하게 하는 방법(600)의 흐름도를 도시한 것이다. 방법(600)은 관리자가 논리 엔티티(202, 204, 212, 214) 및 관리 노드(216, 224)를 관리 도메인(220)(도 2 참조) 내의 하나 이상의 피어 투 피어 도메인(208, 210) 내에 조직하고자 할 때 단계 602에서 시작한다. 예를 들면, 관리자는 LPAR 쌍들을 SFI(526)와 같은 피어 투 피어 도메인(208) 내에서 조직화하여 하나의 LPAR이 다른 LPAR에 대한 용장성 능동 백업이 되게 할 수 있다. 또한, 관리자는 단일 관리 노드(216)로부터 다중 하드웨어 플랫폼(542)을 통하여 복수의 SFI(526)를 제어 및 관리하고 싶어할 수 있다. 관리 도메인(220) 내에서 하나 이상의 피어 투 피어 도메인(208, 210)을 조직화하면 피어 투 피어 도메인(208, 210)의 자원들, 또는 피어 투 피어 도메인(208) 내의 LPAR들이 단일 관리 명령으로 에드레스될 수 있다.
초기에, 관리자는 2개 이상의 논리 엔티티(202, 204)를 피어 투 피어 도메인(208) 내에 구성하여(604) 각 논리 엔티티(202, 204)가 다른 논리 엔티티(202, 204)의 동작을 미러링하게 한다. 전형적으로, 이것은 특정의 통신 채널 및 프로토콜이 2개 이상의 논리 엔티티(202, 204) 사이에서 확립되어 각 논리 엔티티(202, 204)가 피어 투 피어 도메인(208)의 매 다른 논리 엔티티(202, 204)와 직접 통신하게 한다는 것을 의미한다. 바람직하게, 논리 엔티티(202, 204)를 논리적으로 연결하기 위해 전용 관리 채널이 사용된다.
다음에, 정보 모듈(310)은 단일 관리 도메인(220)의 하나 이상의 피어 투 피어 도메인(208, 210)) 내의 각 논리 엔티티(202, 204)의 로컬 자원(222)들을 노출시킨다. 위에서 설명한 바와 같이, 로컬 자원(222)이 관리 명령에서 목표 자 원(322)으로서 사용될 수 있도록 로컬 자원(222)에 대하여 관리 노드(318)에 알리기 위해 사용될 수 있는 다양한 기술이 있다. 또한, 정보 모듈(310)은 다른 관리 서브시스템과 협력하여 목표 자원(322)을 업데이트되고 수정된 로컬 자원(222)으로서 유지할 수 있다.
그 다음에, 관리 명령이 관리 노드(318)에 의해 발행된 때, 어드레스 모듈(324)은 관리 명령을 피어 투 피어 도메인(208)과 관련된 로컬 자원(222)을 향하여 선택적으로 어드레싱(608)한다. 대안적으로, 어드레스 모듈(324)은 관리 명령을 피어 투 피어 도메인(208)의 제1 논리 엔티티(314) 및 제2 논리 엔티티(316)에 어드레싱(608)한다. 관리 명령을 어떤 자원(222)으로 향하게 할 것인지는, 부분적으로, 관리 명령의 유형에 의존한다. 더 높은 레벨(하드웨어 장치에 관련되지 않음을 의미함)의 관리 명령은 엔티티(314, 316) 간에 공통인 한 쌍의 자원(222)에 보내질 수 있다. 더 낮은 레벨(하드웨어 장치에 관련됨을 의미함)의 관리 명령은 특정 엔티티(314, 316)의 특정 자원(222)에 보내질 수 있다. 각종의 어드레싱 기술이 사용될 수 있다.
다음에, 논리 엔티티(314) 또는 LPAR(502)이 오프라인인지에 대한 판정이 행하여진다(610). LPAR(502)이 서비스 또는 문제 해결을 위해 단정적으로 오프라인을 취할 수 있고, 또는 LPAR(502)이 에러 조건에 기인하여 무의식적으로 오프라인으로 갈 수 있다. 만일 LPAR(502)이 오프라인이면, 피어 투 피어 도메인(208)을 정의하는 로직(즉, 엔티티(314, 316)에서 실행하는 로깅 모듈)이 피어 투 피어 도메인(208)의 하나 이상의 온라인 LPAR(504)에 대하여 행하여진 변화의 세트의 로 깅(612)을 시작한다. 오프라인 LPAR(502)가 온라인으로 되돌아오면, 로직은 로그된 변화의 세트를 LPAR(502)에 적용함으로써 LPAR(502)을 복원할 수 있다. 전형적으로, 온라인을 유지하고 있는 LPAR(504)은 복원된 LPAR(502)에 대한 업데이트의 적용을 수행한다.
논리 엔티티(314, 316) 또는 LPAR(502, 504)의 어느 것도 오프라인에 있지 않으면, 관리 도메인(220)의 논리 엔티티(314, 316)에 대하여 계류중인 관리 명령이 더 있는지에 대한 판정이 이루어진다(614). 만일 더 있으면, 방법(600)은 다음 관리 명령을 어드레스하는 단계(608)로 되돌아간다. 만일 관리 명령이 더 없으면, 방법(600)은 종료한다(616).
당업자라면 본 발명에 의해 제공되는 잠재적인 이익을 신속히 인식할 것이다. SFI(526) 및 SAI(528)(피어 투 피어 도메인(208) 전체에서)를 개별적으로 관리하고/하거나 개별 LPAR(502-508)을 관리하는 능력은 관리자의 시간을 크게 단축시키고 에러 및 실수에 관한 잠재성을 크게 감소시킨다. 또한, 복수의 관리 노드(216, 224)는 피어 투 피어 도메인(226)의 관리와 관련될 수 있다. 논리 엔티티(202)와 마찬가지로, 관리 노드(216, 224)는 서로를 감시 및 관리할 수 있어서 하나의 노드가 고장일 때 다른 노드가 고장인 관리 노드(216)가 중단한 관리 명령의 세트를 계속하여 이행한다. 따라서, 본 발명은 SFI(526) 및 SAI(528)의 형성과 관련된 논리 엔티티를 관리함에 있어서 많은 개선점을 제공한다. 본 발명은 LPAR 레벨 및 관리 노드 레벨에 용장성을 제공한다. 마지막으로, 본 발명은 전형적으로 용장성 목적으로 유사하게 구성된 논리 엔티티에 대한 관리상의 부담을 완화한다.
본 발명은 발명의 본질적 특성으로부터 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 위에서 설명한 실시예들은 모든 점에서 단지 예를 든 것이지 제한하고자 하는 것이 아님을 알아야 한다. 그러므로, 본 발명의 범위는 전술한 설명이 아니라 첨부된 청구범위에 의해 정해진다. 청구범위의 등가물의 의미 및 범위 내에 있는 모든 변화들은 본 발명의 범위 내에 포함된다.
이 명세서에서 설명한 많은 기능적 유닛들은 그들의 이행 독립성을 강조하기 위해 모듈이라고 표시하였다. 예를 들면, 모듈은 커스텀 VLSI 회로 또는 게이트 어레이를 포함하는 하드웨어 회로, 논리 칩과 같은 기성(off-the-shelf) 반도체, 트랜지스터, 또는 다른 별개의 구성 요소로서 구현될 수 있다. 모듈은 또한 필드 프로그래머블 게이트 어레이, 프로그래머블 어레이, 프로그래머블 논리 장치 등과 같은 프로그램가능한 하드웨어 장치에서 구현될 수 있다.
모듈들은 또한 각종 유형의 프로세서에 의해 실행되는 소프트웨어로 구현될 수 있다. 실행가능 코드의 식별된 모듈은 예를 들면 객체, 절차, 기능 또는 다른 구성으로서 조직될 수 있는 컴퓨터 명령어의 하나 이상의 물리적 또는 논리적 블록들을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행가능성은 물리적으로 함께 위치될 필요가 없고, 논리적으로 함께 결합되었을 때 모듈을 구성하고 그 모듈의 명시된 목적을 달성하는 다른 장소에 저장된 분리된 명령어들을 포함할 수 있다.
사실, 실행가능 코드의 모듈은 단일 명령어 또는 다수의 명령어일 수 있고, 수 개의 다른 코드 세그멘트를 통해서, 다른 프로그램 중에서, 및 수 개의 메모리 장치를 통해서 분산되어 있어도 좋다. 유사하게, 동작 데이터는 모듈 내에서 식별 및 설명되었지만, 임의의 적당한 형태로 구현되고 임의의 적당한 유형의 데이터 구조로 조직될 수 있다. 동작 데이터는 단일 데이터 세트로서 수집될 수 있고, 또는 상이한 기억 장치와 같이 상이한 장소에 분산되어 있을 수 있으며, 적어도 부분적으로는 시스템 또는 네트워크 상의 전자 신호로서 존재할 수 있다.
이 명세서에서 인용하고 있는 "선택 실시예", "하나의 실시예" 또는 "일 실시예"는 실시예와 관련하여 설명한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 이 명세서의 곳곳에서 나타나는 용어 "선택 실시예", "하나의 실시예" 또는 "일 실시예"의 표시는 반드시 모두가 동일 실시예를 지칭하는 것이 아니다.
또한, 설명된 특징, 구조 또는 특성은 하나 이상의 실시예에서 임의의 적당한 방법으로 결합될 수 있다. 이하의 설명에서, 본 발명의 완전한 이해를 제공하기 위해 프로그래밍, 소프트웨어 모듈, 사용자 선택, 사용자 인터페이스, 네트워크 트랜잭션, 데이터베이스 질의(query), 데이터베이스 구조, 하드웨어 모듈, 하드웨어 회로, 하드웨어 칩 등의 예와 같은 많은 구체적인 세부사항(detail)이 제공된다. 그러나, 당업자라면 본 발명이 하나 이상의 구체적인 세부사항 없이, 또는 다른 방법, 구성 요소, 재료등을 가지고 실시될 수 있다는 것을 알 것이다. 다른 예로서, 공지되어 있는 구조, 재료 또는 동작들에 대해서는 본 발명의 태양을 불명료하게 하는 것을 피하기 위해 상세한 도시 및 설명을 하지 않았다.

Claims (10)

  1. 스토리지 관리를 용이하게 하는 장치에 있어서,
    피어 투 피어 도메인에서 서로 상호 작용하도록 제1 논리 엔티티 및 제2 논리 엔티티를 구성하여 각 논리 엔티티가 다른 논리 엔티티의 동작을 미러링하고 다른 논리 엔티티와 직접 통신하게 하는 구성 수단과;
    제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 관리 노드에 노출시켜서 제1 논리 엔티티 및 제2 논리 엔티티의 로컬 자원들이 관리 노드로부터 관리 명령의 목표 자원으로서 이용될 수 있게 하는 정보 수단과;
    상기 관리 노드로부터의 관리 명령을 상기 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 향하여 선택적으로 어드레스하도록 구성된 어드레스 수단
    을 포함하는 장치.
  2. 제1항에 있어서, 상기 구성 수단은 관리 도메인을 규정하는 관리 관계로 상기 제1 논리 엔티티 및 제2 논리 엔티티와 상호 작용하게끔 상기 관리 노드를 구성하도록 설계된 것인 장치.
  3. 제2항에 있어서, 상기 관리 도메인은 상기 관리 노드와 적어도 하나의 논리 엔티티를 포함하고, 상기 적어도 하나의 논리 엔티티는 상기 관리 노드에 의해 관 리 및 감시되도록 구성되고 상기 관리 노드를 관리 또는 감시할 수 없는 것인 장치.
  4. 제2항에 있어서, 상기 관리 도메인은 서로 피어 투 피어 도메인 내에 있는 3개 이상의 논리 엔티티를 포함하고, 각 논리 엔티티의 로컬 자원들은 상기 관리 노드로부터의 관리 명령의 목표 자원으로서 사용되도록 상기 관리 노드에 노출되는 것인 장치.
  5. 제2항에 있어서, 상기 관리 도메인은 서로 피어 투 피어 도메인에 있는 제1 세트의 논리 엔티티, 및 서로 피어 투 피어 도메인에 있는 제2 세트의 논리 엔티티를 포함하고, 각 논리 엔티티의 로컬 자원들은 상기 관리 명령의 목표 자원으로서 사용되도록 상기 관리 노드에 노출되며, 한 세트의 논리 엔티티는 다른 세트의 논리 엔티티와 통신할 수 없는 것인 장치.
  6. 스토리지 관리를 용이하게 하는 시스템에 있어서,
    하드웨어 플랫폼에 동작적으로 결합되고, 제1 프로세서 콤플렉스로 조직된 복수의 대칭형 멀티프로세서, 복수의 전자 메모리 장치, 복수의 직접 액세스 스토리지 장치, 복수의 네트워크 입력/출력(I/O) 인터페이스 장치, 및 복수의 관리 인터페이스 장치를 포함하며, 포함된 각각의 장치가 데이터 및 제어 정보의 교환을 위해 전자식으로 결합되는, 제1 중앙 전자 콤플렉스(CEC)와;
    하드웨어 플랫폼에 동작적으로 결합되고, 제2 프로세서 콤플렉스로 조직된 복수의 대칭형 멀티프로세서, 복수의 전자 메모리 장치, 복수의 직접 액세스 스토리지 장치, 복수의 네트워크 입력/출력(I/O) 인터페이스 장치, 및 복수의 관리 인터페이스 장치를 포함하며, 포함된 각각의 장치가 데이터 및 제어 정보의 교환을 위해 전자식으로 결합되는, 제2 CEC와;
    상기 제1 CEC의 컴퓨팅 자원을 이용하여 동작하도록 규정된 제1 논리적 파티션(LPAR) 및 상기 제2 CEC의 컴퓨팅 자원을 이용하여 동작하도록 규정된 제2 LPAR을 포함하고, 상기 제1 LPAR 및 제2 LPAR은 데이터의 저장 및 검색에 전용되는 것인 적어도 하나의 스토리지 설비 이미지(SFI)와;
    상기 제1 CEC의 컴퓨팅 자원을 이용하여 동작하도록 규정된 제3 논리적 파티션(LPAR) 및 상기 제2 CEC의 컴퓨팅 자원을 이용하여 동작하도록 규정된 제4 LPAR을 포함하고, 상기 제3 LPAR 및 제4 LPAR은 데이터 스토리지 애플리케이션에 전용되는 것인 적어도 하나의 스토리지 애플리케이션 이미지(SAI)와;
    피어 투 피어 도메인에서 서로 상호 작용하도록 상기 제1 LPAR 및 제2 LPAR을 구성하여 각 LPAR이 다른 LPAR의 동작을 미러링하고 다른 LPAR과 직접 통신하게 하며, 또한 피어 투 피어 도메인에서 서로 상호 작용하도록 상기 제3 LPAR 및 제4 LPAR을 구성하여 각 LPAR이 다른 LPAR의 동작을 미러링하고 다른 LPAR과 직접 통신하게 하는 구성 모듈과;
    상기 적어도 하나의 SFI 및 적어도 하나의 SAI의 로컬 자원 정의를 관리 노드에 노출시켜서 상기 적어도 하나의 SFI 및 적어도 하나의 SAI의 로컬 자원들이 상기 관리 노드로부터의 관리 명령의 목표 자원으로서 이용될 수 있도록 구성된 정보 모듈과;
    상기 관리 노드로부터의 관리 명령을 상기 적어도 하나의 SFI 및 적어도 하나의 SAI의 로컬 자원을 향하여 선택적으로 어드레스하도록 구성된 어드레스 모듈
    을 포함하는 시스템.
  7. 제6항에 있어서, 상기 적어도 하나의 SFI 및 적어도 하나의 SAI 중 어느 하나의 LPAR의 로컬 자원에 대하여 행하여진 수정에 응답해서, 상기 적어도 하나의 SFI 및 적어도 하나의 SAI의 로컬 자원을 나타내는 자원 정의를 동기화시키도록 구성된 동기화 모듈을 더 포함하는 시스템.
  8. 제6항에 있어서, 상기 정보 모듈은 상기 적어도 하나의 SFI의 로컬 자원 및 적어도 하나의 SAI의 로컬 자원을 상기 관리 노드에 방송하도록 더 구성된 것인 시스템.
  9. 제6항에 있어서, 상기 정보 모듈은 상기 적어도 하나의 SFI의 로컬 자원 및 적어도 하나의 SAI의 로컬 자원을 상기 관리 노드에 액세스가능한 중앙 리포지토리에 등록하도록 더 구성된 것인 시스템.
  10. 스토리지 관리를 용이하게 하는 방법에 있어서,
    피어 투 피어 도메인에서 서로 상호 작용하도록 제1 논리 엔티티 및 제2 논리 엔티티를 구성하여 각 논리 엔티티가 다른 논리 엔티티의 동작을 미러링하고 다른 논리 엔티티와 직접 통신하게 하는 단계와;
    상기 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 관리 노드에 노출시켜서 상기 제1 논리 엔티티 및 제2 논리 엔티티의 로컬 자원들이 관리 노드로부터 관리 명령의 목표 자원으로서 이용될 수 있게 하는 단계와;
    상기 관리 노드로부터의 관리 명령을 상기 제1 논리 엔티티의 로컬 자원 및 제2 논리 엔티티의 로컬 자원을 향하여 선택적으로 어드레스하는 단계
    를 포함하는 방법.
KR1020077009207A 2004-10-12 2005-09-29 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법 KR20070085283A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/963,086 2004-10-12
US10/963,086 US20060080319A1 (en) 2004-10-12 2004-10-12 Apparatus, system, and method for facilitating storage management

Publications (1)

Publication Number Publication Date
KR20070085283A true KR20070085283A (ko) 2007-08-27

Family

ID=35735175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077009207A KR20070085283A (ko) 2004-10-12 2005-09-29 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법

Country Status (7)

Country Link
US (1) US20060080319A1 (ko)
EP (1) EP1810191A1 (ko)
JP (1) JP2008517358A (ko)
KR (1) KR20070085283A (ko)
CN (1) CN101019120A (ko)
MX (1) MX2007004210A (ko)
WO (1) WO2006040264A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100643047B1 (ko) * 2005-04-12 2006-11-10 최규준 미네랄을 다량 포함하는 활성용액의 제조방법
WO2007136423A2 (en) * 2005-12-30 2007-11-29 Bmo Llc Digital content delivery via virtual private network(vpn) incorporating secured set-top devices
WO2007133294A2 (en) * 2005-12-30 2007-11-22 Bmo Llc Ubiquitous navbar user interface across multiple heterogeneous digital media devices
JP4449931B2 (ja) * 2006-03-30 2010-04-14 ブラザー工業株式会社 管理装置、および管理システム
US20080281718A1 (en) * 2007-01-08 2008-11-13 Barrett Morgan Household network incorporating secure set-top devices
US20080192643A1 (en) * 2007-02-13 2008-08-14 International Business Machines Corporation Method for managing shared resources
JP4480756B2 (ja) 2007-12-05 2010-06-16 富士通株式会社 ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法
US9071524B2 (en) * 2008-03-31 2015-06-30 Lenovo (Singapore) Pte, Ltd. Network bandwidth control for network storage
WO2009145764A1 (en) * 2008-05-28 2009-12-03 Hewlett-Packard Development Company, L.P. Providing object-level input/output requests between virtual machines to access a storage subsystem
US9565239B2 (en) 2009-05-29 2017-02-07 Orions Digital Systems, Inc. Selective access of multi-rate data from a server and/or peer
CN102122306A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 一种数据处理方法及应用该方法的分布式文件系统
US8930959B2 (en) 2011-05-13 2015-01-06 Orions Digital Systems, Inc. Generating event definitions based on spatial and relational relationships
US9264919B2 (en) * 2011-06-01 2016-02-16 Optis Cellular Technology, Llc Method, node and system for management of a mobile network
CN103064757A (zh) * 2012-12-12 2013-04-24 鸿富锦精密工业(深圳)有限公司 数据备份方法及系统
US10353631B2 (en) * 2013-07-23 2019-07-16 Intel Corporation Techniques for moving data between a network input/output device and a storage device
CN104951855B (zh) * 2014-03-28 2022-08-02 伊姆西Ip控股有限责任公司 用于促进对资源的管理的装置和方法
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
EP3256939A4 (en) * 2015-02-10 2018-08-29 Pure Storage, Inc. Storage system architecture
WO2016166867A1 (ja) * 2015-04-16 2016-10-20 株式会社日立製作所 計算機システム、及び、リソース制御方法
DE102015214385A1 (de) * 2015-07-29 2017-02-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Absichern der Anwendungsprogrammierschnittstelle eines Hypervisors
CN106874142B (zh) * 2015-12-11 2020-08-07 华为技术有限公司 一种实时数据容错处理方法及系统
CN110798520B (zh) * 2019-10-25 2021-12-03 苏州浪潮智能科技有限公司 一种业务处理方法、系统、装置及可读存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421679B1 (en) * 1995-10-27 2002-07-16 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
AU6440398A (en) * 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6189145B1 (en) * 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5923890A (en) * 1997-07-30 1999-07-13 International Business Machines Corporation Method and apparatus for optimizing the handling of synchronous requests to a coupling facility in a sysplex configuration
US6477139B1 (en) * 1998-11-15 2002-11-05 Hewlett-Packard Company Peer controller management in a dual controller fibre channel storage enclosure
US6279046B1 (en) * 1999-05-19 2001-08-21 International Business Machines Corporation Event-driven communications interface for logically-partitioned computer
US6574655B1 (en) * 1999-06-29 2003-06-03 Thomson Licensing Sa Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers
WO2001035211A2 (en) * 1999-11-09 2001-05-17 Jarna, Inc. Synchronizing data among multiple devices in a peer-to-peer environment
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US7069295B2 (en) * 2001-02-14 2006-06-27 The Escher Group, Ltd. Peer-to-peer enterprise storage
US7039692B2 (en) * 2001-03-01 2006-05-02 International Business Machines Corporation Method and apparatus for maintaining profiles for terminals in a configurable data processing system
US7065761B2 (en) * 2001-03-01 2006-06-20 International Business Machines Corporation Nonvolatile logical partition system data management
US6834340B2 (en) * 2001-03-01 2004-12-21 International Business Machines Corporation Mechanism to safely perform system firmware update in logically partitioned (LPAR) machines
US6779058B2 (en) * 2001-07-13 2004-08-17 International Business Machines Corporation Method, system, and program for transferring data between storage devices
US20030105812A1 (en) * 2001-08-09 2003-06-05 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communications
US7085827B2 (en) * 2001-09-20 2006-08-01 Hitachi, Ltd. Integrated service management system for remote customer support
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US7194656B2 (en) * 2001-11-28 2007-03-20 Yottayotta Inc. Systems and methods for implementing content sensitive routing over a wide area network (WAN)
US7146306B2 (en) * 2001-12-14 2006-12-05 International Business Machines Corporation Handheld computer console emulation module and method of managing a logically-partitioned multi-user computer with same
US7243103B2 (en) * 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
JP2003323329A (ja) * 2002-05-07 2003-11-14 Fujitsu Ltd 分散ファイル管理方法及びプログラム
US7480911B2 (en) * 2002-05-09 2009-01-20 International Business Machines Corporation Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US20040098717A1 (en) * 2002-09-16 2004-05-20 Husain Syed Mohammad Amir System and method for creating complex distributed applications
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム

Also Published As

Publication number Publication date
WO2006040264A1 (en) 2006-04-20
MX2007004210A (es) 2007-06-11
EP1810191A1 (en) 2007-07-25
CN101019120A (zh) 2007-08-15
JP2008517358A (ja) 2008-05-22
US20060080319A1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
KR20070085283A (ko) 스토리지 관리를 용이하게 하는 장치, 시스템 및 방법
US11868323B2 (en) Orchestrated disaster recovery
US7734753B2 (en) Apparatus, system, and method for facilitating management of logical nodes through a single management module
US9760395B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10069688B2 (en) Dynamically assigning, by functional domain, separate pairs of servers to primary and backup service processor modes within a grouping of servers
US9253026B2 (en) Software-defined networking disaster recovery
US9135018B2 (en) Computer cluster and method for providing a disaster recovery functionality for a computer cluster
US8832498B1 (en) Scalable codebook correlation for cloud scale topology
US9170951B1 (en) Method and apparatus for event/alert enrichment
US20060085785A1 (en) Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US20060085530A1 (en) Method and apparatus for configuring, monitoring and/or managing resource groups using web services
US11567790B2 (en) Node regeneration in distributed storage systems
US9602341B1 (en) Secure multi-tenant virtual control server operation in a cloud environment using API provider
US10148498B1 (en) Provisioning storage in a multi-site cloud computing environment
US20060085668A1 (en) Method and apparatus for configuring, monitoring and/or managing resource groups
US10365977B1 (en) Floating backup policies in a multi-site cloud computing environment
US9736046B1 (en) Path analytics using codebook correlation
US11119872B1 (en) Log management for a multi-node data processing system
US10346252B1 (en) Data protection in a multi-site cloud computing environment
US10862887B2 (en) Multiple domain authentication using data management and storage node
US10305764B1 (en) Methods, systems, and computer readable mediums for monitoring and managing a computing system using resource chains
Dell
KR20180072891A (ko) 컨테이너 관리 컴포넌트를 가지는 머신 관리 디바이스 및 사물 인터넷 관리 디바이스
Syrewicze et al. Providing High Availability for Hyper-V Virtual Machines
KR20240085328A (ko) 장애 노드 제거 장치 및 그것의 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application