KR20200069610A - Bmc 기반의 서버메인보드 및 그 보드의 구동방법 - Google Patents

Bmc 기반의 서버메인보드 및 그 보드의 구동방법 Download PDF

Info

Publication number
KR20200069610A
KR20200069610A KR1020180156855A KR20180156855A KR20200069610A KR 20200069610 A KR20200069610 A KR 20200069610A KR 1020180156855 A KR1020180156855 A KR 1020180156855A KR 20180156855 A KR20180156855 A KR 20180156855A KR 20200069610 A KR20200069610 A KR 20200069610A
Authority
KR
South Korea
Prior art keywords
bmc
firmware
control unit
main board
data center
Prior art date
Application number
KR1020180156855A
Other languages
English (en)
Other versions
KR102131906B1 (ko
Inventor
이중연
Original Assignee
(주)케이티엔에프
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)케이티엔에프 filed Critical (주)케이티엔에프
Priority to KR1020180156855A priority Critical patent/KR102131906B1/ko
Publication of KR20200069610A publication Critical patent/KR20200069610A/ko
Application granted granted Critical
Publication of KR102131906B1 publication Critical patent/KR102131906B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Abstract

본 발명은 BMC 기반의 서버메인보드 및 그 보드의 구동방법에 관한 것으로서, 본 발명의 실시예에 따른 BMC 기반의 서버메인보드는 데이터 서비스를 제공하는 데이터 센터의 서비스장치를 원격으로 제어 및 관리하는 외부장치와 통신하는 통신 인터페이스부, 통신을 수행하도록 통신 인터페이스부를 제어하는 제어부, 및 제어부에 연동시키는 API 기반의 펌웨어를 저장하며, 저장한 펌웨어를 실행하여 외부장치와 원격 제어 및 관리 동작을 수행하는 BMC를 포함할 수 있다.

Description

