KR20160023873A - 하드웨어 관리 통신 프로토콜 - Google Patents

하드웨어 관리 통신 프로토콜 Download PDF

Info

Publication number
KR20160023873A
KR20160023873A KR1020167002038A KR20167002038A KR20160023873A KR 20160023873 A KR20160023873 A KR 20160023873A KR 1020167002038 A KR1020167002038 A KR 1020167002038A KR 20167002038 A KR20167002038 A KR 20167002038A KR 20160023873 A KR20160023873 A KR 20160023873A
Authority
KR
South Korea
Prior art keywords
packet
function
hardware
asset
generated
Prior art date
Application number
KR1020167002038A
Other languages
English (en)
Other versions
KR102210289B1 (ko
Inventor
바드리디네 케십
스리람 산카르
웅기 백
스리람 고빈단
브라이언 데이비드 켈리
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160023873A publication Critical patent/KR20160023873A/ko
Application granted granted Critical
Publication of KR102210289B1 publication Critical patent/KR102210289B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • 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/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

단순화된 하드웨어 관리 통신 프로토콜은 관리 기능의 하위 계층들 또는 관리되는 자원들에 요청들을 전송하기 위해 이용되는 정의된 요청 패킷들을 포함하고, 또한 요청의 소스에 응답들을 대응하여 전송하기 위해 이용되는 정의된 응답 패킷들을 포함한다. 요청 패킷은 디바이스의 타입의 식별정보, 그 디바이스의 식별자, 송신측 엔티티의 어드레스, 세션 식별자, 시퀀스 번호, 기능 식별자, 및 요청 타겟에 지향되는 캡슐화된 통신 또는 데이터를 포함하는 페이로드를 포함한다. 응답 패킷은 요청의 송신자의 식별정보, 세션 식별자, 시퀀스 번호, 요청이 완료되었는지의 여부 및 요청이 완료된 방식을 식별하는 완료 코드, 및 페이로드를 포함할 수 있다. 관리되는 자산 타입 특정 드라이버들은 관리되는 자산들에 특유한 통신 프로토콜들을 이용하는 통신들을 번역한다.

Description

하드웨어 관리 통신 프로토콜{HARDWARE MANAGEMENT COMMUNICATION PROTOCOL}
높은 처리량의 컴퓨터 네트워크 접속의 이용가능성이 점점 증가함에 따라, 컴퓨터 처리 능력은 다양한 물리적 장소에 걸쳐 확산될 수 있는 다수의 상이한 컴퓨팅 디바이스 간에 분산될 수 있게 되었다. 예를 들어, 수백 또는 수천 개의 컴퓨팅 디바이스를 하우징하는 데이터 센터는, 그러한 데이터 센터들에 의해 지원되는 처리 능력을 자기 자신을 위해 이용하고자 하는 엔티티들 간에서, 또한 그러한 처리 능력들을 다른 엔티티들에게 판매하고자 하는 엔티티들에 의해, 점점 더 보편적이게 되고 있다. 데이터 센터들이 현금화되는 방식에 무관하게, 각각의 데이터 센터, 및 그 내부에 포함된 컴퓨팅 디바이스들 및 관련 하드웨어는 상당한 재정적 투자에 상당할 수 있다. 더 구체적으로, 데이터 센터를 포함하는 하드웨어 중의 다수, 특히 계산 하드웨어는 그러한 하드웨어를 구매하기 위한 초기 자본 지출을 필요로 할 수 있을 뿐만 아니라, 시간의 경과에 따라 가치가 감소하는 감가상각 자산에 상당할 수 있다.
결과적으로, 하드웨어가 효율적으로 이용되고 있을 것을 보장하고, 전압, 전류, 온도 및 다른 유사한 파라미터들과 같은 작동 파라미터들이 충족되고 있는지를 보장하기 위해, 하드웨어를 추적하는 것이 재정적으로 이로울 수 있다. 불행하게도, 다양한 지리적 장소에 걸쳐 무수한 하드웨어를 추적하고 관리하는 것은 구현하기가 어려울 수 있다. 예를 들어, 단일 데이터 센터는 개별적으로 추적되고 관리될 필요가 있을 수 있는 수천 개의 컴퓨팅 디바이스 및 관련 하드웨어를 포함할 수 있다. 그러나, 다수의 조직이 다양한 지리적 장소에 걸쳐 확산될 수 있는 복수의 데이터 센터를 관리할 수 있고, 이는 유지되고 관리된 하드웨어의 양을 기하급수적으로 증가시킨다.
하드웨어, 특히 대량의 물리적으로 분산된 하드웨어를 관리하기 위한 전통적인 메커니즘들은 무수한 복잡한 통신 프로토콜의 이용을 포함한다. 그러한 메커니즘들은 비효율적일 수 있고, 오류를 일으키기 쉬울 수 있다.
일 실시예에서, 하드웨어 관리 통신 프로토콜은 다른 프로토콜들을 이용하는 통신들을 복수 계층의 관리 기능을 통해 라우팅하여 적절한 관리 자원들로 지향시키는 래퍼(wrapper)로서 역할할 수 있다. 하드웨어 관리 통신 프로토콜은 관리 기능의 하위 계층들 또는 관리되는 자원들에 요청들을 전송하기 위해 이용될 수 있는 정의된 요청 패킷들(designed request packets)을 포함할 수 있다. 하드웨어 관리 통신 프로토콜은 요청의 소스에 응답들을 대응하여 전송하기 위해 이용될 수 있는 정의된 응답 패킷들(defined response packets)을 포함할 수 있다.
다른 실시예에서, 요청 패킷은 그러한 요청이 지향되는 디바이스의 타입의 식별정보(identification), 그 디바이스의 식별자, 요청 패킷을 송신하는 엔티티의 어드레스, 요청 및 대응하는 응답을 상관시킬 수 있는 세션 식별자, 단일 패킷 크기를 초과하는 데이터의 전송을 제공하기 위한 시퀀스 번호, 요청받은 기능을 식별할 수 있는 기능 식별자, 및 요청의 타겟에 지향되는 캡슐화된 통신 또는 데이터를 포함할 수 있는 페이로드를 포함할 수 있다.
다른 실시예에서, 응답 패킷은 응답이 제공되고 있는 요청의 송신자(sender)의 식별정보, 요청 및 대응하는 응답을 상관시킬 수 있는 세션 식별자, 단일 패킷 크기를 초과하는 데이터의 전송을 제공하기 위한 시퀀스 번호, 요청이 완료되었는지의 여부 및 요청이 완료된 방법을 식별하는 완료 코드, 및 요청의 송신자에 지향되는 캡슐화된 통신 또는 데이터를 포함할 수 있는 페이로드를 포함할 수 있다.
또 다른 실시예에서, 관리되는 자산 타입 특정 드라이버들은 관리 기능의 최하위 계층의 역할을 할 수 있고, 하드웨어 관리 통신 프로토콜을 이용하는 하드웨어 관리 통신과, 관리 자산마다 특유한 통신 프로토콜들을 이용하는 통신 사이를 번역(translate)할 수 있다.
본 개요는 이하의 상세한 설명에서 더 기술되는 개념들 중 선택된 것들을 단순한 형태로 소개하기 위해 제공된 것이다. 본 개요는 청구되는 발명의 대상의 핵심적인 특징 또는 본질적인 특징을 식별하도록 의도된 것이 아니며, 청구되는 발명의 대상의 범위를 제한하기 위해 사용되도록 의도되지 않는다.
추가의 특징 및 이점은 첨부 도면들을 참조하여 진행되는 이하의 상세한 설명으로부터 분명해질 것이다.
이하의 상세한 설명은 첨부 도면들과 함께 읽으면 가장 잘 이해될 수 있다.
도 1은 예시적인 하드웨어 관리 통신 프로토콜을 구현하는 예시적인 시스템을 도시하는 블록도이다.
도 2는 예시적인 하드웨어 관리 통신 프로토콜의 예시적인 요청 및 응답 패킷들을 도시하는 블록도이다.
도 3은 예시적인 통신 디바이스의 블록도이다.
이하의 설명은 하위 레벨 통신들을 복수의 관리 계층을 통해 라우팅할 수 있는 래퍼로서 역할할 수 있는 단순화된 하드웨어 관리 통신 프로토콜에 관한 것이다. 하드웨어 관리 통신 프로토콜은 관리 기능의 하위 계층들 또는 관리되는 자원들에 요청들을 전송하기 위해 이용되는 정의된 요청 패킷들을 포함할 수 있고, 또한 요청의 소스에 응답들을 대응하여 전송하기 위해 이용될 수 있는 정의된 응답 패킷들을 포함할 수 있다. 요청 패킷은 그러한 요청이 지향되는 디바이스의 타입의 식별정보, 그 디바이스의 식별자, 요청 패킷을 송신하는 엔티티의 어드레스, 요청 및 대응하는 응답을 상관시킬 수 있는 세션 식별자, 단일 패킷 크기를 초과하는 데이터의 전송을 제공하기 위한 시퀀스 번호, 요청받은 기능을 식별할 수 있는 기능 식별자, 및 요청의 타겟에 지향되는 캡슐화된 통신 또는 데이터를 포함할 수 있는 페이로드를 포함할 수 있다. 응답 패킷은 응답이 제공되고 있는 요청의 송신자의 식별정보, 요청 및 대응하는 응답을 상관시킬 수 있는 세션 식별자, 단일 패킷 크기를 초과하는 응답 데이터의 전송을 제공하기 위한 시퀀스 번호, 요청이 완료되었는지의 여부 및 요청이 완료된 방법을 식별하는 완료 코드, 및 요청의 송신자에 지향되는 캡슐화된 통신 또는 데이터를 포함할 수 있는 페이로드를 포함할 수 있다. 관리되는 자산 타입 특정 드라이버들은 관리 기능의 최하위 계층의 역할을 할 수 있고, 하드웨어 관리 통신 프로토콜을 이용하는 하드웨어 관리 통신과, 관리되는 자산마다 특유한 통신 프로토콜들을 이용하는 통신 사이를 번역할 수 있다.
설명을 위해, 본원에 설명되는 기술들은 상이한 타입들의 하드웨어 자산들을 포함하는 특정 하드웨어 어셈블리에 관한 것이다. 그러나, 그러한 어셈블리 및 그 안에 포함된 특정 하드웨어 자산에 대한 언급 및 그것의 도해들은 완전하게 예시이며, 설명되는 메커니즘들을 제공된 특정 예들에 한정하도록 의도되지 않는다. 실제로, 설명되는 기술들은 임의의 종류의 구성 또는 구조로 배열 및 조립되는 임의의 컴퓨팅 자산의 모니터링 및 자산에 적용가능할 수 있다. 결과적으로, 특정 하드웨어에 대한 아래의 언급들은 임의의 타입의 관리되는 자산을 동등하게 표현한다. 마찬가지로, "랙(rack)" 또는 "섀시(chassis)"와 같은 특정 어셈블리들에 대한 아래의 언급은 관리되는 자산들의 임의의 배열 또는 설계를 동등하게 표현한다.
추가적으로, 필수적인 것은 아니지만, 이하의 설명은 하나 이상의 컴퓨팅 디바이스에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능한 명령어들의 일반적인 맥락에서 이루어질 것이다. 더 구체적으로, 설명은 다르게 표시되지 않는 한, 하나 이상의 컴퓨팅 디바이스 또는 주변장치에 의해 수행되는 동작들의 기호적 표현들 및 단계들을 참조할 것이다. 그러한 것으로서, 때로는 컴퓨터 실행되는 것으로서 지칭되는 그러한 단계들 및 동작들은 구조화된 형태로 데이터를 표현하는 전기 신호들의 프로세싱 유닛에 의한 조작을 포함한다는 점을 이해해야 한다. 이러한 조작은 데이터를 변환하거나, 그것을 메모리 내의 장소에 유지하는데, 이것은 본 기술분야의 숙련된 자들이 잘 이해하는 방식으로 컴퓨팅 디바이스 또는 주변장치들의 동작을 재구성하거나 다르게 변경한다. 데이터가 유지되는 데이터 구조들은 데이터의 포맷에 의해 정의되는 특정 속성들을 갖는 물리적 장소이다.
일반적으로, 프로그램 모듈들은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 더욱이, 본 기술분야의 숙련된 자들은 컴퓨팅 디바이스가 종래의 개인용 컴퓨터에 한정될 필요가 없으며, 핸드핼드형 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍가능한 소비자 가전, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨팅 구성들을 포함한다는 점을 알 것이다. 마찬가지로, 메커니즘들은 통신 네트워크를 통해 연결되는 분산 컴퓨팅 환경에서도 실시될 수 있으므로, 컴퓨팅 디바이스들은 독립형 컴퓨팅 디바이스로 한정될 필요가 없다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 컴퓨터 저장 매체 두가지 모두에 설치될 수 있다.
도 1을 참조하면, 아래의 설명에 대해 컨텍스트를 제공하는 예시적인 시스템(100)이 도시되어 있다. 예시적인 시스템(100)은 섀시와 같은 물리적 구조물 내에 배열된 것으로서 도시된 관리되는 자산을 포함한다. 더 구체적으로, 도 1의 예시적인 시스템(100)은 섀시들(121, 131 및 141)을 포함하는 것으로서 도시되어 있으며, 이들은 그들 자신이 하나 이상의 관리되는 자산의 형태의 서브컴포넌트들을 각각 포함한다. 도 1의 도시의 명확성을 유지하기 위해, 섀시들(121 및 131)의 서브컴포넌트들은 명시적으로 도시되지 않는다. 그러나, 예시적인 섀시(141)는 도 1의 시스템(100)에서 예를 들어 팬들(161 및 162)과 같은 팬들, 서버들(171 및 172)과 같은 서버 컴퓨팅 디바이스들, 및 전력 공급부(181)와 같은 전력 공급부들을 포함하는 다양한 관리 자산들을 포함하는 것으로 도시되어 있다. 본 기술분야의 숙련된 자들이 이해하는 바와 같이, 그러한 관리되는 자산들 중 소정의 자산들은 그들 자신이 모니터링되고 관리될 수 있는 컴포넌트들을 포함할 수 있다. 예시로서, 서버(172)는 저장 디바이스(178)와 같은 저장 디바이스들, 및 메모리(179)와 같은 메모리 디바이스들을 포함하는 것으로서 도시된다.
일 실시예에서, 예시적인 섀시(141)의 것들과 같은 다양한 관리 자산들은 관리 기능의 복수의 계층에 의해 관리될 수 있다. 예를 들어, 섀시들(121, 131 및 141) 중 복수의 것이 단일의 물리적 또는 논리적 구조로 함께 합쳐(aggregated)질 수 있으며, 참조의 편의를 위해 이것은 여기에서 "랙(rack)"이라고 지칭될 것이다. 그에 대응하여, 랙 관리자(110)가 그러한 랙과 연관될 수 있고, 거기에 모니터링 및 관리 기능을 제공할 수 있다. 예시적인 섀시들(121, 131 및 141)과 같은 각각의 개별 섀시는 각각 예시적인 섀시 관리자(120, 130 및 140)와 같은 섀시 관리자와 연관될 수 있다. 그러한 실시예에서, 섀시 관리자들(120, 130 및 140)은 랙 관리자(110) 아래의 관리 기능의 계층을 표현할 수 있고, 그에 의해 섀시 관리자들(120, 130 및 140)은 랙 관리자(110)로부터 요청을 수신하고 그에 대한 응답을 제공한다.
예를 들어 섀시(141)의 일부로서 도 1에 예시적으로 도시되어 있는 것들과 같은 관리되는 자산들 중의 개별 자산들과의 통신을 용이하게 하기 위해, 섀시 관리자는 자산 특유의 통신 능력을 포함할 수 있는 관리 기능의 다른 계층을 이용할 수 있고, 이는 여기에서 "드라이버들"이라고 지칭될 것이다. 따라서, 예를 들어, 도 1의 시스템(100)은 팬들(161 및 162)과 같은 섀시(141)의 팬들과 인터페이스할 수 있는 예시적인 팬 드라이버(160)를 도시한다. 마찬가지로, 예시적인 서버 드라이버(170)와 같은 서버 드라이버는 서버들(171 및 172)과 인터페이스할 수 있고, 예시적인 전력 공급부 드라이버(180)와 같은 전력 공급부 드라이버는 전력 공급부(181)와 인터페이스할 수 있다. 도 1에 도시된 드라이버들은 드라이버가 관리되는 자산들의 특정 클래스에 속하는 관리되는 자산들의 모든 인스턴스에 연관되도록 클래스 특정 드라이버들로서 도시되어 있지만, 다른 실시예들에서는 드라이버가 개별 자산들에 특유할 수 있다. 실례로서, 도 1에서는 팬 드라이버(160)가 섀시(141) 내의 팬들의 모든 인스턴스들과 인터페이스하는 것으로서 도시되어 있지만, 다른 실시예에서, 팬 드라이버(160)는 팬(161)과만 인터페이스할 수 있고, 다른 팬 드라이버가 팬(162)과 인터페이스할 수 있다. 추가로, 여기에서 이용되는 "드라이버"라는 용어는 관리되는 자산에 의해 기본적으로(natively) 이해가능한 형태로 통신을 번역할 수 있는 컴포넌트를 지칭할 뿐이고, 운영 체제 드라이버를 의미하지 않는다.
도 1에 도시된 바와 같이, 시스템(100)은 랙 관리자(110)와 섀시 관리자들(120, 130 및 140) 중의 개별 관리자 사이에서의 각각의 통신 경로(125, 135 및 145)를 포함할 수 있다. 추가적으로, 섀시 관리자들 각각은 그들 각자의 섀시에의 통신 경로들을 포함할 수 있다. 예를 들어, 섀시 관리자(120)는 섀시(121)를 포함하는 관리 자산들 중 하나 이상에 대한 통신 경로(129)를 포함할 수 있다. 마찬가지로, 섀시 관리자(130)는 섀시(131)를 포함하는 관리 자산들 중 하나 이상에 대한 통신 경로(139)를 포함할 수 있다. 일 실시예에서, 섀시 관리자와, 섀시 관리자에 연관된 섀시를 포함하는 관리 자산들 중의 개별 자산들 사이의 통신 경로들은, 섀시 관리자 통신들을 관리 자산들에 의해 기본적으로 이해될 수 있는 통신들로 번역하기 위한 하나 이상의 드라이버를 포함할 수 있다. 결과적으로, 도 1의 시스템(100) 내에 도시된 바와 같이, 섀시 관리자(140)는 팬 드라이버(160), 서버 드라이버(170) 및 전력 공급부 드라이버(180)와 같은 드라이버들 중 하나 이상과 섀시 관리자 사이의 각각의 통신 경로들(165, 175 및 185)을 포함할 수 있다. 다음으로, 그러한 드라이버들 각각은 결국 그들 자신과 그들이 연관되어 있는 자산들 중 하나 이상의 자산 사이의 통신 경로들을 포함할 수 있다. 예를 들어, 팬 드라이버(160)는 팬들(161 및 162)과 같은 섀시(141)의 팬들과 팬 드라이버 사이의 각각의 통신 경로들(191 및 192)을 포함할 수 있다. 마찬가지로, 서버 드라이버(170)는 서버들(171 및 172)과 같은 섀시(141)의 서버들과 서버 드라이버 사이의 각각의 통신 경로들(193 및 194)을 포함할 수 있고, 전력 공급부 드라이버(180)는 전력 공급부 드라이버와 전력 공급부(181) 사이의 통신 경로(195)를 포함할 수 있다. 추가로, 일 실시예에서, 관리되는 자산들 내에 통신 경로들이 존재할 수 있다. 예를 들어, 도 1에 구체적으로 도시되지는 않았지만, 서버(172)의 컴포넌트들이 예를 들어 저장소(178) 및 메모리(179)와 같은 그것의 다른 컴포넌트들과 통신을 할 수 있게 하기 위해, 예를 들어 서버(172) 내에서와 같이, 서버 디바이스들 내에 추가의 통신 경로들이 존재할 수 있다.
일 실시예에서, 하드웨어 관리 통신 프로토콜은 관리 기능을 제공하는 다양한 계층들의 사이에서 통신들을 교환하기 위해 이용될 수 있다. 예를 들어, 그러한 하드웨어 관리 통신 프로토콜은 예시적인 랙 관리자(110)와 같은 랙 관리자들과 예시적인 섀시 관리자들(120, 130 및 140)과 같은 섀시 관리자들 사이에서 통신들을 교환하기 위해 이용될 수 있다. 마찬가지로, 그 동일한 하드웨어 관리 통신 프로토콜은 또한 섀시 관리자들과, 그 섀시 관리자들에 의해 관리되는 섀시를 포함하는 관리되는 자산들에 연관된 드라이버들의 인스턴스들 사이에서 통신들을 교환하기 위해 이용될 수 있다. 따라서, 예를 들어, 그 동일한 하드웨어 관리 통신 프로토콜은 팬 드라이버(160), 서버 드라이버(170) 및 전력 공급부 드라이버(180) 중 하나 이상과 섀시 관리자(140) 사이에서 통신들을 교환하도록 이용될 수 있다.
다음으로, 팬 드라이버(160), 서버 드라이버(170) 및 전력 공급부 드라이버(180) 각각은 하드웨어 관리 통신 프로토콜에 대응하는 통신을 관리 자산들이 기본적으로 이해할 수 있는 통신으로 번역할 수 있다. 간단한 예로서, 팬(161)은 본 예에서 직렬 인터페이스의 정의된 핀들 상의 전압의 존재 또는 부재만을 이해할 수 있도록 제한될 수 있는 제한된 통신 기능을 포함할 수 있다. 그러한 극단적인 예에서, 팬 드라이버(160)는 그러한 팬(161)과 호환가능할 수 있고, 그에 의해 팬 드라이버(160)는 아래에 설명되는 하드웨어 관리 처치(medication) 프로토콜에 따라 통신을 수신할 수 있고, 그러한 통신들로부터 팬(161)의 요청받은 기능을 추출할 수 있고, 예를 들어 직렬 인터페이스의 핀들 중 적절한 것들에 전압을 인가함으로써, 팬(161)을 그에 대응하여 제어할 수 있게 된다. 다른 예로서, 관리되는 자산들 중 하나 이상은 기존 자산 관리 통신 프로토콜과 호환가능할 수 있다. 예를 들어, 저장소(178) 또는 메모리(179)는 알려진 디바이스 내부의 하드웨어 관리 프로토콜과 호환가능할 수 있다. 그러한 예에서, 서버 드라이버(171)는 아래에 설명되는 하드웨어 관리 통신 프로토콜에 따라 통신들을 수신할 수 있고, 그러한 통신들로부터 저장소(178) 또는 메모리(179)의 요청받은 기능을 추출할 수 있고, 저장소(178) 또는 메모리(179)가 호환가능한 알려진 디바이스 내부의 하드웨어 관리 프로토콜들 내에서 서버(172)에 그러한 요청들을 전달할 수 있다.
마찬가지로, 관리되는 자산들로부터의 응답들은 관리되는 자산들과 호환가능한 통신 프로토콜들 중 어느 것이든 이용하여 대응 드라이버들에 의해 수신될 수 있다. 다음으로, 드라이버들은 그러한 응답들을 아래에 설명되는 하드웨어 관리 통신 프로토콜에 따른 적절한 포맷으로 번역할 수 있다.
도 2로 가면, 거기에 도시된 시스템(200)은 위에서 언급된 하드웨어 관리 통신 프로토콜의 예시적인 패킷 구조 및 통신 교환을 도시한다. 예상되는 패킷 구조와 통신 교환을 예시적으로 설명하기 위해, 시스템(200)의 통신 교환은 앞에서 도 1에 도시된 랙 관리자(110), 섀시 관리자(140), 팬 드라이버(160) 및 팬(161) 사이에서 교환되는 통신들의 맥락에서 예시된다. 처음에, 시스템(200) 내에 보여진 바와 같이, 요청은 통신(230)을 통해 랙 관리자(110)로부터 섀시 관리자(140)로 전달될 수 있다. 그러한 요청은 예를 들어 주기적 요청, "하트비트(heartbeat)" 통신, 또는 자동으로 트리거되는 다른 유사한 동작의 일부로서, 랙 관리자(110)로부터 발원될 수 있다. 또한, 통신(230)의 요청은 또 다른 자산 관리 계층들을 통해 간접적으로 또는 직접적으로 랙 관리자(110)와 상호작용할 수 있는 관리 사용자 또는 다른 유사 엔티티에서 발원될 수 있다.
일 실시예에서, 통신(230)은 도 2에 또한 보여진 예시적인 요청 패킷(210)에 따른 구조를 포함할 수 있는 하나 이상의 패킷(231)을 포함할 수 있다. 도 2에 보여진 바와 같이, 예시적인 요청 패킷(210)은 그러한 통신이 궁극적으로 지향되는 디바이스의 타입을 식별할 수 있는 디바이스 타입 정보(211)를 포함할 수 있다. 그러한 디바이스 타입 정보(211)는 복수의 패킷을 구별하고, 상이한 디바이스 타입들을 명시하는 패킷들에 상이한 처리를 적용하기 위해 이용될 수 있다. 일 실시예에서, 디바이스 타입 정보(211)에 의한 디바이스 타입의 식별정보는 예를 들어 디바이스가 팬, 서버, 전력 공급부 등인지와 같은 타겟 디바이스 자체의 범주화에 기초할 수 있다. 다른 실시예에서, 디바이스 타입 정보(211)에 의한 디바이스 타입의 식별정보는 타겟 디바이스의 물리적 표명(physical manifestation)과 무관하게, 타겟 디바이스의 능력들에 기초할 수 있다. 예를 들어, 냉각 디바이스들은 그러한 디바이스들이 팬, 열전기 컴포넌트, 냉수냉각(hydro-cooling) 장치, 또는 다른 유사한 냉각 디바이스인지에 무관하게 단일 디바이스 타입일 수 있다.
일 실시예에서, 디바이스 타입 정보(211)에 의해 명시될 수 있는 하나의 디바이스 타입은 관리되는 자산을 직접적으로 식별할 수 있는 것이 아니라 자산 관리 시스템의 하나 이상의 컴포넌트 또는 양상을 식별할 수 있는 제어 디바이스 타입일 수 있다. 예를 들어, 통신(230)에 의해 랙 관리자(110)로부터 섀시 관리자(140)로 전달될 수 있는 예시적인 패킷(231)은 섀시 관리자(140)와 같은 중간 관리 컴포넌트들을 그 요청에 대한 타겟 디바이스로서 식별할 수 있는 디바이스 타입 정보(211)를 포함할 수 있다. 그러한 디바이스 타입 정보(211)는 예를 들어 자산 관리 컴포넌트들의 적절한 동작을 주기적으로 검증하도록 설계될 수 있는 "하트비트" 요청들, 타임아웃 값들과 같은 하나 이상의 동작 세팅을 수정할 수 있는 세팅 요청들, 및 펌웨어 업데이트들을 재시작하고 적용하기 위한 동작 요청들 등을 포함하는 요청들을, 다른 자산 관리 컴포넌트들에 통신하기 위해 이용될 수 있다. 일 실시예에서, 디바이스 타입 정보(211)는 요청 패킷(210) 내의 단일 바이트 크기의 필드일 수 있다.
또한, 예시적인 패킷(210)은 그러한 통신이 궁극적으로 지향되는 특정 디바이스의 구체적인 식별자를 제공할 수 있는 디바이스 식별 정보(212)를 더 포함할 수 있다. 일 실시예에서, 디바이스 타입 정보(211)의 존재로 인해, 디바이스 식별 정보(212)는 동일 디바이스 타입의 다른 디바이스들 사이에서만 고유하면 된다. 그러나, 다른 실시예에서, 디바이스 식별 정보(212)는 전역적 고유 식별자(globally unique identifier)일 수 있다. 예시적인 일 실시예에서, 디바이스 식별 정보(212)는 요청 패킷(210) 내의 단일 바이트 크기의 필드일 수 있다.
예시적인 요청 패킷(210)에 의해 제공될 수 있는 추가 정보는 요청을 전송하는 엔티티를 식별할 수 있거나, 전송 엔티티의 특정 포트, 컴포넌트 또는 다른 유사한 양상을 식별할 수 있는 송신자 어드레스 정보(213)를 포함할 수 있다. 일 실시예에서, 송신자 어드레스 정보(213)는 장애조치(failover) 기능을 제공하기 위해 복수의 상이한 엔티티의 어드레스들을 포함할 수 있다. 더 구체적으로, 그러한 실시예에서, 응답은 송신자 어드레스 정보(213) 내에 포함된 복수의 상이한 어드레스 정보 중 제1 어드레스 정보에 먼저 지향될 수 있다. 그러한 응답이 예를 들어 그것이 지향되었던 엔티티의 장애로 인해 전달될 수 없는 경우, 그 동일한 응답은 후속하여 송신자 어드레스 정보(213) 내에 포함된 복수의 상이한 어드레스 정보 중 제2 어드레스 정보들에 지향될 수 있고, 그에 의해 장애 내성(failure tolerance)을 제공한다. 일 실시예에서, 송신자 어드레스 정보(213)는 요청 패킷(210) 내의 단일 바이트 크기의 필드일 수 있다.
예시적인 요청 패킷(210)은 또한 후속 응답으로 하여금 그것이 응답하고 있는 요청에 상관될 수 있게 할 수 있는 세션 식별 정보(214)를 포함할 수 있다. 통신 세션은 단일 요청/응답 쌍일 수 있고, 이 경우, 단일 요청과 단일 응답은 동일한 세션 식별 정보(214)를 포함할 수 있다. 통신 세션은 또한 직렬 콘솔 세션의 컨텍스트에서와 같이, 복수의 요청/응답 메시지에 걸쳐질 수 있다. 그러한 경우에서, 복수의 요청 각각과 복수의 응답 각각은 동일한 세션 식별 정보(214)를 포함할 수 있다. 일 실시예에서, 세션 식별 정보(214)는 요청 패킷(210) 내의 2 바이트 크기의 필드일 수 있다.
단일 패킷보다 클 수 있는 정보 또는 데이터의 통신을 제공하기 위해, 예시적인 요청 패킷(210)은 또한 더 큰 정보 컬렉션의 개별 단편들을 통신하는 일련의 패킷에 대한 시퀀싱 정보를 제공할 수 있는 시퀀스 번호(215)를 포함할 수 있다. 더 구체적으로, 일 실시예에서, 시퀀스 번호(215)는 요청 패킷(210) 내의 2 바이트 크기일 수 있는 필드일 수 있고, 이 경우, 단일 통신을 형성하기 위해 페이로드들이 연쇄되어야 하는 추가 패킷들이 존재하는지를 나타내기 위해, 그러한 2 바이트 중 단일 비트, 예를 들어 최고 비트 또는 사인(sign) 비트가 이용될 수 있다. 그러한 예에서, 다음으로, 31개의 하위 비트가 시퀀싱 정보로서의 역할을 할 수 있고, 그에 의해 그러한 추가 패킷들이 수신 후에 시퀀스화될 수 있다.
예시적인 요청 패킷(210)은 적절한 경우 요청되고 있는 기능을 식별하는 기능 식별 정보(216)를 제공할 수 있다. 일 실시예에서, 기능 식별 정보(216)는 디바이스 타입 정보(211)에 의해 명시된 디바이스의 타입에 대해서만 고유할 수 있다. 단순한 예로서, 디바이스 타입 정보(211)가 요청 패킷(210)이 팬 타입 디바이스에 지향되고 있음을 나타낼 때에는 기능 코드 "1"이 "상태 획득(get status)" 기능을 나타낼 수 있다. 그러한 단순한 예를 계속하면, 디바이스 타입 정보(211)가 요청 패킷(210)이 서버 타입 디바이스에 지향되고 있음을 나타낼 때는 동일한 기능 코드 "1"이 "서버 켜기(turn on server)" 기능을 나타낼 수 있다. 다른 실시예에서, 기능 식별 정보(216)는 복수의 상이한 타입의 디바이스에 걸쳐 전역적으로 고유할 수 있다. 기능 식별 정보(216)에 의해 명시될 수 있는 기능들의 예는 위에서 언급된 "상태 획득" 기능들뿐만 아니라, 구체적 값들, 파라미터들 또는 다른 세팅들을 설정하는 기능들, 및 타겟 디바이스에 대해 위에서 언급된 "서버 켜기" 기능과 같은 특정 동작들을 수행할 것을 지시하는 기능들을 포함할 수 있다. 일 실시예에서, 기능 식별 정보(216)는 요청 패킷(210) 내의 단일 바이트 크기일 수 있는 필드일 수 있다.
위에서 설명된 정보에 추가하여, 요청 패킷(210)은 요청 패킷(210)의 요청에 관련된 데이터를 포함할 수 있는 페이로드(218)를 또한 포함할 수 있다. 예를 들어, 페이로드(218)는 요청 패킷들의 페이로드들로 분할되는 것에 의한 것과 같이, 현재 설명되는 프로토콜 내에 캡슐화된 다양한 프로토콜들의 통신들을 포함할 수 있다. 아래에 더 상세하게 설명되는 바와 같이, 페이로드(218)의 컨텐츠들은 현재 설명되는 프로토콜들을 이용하는 중간 관리 계층들에 대해 불투명할 수 있다. 일 실시예에서, 페이로드(218)는 최대 64 킬로바이트 길이까지 가질 수 있다. 페이로드(218)의 크기를 명시하기 위해, 요청 패킷(210)은, 2 바이트 크기의 필드일 수 있으며 예를 들어 바이트 단위로 페이로드(218)의 크기를 명시할 수 있는 값을 포함할 수 있는 바이트 카운트 식별 정보(217)를 포함할 수 있다. 에러 검사 및 데이터 무결성 검사를 제공하기 위해, 예시적인 요청 패킷(210)은 또한 본 기술분야에 숙련된 자들에게 잘 알려진 방식으로 데이터 무결성에 관하여 각각의 수신된 요청 패킷을 검사하기 위해 이용될 수 있는 CRC(Cyclic Redundancy Check) 값(219)을 또한 포함할 수 있다.
앞에서 언급된 예시적인 통신(230)으로 되돌아가면, 통신(230)은 예시적인 요청 패킷(210)의 포맷일 수 있는 예시적인 패킷(231)과 같은 패킷들을 포함할 수 있다. 그러한 패킷(231)의 수신 시에, 섀시 관리자(140)는 예를 들어 그러한 패킷(231) 내에 포함된 디바이스 타입 정보(211), 및 선택사항으로서 디바이스 식별 정보(212)에 기초하는 것과 같이, 그러한 패킷(231)을 지향시킬 적절한 드라이버를 식별할 수 있다. 일 실시예에서, 섀시 관리자(140)는 예를 들어 통신(240)을 통해 팬 드라이버(160)에 전달할 새로운 패킷(241)을 생성할 수 있다. 그러한 새로운 패킷(241)은 랙 관리자(110)로부터 섀시 관리자(140)에의 통신(230)의 일부로서 송신된, 이전에 수신된 패킷(231)을 포함할 수 있는 페이로드(218)를 포함할 수 있다. 그러한 실시예에서, 예를 들어 통신(240)을 통한 패킷(241)의 수신 시에, 팬 드라이버(160)는 패킷(241)의 페이로드(218)로부터 패킷(231)을 언팩킹할 수 있고, 패킷(231)에 기초하여, 랙 관리자(110)에 의해 원래 전송된 요청에 따라 팬에 명령을 내리기 위해 팬(161)에 대한 적절한 통신들(250)을 생성할 수 있다. 팬 드라이버(160)에 의해 생성된 통신(250)은 팬(161)에 의해 지원되는 통신 프로토콜이라면 어느 것이든 따르는 것일 수 있다. 전술한 바와 같이, 그러한 통신 프로토콜은 자산의 타입에 따라 매우 간단할 수 있고, 예를 들어 전압을 직렬 인터페이스의 특정 핀들에 전압을 인가하는 것을 포함할 수 있다. 대안적으로, 다른 예로서, 통신(260)에 이용되는 통신 프로토콜은 팬(161)이 지원할 수 있는, 이전에 합의되었거나 널리 채택되는 통신 표준을 따르는 것일 수 있다. 그러한 실시예에서, 팬 드라이버(160)는 팬(161)에 의해 지원되는 통신 프로토콜과 여기에 설명된 통신 불량 임펄스(communication poor impulse) 사이를 번역할 수 있다. 대안적으로, 또는 추가적으로, 랙 관리자(110) 또는 섀시 관리자(140)와 같은 관리 컴포넌트들 중 하나 이상은 팬(161)에 의해 지원되는 통신 프로토콜을 지원할 수 있다. 그러한 대안적인 실시예에서, 팬(161)에 의해 지원되는 통신 프로토콜에 따른 패킷(251)은 예를 들어 랙 관리자(110), 또는 랙 관리자(110)와 통신하는 훨씬 더 높은 레벨의 관리 프로세스들에 의해 생성될 수 있고, 랙 관리자(110)에 의해 패킷(231)의 페이로드(218) 내로 캡슐화될 수 있다. 다음으로, 패킷(231)은 패킷(241)의 페이로드(218) 내로 캡슐화될 수 있고, 팬 드라이버(160)에 의한 패킷(241)의 수신 시에, 팬 드라이버(160)는 패킷(231)을 언팩킹할 수 있고, 후속하여 패킷(231)으로부터 패킷(251)을 언팩킹한 후, 통신(250)을 통해 패킷(251)을 팬(161)에 전송한다.
통신(250)에 응답하여, 일 실시예에서, 팬(161)은 팬(161)에 의해 지원되는 통신 프로토콜을 따르는 것일 수 있는 패킷(261)과 같은 패킷들을 포함할 수 있는 통신(260)의 응답을 생성할 수 있다. 패킷들(251 및 261)은 본원에 설명된 통신 프로토콜과 다를 수 있다는 것을 도시하기 위해, 그들은 위에 상세하게 설명된 패킷들(231 및 241), 및 아래에 더 상세하게 설명된 패킷들(271 및 281)이 흰색으로 채워진 것에 대비하여, 채워진 검정으로 도시되어 있다. 팬 드라이버(160)는 응답 통신(260)을 수신하고 나면, 그것은 섀시 관리자(140)에 대한 통신(270)의 응답을 생성할 수 있다. 통신(270)의 응답은 패킷(271)과 같은 패킷들을 포함할 수 있고, 이는 도 2의 시스템(200) 내에 도시된 예시적인 응답 패킷(220)에 의해 도시된 형태일 수 있다.
예시적인 요청 패킷(210)의 송신자 어드레스 정보(213)와 마찬가지로, 예시적인 응답 패킷(220)은 유사하게 송신자 어드레스 정보(221)를 포함할 수 있다. 일 실시예에서, 응답 패킷(220)의 송신자 어드레스 정보(221)는 대응하는 요청 패킷의 송신자 어드레스 정보(213)로부터 단순하게 복사되거나 다르게 획득될 수 있다. 응답 패킷(220)의 송신자 어드레스 정보(221)는 예시적인 응답 패킷(220)과 같은 응답 패킷들이 요청을 발원한 엔티티와 같은 적절한 엔티티에 지향되게 할 수 있다.
추가적으로, 응답 패킷(220)은 세션 식별 정보(222)를 더 포함할 수 있다. 세션 식별 정보(222)는 예시적인 요청 패킷(210)의 세션 식별 정보(214)와 마찬가지로, 특정 통신 세션을 식별할 수 있다. 실제로, 일 실시예에서, 응답 패킷(220)의 세션 식별 정보(222)는 대응하는 요청 패킷의 세션 및 식별 정보(213)로부터 단순하게 복사되거나 다르게 획득될 수 있다.
응답 패킷(220)은 또한 예시적인 요청 패킷(210)의 시퀀스 번호(215)와 반드시 동등하지는 않지만 유사할 수 있는 시퀀스 번호(223)를 포함할 수 있다. 앞에서와 같이, 응답 패킷(220)의 시퀀스 번호(223)는 복수의 응답 패킷에 걸쳐 패킷화된 단일 통신의 추가의 부분들을 포함하는 추가 패킷들이 예상되어야 하는지를 나타낼 수 있다. 예를 들어, 일 실시예에서, 최상위 비트 또는 사인 비트는 후속 패킷들이 복수의 응답 패킷에 걸쳐 패킷화된 단일 통신의 추가의 부분들을 포함하는지를 나타낼 수 있는 한편, 2 바이트 시퀀스 번호의 나머지 31 비트는 시퀀싱 정보를 제공할 수 있다.
일 실시예에서, 완료 코드 정보(224)는 요청된 동작이 어떤 방식으로 수행되었는지 또는 수행되지 않았는지의 표시를 포함하여, 타겟 자산에 의한 요청받은 기능의 수행에 연관된 상태를 제공할 수 있다. 예를 들어, 완료 코드 "0"은 요청 패킷(210)의 기능 정보(216)에 의해 명시되는 기능의 지원이 없음을 나타낼 수 있다. 다른 예로서, 완료 코드 "1"은 요청 패킷(210)을 통해 요청받은 기능의 성공적 완료를 표현할 수 있다. 또 다른 예로서, 완료 코드 "2"는 예를 들어 요청받은 기능이 타임아웃된 것, 요청받은 기능이 무효한 응답을 리턴한 것 등과 같은 다양한 오류 조건들을 표현할 수 있다. 그러한 완료 코드 정보(224)는 관리되는 자산마다 생성된 정보에 기초할 수 있다. 예를 들어, 팬(161)은 자신이 예를 들어 저전압 조건과 같은 오류를 경험하고 있음을 통신(260)을 통해 나타낼 수 있다. 그러한 표시는 팬 드라이버(160)가 적절한 오류 완료 코드로 번역할 수 있는 코드의 형태일 수 있다. 대안적으로, 완료 코드 정보(224)는 예를 들어 팬 드라이버(160)와 같은 관리 계층들 중 하나에 의해 생성될 수 있다. 예를 들어, 팬 드라이버(160)는 미리 결정된 기간 내에 팬(161)으로부터 응답을 수신하지 않으면, 요청받은 기능이 타임아웃되었음을 나타내는 완료 코드를 그 자신이 생성할 수 있다. 일 실시예에서, 완료 코드 정보(224)는 응답 패킷(220) 내의 단일 바이트 크기일 수 있는 필드일 수 있다.
예시적인 응답 패킷(220)은 위에서 상세하게 설명된 바이트 카운트 정보(217), 페이로드(218) 및 CRC 정보(219)와 유사할 수 있는 바이트 카운트 정보(225), 페이로드(226) 및 CRC 값(227)을 더 포함할 수 있다. 예를 들어, 응답 패킷(220)의 페이로드(226)에 관하여, 도 2의 시스템(200)에 의해 도시된 예에서의 섀시 관리자(140)는 팬 드라이버(160)로부터 패킷(271)을 수신할 때 패킷(271)을 포함할 수 있는 패킷(281), 및 패킷(281)의 페이로드(226)를 생성할 수 있다. 다음으로, 그러한 패킷(281)은 통신(280)에 의해 도시된 바와 같이, 섀시 관리자(140)에 의해 랙 관리자(110)에 전달될 수 있다.
통신(280)의 수신 시에, 랙 관리자(110)는 예를 들어 응답 패킷(271)을 언패키징할 수 있고, 그에 의해 통신(230)을 통해 초기에 전송된 요청에 대한 응답을 수신할 수 있다. 일 실시예에서, 랙 관리자(110), 또는 상위 레벨들을 실행하고 랙 관리자(110)와 통신하는 다른 프로세스들은 예를 들어 팬(161)에 의해 구현되는 프로토콜과 같은 대안적인 자산 관리 프로토콜들을 이해할 수 있다. 그러한 실시예에서, 팬(161)에 의해 생성되는 패킷(261)은 팬 드라이버(160)에 의해 생성된 패킷(271)의 페이로드(226) 내로 캡슐화될 수 있고, 이는 결국 위에서 상세하게 설명된 방식과 같이, 섀시 관리자(140)에 의해 생성된 패킷(281)의 페이로드(226) 내에 캡슐화될 수 있다. 그러한 실시예에서, 랙 관리자(110)는 패킷(281)의 수신 시에 패킷(281)의 페이로드(226)로부터 패킷(271)을 언패키징할 수 있고, 다음으로 패킷(271)의 페이로드(226)로부터 패킷(261)도 언패키징할 수 있으며, 그에 의해 그 자신이 처리하거나 상위 레벨 프로세스에 제공할 수 있는 패킷(261)에의 액세스를 획득할 수 있다.
일 실시예에서, 도 2에 보여진 팬 드라이버(160)와 같은 드라이버들은 예를 들어 섀시 관리자(140)와 같은 다른 관리 계층들을 구현하는 동일 컴퓨팅 디바이스 상에 구현될 수 있다. 다른 실시예들에서, 드라이버들, 또는 그러한 드라이버들에 의해 제공되고 있는 위에 설명된 기능은 관리되는 자산들 자체에 의해 제공될 수 있다. 달리 언급하면, 관리되는 자산들은 기본적으로 위에 설명된 통신 프로토콜들을 지원할 수 있다. 예를 들어, 팬(161)을 대신하여, 도 2의 시스템(200)은 예를 들어 도 1의 시스템(100) 내에 도시된 서버들 중 하나와 같은 더 복잡한 관리 자산을 포함할 수 있다. 그러한 예에서, 도 1에 도시된 서버(172)와 같은 서버는 위에서 설명된 통신 프로토콜을 기본적으로 이해할 수 있다. 결과적으로, 그러한 예에서, 서버(172)는 통신(240)을 직접 수신할 수 있다. 일 실시예에서, 통신(240)은 저장소(178) 또는 메모리(179)(둘 다 도 1에 도시되어 있음)와 같은 서버(172)의 컴포넌트들에 지향되는 통신일 수 있는 페이로드(218)를 갖는 패킷들(241)을 포함할 수 있다. 그러한 실시예에서, 서버(172) 자신이 관리 목적을 위해 저장소(178) 또는 메모리(179)와 통신하게 해 주는 프로토콜들과 같은 알려진 디바이스 내부의 프로토콜에 따른 통신들은 패킷(231), 그리고 결국 패킷(241)의 페이로드(218) 내로 캡슐화될 수 있다. 그러한 패킷들의 수신 시에, 서버(172) 자신은 그러한 패킷들의 페이로드들(218) 내에 캡슐화되는 통신들을 언패키징할 수 있고, 그에 의해, 알려진 디바이스 내부의 프로토콜들에 따라 저장소(178) 또는 메모리(179)에 그러한 통신들을 제공할 수 있다. 메모리(179)와 함께 저장소(178)로부터의 응답은 역방향이라는 점을 제외하면 유사한 방식으로 패킷화되고 패키징될 수 있다. 그러한 방식으로, 예를 들어 서버(172)와 같은 관리되는 자산 자신은 그것의 구성 컴포넌트들 중 일부 또는 전부와의 추가의 통신을 위한 것과 같이, 자기 자신의 드라이버의 역할을 할 수 있다.
도 3으로 가면, 위에 설명된 메커니즘들을 수행하고 구현하는 데에 이용될 수 있는 하드웨어 요소들을 부분적으로 포함하는 예시적인 컴퓨팅 디바이스(300)가 도시되어 있다. 예시적인 컴퓨팅 디바이스(300)는 하나 이상의 중앙 프로세싱 유닛(CPU)(320), 시스템 메모리(330), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 프로세싱 유닛(320)에 연결하는 시스템 버스(321)를 포함할 수 있지만 그에 한정되지는 않는다. 시스템 버스(321)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 또는 다양한 버스 아키텍쳐 중 임의의 것을 이용하는 로컬 버스를 포함하는 몇가지 타입의 버스 구조들 중 임의의 것일 수 있다. 구체적인 물리적 구현에 따라, CPU(320), 시스템 메모리(330), 및 컴퓨팅 디바이스(300)의 다른 컴포넌트들 중 하나 이상은 예를 들어 단일 칩 상에서와 같이 물리적으로 공동 설치될 수 있다. 그러한 경우에서, 시스템 버스(321)의 일부 또는 전부는 단일 칩 구조 내의 실리콘 경로에 불과할 수 있고, 도 3에서의 그것의 도시는 설명을 목적으로 한 표기 상의 편의에 불과할 수 있다.
컴퓨팅 디바이스(300)는 또한 컴퓨팅 디바이스(300)에 의해 액세스될 수 있는 임의의 이용가능한 매체를 포함할 수 있는 컴퓨터 판독가능한 매체를 전형적으로 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하기 위해 이용될 수 있고 컴퓨팅 디바이스(300)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 그에 한정되지는 않는다. 그러나, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 통신 매체는 전형적으로 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 반송파, 데이터 신호 또는 다른 전송 메커니즘과 같은 변조된 디지털 신호로 구현하고, 임의의 정보 전달 매체를 포함한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 전술한 것 중 임의의 것의 조합들도 컴퓨터 판독가능한 매체의 범위 내에 포함되어야 한다.
통신 매체를 이용할 때, 컴퓨팅 디바이스(300)는 하나 이상의 원격 컴퓨터에의 논리적 접속을 통해, 네트워크화된 환경에서 동작할 수 있다. 도 3에 도시된 논리적 접속은 앞에서 설명된 네트워크(190)에의 일반적인 네트워크 접속(371)이다. 예시적인 컴퓨팅 디바이스(300)가 통신 연결되는 네트워크(190)는 근거리 네트워크(LAN), 인터넷과 같은 광역 네트워크(WAN), 또는 다른 네트워크들일 수 있다. 컴퓨팅 디바이스(300)는 네트워크 인터페이스 또는 어댑터(370)를 통해 일반적 네트워크 접속(371)에 접속되고, 그것은 결국 시스템 버스(321)에 접속된다. 네트워크화된 환경에서, 컴퓨팅 디바이스(300), 또는 그것의 부분들 또는 주변장치들에 대해 도시된 프로그램 모듈들은 일반적 네트워크 접속(371)을 통해 컴퓨팅 디바이스(300)에 통신 연결된 하나 이상의 다른 컴퓨팅 디바이스의 메모리 내에 저장될 수 있다. 도시된 네트워크 접속들은 예시이고, 컴퓨팅 디바이스들 간에 통신 링크를 설정하는 다른 수단이 이용될 수 있음을 알 것이다.
컴퓨터 저장 매체 중에서, 시스템 메모리(330)는 판독 전용 메모리(ROM)(331) 및 랜덤 액세스 메모리(RAM)(332)을 포함하는 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 다른 것들 중에서도 컴퓨팅 디바이스(300)를 부팅하기 위한 코드를 포함하는 기본 입출력 시스템(333)(BIOS)이 전형적으로 ROM(331) 내에 저장된다. RAM(332)은 전형적으로 프로세싱 유닛(320)에 의해 즉시 액세스가능하고/하거나 현재 작동되고 있는 데이터 및/또는 프로그램 모듈들을 포함한다. 제한이 아닌 예로서, 도 3은 운영 체제(334), 다른 프로그램 모듈들(335) 및 프로그램 데이터(336)를 도시한다.
컴퓨팅 디바이스(300)는 또한 다른 분리식/비분리식의 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 오직 예시로서, 도 3은 비분리식 비휘발성 매체에 대해 판독 또는 기록하는 하드 디스크 드라이브(341)를 도시한다. 예시적인 컴퓨팅 디바이스와 함께 사용될 수 있는 다른 분리식/비분리식 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다기능 디스크, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만 그에 한정되지는 않는다. 하드 디스크 드라이브(341)는 전형적으로 인터페이스(340)와 같은 비분리식 메모리 인터페이스를 통해 시스템 버스(321)에 접속된다.
위에서 논의되고 도 3에 도시된 드라이브들 및 그들의 관련 컴퓨터 저장 매체는 컴퓨팅 디바이스(300)의 컴퓨터 판독가능한 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터의 저장을 제공한다. 도 3에서, 예를 들어 하드 디스크 드라이브(341)는 운영 체제(344), 다른 프로그램 모듈들(345) 및 프로그램 데이터(346)를 저장하는 것으로서 도시되어 있다. 이러한 컴포넌트들은 운영 체제(334), 다른 프로그램 모듈들(335) 및 프로그램 데이터(336)과 동일하거나 그와 다를 수 있다. 운영 체제(344), 다른 프로그램 모듈들(345) 및 프로그램 데이터(346)에는, 적어도 그들이 상이한 사본들이라는 것을 예시하기 위해 상이한 번호들이 주어진다.
위의 설명에서 볼 수 있는 바와 같이, 자산 관리 통신 프로토콜이 제공되었다. 본원에 설명된 발명의 대상의 다수의 가능한 변형의 관점에서, 이하의 청구항들 및 균등물들의 범위 내에 들 수 있는 그러한 실시예들 전부를 본 발명으로 주장한다.

Claims (10)

  1. 하드웨어 자산을 관리하기 위한 방법에 있어서,
    패킷을 생성하는 단계로서, 상기 패킷은,
    적어도 하나의 하드웨어 자산과의 통신 세션- 상기 통신 세션은 상기 적어도 하나의 하드웨어 자산이 기능을 수행하게 하도록 지시됨 - 을 식별하는 세션 식별자;
    복수의 다른 패킷 중에서 생성된 상기 패킷의 순서를 식별하거나 - 상기 복수의 다른 패킷 및 상기 생성된 패킷은 각각 상기 복수의 다른 패킷과 상기 생성된 패킷에 걸쳐 패킷화된 단일 통신의 적어도 일부를 포함함 - , 복수의 다른 패킷 중 어느 것도 상기 생성된 패킷에 후속하지 않음을 나타내는 시퀀스 번호;
    상기 적어도 하나의 하드웨어 자산에 의해 수행되도록 요청되는 기능을 식별하는 기능 코드, 또는 상기 적어도 하나의 하드웨어 디바이스에 의한 상기 기능의 수행에 연관된 상태를 식별하는 완료 코드를 포함하는 코드; 및
    상기 단일 통신의 상기 적어도 일부를 포함하는 페이로드
    를 포함하는 것인, 상기 패킷을 생성하는 단계; 및
    상기 생성된 패킷을 다른 자산 관리 컴포넌트에 전송하는 단계를 포함하고,
    상기 다른 자산 관리 컴포넌트는 상기 방법을 수행하는 자산 관리 컴포넌트와는 다른, 자산 관리 시스템의 계층에서 실행되는, 하드웨어 자산 관리 방법.
  2. 제1항에 있어서,
    상기 생성된 패킷과 등가인 구조를 갖는 제2 패킷을 수신하는 단계로서, 수신된 상기 제2 패킷은 상기 적어도 하나의 하드웨어 자산에 상기 기능을 수행할 것을 요청하는 요청 패킷인 것인, 상기 제2 패킷을 수신하는 단계; 및
    상기 제2 패킷을 수신하는 것에 응답하여, 상기 생성된 패킷 및 상기 수신된 제2 패킷과는 다른 구조를 갖는 제3 패킷을 생성하는 단계를 더 포함하고,
    상기 생성된 제3 패킷은 상기 적어도 하나의 하드웨어 자산과 호환가능하고, 상기 생성된 제3 패킷은 상기 적어도 하나의 하드웨어 자산에 상기 기능을 수행할 것을 요청하는, 하드웨어 자산 관리 방법.
  3. 제2항에 있어서, 상기 제3 패킷을 생성하는 단계는 상기 제3 패킷을 획득하기 위해 상기 수신된 제2 패킷의 페이로드를 언팩킹(unpacking)하는 단계를 포함하는, 하드웨어 자산 관리 방법.
  4. 제1항에 있어서, 제2 패킷을 수신하는 단계를 더 포함하고,
    상기 패킷을 생성하는 단계는 상기 제2 패킷을 수신하는 것에 응답하여 상기 패킷을 생성하는 단계를 포함하고,
    적어도 일부가 상기 생성된 패킷의 페이로드 내에 있는 상기 단일 통신은 수신된 상기 제2 패킷을 포함하는, 하드웨어 자산 관리 방법.
  5. 제1항에 있어서, 상기 기능은, 상기 적어도 하나의 하드웨어 자산의 적어도 일부의 상태를 제공하는 상태 제공 기능, 상기 적어도 하나의 하드웨어 자산의 적어도 하나의 세팅을 변경하도록 지시되는 변경 세팅 기능, 또는 상기 적어도 하나의 하드웨어 자산을 켜거나 끄도록 지시되는 전력 기능 중 적어도 하나를 포함하는, 하드웨어 자산 관리 방법.
  6. 제1항의 단계들을 수행하기 위한 컴퓨터 실행가능한 명령어들을 포함하는, 하나 이상의 컴퓨터 판독가능한 매체.
  7. 시스템에 있어서,
    적어도 하나의 하드웨어 자산;
    상기 적어도 하나의 하드웨어 자산을 위한 드라이버로서, 상기 드라이버는 상기 하드웨어 자산을 자산 관리 컴포넌트들을 포함하는 다층 하드웨어 자산 관리 시스템과 인터페이스시키는 것인, 상기 드라이버;
    상기 다층 하드웨어 자산 관리 시스템의 상기 자산 관리 컴포넌트들 중 하나인 관리자를 포함하고,
    상기 드라이버 또는 상기 관리자 중 적어도 하나는 컴퓨터 실행가능한 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능한 매체를 포함하고, 상기 컴퓨터 실행가능한 명령어들은,
    패킷을 생성하는 단계로서, 상기 패킷은,
    적어도 하나의 하드웨어 자산과의 통신 세션 - 상기 통신 세션은 상기 적어도 하나의 하드웨어 자산이 기능을 수행하게 하도록 지시됨 - 을 식별하는 세션 식별자;
    복수의 다른 패킷 중에서 생성된 상기 패킷의 순서를 식별하거나 - 상기 복수의 다른 패킷 및 상기 생성된 패킷은 각각 상기 복수의 다른 패킷과 상기 생성된 패킷에 걸쳐 패킷화된 단일 통신의 적어도 일부를 포함함 - , 복수의 다른 패킷 중 어느 것도 상기 생성된 패킷에 후속하지 않음을 나타내는 시퀀스 번호;
    상기 적어도 하나의 하드웨어 자산에 의해 수행되도록 요청되는 기능을 식별하는 기능 코드, 또는 상기 적어도 하나의 하드웨어 디바이스에 의한 상기 기능의 수행에 연관된 상태를 식별하는 완료 코드를 포함하는 코드; 및
    상기 단일 통신의 상기 적어도 일부를 포함하는 페이로드
    를 포함하는 것인, 상기 패킷을 생성하는 단계; 및
    상기 생성된 패킷을 다른 자산 관리 컴포넌트에 전송하는 단계
    를 포함하는 단계들을 지시하고, 상기 다른 자산 관리 컴포넌트는 상기 컴퓨터 실행가능한 명령어들을 포함하는 자산 관리 컴포넌트와는 다른, 자산 관리 시스템의 계층에서 실행되는 것인, 시스템.
  8. 제7항에 있어서, 하나 이상의 섀시 관리자(chassis manager)에 통신 연결된 랙 관리자(rack manager)를 더 포함하고, 상기 랙 관리자는 상기 다층 하드웨어 자산 관리 시스템의 상기 자산 관리 컴포넌트들 중 다른 것이고, 상기 섀시 관리자들은 상기 랙 관리자보다 하위에 있는 상기 다층 하드웨어 자산 관리 시스템의 계층이고, 상기 관리자는 상기 하나 이상의 섀시 관리자 중 하나인, 시스템.
  9. 제7항에 있어서, 상기 하나 이상의 컴퓨터 판독가능한 매체는,
    상기 생성된 패킷과 등가인 구조를 갖는 제2 패킷을 수신하는 단계로서, 수신된 상기 제2 패킷은 상기 적어도 하나의 하드웨어 자산에 상기 기능을 수행할 것을 요청하는 요청 패킷인 것인, 상기 제2 패킷을 수신하는 단계;
    상기 제2 패킷을 수신하는 것에 응답하여, 상기 생성된 패킷 및 상기 수신된 제2 패킷과는 다른 구조를 갖는 제3 패킷을 생성하는 단계
    를 위한 컴퓨터 실행가능한 명령어들을 더 포함하고, 상기 생성된 제3 패킷은 상기 적어도 하나의 하드웨어 자산과 호환가능하고, 상기 생성된 제3 패킷은 상기 적어도 하나의 하드웨어 자산에 상기 기능을 수행할 것을 요청하는, 시스템.
  10. 제7항에 있어서, 상기 기능은, 상기 적어도 하나의 하드웨어 자산의 적어도 일부의 상태를 제공하는 상태 제공 기능, 상기 적어도 하나의 하드웨어 자산의 적어도 하나의 세팅을 변경하도록 지시되는 변경 세팅 기능, 또는 상기 적어도 하나의 하드웨어 자산을 켜거나 끄도록 지시되는 전력 기능 중 적어도 하나를 포함하는, 시스템.
KR1020167002038A 2013-06-25 2014-06-23 하드웨어 관리 통신 프로토콜 KR102210289B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/927,074 US8938529B2 (en) 2013-06-25 2013-06-25 Hardware management communication protocol
US13/927,074 2013-06-25
PCT/US2014/043553 WO2014209824A1 (en) 2013-06-25 2014-06-23 Hardware management communication protocol

Publications (2)

Publication Number Publication Date
KR20160023873A true KR20160023873A (ko) 2016-03-03
KR102210289B1 KR102210289B1 (ko) 2021-01-29

Family

ID=51212967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167002038A KR102210289B1 (ko) 2013-06-25 2014-06-23 하드웨어 관리 통신 프로토콜

Country Status (6)

Country Link
US (1) US8938529B2 (ko)
EP (1) EP3014817B1 (ko)
KR (1) KR102210289B1 (ko)
CN (1) CN105379192B (ko)
ES (1) ES2644472T3 (ko)
WO (1) WO2014209824A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575531B2 (en) 2013-08-14 2017-02-21 American Megatrends, Inc. Multi-vendor power distribution unit support in rack management software
US20150081878A1 (en) * 2013-09-19 2015-03-19 American Megatrends, Inc. Describing datacenter rack information in management system
US9822986B2 (en) * 2013-12-03 2017-11-21 Harsco Technologies LLC Boiler control system
US9401078B2 (en) * 2014-02-26 2016-07-26 Dell Products L.P. Systems and methods for muting visual indicators in an information handling system
JP6662220B2 (ja) * 2016-06-29 2020-03-11 富士通株式会社 情報処理システム、情報処理装置、位置特定方法及び位置特定プログラム
WO2019060593A1 (en) 2017-09-20 2019-03-28 Infinity Tribe Group Inc. SECURE REMOTE SUPPORT PLATFORM WITH PERIPHERAL DEVICE

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245011A1 (en) * 2006-04-18 2007-10-18 Fluke Corporation Methods and Apparatus for IP Management Traffic Consolidation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3811057B2 (ja) * 2001-12-10 2006-08-16 富士通株式会社 中継コネクション管理プログラムおよび中継コネクション管理方法
US7773598B2 (en) * 2004-12-21 2010-08-10 Telefonaktiebolaget L M Ericsson (Publ) Arrangement and a method relating to flow of packets in communications systems
US8005013B2 (en) * 2007-06-12 2011-08-23 Hewlett-Packard Development Company, L.P. Managing connectivity in a virtual network
US8174984B2 (en) * 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
CN101958800A (zh) * 2009-07-14 2011-01-26 中兴通讯股份有限公司 一种可扩展的网元管理系统与方法
US8332508B1 (en) 2009-09-15 2012-12-11 American Megatrends, Inc. Extensible management server
KR101349979B1 (ko) * 2009-11-30 2014-01-28 가부시키가이샤 히타치세이사쿠쇼 통신 시스템 및 통신 장치
JP5492750B2 (ja) * 2010-11-24 2014-05-14 株式会社日立製作所 パケット転送装置およびパケット転送方法
US20130086234A1 (en) 2011-09-29 2013-04-04 Michael A. Salsburg Cloud management system and method
WO2013102179A1 (en) * 2011-12-30 2013-07-04 Krause Edward A High capacity network communication link using multiple cellular devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245011A1 (en) * 2006-04-18 2007-10-18 Fluke Corporation Methods and Apparatus for IP Management Traffic Consolidation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Case J et al. RFC 1157 - A Simple Network Management Protocol. 1990년 5월.* *
Hank Netsmiths S et al. RFC 1701 Generic Routing Encapsulation (GRE). 1994년 10월* *

Also Published As

Publication number Publication date
US8938529B2 (en) 2015-01-20
ES2644472T3 (es) 2017-11-29
CN105379192B (zh) 2019-06-14
KR102210289B1 (ko) 2021-01-29
CN105379192A (zh) 2016-03-02
US20140380334A1 (en) 2014-12-25
EP3014817B1 (en) 2017-07-26
WO2014209824A1 (en) 2014-12-31
EP3014817A1 (en) 2016-05-04

Similar Documents

Publication Publication Date Title
KR102210289B1 (ko) 하드웨어 관리 통신 프로토콜
US9916270B2 (en) Virtual intelligent platform management interface (IPMI) satellite controller and method
US20170124231A1 (en) Introducing Latency and Delay in a SAN Environment
JP6279744B2 (ja) eメールのウェブクライアント通知の待ち行列化方法
US20170126507A1 (en) Introducing Latency and Delay For Test or Debug Purposes in a SAN Environment
CN107622207B (zh) 加密系统级数据结构
CN105897689B (zh) 嵌入式系统及其方法
US10887183B1 (en) System and method for topological redundancy
US8447833B2 (en) Reading and writing during cluster growth phase
US10958669B2 (en) Push notifications of system events in a restricted network
CN113220481A (zh) 请求处理及反馈方法、装置、计算机设备及可读存储介质
US7870251B2 (en) Devices, methods, and computer program products for real-time resource capacity management
US20190166081A1 (en) Dynamic communication session management
US9172607B2 (en) Transmitting of configuration items within a network
US9740401B2 (en) Systems and methods for physical storage resource migration discovery
US9921934B1 (en) Storage process metrics
US11968187B2 (en) Multi-independent level security for high performance computing and data storage systems
US12008250B2 (en) Systems and methods for achieving near zero impact during node failure in a cluster system
US11921605B2 (en) Managing applications in a cluster
US20240028723A1 (en) Suspicious workspace instantiation detection
US20230251976A1 (en) Systems and methods for leader node election in cluster server configurations
US20240028713A1 (en) Trust-based workspace instantiation
US20220116460A1 (en) System and method for platform session management using device integrity measurements
CN117528295A (zh) 在单向光闸网络下udp通信协议的数据一致性方法和系统
CN105431832A (zh) 限制在驱动阵列中执行后台管理操作的设备及方法

Legal Events

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