BMC 기반의 서버메인보드 및 그 보드의 구동방법{Main Board for Server Based on Board Management Controller and Driving Method Thereof}
본 발명은 BMC 기반의 서버메인보드 및 그 보드의 구동방법에 관한 것으로서, 더 상세하게는 가령 x86 기반 데이터센터용 서버의 메인보드로서 개방형 BMC 기반의 IPMI(Intelligent Platform Management Interface), DCMI(Data Center Manageability Interface) 제어 및 관리 기술이 적용되는 BMC 기반의 서버메인보드 및 그 보드의 구동방법에 관한 것이다.
BMC는 서버에 장착되어 서버의 하드웨어 및 소프트웨어의 상태를 모니터링하고 관리하는 컨트롤러이다. 서버에 장착된 BMC는 서버의 온도, 팬 속도, 전원 모드, OS(Operating System) 상태 등을 모니터링하고 이를 네트워크 혹은 시스템 인터페이스를 통해 관리자에게 알리는 기능을 수행한다. BMC가 없는 서버는 원격에서 서버의 상태를 확인할 방법이 없고, 따라서 관리자가 직접 서버가 설치된 현장에 나가 서버의 상태를 확인하고 복구하는 등의 작업을 수행해야 한다. 이러한 BMC가 없는 서버에는 별도의 모니터링 소프트웨어를 실행시켜 원격에서 서버를 관리하지만 이러한 모니터링 소프트웨어는 서버와 별도로 실행되는 게 아니라 서버 내에서 서버와 함께 실행되기 때문에 서버가 다운(down)되면 모니터링 소프트웨어 역시 다운되어 원격에서 다운된 서버를 복구하거나 재부팅할 수 없다. 따라서 이러한 BMC가 없는 서버는 대규모 데이터 센터에는 부적합하고 소규모 용도로만 사용된다.
반면 BMC가 장착된 서버는 원격으로 서버의 상태를 확인할 수 있고 서버와 별도로 동작하는 BMC를 통해 직접 관리자가 현장에 나가지 않고도 원격으로 서버의 상태를 확인하고 복구하는 등의 작업을 수행할 수 있다. 따라서 이러한 BMC가 장착된 서버는 일반적으로 대규모 데이터 센터에 적합하고 실제로도 데이터 센터에 많이 사용되고 있다.
그런데, 종래의 BMC가 장착된 서버는 극소수 기업만이 BMC 부분, 즉 BMC 칩과 소프트웨어를 개발하고 있다. 따라서 서버 제조사는 해당 극소수 기업의 솔루션(예: BMC H/W 및 S/W)을 매우 높은 라이선스 비용(예: 한화로 약 1억원)을 지불하여 사용하고 있는 실정이다. 극소수 기업만이 BMC 부분을 개발하기 때문에 소프트웨어 버전이 매우 오래되었을 뿐만 아니라 서버를 실제로 사용하는 고객사들이 원하는 유연하고 확장성 있는 BMC 소프트웨어가 아닌 임베디드 소프트웨어 형태로만 제공되어 유연성 및 확장성이 떨어지는 문제가 있다.
한국등록특허공보 제10-1849709호(2018.04.11.)
본 발명의 실시예는 가령 x86 기반 데이터센터용 서버의 메인보드로서 개방형 BMC 기반의 IPMI, DCMI 제어 및 관리 기술이 적용되는 BMC 기반의 서버메인보드 및 그 보드의 구동방법을 제공함에 그 목적이 있다.
본 발명의 실시예에 따른 BMC 기반의 서버메인보드는, 데이터 서비스를 제공하는 데이터 센터의 서비스장치를 원격으로 제어 및 관리하는 외부장치와 통신하는 통신 인터페이스부, 상기 통신을 수행하도록 상기 통신 인터페이스부를 제어하는 제어부, 및 상기 제어부에 연동시키는 API(Application Program Interface) 기반의 펌웨어(Firmware)를 저장하며, 상기 저장한 펌웨어을 실행하여 상기 외부장치와 원격 제어 및 관리 동작을 수행하는 BMC를 포함한다.
상기 제어부는 복수의 CPU를 포함하며, 상기 BMC는 상기 복수의 CPU와 각각 통신할 수 있다.
상기 BMC는, 상기 원격 제어 및 관리 동작을 수행하기 위하여 상기 펌웨어 내의 IPMI 기반의 DCMI 프로그램을 실행시킬 수 있다.
상기 BMC는, 서드파티업체로 제공된 규격화된 SDK(Software Development Kit)를 이용하여 제작된 제1 펌웨어를, 상기 원격 제어 및 관리에 의해 상기 제1 펌웨어와 다른 기능을 갖는 제2 펌웨어로 변경할 수 있다.
상기 BMC에 저장되는 상기 펌웨어는, 상기 제어부에 저장되는 운영체제(OS) 와 연동할 수 있다.
상기 BMC는, 외부의 인증 서버에 연동하여 상기 외부장치를 SSO(Single Sign On) 방식으로 인증을 수행할 수 있다.
또한, 본 발명의 실시예에 따른 BMC 기반의 서버메인보드의 구동방법은, 데이터 서비스를 제공하는 데이터 센터의 서비스장치를 원격으로 제어 및 관리하는 외부장치와 통신 인터페이스부가 통신을 수행하는 단계, 상기 통신을 위해 제어부가, 상기 통신 인터페이스부를 제어하는 단계, 및 BMC가 상기 제어부에 연동시키는 API 기반의 펌웨어를 저장하며, 상기 저장한 펌웨어를 실행시켜 상기 외부장치와 원격 제어 및 관리 동작을 수행하는 단계를 포함한다.
상기 제어부는 복수의 CPU를 포함하며, 상기 BMC는 상기 복수의 CPU와 각각 통신할 수 있다.
상기 원격 제어 및 관리 동작을 수행하는 단계는, 상기 원격 제어 및 관리 동작을 수행하기 위하여 상기 펌웨어 내의 IPMI 기반의 DCMI 프로그램을 실행시키는 단계를 포함할 수 있다.
상기 원격 제어 및 관리 동작을 수행하는 단계는, 서드파티업체로 제공된 규격화된 SDK를 이용하여 제작된 제1 펌웨어를, 상기 원격 제어 및 관리에 의해 상기 제1 펌웨어와 다른 기능을 갖는 제2 펌웨어로 변경하는 단계를 포함할 수 있다.
상기 BMC에 저장되는 상기 펌웨어는, 상기 제어부에 저장되는 운영체제와 연동할 수 있다.
상기 구동방법은, 상기 외부장치와 연동하는 인증 서버에 의해 SSO 방식으로 인증을 수행할 수 있다.
본 발명의 실시예에 따르면, 가령 서드파티업체에 SDK를 제공하여 이를 통해 규격화된 IPMI 펌웨어를 개발하도록 함으로써 서버를 실제로 사용하는 고객사들이 원하는 유연하고 확장성 있는 BMC 소프트웨어를 제공할 수 있을 것이다.
다시 말해, 사용성, 이식성, 확장성 확보가 가능한 SW IPMI 기술을 통해 개발 플랫폼이나 환경운영제어시스템의 시스템 통합 기술을 구현할 수 있고, 이에 따라 범용 수준의 SW IPMI의 규격화 및 체계화를 이룰 수 있게 될 것이다.
도 1은 본 발명의 실시예에 따른 개방형 BMC 기반의 서비스 시스템을 나타내는 도면,
도 2는 도 1의 데이터센터 서비스장치의 구조를 나타내는 블록다이어그램,
도 3 및 도 4는 도 1의 데이터센터서비스장치에 구비되는 메인보드의 예시도,
도 5는 도 3 및 도 4의 BMC 기반 IPMI 제어 프로토콜 연동 구조를 설명하기 위한 도면,
도 6은 BMC 연동 IPMI 운용관리 구조도, 그리고
도 7은 본 발명의 실시예에 따른 데이터센터 서비스장치의 구동과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 개방형 BMC 기반의 서비스 시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 개방형 BMC 기반의 서비스 시스템(90)은 사용자단말(100), 통신망(110), 데이터센터서비스장치(120) 및 서드파티장치(130)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 사용자단말(100)이나 서드파티장치(130)와 같은 일부 구성요소가 생략되어 서비스 시스템(90)이 구성되거나 데이터센터서비스장치(120)와 같은 일부 구성요소가 통신망(110) 내의 네트워크장치와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
사용자단말(100)은 데이터센터서비스장치(120)에서 제공하는 서비스를 이용하는 일반 사용자들의 사용자장치, 또는 데이터센터서비스장치(120)에 접속하여 서비스를 관리하는 관리자의 관리자장치를 포함한다. 사용자장치나 관리자장치로는 랩탑컴퓨터, 데스크탑컴퓨터, 태블릿 PC, 스마트폰, 스마트TV, 웨어러블장치, 인공지능(AI) 스피커 등의 다양한 장치를 포함할 수 있다. 일반 사용자들은 자신의 사용자단말(100)을 이용하여 검색포털업체(예: 구글), SNS 서비스제공업체(예: 페이스북), 클라우드컴퓨팅서비스업체, 빅데이터플랫폼서비스업체, 공공기관 등 다양한 업체에서 제공하는 서비스를 이용할 수 있다. 또한, 관리자들은 사용자단말(100)을 통해 가령 관리자 모드, 혹은 관리자 주소로 접속하여 서비스 운용을 위한 다양한 동작을 수행할 수 있이다. 본 발명의 실시예에서는 후자쪽을 주로 다루고 있다.
관리자는 사용자단말(100)을 통해 가령 데이터센터서비스장치(120)에 구축된 IMPI 2.0을 지원하는 개방형 BMC 펌웨어, DCMI 1.5 연동을 통한 관리 SW의 실행에 따른 서비스를 이용할 수 있다. 다시 말해, 관리자는 지능형플랫폼 관리인터페이스(IPMI) 프로그램의 실행에 의해 서버 즉 데이터센터서비스장치(120)의 상태와 제어를 원격지에서 파악 및 사용할 수 있으며, 이러한 IPMI 기반의 DCMI 지원 소프트웨어에 의해서는 사용자에게 제공하는 서비스의 구체적인 관리를 수행할 수 있다. 즉 관리자는 DCMI API 기반의 프로그램의 구축에 따라 데이터센터 환경에서의 관리 서비스를 이용할 수 있는 것이다. 따라서, 관리자가 사용자단말(100)을 통해 데이터센터서비스장치(120)에 관리자모드로 접속하여 데이터센터서비스장치(120)에 구축된 위의 프로그램들에 의해 관리자서비스를 이용할 수 있게 된다.
관리자장치로서의 사용자단말(100)은 관리자의 요청에 따라 데이터센터서비스장치(120)와 다양한 동작을 수행할 수 있다. 다시 말해, 가령 서버로서 사용되는 데이터센터서비스장치(120)가 다운되는 문제가 발생하게 될 때, 관리자는 관리자모드 등으로 데이터센터서비스장치(120)에 접속하여 이에 신속하게 대처할 수도 있다. 이는 이후에 자세히 설명하겠지만, 데이터센터서비스장치(120) 내에서 메인 제어부 가령 CPU와 별도로 구비되어 구동되는 BMC에 의해 가능하다고 볼 수 있다.
또한, 관리자장치로서 사용자단말(100)은 데이터센터서비스장치(120)에 접속하여 기존에 구축된 프로그램을 갱신하는 등의 동작을 수행할 수 있다. 다시 말해, 위의 IPMI 기반의 DCMI 프로그램을 서비스 운영사에 맞춤화되도록 프로그램을 추가로 개발하여 변경하거나 연동시킬 수 있다. 이는 데이터센터서비스장치(120)의 운용에 필요한 BMC의 펌웨어를 API(Application Program Interface) 기반으로 운영하기 때문에 가능하다고 볼 수 있다. 즉 펌웨어 개발을 위한 규격화된 툴 즉 SDK를 서드파티장치(130)에 제공해 프로그램 개발이 이루어지도록 하고, 사용자단말(100)을 통해 관리자 혹은 개발자가 추가적인 개발을 병행할 수 있다. 대표적으로, 응용계층의 프로그램인 어플리케이션(이하, 앱)을 연동시킴으로써 범용 IMPI 기술을 실현시킬 수 있게 된다.
통신망(110)은 유무선 통신망을 모두 포함한다. 가령 통신망(110)으로서 유무선 인터넷망이 이용되거나 연동될 수 있다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로(Wibro) 망 등을 포함하는 의미이다. 물론 본 발명의 실시예에 따른 통신망(110)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망, 5G망 등에 사용될 수 있다. 가령, 통신망(110)이 유선 통신망인 경우 통신망(110) 내의 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(110)은 액세스포인트를 포함할 수 있다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함한다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 사용자단말(100)을 최대 몇 대까지 접속할 수 있느냐에 따라 구분된다. 물론 액세스포인트는 사용자단말(100)과 지그비 및 와이파이 등의 근거리 통신을 수행하기 위한 근거리 통신 모듈을 포함한다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 데이터센터서비스장치(120)나 서드파티장치(130)로 전달할 수 있다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함된다.
데이터센터서비스장치(120)는 서버를 포함하며, DB(120a)와 연동하여 다양한 고객 데이터를 처리할 수 있다. 여기서, 서버는 윈도우나 리눅스 기반의 OS를 포함할 수 있다. 물론 본 발명의 실시예에서는 비용 등의 측면을 고려하여 후자쪽을 선호한다. 데이터센터서비스장치(120)는 가령 x86 서버 기반의 서비스를 제공한다. 여기서, x86(혹은 80×86)은 인텔이 개발한 마이크로프로세서 계열을 부르는 말이다. 이들과 호환되는 프로세서들에서 사용한 명령어집합구조들을 통칭한다. x86 아키텍처는 가변길이명령을 쓰는 CISC(Complex Instruction Set Computer) 설계를 채용했으며, 하위 호환성에 중점을 두고 있다. x86 아키텍처는 다른 아키텍처와 같이 워드 경계를 맞춰서 메모리를 읽는 것이 효율적이긴 하나, 워드 경계에 걸치는 메모리도 한번에 접근할 수 있다. 워드들은 최하위 바이트(byte)부터 최상위 바이트까지 순서대로(리틀 엔디안) 저장된다. 현재의 x86 프로세서들은 명령들을 내부적으로 더 작은 단위로 쪼개서 RISC(Reduced Instruction Set Computer)와 비슷한 내부 아키텍처에서 수행한다.
데이터센터서비스장치(120)는 앞서 언급한 대로 IPMI 기반의 DCMI 관리 서비스를 제공한다. 무엇보다 데이터센터서비스장치(120)는 이러한 서비스를 이용할 수 있도록, 더 정확하게는 범용 IPMI 기술이 실현될 수 있도록 서드파티장치(130)로 제공된 SDK를 통해 개발되는 펌웨어를 BMC에 저장시킨다. 그리고 저장된 펌웨어는 오류가 발견될 때마다 주기적으로 업데이트 즉 갱신할 수 있다. 펌웨어는 서버의 OS에 연동시키기 위하여 별도의 이피롬(EPROM)이나 이이피롬(EEPROM)에 별도로 저장한 프로그램을 의미한다. 보조적인 제어 동작을 수행한다고 볼 수 있다. 컴퓨터 개발자들은 하드웨어 내부에 제어 부분에 저장공간을 만들어 그곳에 논리회로의 기능을 보강하거나 대신할 수 있는 프로그램을 넣을 수 있게 하는데, 이게 바로 펌웨어이다. 따라서, 같은 종류의 하드웨어라 해도 내부의 펌웨어가 달라지면 기능이나 성능, 혹은 사용하는 소프트웨어의 종류가 달라질 수 있다. 펌웨어는 프로그램의 형태를 갖추고 있으므로 기능적으로 소프트웨어에 가깝지만 하드웨어 내부에 위치하며, 사용자가 쉽게 그 내용을 바꿀 수 없으므로 하드웨어적인 특성을 함께 가지고 있다.
이와 같이, 데이터센터서비스장치(120)는 가령 서버로서 서드파티장치(130)에서 규격화된 개발 키트(Kit)를 통해 개발한 프로그램, 가령 펌웨어를 탑재함으로써 범용 IPMI 기술을 실현시킬 수 있고, 또 추가적인 개발을 통해 서비스의 운영사마다 독자적인 서비스를 제공할 수 있게 되는 것이다. 그 결과 데이터센터서비스장치(120)는 사용성, 이식성, 확장성 확보가 가능할 수 있게 될 것이다.
나아가, 데이터센터서비스장치(120)는 정보 보안을 위하여 별도의 인증서버와 연동하여 동작할 수도 있다. SSO(Single Sign On)는 가장 기본적인 인증 시스템으로, 사용자단말(100)에서 서비스 접속을 시도할 때, 별도의 인증서버의 인증 결과를 토대로 접속을 허용하는 방식이다. SAML(Security Assertion Markup Language)은 인증 정보 제공자와 서비스 제공자간의 인증 및 인가 데이터를 교환하기 위한 XML 기반의 개방형 표준 데이터 포맷이며, SAML이 기술하는 가장 중요한 요구사항이 바로 웹 브라우저 통합 인증(SSO)이다.
서드파티장치(130)는 오픈 API 기반으로 데이터센터서비스장치(120) 등에 프로그램을 제공하는 업체 또는 그 업체들의 장치를 포함한다. 따라서, 서드파티장치(130)는 데이터센터서비스장치(120) 또는 그 운영사나 다른 루트를 통해 확보되는 프로그램 툴 즉 SDK를 제공받을 수 있다. 여기서, SDK의 뼈대(Framework)는 라이브러리 인터페이스, 네트워크 라이브러리 및 버스/코어 라이브러리로 구성될 수 있다. 가령, 서드파티업체는 BMC를 위한 펌웨어를 위의 제공된 SDK를 이용하여 개발할 수 있다. 이때 규격화된 SDK를 제공하고 이를 토대로 추가 개발이 이루어지도록 하는 것을 오픈 API라 지칭할 수 있다. 더 정확히 말하면, 오픈 API는 인터넷 이용자가 일방적으로 웹 검색결과 및 사용자인터페이스(UI) 등을 제공받는 데 그치지 않고 직접 응용 프로그램과 서비스를 개발할 수 있도록 공개된 API를 말한다.
서드파티(third pary)는 하드웨어나 소프트웨어 등의 제품을 제조하고 있는 제조사나 그 계열회사 또는 기술 제휴를 하고 있는 기업 이외의 기업을 총칭하는 의미이다. 다만, 본 발명에서는 구체적으로 서드파티 개발자를 지칭할 수 있다. 따라서, 서드파티는 하드웨어 생산자와 소프트웨어 개발자의 관계를 나타낼 수 있다. 이에 따라, 하드웨어 생산자는 퍼스트 파티로, 소프트웨어 개발자는 서드 파티로 불릴 수 있다. 물론 하드웨어 생산자가 직접 소프트웨어를 개발하는 경우는 퍼스트 파티, 하드웨어 생산자인 모기업과 자사간의 관계에서의 소프트웨어 개발자라면 보통 세컨드 파티라고 부르며, 하드웨어 생산자와 직접적인 관계없이 소프트웨어를 개발하는 회사를 서드파티라고 부르기도 한다. 따라서, 본 발명의 실시예에서는 위의 용어의 사용에 특별히 한정하지는 않을 것이다.
도 2는 도 1의 데이터센터서비스장치의 구조를 나타내는 블록다이어그램이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터센터서비스장치(120)는 통신 인터페이스부(200), 제어부(210), 보조제어부(220) 및 저장부(230)의 일부 또는 전부를 포함하며, 여기서 "일부 또는 전부를 포함"한다는 것은 앞서서의 의미와 동일하다.
통신 인터페이스부(200)는 제어부(210)의 제어 하에 사용자단말(100) 및 서드파티장치(130)와 통신을 수행할 수 있다. 관리자장치로서의 사용자단말(100)로부터 서버 메인보드 모니터링, 제어 및 관리 등의 요청이 있는 경우 이를 제어부(210)에 전달하고, 제어부(210)는 요청에 따라 보조제어부(220)에서 제공하는 서비스를 다시 사용자단말(100)로 제공할 수 있다.
통신 인터페이스부(200)는 보조제어부(220)와 직접적으로 연결될 수도 있다. 물론 도 2에서는 그 연결이 제어부(210) 내를 관통하는 선로에 의해서 가능할 수 있다. 이를 통해 가령, 사용자단말(100)로부터 보조제어부(220) 내 펌웨어를 갱신하기 위한 요청이 있는 경우, 보조제어부(220)는 저장된 펌웨어를 갱신할 수 있다. 가령, 서버의 원격제어를 위하여 제어부(210)의 제어 하에 동작을 수행하는 것이 아니라, 보조제어부(220)의 제어하에 제어부(210)가 동작하는 등의 다양한 동작을 수행할 수 있을 것이다. 이는 가령, 전력소모를 줄이고자 할 때 적절히 이용될 수 있다. 이외에도 예컨대, 통신 인터페이스부(200)는 제어부(210)와의 통신이 원활한 경우 제어부(210)와 먼저 통신을 수행한다. 반면, 제어부(210)와 통신이 원활하지않은 경우, 보조제어부(220)와 통신을 수행할 수 있을 것이다.
제어부(210)는 데이터센터서비스장치(120)를 구성하는 통신 인터페이스부(200), 보조제어부(220) 및 저장부(230)의 전반적인 동작을 제어한다. 제어부(210)는 통신 인터페이스부(200)를 통해 서비스 요청이 있으면, 가령 검색서비스 등의 요청이 있는 경우 제어부(210) 내부의 메모리나 보조제어부(220)에 저장되어 있는 프로그램을 실행하여 관련 프로그램을 제공할 수 있다. 본 발명의 실시예에 따른 제어부(210)는 다양한 형태를 가질 수 있다. 제어부(210)는 CPU만을 포함할 수 있지만, CPU와 메모리(예: 램)를 함께 포함할 수도 있다. 이때, CPU는 변형 예로서 다시 제어회로, 연산회로부(ALU), 명령어해석부, 레지스트리 등을 포함할 수 있다. 메모리는 하드웨어 자원이라면 레지스트리는 데이터저장을 위한 소프트웨어 자원이라 볼 수 있다. 이에 따라 가령, CPU는 메모리에 가령 서비스나 관리 관련 프로그램을 저장한 후 이를 실행시킬 수 있는 것이다.
좀더 살펴보면, 본 발명의 실시예에 따른 제어부(210)와 보조제어부(220)는 다양한 형태로 구성될 수 있다. 제어부(210)는 첫째로 하나 이상의 CPU만 포함하는 경우이고, 둘째로 그 CPU와 더불어 위에서처럼 메모리를 더 포함하는 경우이며, 보조제어부(220)는 첫째로 사용자장치로서의 사용자단말(100)로 일반적인 서비스 즉 서비스업체가 제공하는 포털서비스나 SNS 서비스 등을 제공하기 위한 프로그램을 BMC 기반의 펌웨어와 함께 저장하는 경우나 둘째로 BMC 기반의 펌웨어만을 저장하는 경우이다. 제어부(210)와 보조제어부(220)는 설계자가 어떠한 형태로 시스템을 설계하느냐에 따라 다양한 동작이 이루어지므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다. 다만, 본 발명의 실시예에서는 보조제어부(220)가 제어부(210)의 보조 동작을 수행하고 BMC로서 EPROM이나 EEPROM으로 구성될 수 있으며, 내부에 펌웨어를 저장할 수 있다는 것이다. 또한, 해당 펌웨어는 관리자장치로서의 사용자단말(100)에 의해 자유롭게 소프트웨어의 갱신이 가능하다는 것이다. 물론 앞서 언급한 대로 보조제어부(220)에 저장되는 펌웨어는 통일된 SDK에 의해 개발되어 규격화됨으로써 범용 수준으로 서비스가 가능해야 한다. 다시 말해, 범용 수준이라는 것은 어떠한 업체들이 프로그램 개발에 참여하더라도 개발 업체들의 개발범위에 따라 다양하게 서비스가 이루어진다는 것을 의미한다.
보조제어부(220)는 위에서 언급한 대로, EPROM이나 EEPROM을 포함할 수 있다. EPROM이나 EEPROM에는 범용 수준으로 개발된 펌웨어가 저장되고, 저장된 펌웨어는 주기적으로 갱신이 이루어질 수 있다. 해당 펌웨어는 사용자단말(100)에서 가령 서버의 역할을 수행하는 데이터센터서비스장치(120)를 원격으로 제어하고 관리하는 등의 동작을 도울 수 있다. 이에 따라 SW IPMI 기술의 사용성, 이식성 및 확장성 등을 명확히 확보할 수 있게 될 것이다.
저장부(230)는 제어부(210)에서 처리되는 다양한 정보를 저장할 수 있으며, 데이터나 정보를 임시 저장할 수 있다. 예를 들어, 제어부(210)는 보조제어부(220)로 제공할 정보를 저장부(230)에 임시 저장한 후, 보조제어부(220)의 요청이 있을 때 해당 정보를 제공할 수도 있을 것이다.
도 3 및 도 4는 도 1의 데이터센터서비스장치에 구비되는 메인보드의 예시도이고, 도 5는 도 3 및 도 4의 BMC 기반 IPMI 제어 프로토콜 연동 구조를 설명하기 위한 도면이며, 도 6은 BMC 연동 IPMI 운용관리 구조도이다.
도 3 및 도 4에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 데이터센터서비스장치(120')는 도 3 및 도 4에서와 같이 BMC 기반의 서버메인보드(290)를 포함할 수 있으며, BMC 기반의 서버메인보드(290)는 통신 인터페이스부(300), 복수의 CPU(310), BMC(320) 및 메모리(330)를 포함할 수 있다.
통신 인터페이스부(300)는 도 4에서와 같이 케이블(305)이 연결될 수 있으며, 복수의 CPU(310)는 듀얼 소켓에 각각 탑재될 수 있다. 예를 들어, 통신 인터페이스부(300)의 케이블(305)에 랩탑컴퓨터 등을 연결하여 BMC(320)에 본 발명의 실시예에 따른 프로그램을 써넣거나 하는 등의 동작을 수행할 수 있을 것이다. 물론, 이는 원격이 아닌 제품의 최초 출고시나 원격을 수행하지 않는 경우에 서버의 고장을 수리하는 경우 등을 상정한 것이라 볼 수 있다.
BMC(320)는 도 5에 도시된 바와 같이 복수의 CPU(310)뿐 아니라, 메모리(330)와 통신을 수행하며, 그 이외에도 주변회로들과 다양하게 통신을 수행할 수 있다. 관련 용어들은 당업자에게 자명하므로 생략하고자 한다. 다만, 간단히 언급하면 RMII(reduced media-independent interface)나 RGMII(reduced gigabit media-independent interface)는 미디어 독립 인터페이스(Media-independent interface)을 나타내고, PCI 익스프레스(Peripheral Component Interconnect Express)는 다양한 통신 규약에 의한 통신이 이루어질 수 있음을 의미하며, ADC는 아날로그-디지털 컨버팅이 이루어질 수 있다는 것을 의미한다.
도 6에서 볼 수 있는 바와 같이, BMC(320)의 통신 계층은 물리계층과 응용계층을 포함할 수 있다. 물리계층은 가령 아파치 서버에 포함되는 주변 CPU(310)와 연결되는 계층이며, 응용계층은 프로그램 계층에 해당된다. BMC(320)는 IPMI 기반의 DCMI 기술을 구현하기 위하여 CPU(310)와 다양한 동작을 수행할 수 있다. 도 6에서는 CPU(310)가 스프링 프레임워크(Spring Framework)와 리액트JS 계층으로 구분된 것을 보여주고 있다. 스프링 프레임워크는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있기도 하다.
또한, 도 6에서는 CPU(310)가 사용자 인터페이스(UI) 및 사용자 경험(UX)에 대하여 다양한 동작을 수행할 수 있는 것을 보여주고 있다. 리액트 또는 리액트JS는 자바스크립트 라이브러리의 하나로서 사용자 인터페이스를 만들기 위해 사용된다. 가령 페이스북과 개별 개발자 및 기업들 공동체에 의해 유지보수된다. 리액트는 싱글 페이지나 모바일 애플리케이션의 개발시 토대로 사용될 수 있다. 복잡한 리액트 앱은 상태 관리, 라우팅, API와의 통신을 위한 추가 라이브러리의 사용이 일반적으로 요구된다고 볼 수 있다.
도 7은 본 발명의 실시예에 따른 데이터센터서비스장치의 구동과정을 나타내는 흐름도이다.
설명의 편의상 도 7을 도 1 또는 도 3과 함께 참조하면, 본 발명의 실시예에 따른 데이터센터서비스장치(120)(혹은 도 3의 BMC 기반의 서버메인보드(290))는 데이터센터에 구비되는 서비스장치를 원격으로 제어하고 관리하는 외부장치와 통신을 수행한다(S700). 여기서, 서비스장치는 가령 서버로서 역할을 수행하는 도 1의 데이터센터서비스장치(120) 또는 BMC 기반의 서버메인보드(290))를, 그리고 외부장치는 사용자단말(100)을 나타낸다.
또한, BMC 기반의 서버메인보드(290)의 제어부는 가령 복수의 CPU(310)는 외부장치와의 통신을 제어한다(S710). 이의 과정에서 CPU(310)는 통신을 위하여 OS 프로그램을 구동시킬 수 있다.
나아가, BMC 기반의 서버메인보드(290)는 제어부를 제어하는 API 기반의 펌웨어를 저장하며, 저장한 펌웨어의 실행에 따라 외부장치의 원격 제어 및 관리를 허용한다(S720).
물론 데이터센터서비스장치(120)의 제어부는 관리자의 서비스 접속 초기에 인증을 통해 SSO 보안 동작을 수행할 수 있을 것이다.
위의 내용 이외에도 BMC 기반의 서버메인보드(290)는 다양한 동작을 수행할 수 있지만, 자세한 내용은 앞서의 내용들로 대신하고자 한다.
한편, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 사용자단말 110: 통신망
120, 120': 데이터센터서비스장치 130: 서드파티장치
200, 300: 통신 인터페이스부 210: 제어부
220: 보조제어부 230: 저장부
305: 케이블 310: CPU
320: BMC 330: 메모리

Claims (7)

  1. 데이터 서비스를 제공하는 데이터 센터의 서비스장치를 원격으로 제어 및 관리하는 외부장치와 통신하는 통신 인터페이스부;
    상기 통신을 수행하도록 상기 통신 인터페이스부를 제어하는 제어부; 및
    상기 제어부에 연동시키는 API(Application Program Interface) 기반의 펌웨어(Firmware)를 저장하며, 상기 저장한 펌웨어를 실행하여 상기 외부장치와 원격 제어 및 관리 동작을 수행하는 BMC(Board Management Controller);를
    포함하는 BMC 기반의 서버메인보드.
  2. 제1항에 있어서,
    상기 제어부는 복수의 CPU를 포함하며, 상기 BMC는 상기 복수의 CPU와 각각 통신하는 BMC 기반의 서버메인보드.
  3. 제1항에 있어서,
    상기 BMC는, 상기 원격 제어 및 관리 동작을 수행하기 위하여 상기 펌웨어 내의 IPMI(Intelligent Platform Manabement Interface) 기반의 DCMI(Data Center Manageability Interface) 프로그램을 실행시키는 BMC 기반의 서버메인보드.
  4. 제1항에 있어서,
    상기 BMC는, 서드파티업체로 제공된 규격화된 SDK(Software Development Kit)를 이용하여 제작된 제1 펌웨어를, 상기 원격 제어 및 관리에 의해 상기 제1 펌웨어와 다른 기능을 갖는 제2 펌웨어로 변경하는 BMC 기반의 서버메인보드.
  5. 제1항에 있어서,
    상기 BMC에 저장되는 상기 펌웨어는, 상기 제어부에 저장되는 운영체제(OS) 와 연동하는 BMC 기반의 서버메인보드.
  6. 제1항에 있어서,
    상기 BMC는, 외부의 인증 서버에 연동하여 상기 외부장치를 SSO(Single Sign On) 방식으로 인증을 수행하는 BMC 기반의 서버메인보드.
  7. 데이터 서비스를 제공하는 데이터 센터의 서비스장치를 원격으로 제어 및 관리하는 외부장치와 통신 인터페이스부가 통신을 수행하는 단계;
    상기 통신을 위해 제어부가, 상기 통신 인터페이스부를 제어하는 단계; 및
    BMC가, 상기 제어부에 연동시키는 API 기반의 펌웨어를 저장하며, 상기 저장한 펌웨어를 실행시켜 상기 외부장치와 원격 제어 및 관리 동작을 수행하는 단계;를
    포함하는 BMC 기반의 서버메인보드의 구동방법.
KR1020180156855A 2018-12-07 2018-12-07 Bmc 기반의 서버메인보드 및 그 보드의 구동방법 KR102131906B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180156855A KR102131906B1 (ko) 2018-12-07 2018-12-07 Bmc 기반의 서버메인보드 및 그 보드의 구동방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180156855A KR102131906B1 (ko) 2018-12-07 2018-12-07 Bmc 기반의 서버메인보드 및 그 보드의 구동방법

Publications (2)

Publication Number Publication Date
KR20200069610A true KR20200069610A (ko) 2020-06-17
KR102131906B1 KR102131906B1 (ko) 2020-07-08

Family

ID=71405588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156855A KR102131906B1 (ko) 2018-12-07 2018-12-07 Bmc 기반의 서버메인보드 및 그 보드의 구동방법

Country Status (1)

Country Link
KR (1) KR102131906B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144520A (ko) * 2013-06-11 2014-12-19 삼성전자주식회사 프로세서 모듈, 마이크로 서버 및 프로세서 모듈의 제어 방법
KR101849709B1 (ko) 2017-11-13 2018-04-18 엑세스(주) 모듈형 bmc 시스템
JP2018101407A (ja) * 2016-12-21 2018-06-28 廣達電腦股▲ふん▼有限公司 ファームウェアを遠隔更新するシステム及び方法
KR101887632B1 (ko) * 2017-11-13 2018-08-10 엑세스(주) Bmc 기반의 서버 랙 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144520A (ko) * 2013-06-11 2014-12-19 삼성전자주식회사 프로세서 모듈, 마이크로 서버 및 프로세서 모듈의 제어 방법
JP2018101407A (ja) * 2016-12-21 2018-06-28 廣達電腦股▲ふん▼有限公司 ファームウェアを遠隔更新するシステム及び方法
KR101849709B1 (ko) 2017-11-13 2018-04-18 엑세스(주) 모듈형 bmc 시스템
KR101887632B1 (ko) * 2017-11-13 2018-08-10 엑세스(주) Bmc 기반의 서버 랙 시스템

Also Published As

Publication number Publication date
KR102131906B1 (ko) 2020-07-08

Similar Documents

Publication Publication Date Title
US10728340B2 (en) Internet of things (IOT) platform for device configuration management and support
US11379658B2 (en) Systems and methods for updating a mobile application
US9560037B2 (en) Integrated APIs and UIs for consuming services across different distributed networks
CN112583882A (zh) 用于管理边缘环境中的遥测数据的方法、系统、制品和装置
US9753758B1 (en) Building of virtual servers in a cloud via non-structured strings
US20230217253A1 (en) Systems, methods, and apparatus for workload optimized central processing units (cpus)
US9208184B1 (en) System design support apparatus and system design supporting method
CN103843308A (zh) 跨越多个计算设备分布的应用的执行
CN111316613A (zh) 访问网关管理控制台
CN110740057B (zh) 一种业务部署方法以及区块链平台
Mynzhasova et al. Drivers, standards and platforms for the IoT: Towards a digital VICINITY
WO2021086800A1 (en) Cloud-based managed networking service that enables users to consume managed virtualized network functions at edge locations
US10536506B2 (en) Webpage analytics and control
US11005719B2 (en) Internet of Things system topology generation
Droste et al. An adaptive 5G multiservice and multitenant radio access network architecture
AU2014412020B2 (en) Techniques to transform network resource requests to zero rated network requests
KR102131906B1 (ko) Bmc 기반의 서버메인보드 및 그 보드의 구동방법
KR102123750B1 (ko) 네트워크 서비스 요청
US8880701B2 (en) System and method for supporting of network service
US20230289228A1 (en) Infrastructure composition function deployment on a container orchestration platform
US10958445B1 (en) Attribution of network events pursuant to configuring mobile communication devices
US11803786B2 (en) Enterprise integration platform
US20220217151A1 (en) Electronic device, method, medium, and program for switching parental control modes
KR101581127B1 (ko) 네트워크 시스템과 통신 방법, 및 네트워크 장치
US20230199628A1 (en) Systems and methods for modeling container-based network functions

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant