KR100814436B1 - 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법 - Google Patents

웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법 Download PDF

Info

Publication number
KR100814436B1
KR100814436B1 KR1020060071300A KR20060071300A KR100814436B1 KR 100814436 B1 KR100814436 B1 KR 100814436B1 KR 1020060071300 A KR1020060071300 A KR 1020060071300A KR 20060071300 A KR20060071300 A KR 20060071300A KR 100814436 B1 KR100814436 B1 KR 100814436B1
Authority
KR
South Korea
Prior art keywords
ethernet
web
state information
internal memory
monitoring module
Prior art date
Application number
KR1020060071300A
Other languages
English (en)
Other versions
KR20080010791A (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 KR1020060071300A priority Critical patent/KR100814436B1/ko
Publication of KR20080010791A publication Critical patent/KR20080010791A/ko
Application granted granted Critical
Publication of KR100814436B1 publication Critical patent/KR100814436B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 인터넷에 접속하여 예를 들면, 컴팩트 피씨아이 서버와 같은 하드웨어 상태 정보를 모니터링하고 하드웨어 상태를 제어하는 웹 기반 모니터링 모듈에 관한 것이다. 웹 기반 모니터링 모듈은 인터넷을 통해 외부 사용자와 연결되는 이더넷 포트와; 이더넷 포트를 거쳐 입출력되는 신호들을 송수신하는 이더넷 송수신기와; 복수의 슬레이브 장치들과 시스템 버스를 통해 연결되며, 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하여 저장하고, 상기 저장된 정보를 신호처리하여 이더넷 송수신기로 출력하는 중앙처리 장치를 포함한다. 이 경우에 중앙처리 장치는 시스템 버스를 통해 상기 하드웨어 상태 정보를 입력받고 제어하기 위해 상기 슬레이브 장치들과의 신호 교환을 중재하는 버스 인터페이스와; 하드웨어 상태 정보를 저장(또는 변경)하는 내부 메모리와; 내부 메모리로부터 입력된 상기 하드웨어 상태 정보를 인터넷 통신 프로토콜에 따른 신호로 매핑하여 상기 이더넷 송수신기로 출력하는 이더넷 컨트롤러와; 그리고 상기 버스 인터페이스와, 내부 메모리 및 상기 이더넷 컨트롤러를 초기화하고 이들의 동작 타이밍을 제어하는 제어부를 포함한다.

Description

웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템, 그리고 웹 기반 모니터링 모듈의 모니터링 방법{Web-based Monitoring Module, Hardware System including the same and Monitoring Method of Web-based Monitoring Module}
도 1은 본 발명의 일 실시예에 따른 웹 기반 모니터링 모듈을 장착한 서버 시스템을 나타내는 블럭도;
도 2는 웹 기반 모니터링 모듈(100)의 하드웨어 상태정보 모니터링 방법을 개괄적으로 설명하기 위한 흐름도;
도 3(a)은 본 발명의 일 실시예에 따라 도 1 에 도시된 웹 기반 모니터링 모듈의 일부 구성을 도시한 블럭도이고, 도 3(b)는 이더넷 컨트롤러(117)와 내부 메모리(113) 사이에 교환되는 패킷 데이터의 전송 데이터 포맷을 나타내는 매핑도이며, 도 3(c)는 HTTP 프로토콜에 따른 메세지 전달 순서를 나타내는 도면;
도 4는 본 발명의 일 실시예에 따라 도 3에 도시된 이더넷 컨트롤러의 동작을 설명하기 위한 흐름도;
도 5(a)는 본 발명의 일 실시예에 따라 도 1 에 도시된 웹 기반 모니터링 모듈의 일부 구성을 도시한 블럭도이고, 도 5(b)는 사용자 터미널(20)과 직렬통신 컨트롤러(114) 사이에 송수신되는 전송 데이터 포맷을 나타내는 매핑도;
도 6은 본 발명의 일 실시예에 따라 도 5 에 도시된 직렬 통신 컨트롤러의 동작을 설명하기 위한 흐름도;
도 7(a)는 본 발명의 일 실시예에 따라 도 1에 도시된 웹 기반 모니터링 모듈의 일부 구성을 도시한 블럭도이고, 도 7(b)는 본 발명의 일 실시예에 따라 버스 인터페이스와 슬레이브 장치들 사이에 교환되는 데이터 포맷을 나타내는 매핑도;
도 9는 본 발명의 일 실시예에 따라 HTTP 엔트리 스레드가 활성화된 경우에 하드웨어 상태 정보를 모니터링 하는 방법을 설명하기 위한 흐름도; 그리고
도 10은 웹 사용자 시스템에 디스플레이되는 인터페이스 화면을 나타내는 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
10: 하드웨어 시스템(cPCI/PSB/ATCA 서버) 20: 사용자 터미널
30: 웹 사용자 시스템 100: 웹 기반 모니터링 모듈
110: 중앙처리장치 111: 제어부
112: 그래픽 입출력 포트 113: 내부 메모리
114: 직렬 통신 컨트롤러(UART) 115: 버스 인터페이스
116: 시스템 클럭 발생기 117: 이더넷 컨트롤러(EMAC)
150: 디스플레이 장치 160: 외부 메모리
170: 이더넷 송수신기 180: 이더넷 포트(RJ45)
300: 온도 센서 350: 출력 전압 모니터 유닛
360: 레벨 감지기 370: 전원 접속 모니터 유닛
400: 팬 속도 제어 유닛 450: 팬
600: 전원 백플레인 610-630: 커넥터
800, 810: 이이피롬 710-730: 커넥터
700: cPCI/PSB/ATCA 타입 보드 백플레인
900: cPCI/PSB/ATCA 타입 CPU 보드
910: cPCI/PSB/ATCA 타입 DSP 보드
920: 네트웍 보드
본 발명은 하드웨어 시스템의 상태 관리 및 제어 장치에 관한 것으로, 구체적으로 하드웨어 시스템의 상태를 관리 및 제어할 수 있는 모니터링 모듈 및 모니터링 방법에 관한 것이다.
일반적으로 하드웨어 시스템은 다수의 마스터 디바이스들과 슬레이브 디바이스들을 포함한다. 마스터 디바이스들은 버스를 통해 슬레이브 디바이스들의 동작을 지시하는 명령어를 발생하고, 슬레이브 디바이스들은 마스터 디바이스로부터의 명령에 응답하여 동작을 수행한다. 이러한 디바이스들을 포함하는 하드웨어 시스템(예를 들면, 컴퓨터 서버)을 안정적으로 관리하기 위해서는, 시스템의 상태 정보를 수집하여 신속히 오류를 발견하고 필요한 조치를 취하여야 한다. 이러한 시스템 상태 정보에는 전원 접속(즉, 온/오프 상태) 정보, 온도 정보, 시스템의 전압 레벨 정보, 냉각 팬의 회전 속도 정보 등이 포함된다.
종래에는 하드웨어 시스템을 관리하기 위해서 여러 개의 모듈로 이루어진 별도의 하드웨어 시스템 즉, 관리용 서버나 보조 서버 등을 별도로 설치하였다. 그러나, 컴퓨터 서버와 같은 하드웨어 시스템을 관리하기 위해서, 별도의 관리용 서버와 보조 서버 등을 구성하는 것은 비용면이나 집적도 면에서 큰 부담이 된다. 또한, 여러 종류의 하드웨어 시스템, 운영시스템(OS) 환경 및 네트워크 환경에 맞도록 관리용 프로그램을 작성하여 다수의 하드웨어 시스템에 공통으로 사용하므로, 오류 발생 원인을 분석하기 어렵다는 문제점이 있다.
본 발명의 목적은 컴퓨터 서버에 장착하여 하드웨어 상태를 모니터링하고, 모니터링한 정보를 웹상으로 표시하고 관리할 수 있는 웹 기반 모니터링 모듈을 제공하는 데 있다.
발명의 또 다른 목적은, 웹에 접속한 사용자가 컴퓨터 서버를 관리 및 제어할 수 있는 모니터링 방법을 제공하는 데 있다.
(구성)
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 웹 기반 모니터링 모듈은 인터넷을 통해 외부 사용자와 연결되는 이더넷 포트와; 상기 이더넷 포트를 거쳐 입출력되는 신호들을 송수신하는 이더넷 송수신기와; 복수의 슬레이브 장치들과 시스템 버스를 통해 연결되며, 상기 슬레이브 장치들로 부터 하드웨어 상태 정보를 수집하여 저장하고, 상기 저장된 정보를 신호처리하여 상기 이더넷 송수신기로 출력하는 중앙처리 장치를 포함한다. 이 경우에 상기 중앙처리 장치는: 상기 시스템 버스를 통해 상기 하드웨어 상태 정보를 입력받기 위해 상기 슬레이브 장치들과의 신호 교환을 중재하는 버스 인터페이스와; 상기 하드웨어 상태 정보를 저장하는 내부 메모리와; 상기 내부 메모리로부터 입력된 상기 하드웨어 상태 정보를 인터넷 통신 프로토콜에 따른 신호로 매핑하여 상기 이더넷 송수신기로 출력하는 이더넷 컨트롤러와; 그리고 상기 버스 인터페이스와, 상기 내부 메모리 및 상기 이더넷 컨트롤러를 초기화하고 이들의 동작 타이밍을 제어하는 제어부를 포함한다.
본 발명의 일 실시예에 있어서, 상기 중앙처리장치는 상기 제어부에 의해 제어되며 상기 하드웨어 상태 정보를 직렬 통신 프로토콜에 따라 신호처리하여 외부 사용자에게 전송하는 직렬 통신 컨트롤러를 더 포함한다.
본 발명의 일 실시예에 있어서, 상기 복수의 슬레이브 장치들은 팬 속도 제어 유닛, 온도 센서, 출력 전압 모니터 유닛, 전원 접속 모니터 유닛, 레벨 감지기, 전원 백플레인, 컴팩트 피씨아이 보드 백플레인을 포함한다.
본 발명의 일 실시예에 있어서, 상기 슬레이브 장치들은 컴팩트 피씨아이 서버에 탑재된다.
본 발명의 일 실시예에 있어서, 상기 하드웨어 상태 정보는 상기 컴팩트 피씨아이 서버의 온도, 전압 및 팬의 회전 속도에 대한 정보를 포함한다.
본 발명의 일 실시예에 있어서, 상기 시스템 버스는 에스엠(SM) 버스 및 아 이스퀘어씨(I2C)버스를 포함한다.
본 발명의 일 실시예에 있어서, 상기 중앙처리 장치로부터 상기 시스템 관리 정보를 입력받아 엘씨디 패널에 출력하는 디스플레이 장치와; 그리고 상기 중앙처리 장치에 의해 제어되며, 상기 내부 메모리의 저장 용량을 확장하기 위한 외부 메모리를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 의하면, 하드웨어 시스템은 인터넷을 통해 외부 사용자와 연결되는 이더넷 포트를 포함하는 웹 기반 모니터링 모듈과; 시스템 버스와; 그리고 상기 시스템 버스를 통해 상기 모니터링 모듈과 연결되는 복수의 슬레이브 장치들을 포함한다.
이 경우에, 상기 웹 기반 모니터링 모듈은 상기 이더넷 포트를 거쳐 입출력되는 신호들을 송수신하는 이더넷 송수신기와; 상기 시스템 버스를 통해 상기 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하여 저장하고, 상기 이더넷 송수신기로부터 입력되는 신호에 응답하여 상기 저장된 하드웨어 상태 정보를 상기 이더넷 송수신기로 출력하는 중앙처리 장치를 포함한다.
본 발명의 일 실시예에 있어서, 상기 중앙처리 장치는: 상기 시스템 버스를 통해 상기 하드웨어 상태 정보를 입력받기 위해 상기 슬레이브 장치들과의 신호 교환을 중재하는 버스 인터페이스와; 상기 하드웨어 상태 정보를 저장하는 내부 메모리와; 상기 내부 메모리로부터 입력된 상기 하드웨어 상태 정보를 인터넷 통신 프로토콜에 따른 신호로 매핑하여 상기 이더넷 송수신기로 출력하는 이더넷 컨트롤러 와; 그리고 상기 버스 인터페이스와, 상기 내부 메모리 및 상기 이더넷 컨트롤러를 초기화하고 이들의 동작 타이밍을 제어하는 제어부를 포함한다.
본 발명의 일 실시예에 있어서, 상기 중앙처리장치는 상기 제어부에 의해 제어되며 상기 하드웨어 상태 정보를 직렬 통신 프로토콜에 따라 신호처리하여 외부 사용자에게 전송하는 직렬 통신 컨트롤러를 더 포함한다.
본 발명의 일 실시예에 있어서, 상기 복수의 슬레이브 장치들은 팬 속도 제어 유닛, 온도 센서, 출력 전압 모니터 유닛, 전원 접속 모니터 유닛, 레벨 감지기, 전원 백플레인, 컴팩트 피씨아이 보드 백플레인을 포함한다.
본 발명의 일 실시예에 있어서, 상기 하드웨어 상태 정보는 상기 컴팩트 피씨아이 서버의 온도, 전압 및 팬의 회전 속도에 대한 정보를 포함한다.
본 발명의 일 실시예에 있어서, 상기 시스템 버스는 에스엠(SM) 버스 및 아이스퀘어씨(I2C) 버스를 포함한다.
상기 본 발명의 목적을 달성하기 위한 또 다른 측면에 의하면, 인터넷 상의 사용자와 인터넷 프로토콜에 따라 신호를 교환하는 이더넷 컨트롤러와, 슬레이브 장치들과 시스템 버스를 통해 신호를 교환하는 버스 인터페이스와, 그리고 내부 메모리를 포함하는 웹 기반 모니터링 모듈의 모니터링 방법은 다음과 같은 단계들을 포함한다. 외부로부터 전원이 공급되면 웹 기반 모니터링 모듈의 초기화를 시작하는 단계와; 상기 내부 메모리에 리얼 타임 커널을 생성하는 단계와; 제 1 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에 상기 제 1 장치 드 라이버의 스레드를 생성하는 단계와; 상기 제 1 장치 드라이버의 스레드를 활성화하여 상기 제 1 장치 드라이버를 호출하고, 상기 제 1 장치 드라이버의 제어에 따라 상기 이더넷 컨트롤러와 상기 인터넷 상의 사용자를 연결하는 단계와; 제 2 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에상기 제 2 장치 드라이버의 스레드를 생성하는 단계와; 상기 제 2 장치 드라이버의 스레드를 활성화하여 상기 제 2 장치 드라이버를 호출하고, 상기 제 2 장치 드라이버의 제어에 따라 상기 버스 인터페이스가 상기 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하고 이를 상기 내부 메모리에 저장하는 단계와; 그리고 상기 이더넷 컨트롤러가 상기 내부 메모리에 저장된 상기 하드웨어 상태 정보를 상기 사용자에게 전달하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 제 1 및 제 2 장치 드라이버의 스레드들을 활성화하는 단계들은 주기적으로 반복된다.
본 발명의 일 실시예에 있어서, 상기 제 1 장치 드라이버의 제어에 따라 상기 이더넷 컨트롤러와 상기 인터넷 상의 사용자가 연결되는 단계에서, 상기 이더넷 컨트롤러는 상기 인터넷 상의 사용자의 요청(request)에 응답하여, 상기 웹 모니터링 모듈의 그래픽 유저 인터페이스 화면을 상기 인터넷 상의 사용자에게 전송한다.
본 발명의 일 실시예에 있어서, 상기 내부 메모리에 리얼 타임 커널을 생성하는 단계 이후에, 제 3 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에 상기 제 3 장치 드라이버의 스레드를 생성하는 단계와; 그리고 상기 제 3 장치 드라이버의 스레드를 활성화하여 상기 제 3 장치 드라이버를 호출하고, 상기 제 3 장치 드라이버의 제어에 따라 상기 직렬 통신 컨트롤러가 상기 웹 기반 모니터링 모듈의 초기화 메세지를 직렬 통신 프로토콜에 따라 외부 사용자에게 출력하는 단계를 더 포함한다.
본 발명의 일 실시예에 있어서, 상기 시스템 버스는 에스엠(SM) 버스 및 아이스퀘어씨(I2C) 버스를 포함한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인해 한정되는 것은 아니다. 본 발명의 실시예들은 당업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 과장될 수 있다. 이후의 설명에서 도면들 중 동일하거나 유사한 참조 번호 및 부호는 가능한 동일하거나 유사한 구성 요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 웹 기반 모니터링 모듈을 장착한 하드웨어 시스템을 나타내는 블럭도이다. 도 1을 참조하면, 본 발명의 하드웨어 시스템(10)은 웹 기반 모니터링 모듈(100)과 시스템 매니지먼트(System Management:SM) 버스(1)를 포함한다. 또한, 하드웨어 시스템(10)은 웹 기반 모니터링 모듈(100)과 SM 버스(1)를 통해 연결된 온도센서(300), 출력 전압 모니터 유닛(350), 전원 접속 모니터 유닛(370), 팬 속도 제어 유닛(400), 전원 백플레인(600), cPCI 보드 백플레인(700)을 포함한다. 또한, 하드웨어 시스템(10)은 전원 접속 모니터 유닛(370) 에 연결되는 전압 레벨 감지기(360)와, 팬 속도 제어 유닛(400)에 연결되는 팬(450)과, 전원 백플레인(600) 그리고 cPCI 보드 백플레인(700)을 포함한다. EEPROM들(800, 810)은 전원 백플레인(600)에 커넥터들(610-630) 통해 전기적 및 물리적으로 착탈 가능하도록 연결(Hot swap)된다. 전원 백플레인(600)은 외부로부터 110-220V의 AC 또는 DC 전압을 입력받아 내부 동작 전압들을 생성한다. 내부 동작 전압들은 예를 들면, 3V, 5V, 12V 및 -12V의 전압이다. 전원 백플레인(600)은 레벨 감지기(360), 전원 접속 모니터 유닛(370) 및 출력 전압 모니터 유닛(350)에 내부 동작 전압들을 공급한다.
중앙처리장치(Central Processing Unit: CPU) 보드(900), 디지털 시그널 프로세서(Digital signal Processor: DSP) 보드 (910), 네트웍 보드(920)들은 cPCI 보드 백플레인(700)에 커넥터들(710-730)을 통해 전기적 및 물리적으로 착탈 가능하도록 연결(Hot swap)된다.
본 발명의 일 실시예에 따른 하드웨어 시스템(10)은 PICMG(www.picmg.org)d의 표준 규격에 따라 cPCI(Compact PCI), PSB(Packet Switch Backplane) 및 ATCA(Advanced Telecom Computing Architecture) 규격을 만족하는 컴퓨터 서버이다. PICMG 규격을 만족하는 컴퓨터 서버를 "cPCI" 서버라 한다. 또한, cPCI 보드들은 cPCI 서버의 백플레인(즉, cPCI 서버의 버스 PCB)에 실장될 수 있는 보드들로 예를 들면, CPU 보드, DSP 보드, 16 E1 트렁크(truck) 보드, 24 포트 패브릭 스위칭(fabric switching) 보드 등이 있다.
웹 기반 모니터링 모듈(100)은 중앙처리 장치(Central Processing Unit: CPU, 110)과 LCD 장치 등의 디스플레이 장치(150), 외부 메모리(160), 이더넷 송수신기(170), 이더넷 포트(180), 직렬 포트(190)을 포함한다. 직렬 포트는 예를 들면 RS232 포트로서 외부의 사용자 터미널(또는 콘솔, 20)에 연결된다. 이더넷 포트(RJ45, 180)는 외부의 이더넷 허브 등을 거쳐 웹 사용자 시스템(30)에 연결된다.
이더넷 송수신기(170)는 CPU(110)로/부터 입/출력되는 데이터들을 신호 처리(인코딩/디코딩 등)하여 이더넷 포트(180)로 전달한다.
CPU(110)는 인터럽트 처리 및 클럭 공급 및 내부 블럭들의 동작을 제어하는 제어부(111)와, 디스플레이 장치(150)와 연결되는 그래픽 입/출력 포트(112)와, 내부 메모리(113), 직렬 통신 컨트롤러(114), 버스 인터페이스(115), 시스템 클럭 발생기(116), 이더넷 컨트롤러(117), 및 리얼 타임 클럭(Real Time Clock: RTC) 유닛(118)을 포함한다. CPU(110) 내부의 장치들(111-118)은 CPU 버스(도 3(a)의 2)에 의해 각각 연결된다.
제어부(111)는 웹 기반 모니터링 모듈(100)의 운영시스템(Operating System)을 총괄하는 프로그램 코어이다. 직렬 통신 컨트롤러는 예를 들면, UART(Universal Asynchronous Receiver & Transceiver)이고, 이터넷 컨트롤러(117)는 예를 들면, EMAC(Ethernet Media Access Controller)으로써 이더넷 물리적 레이어 제어 유닛이다. 시스템 클럭 발생기(116)는 CPU(110) 내부의 각 블럭들(112-118)에 시스템 클럭(CLK)을 제공한다. 내부 메모리(113)sms 예를 들면, 플래시 메모리 또는 SRAM 메모리 일 수 있다. CPU(110)의 각 블럭들의 동작은 이하 도 3 내지 도 10을 참조하여 자세히 설명한다.
외부 메모리(160)는 CPU(110)의 동작시 내부 메모리(113)의 용량이 부족한 경우에, 저장 용량을 확장하기 위한 확장 메모리로써 이용된다. 디스플레이 장치는 예를 들면 LCD 패널(Panel)로써, 제어부(111)의 제어에 따라 그래픽 입출력 포트(112)를 통해 출력되는 신호를 디스플레이 한다. 예를 들면, 전원 접속 상태 및 팬 속도 등의 정보를 디스플레이 한다.
도 2는 웹 기반 모니터링 모듈(100)의 동작을 개괄적으로 설명하기 위한 흐름도이다. 도 2를 참조하면, 웹 기반 모니터링 모듈(100)의 동작을 간략히 설명하면 다음과 같다. 먼저, 하드웨어 시스템에 전원이 공급되면(S10), 웹 기반 모니터링 모듈의 제어부(111) 내의 프로그램 카운터(도시되지 않음)는 내부 메모리(113)의 스타트 번지에 위치하여 다음 번지 내용을 해석하면서 웹 기반 모니터링 모듈(100)을 초기화한다(S20). 즉, CPU(110) 내부의 I/O 레지스터(도시되지 않음)를 초기화하고, 인터럽트 벡터 테이블을 설정하며, 스택(stack)을 설정한다. 그리고, 직렬통신 컨트롤러(114)의 장치 드라이버 및 스레드(thread)들을 생성한다(S30).
장치 드라이버는 '장치를 구동하는 프로그램'으로, 간략히 드라이버라고도 한다. 드라이버는 하드웨어와 소프트웨어(운영체제) 중간에 위치하며, 프로그램 중에서 가장 저 수준 레벨에 있는 프로그램으로 볼 수 있다. 일반적으로 운영체제의 많은 부분이 드라이버로 구성된다. 다시 말해, 드라이버는 기본적으로 하드웨어를 제어하고 운영하는 프로그램이다. 하드웨어 자원인 메모리, I/O, 인터럽트, DMA를 처리해 사용자가 하드웨어 장치를 사용할 수 있게 한다.
다수의 응용프로그램들을 동시에 처리할 수 있는 운영시스템(OS)이 각각의 응용프로그램과 관련하여 가지고 있는 정보를 '스레드'라 한다. 운영시스템의 관점에서 보면, 스레드는 하나의 응용프로그램이나 특정한 작업 요청을 수행하는데 필요한 정보이다. 다수의 응용 프로그램들(또는 사용자)로부터 동시에 요청이 발생했을 때, 각각의 응용 프로그램들을 위한 스레드가 만들어지고, 저장된다. 운영시스템은 스레드를 통해 현재 어떤 응용 프로그램(또는 사용자)이 서비스를 받고 있는지(실행되는지)를 파악할 수 있다. 운영 프로그램은 단방향 스레드 정보를 특정한 메모리 내에 저장하고, 저장된 메모리의 주소를 레지스터에 기록한다. (일반적으로, 운영시스템은 프로그램이 중단되었을 때는 레지스터에 정보를 저장하며, 그리고 다시 제어권이 주어졌을 때 그 내용을 복구한다).
제어부(111)의 제어에 따라, 직렬통신 컨트롤러(114)를 제어하기 위한 드라이버 및 스레드(thread)가 생성된다. 이어서, 제어부(111)가 (즉, 운영시스템의 리얼 타임 커널)이 스레드를 활성화하면, 스레드는 직렬 통신 드라이버를 호출한다. 호출된 직렬 통신 드라이버는 직렬 통신 컨트롤러(114)를 제어하여, 직렬 포트(190)를 통해 사용자 터미널(20)을 연결한다. 직렬통신 컨트롤러(114)가 사용자 터미널(20)에 웹 기반 모니터링 모듈(100)의 초기화 과정에 대한 메세지들을 전송하면, 사용자 터미널에 초기화 과정이 디스플레이 된다(S40).
이어서, 제어부(111)가 이더넷 컨트롤러(117), RTC(Real Time Clock, 118), 버스 인터페이스(115) 등의 장치 드라이버들 및 스레드들을 생성한다. 각 장치 드라이버들은 제어부(111)의 제어에 따라, 서로 독립적으로 멀티 프로세싱한다. 또한, 직렬 포트(190)를 통해 연결된 사용자 터미널(20)로부터 셀 커맨드(Shell Command)가 입력되면 이에 대한 스레드가 생성하고, 셀 커맨드에 따른 동작을 실행한다.
초기화가 완료되면, 제어부(111)는 버스 인터페이스(115)를 제어하여 하드웨어 시스템(10) 내부의 슬레이브 장치들의 상태 정보를 수집한다. 즉, 버스 인터페이스(115)는 시스템 버스(1)를 통해 연결된 온도 센서(300), 출력 전압 모니터 유닛(350), 전원 접속 모니터(370), 팬 속도 제어 유닛(400), 전원 백플레인(600), cPCI 보드 백플레인(700)의 상태 정보를 수집하고 이를 메모리(113, 160)에 저장한다(S60).
또한, 제어부(111)는 웹 상의 사용자 터미널(30)로부터 입력이 있는지 여부를 판단하여, 웹 사용자 시스템(30)이 연결되면 이더넷 컨트롤러(117)를 통해 하드웨어 상태정보를 전달한다(S70).
도 3(a)는 본 발명의 일 실시예에 따라 도 1 에 도시된 웹 기반 모니터링 모듈의 일부 구성을 도시한 블럭도이고, 도 3(b)는 이더넷 컨트롤러(117)와 내부 메모리(113) 사이에 교환되는 패킷 데이터의 전송 데이터 포맷을 나타내는 매핑도이다. 도 3(c)는 HTTP 프로토콜에 따른 메세지 전달 순서를 나타내는 도면이다. 도 4은 본 발명의 일 실시예에 따라 도 3에 도시된 이더넷 컨트롤러의 동작을 설명하기 위한 흐름도이다. 먼저, 도 3(a)를 참조하면, CPU(110)의 이더넷 컨트롤러(117)는 미디어 인터페이스(1171)와 DMA(Direct Memory Access)를 포함한다. 이더넷 컨트롤러(117)는 CPU 버스(2)를 통해 제어부(111) 및 내부메모리(113)와 연결된다. 이더넷 컨트롤러(117)는 데이터 버스(3)를 통해 이더넷 송수신기(170)와 연결되며, 이 더넷 송수신기(170)는 미디어 인터페이스(171)와 디코더(172), 인코더(173), 수신기(174)와 송신기(175)를 포함한다. 내부 메모리(110)는 링 버퍼(a1)를 포함하며, 제어부(111)의 제어에 따라(즉, 운영프로그램에 의해) 소프트웨어적인 장치 드라이버(b1), 스레드(C1), 그리고 RTK 코어 (Real Time Kennel core, d1)가 내부 메모리(110)에 생성된다. 이는 이하, 도 4를 참조하여 상세히 설명한다.
도 3(b)를 참조하면, 이더넷 컨트롤러(117)와 내부 메모리(113) 사이에 교환되는 패킷 데이터의 전송 데이터 포맷이 도시된다. 전송 데이터 첫 부분에는 3 바이트의 포인터가 매핑된다. 이어서, 순차적으로 패킷 사이즈, 송신 또는 수신 디스크립터 상태를 나타내는 2 바이트의 패킷 상태 데이터, 32/68/128/256 바이트의 이더넷 패킷 데이터가 매핑된다.
이하, 도 3(c), 도 4 및 도 9 내지 10을 참조하여, 하드웨어 상태 정보를 모니터링 하기 위해 이더넷 컨트롤러(117)의 장치 드라이버 및 스레드를 생성하는 방법을 설명하면 다음과 같다. 도 9는 HTTP 엔트리 스레드가 활성화되는 경우의 하드웨어 상태 정보 모니터링 방법을 나타내는 흐름도이고, 도 10는 본 발명의 일 실시예에 따라, 웹 사용자 시스템에 디스플레이되는 그래픽 유저 인터페이스(GUI) 화면이다.
먼저, 도 4를 참조하면, 제어부(111)는 이더넷 장치 드라이버, 직렬 통신 드라이버 및 인터넷 통신을 위한 각종 응용프로그램들의 스레드를 제어하는 RTK를 초기화하는 작업을 수행한다(S110). 직렬 통신 드라이버는 복수 개(Serial 0, Serial 1)로 구성될 수 있다.
RTK가 초기화되면, RTK 코어(d1)가 생성된다. RTK 코어(d1)는 장치 드라이버 프레임워크(framework), 파일 시스템, 메모리 관리, 스레드 및 인터럽트 제어, 내부 통신, 에러 관리 등을 위한 함수(function)들을 포함한다. 또한, 응용프로그램들은 TCP, TTY, HTTP, FTP, Telnet, RTC 등을 포함한다.
이어서, 제어부(111)는 직렬 통신 드라이버들(b1)을 RTK 코어(d1)의 디바이스 드라이브 프레임워크에 연결한다(S110). 구체적으로, 변수, 버퍼, 인터럽트 핸들러, 파라미터, 메모리 영역, 환경 등이 설정된다. 직렬통신 장치 드라이버는 "open, close, read, wirte, control, getc, putc" 등의 각종 함수 API(Application Interface)들을 포함한다. API는 운영시스템이나 다른 응용프로그램에 작업 처리를 요구할 수 있도록 운영시스템이나 다른 응용프로그램에 의해 미리 정해진 특별한 메쏘드(method)이다. 또한, 직렬통신 장치 드라이버(b1)는 "braudarte, data format, transmit, transmit ready, receive, receive ready, parity error, frame error, overrun error" 등의 프로토콜 엔터티(entity)를 포함한다.
이어서, 제어부(111)는 이더넷 장치 드라이버(b1')를 디바이스 드라이브 프레임워크에 연결한다. 구체적으로, 변수, 버퍼, 인터럽트 핸들러, 파라미터, 메모리 영역, 환경 등이 설정된다. 이더넷 장치 드라이버는 "open, close, read, write, control" 등의 함수 API들로 구성된다. 또한, 이더넷 장치 드라이버(b1')는 "packet size, status, packet data format, transmit packet, receive packet, packet error, CRC error" 등의 프로토콜 엔터티(entity)를 포함한다. 이더넷 장치 드라이버(b1')는 이러한 엔터티를 사용하여 송신 및 수신 신호를 바이트 단위의 패킷 데이터(또는 메세지)로 만들어 전송한다.
직렬통신 장치드라이버(b1) 및 이더넷 장치 드라이버(b1')가 RTK 코어(d1)에 연결되면, RTK 코어(d1)는 이더넷 통신을 위한 응용프로그램 엔트리 스레드(Application entry thread, c1)를 생성된다. 응용프로그램 엔트리는 "TCP, TTY, Bootp, Http, Telnet, FTP, UDP, DACP" 등의 통신 프로토콜 스텍(Protocole stack)이다. 응용프로그램 엔트리 스레드(d1)는 직렬 통신 드라이버 스레드(Serial 0, Serial1), 이더넷 드라이버 스레드(EMAC), 응용프로그램 엔트리 스레드(AP entry), 셀 커멘트 스레드(Shell command)등을 포함한다.
직렬 통신 드라이버 스레드(Serial 0, Serial 1)는 직렬 통신 드라이버들(b1, b1')을 호출하고, 직렬 통신 드라이버들(b1, b1')은 물리적인 직렬 통신 컨트롤러(114, UART)를 제어한다. 직렬 통신 드라이버의 제어에 따라 직렬 통신 컨트롤러(114)가 동작을 시작하면, 사용자 터미널(20)에는 "로그인: " 및 "패스워드: "와 같은 메세지가 표시된다. 사용자가 로그인 및 패스워드 정보를 입력하면, 셀 커맨드를 입력할 수 있는 상태가 된다. 또한, TTY 와 같은 응용프로그램 엔트리 스레드(AP entry)는 RS 232 직렬 포트를 통해 사용자 터미널(20)로부터 입력되는 커맨드에 응답신호를 전송할 수 있도록 직렬 통신 컨트롤러(114)의 내부 레지스터(도시되지 않음)를 초기화한다.
RTK 코어가 RTC, TTY, HTTP 등의 통신프로토콜에 따른 응용프로그램 엔트리 스레드들을 주기적으로 활성화시킨다. 예를 들어, TTY가 활성화되면 사용자 터미 널(20)로부터의 쉘 커맨드를 입력받고, 쉘 커맨드에 대응하는 응답정보(response messages)를 사용자 터미널(20)로 전송한다. TTY(teletypewrite) 인터페이스는 흔히 메인프레임(예를 들면, 서버)과 통신하는 단말기(terminal)에 의해 사용된다.
마찬가지로, HTTP와 같은 응용프로그램 엔트리 스레드(AP entry)는 이더넷 장치 드라이버(b1')를 호출하여 물리적인 이더넷 컨트롤러(117, EMAC)와 이더넷 송수신기(170)를 연결하고, 각각의 내부 레지스터(도시되지 않음)들을 초기화한다. 웹 사용자가 터미널(30)에서 웹 브라우저를 실행하고, 웹 기반 모니터링 모듈의 IP 주소를 입력하면 연결이 이루어진다(S160).
도 3(a) 및 도 9 내지 10을 참조하여 구체적으로 살펴보면, RTK 코어(d1)가 HTTP 엔트리 스레드를 활성화하면(S410), HTTP 엔트리 스레드는 이더넷 통신 드라이버(b1')를 호출한다(S430). 호출된 이더넷 통신 드라이버(b1')는 초기화를 수행한다(S450). 즉, 이더넷 통신 드라이버는 메쏘드(method), 헤더(header), 웹 사이트(web site)에 대한 파라미터들을 정의한다. 이어서, 웹 사용자가 터미널(30)에 웹 기반 모니터링 모듈(100)의 IP 주소를 입력하여 연결이 이루어지면(S470), 도 10에 도시된 바와 같은 그래픽 화면이 웹 사용자의 터미널(30)에 디스플레이된다. 웹 사용자의 요청(request)에 따라 HTTP 프로토콜에 따라 응답(request), 즉, 메세지 전송이 이루어진다(S490). HTTP 프로토콜에 따른 메세지 전달 순서는 도 3(a)에 도시된 바와 같다. 여기서 HTTP 프로토콜에 따라 전송되는 메세지에는 내부 메모리에 저장된 하드웨어 상태 정보가 포함된다.
도 5(a)는 본 발명의 일 실시예에 따라 도 1 에 도시된 웹 기반 모니터링 모 듈의 일부 구성을 도시한 블럭도이고, 도 5(b)는 사용자 터미널(20)과 직렬통신 컨트롤러(114) 사이에 송수신되는 전송 데이터 포맷을 나타내는 매핑도이다. 도 6은 본 발명의 일 실시예에 따라 도 5 에 도시된 직렬 통신 컨트롤러를 제어하는 방법 설명하기 위한 흐름도이다.
도 5(a)를 참조하면, 직렬 통신 컨트롤러(114)는 예를 들면 UART(Universal Asynchronous Receiver and Transceiver)로서, 직렬 통신을 위한 신호처리를 수행하는 송신기 및 수신기를 포함한다. 도 5(b)를 참조하면, 사용자 터미널(20)과 직렬통신 컨트롤러(114) 사이에 송수신되는 전송 데이터 포맷은 다음과 같다. 헤드 부분에 데이터 시작을 나타내는 스타트 비트가 맵핑되고, 순서대로 전송 데이터, 패러티 비트(Even, Odd, None, Mark, Space), 스탑 비트가 맵핑된다.
도 5(a), 도 6을 참조하면, 제어부(111)가 웹 기반 모니터링 모듈(100)을 초기화하는 과정에서 직렬 통신 컨트롤러(114)의 장치 드라이버들(Serial 1, Serial 0) 및 스레드를 생성하는 방법은 다음과 같다. 제어부(111)는 직렬 통신 드라이버들(Serial 1, Serial 0)을 활성화하고 응용프로그램들의 스레드를 생성하는 RTK 코어를 초기화하는 작업을 수행한다(S210). 구체적으로, 복수의 스레드들을 제어하고, 데이터 교환 및 동기화를 수행하는 함수들을 초기화한다. 그리고, 소프트웨어 타이머, 메모리 관리, 인터럽트 관리, 에러 관리 등의 함수들을 초기화한다(S210).
이어서, 제어부(111)는 직렬 통신 드라이버들(Serial 1, Serial 0)을 RTK 코어의 디바이스 드라이브 프레임워크에 연결한다(S230). 구체적으로, 변수, 버퍼, 인터럽트 핸들러, 파라미터, 메모리 영역, 환경(configuration) 등을 설정한다.
직렬 통신 드라이버들(Serial 1, Serial 0)은 직렬 통신 드라이버 스레드 및 응용 프로그램 엔트리 스레드들에 의해 호출되어 UART와 같은 물리적인 직렬 통신 컨트롤러(114)를 활성화한다. 따라서, 직렬 통신 컨트롤러(114)는 RS232와 같은 직렬 포트 (190)를 통해 사용자 터미널(20)로부터 입력되는 데이터를 수신하고, CPU 버스(2)에 데이터를 실어 내부 블럭으로 전송한다.
이어서, 직렬 통신 드라이버들이 연결되면, RTK 코어는 직렬 통신 드라이버 스트들을 생성한다(S250). 구체적으로, RTK 코어가 직렬 통신 드라이버들(Serial 1, Serial 0)의 스레드를 연결(attach)하면, 직렬 통신 드라이버들(Serial 1, Serial 0)이 프로세스를 수행한다. 즉, 물리적인 직렬 통신 컨트롤러(114)를 제어하여 직렬 통신을 수행하도록 필요한 응용프로그램 스레드들을 생성한다(S270). 이러한 스레드들은 각각 독립적으로 프로세싱하며, 필요한 스레드들이 모두 생성되어야 실제적인 동작이 수행된다.
예를 들면, 직렬 통신 드라이버들(Serial 1, Serial 0)은 TTY와 같은 응용프로그램 스레드를 생성하여 직렬 통신 컨트롤러(114)가 내부 메모리(113)에 저장된 정보(즉, 메모리 버퍼의 정보)를 사용자 터미널로(20)로 전송하도록 제어한다. 또한, 사용자 터미널로부터 셀 커맨드가 입력되면, 셀 커맨트 스레드를 생성하여 커맨드에 대응하는 동작을 수행하도록 한다(S290). 구체적으로, 직렬 통신 드라이버들(Serial 0, Serial 1)은 물리적인 직렬 통신 컨트롤러의 수신측에 데이터가 입력되거나, 송신측에 전송 데이터가 존재하면 인터럽트를 발생키고, 스레드를 생성하여 프로세스를 수행한다. 이 경우에, 직렬 통신 드라이버들은 물리적인 직렬 통신 컨트롤러(114) 내부의 레지스터 입력 값을 조절하여 직렬 통신 컨트롤러(114)의 동작을 제어한다.
도 7(a)는 본 발명의 일 실시예에 따라 도 1에 도시된 웹 기반 모니터링 모듈의 일부 구성을 도시한 블럭도이고, 도 7(b)는 본 발명의 일 실시예에 따라 버스 인터페이스(115)와 슬레이브 장치들(300, 350, 360, 400, 900) 사이에 교환되는 데이터 전달 형식을 나타내는 도면이다. 도 8은 본 발명의 일 실시예에 따라 도 7에 도시된 버스 인터페이스의 동작을 설명하기 위한 흐름도이다.
도 7(a)를 참조하면, 버스 인터페이스는 SM 버스(1) 통해 데이터를 입출력하는 송수신기(1151)를 포함한다. SM 버스(1)는 2000년 8월 3일 발행된 SM 버스 규격서(System Management Bus Specification)에 따른 버스이다. 그러나, 본 발명이 이에 한정되는 것은 아니며, I2C 버스 등을 사용할 수도 있다. 또한, 도 1 및 도 7(a)에는 버스 인터페이스가 하나만 도시되어 있으나, 다양한 버스들과의 호환성을 보장하기 위해 두 개 이상의 버스 인터페이스들을 포함할 수 있다.
도 7(a) 및 도 8을 참조하면, 제어부(111)가 웹 기반 모니터링 모듈(100)을 초기화하는 과정에서 버스 인터페이스(115)의 장치 드라이버(b3) 및 스레드(c3)를 생성하는 방법은 다음과 같다. 제어부(111)는 버스 드라이버(b3)를 연결 또는 분리하고 응용프로그램들의 스레드를 생성하는 RTK 코어(d3)를 초기화하는 작업을 수행한다(S310). 구체적으로, 복수의 스레드들을 제어하고, 데이터 교환 및 동기화를 수행하는 함수들을 초기화한다. 그리고, 소프트웨어 타이머, 메모리 관리, 인터럽 트 관리, 에러 관리 등의 함수들을 초기화한다.
이어서, 제어부(111)는 버스 드라이버(b3)를 RTK 코어(d3)의 디바이스 드라이브 프레임워크에 연결한다(S330). 구체적으로, 변수, 버퍼, 인터럽트 핸들러, 파라미터, 메모리 영역, 환경(configuration) 등을 설정한다.
이어서, 버스 드라이버가 연결되면, RTK 코어(d3)는 버스 드라이버 스레드들(c3)을 생성한다(S350). 버스 드라이버 스레드들은 팬 속도 스레드, 전원 접속 스레드, 출력 전압 모니터 스레드, 전압 레벨 모니터 스레드, 그리고 온도 센서 스레드를 포함한다. 이러한 스레드들은 서로 독립적으로 프로세싱한다.
팬 속도 모니터 스레드는 복수의 팬들(예를 들면, 16개)의 회전속도(RPM), 플러그(접속) 상태를 수집하고 팬의 속도를 제어한다. 이 경우에, 팬 속도 스레드는 서버의 온도 정보에 따라 팬의 속도를 제어한다.
전원 접속 모니터 스레드는 전원장치들(예를 들면, 8개)의 접속 상태에 대한 정보를 받아 저장한다. 전원 백플레인에 접속되는 전원 장치들 내부의 EEPROM에 저장된 정보를 읽고, 쓰고, 비교하면서 전원 접속 상태를 판단한다. 또한, 전원 접속 스레드는 전원 장치가 제공하는 내부 온도 등의 상태 정보를 주기적으로 입력받아 저장한다. 예를 들면, 전원 접속 모니터 스레드는 전원 장치들이 발생하는 페일 신호들의 레벨을 감지하여 전원 접속 및 전원 백플레인에 공급되는 외부 전원의 상태를 판단한다.
출력 전압 모니터 스레드는 전원 백플레인의 출력 전압인 내부 공급 전압들(3.3V, 5V, 12V, -12V)의 전압 레벨을 감지한 정보를 저장한다.
전압 레벨 모니터 스레드는 전압 백플레인의 출력 전압인 내부 공급 전압들에 대한 정보를 수집하여 저장한다.
RTK 코어가 팬 속도 버스 드라이버 스레드들을 연결(또는 활성화)하면, 버스 드라이버 스레드들은 버스 드라이버(b3)를 호출한다. 호출된 버스 드라이버(b3)는 버스 인터페이스(115)를 제어하여, SM 버스(2)에 연결된 슬레이브 장치들(300, 350, 360, 370, 400, 900)로부터 하드웨어 상태 정보를 입력받는다. 이 경우에, 버스 드라이버(b3)는 버스 인터페이스(115) 내부의 레지스터의 값을 변경하여 버스 인터페스(115)의 송신 또는 수신 동작을 수행하도록 제어한다.
구체적으로, RTK 코어가 팬 속도 스레드를 주기적으로 활성화하면, 팬 속도 스레드는 버스 드라이버(b3)를 호출한다. 호출된 버스 드라이버(b3)가 버스 인터페이스(115)를 제어하여, 팬속도 제어 유닛(400)으로부터 속도 정보(예를 들면, 00-FFh)를 받아 저장한다.
도 7(b)를 참조하여, 버스 인터페이스(115)가 버스 드라이버(b3)의 제어에 따라 하드웨어 상태정보를 수집하는 방법을 설명하면 다음과 같다. 이 경우에, 버스 인터페이스(115)를 포함하는 CPU(110)가 마스터 디바이스이다. 슬레이브 디바이스들은 서로 다른 디바이스 아이디(ID)를 가진다. 마스터 디바이스가 1 비트의 스타트 컨디션(S) 데이터를 전송한 후에 7 비트의 디바이스 ID 번호(Slave Address) 및 1 비트의 읽기(또는 쓰기) 표시 데이터(W/R)를 송신/수신 동작으로 SM 버스(1)에 실어 보낸다. 해당하는 디바이스 ID를 가진 슬레이브 장치는 ACK 신호(A)로 응답신호를 보낸다. 마스터 디바이스는 응답신호(A)를 확인하면, 슬레이브 장치의 특 성을 고려하여 데이터(data)를 전송한다.
CPU(110)의 제어부(111)는 (즉,RTK 코어)는 상술한 바와 같이 주기적으로 필요한 스레드들을 활성화하여, 하드웨어 상태 정보를 수집하여 저장하고 이를 웹상의 사용자 터미널(30)로 전송한다. 또한, 사용자 터미널(30)에서 요청(request)가 있으면 이에 응답(Reply)하고, 사용자 터미널(20)에서 셀 커맨드가 입력되면 이에 대응하는 스레드를 활성화하여 하드웨어를 제어한다.
상술한 바와 같이 본 발명에 따르면, 웹 기반 모니터링 모듈을 cPCI 서버와 같은 하드웨어 장착함으로써, 하드웨어 상태 정보를 수집하고 제어할 수 있다. 또한, 수집한 정보를 웹 상의 사용자에게 전송함으로써 사용자가 인터넷에 연결된 곳에서는 어디에서라도 하드웨어 시스템의 정보를 관리할 수 있도록 한다.
본 발명은 사용자로 하여금 인터넷에 접속하여 편리하게 하드웨어의 상태 정보를 모니터링하고 제어할 수 있도록 하는 모니터링 모듈 및 모니터링 방법 제공한다.
또한, 본 발명에 따르면 별도의 보조 서버를 구성할 필요 없이 모니터링 모듈을 관리 대상 하드웨어 시스템에 장착함으로써 적은 비용으로 하드웨어 정보를 수집 관리할 수 있다.

Claims (18)

  1. 인터넷을 통해 외부 사용자와 연결되는 이더넷 포트와;
    상기 이더넷 포트를 거쳐 입출력되는 신호들을 송수신하는 이더넷 송수신기와;
    시스템 버스를 통해 연결된 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하고, 상기 슬레이브 장치들을 제어하며, 상기 수집된 하드웨어 상태 정보를 신호처리하여 상기 이더넷 송수신기로 출력하는 중앙처리 장치를 포함하되,
    상기 중앙처리 장치는:
    상기 시스템 버스를 통해 입출력되는 신호들의 흐름을 제어하는 버스 인터페이스와;
    상기 버스 인터페이스로부터 입력된 상기 하드웨어 상태 정보를 저장하는 내부 메모리와;
    이더넷 컨트롤러와; 그리고
    상기 버스 인터페이스와, 상기 내부 메모리 및 상기 이더넷 컨트롤러를 초기화하고 이들의 동작 타이밍을 제어하며, 상기 외부 사용자의 요청에 응답하여 상기 슬레이브 장치들을 제어하는 제어부를 포함하되,
    상기 이더넷 컨트롤러는 상기 내부 메모리에 저장된 상기 하드웨어 상태 정보를 인터넷 통신 프로토콜에 따른 신호로 매핑하여 상기 이더넷 송수신기로 출력하고, 상기 이더넷 송수신기에 수신된 상기 외부 사용자의 요청을 상기 제어부에 전달하는 웹 기반 모니터링 모듈.
  2. 제 1 항에 있어서,
    상기 중앙처리장치는 상기 제어부에 의해 제어되며, 상기 하드웨어 상태 정보를 직렬 통신 프로토콜에 따라 신호처리하여 외부 사용자에게 전송하는 직렬 통신 컨트롤러를 더 포함하는 웹 기반 모니터링 모듈.
  3. 제 1 항에 있어서,
    상기 복수의 슬레이브 장치들은 팬 속도 제어 유닛, 온도 센서, 출력 전압 모니터 유닛, 전원 접속 모니터 유닛, 레벨 감지기, 전원 백플레인, 컴팩트 피씨아이 보드 백플레인을 포함하는 웹 기반 모니터링 모듈.
  4. 제 1 항에 있어서,
    상기 슬레이브 장치들은 컴팩트 피씨아이, 피에스비 및 에티씨에이 규격 중 적어도 하나의 규격을 만족하는 서버에 탑재되는 웹 기반 모니터링 모듈.
  5. 제 4 항에 있어서,
    상기 하드웨어 상태 정보는 상기 서버의 온도, 전압 및 팬의 회전 속도에 대한 정보를 포함하는 웹 기반 모니터링 모듈.
  6. 제 1 항에 있어서,
    상기 시스템 버스는 에스엠(SM) 버스 또는 아이스퀘어씨(I2C)버스를 포함하는 웹 기반 모니터링 모듈.
  7. 제 1 항에 있어서,
    상기 중앙처리 장치로부터 상기 하드웨어 상태 정보를 입력받아 엘씨디 패널에 출력하는 디스플레이 장치와; 그리고
    상기 중앙처리 장치에 의해 제어되며, 상기 내부 메모리의 저장 용량을 확장하기 위한 외부 메모리를 더 포함하는 웹 기반 모니터링 모듈.
  8. 인터넷을 통해 외부 사용자와 연결되는 이더넷 포트를 포함하는 웹 기반 모니터링 모듈과;
    시스템 버스와; 그리고
    상기 시스템 버스를 통해 상기 모니터링 모듈과 연결되는 복수의 슬레이브 장치들을 포함하되,
    상기 웹 기반 모니터링 모듈은
    상기 이더넷 포트를 거쳐 입출력되는 신호들을 송수신하는 이더넷 송수신기와; 그리고
    상기 시스템 버스를 통해 상기 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하여 저장하고, 상기 이더넷 송수신기로부터 입력되는 신호에 응답하여 상기 저장된 하드웨어 상태 정보를 상기 이더넷 송수신기로 출력하는 중앙처리 장치를 포함하는 하드웨어 시스템.
  9. 제 8 항에 있어서,
    상기 중앙처리 장치는:
    상기 시스템 버스를 통해 상기 하드웨어 상태 정보를 입력받기 위해 상기 슬레이브 장치들과의 신호 교환을 중재하는 버스 인터페이스와;
    상기 하드웨어 상태 정보를 저장하는 내부 메모리와;
    상기 내부 메모리로부터 입력된 상기 하드웨어 상태 정보를 인터넷 통신 프로토콜에 따른 신호로 매핑하여 상기 이더넷 송수신기로 출력하는 이더넷 컨트롤러와; 그리고
    상기 버스 인터페이스와, 상기 내부 메모리 및 상기 이더넷 컨트롤러를 초기화하고 이들의 동작 타이밍을 제어하는 제어부를 포함하는 하드웨어 시스템.
  10. 제 9 항에 있어서,
    상기 중앙처리장치는 상기 제어부에 의해 제어되며 상기 하드웨어 상태 정보를 직렬 통신 프로토콜에 따라 신호처리하여 외부 사용자에게 전송하는 직렬 통신 컨트롤러를 더 포함하는 하드웨어 시스템.
  11. 제 9 항에 있어서,
    상기 복수의 슬레이브 장치들은 팬 속도 제어 유닛, 온도 센서, 출력 전압 모니터 유닛, 전원 접속 모니터 유닛, 레벨 감지기, 전원 백플레인, 컴팩트 피씨아이 보드 백플레인을 포함하는 하드웨어 시스템.
  12. 제 9 항에 있어서,
    상기 하드웨어 상태 정보는 컴팩트 피씨아이 서버의 온도, 전압 및 팬의 회전 속도에 대한 정보를 포함하는 하드웨어 시스템.
  13. 제 9 항에 있어서,
    상기 시스템 버스는 에스엠(SM) 버스 또는 아이스퀘어씨(I2C) 버스를 포함하는 하드웨어 시스템.
  14. 웹 기반 모니터링 모듈의 모니터링 방법에 있어서,
    상기 웹 기반 모니터링 모듈은:
    인터넷 상의 사용자와 인터넷 프로토콜에 따라 신호를 교환하는 이더넷 컨트롤러와, 슬레이브 장치들과 시스템 버스를 통해 신호를 교환하는 버스 인터페이스와, 그리고 내부 메모리를 포함하고,
    상기 웹 기반 모니터링 모듈의 모니터링 방법은,
    외부로부터 전원이 공급되면 상기 내부 메모리에 리얼 타임 커널을 생성하는 단계와;
    제 1 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에 상기 제 1 장치 드라이버의 스레드를 생성하는 단계와;
    상기 제 1 장치 드라이버의 스레드를 활성화하여 상기 제 1 장치 드라이버를 호출하고, 상기 제 1 장치 드라이버의 제어에 따라 상기 이더넷 컨트롤러와 상기 인터넷 상의 사용자를 연결하는 단계와;
    제 2 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에상기 제 2 장치 드라이버의 스레드를 생성하는 단계와;
    상기 제 2 장치 드라이버의 스레드를 활성화하여 상기 제 2 장치 드라이버를 호출하고, 상기 제 2 장치 드라이버의 제어에 따라 상기 버스 인터페이스가 상기 슬레이브 장치들로부터 하드웨어 상태 정보를 수집하고 이를 상기 내부 메모리에 저장하는 단계와; 그리고
    상기 이더넷 컨트롤러가 상기 내부 메모리에 저장된 상기 하드웨어 상태 정보를 상기 사용자에게 전달하는 단계를 포함하는 모니터링 방법.
  15. 제 14 항에 있어서,
    상기 제 1 및 제 2 장치 드라이버의 스레드는 주기적으로 활성화되는 모니터링 방법.
  16. 제 14 항에 있어서,
    상기 제 1 장치 드라이버의 제어에 따라 상기 이더넷 컨트롤러와 상기 인터넷 상의 사용자가 연결되는 단계에서, 상기 이더넷 컨트롤러는 상기 인터넷 상의 사용자의 요청(request)에 응답하여, 상기 웹 모니터링 모듈의 그래픽 유저 인터페이스 화면을 상기 인터넷 상의 사용자에게 전송하는 모니터링 방법.
  17. 제 14 항에 있어서, 상기 내부 메모리에 리얼 타임 커널을 생성하는 단계이후에,
    제 3 장치 드라이버를 상기 리얼 타임 커널에 연결하고, 상기 내부 메모리에 상기 제 3 장치 드라이버의 스레드를 생성하는 단계와; 그리고
    상기 제 3 장치 드라이버의 스레드를 활성화하여 상기 제 3 장치 드라이버를 호출하고, 상기 제 3 장치 드라이버의 제어에 응답하여 상기 웹 기반 모니터링 모듈의 초기화 메세지를 직렬 통신 프로토콜에 따라 외부 사용자에게 출력하는 단계를 더 포함하는 웹 기반 모니터링 모듈의 모니터링 방법.
  18. 제 14 항에 있어서,
    상기 시스템 버스는 에스엠(SM) 버스 또는 아이스퀘어씨(I2C) 버스를 포함하는 모니터링 방법.
KR1020060071300A 2006-07-28 2006-07-28 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법 KR100814436B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060071300A KR100814436B1 (ko) 2006-07-28 2006-07-28 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060071300A KR100814436B1 (ko) 2006-07-28 2006-07-28 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법

Publications (2)

Publication Number Publication Date
KR20080010791A KR20080010791A (ko) 2008-01-31
KR100814436B1 true KR100814436B1 (ko) 2008-03-17

Family

ID=39222730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060071300A KR100814436B1 (ko) 2006-07-28 2006-07-28 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법

Country Status (1)

Country Link
KR (1) KR100814436B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105425095B (zh) * 2015-11-26 2019-02-12 华为技术有限公司 一种接线测试方法及装置
CN109799770A (zh) * 2019-04-09 2019-05-24 杭州勤诚微电子科技有限公司 动力环境监控装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097367A (ko) * 2002-06-20 2003-12-31 현대자동차주식회사 상하방향 개폐용 도어의 열림각 제한장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097367A (ko) * 2002-06-20 2003-12-31 현대자동차주식회사 상하방향 개폐용 도어의 열림각 제한장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020030097367
1020057009402

Also Published As

Publication number Publication date
KR20080010791A (ko) 2008-01-31

Similar Documents

Publication Publication Date Title
JP3838278B2 (ja) コンピュータ・システムの2つのバス間のブリッジ回路
CN102323905B (zh) 一种龙芯主板的远程监控系统
US6065053A (en) System for resetting a server
US7966402B2 (en) Switch to selectively couple any of a plurality of video modules to any of a plurality of blades
JP3636157B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
KR100946395B1 (ko) 내장형 마이크로컨트롤러를 가진 마이크로컴퓨터 브리지 아키텍처
EP3035187B1 (en) Hard disk and management method
US20080278508A1 (en) Architecture and Method for Remote Platform Control Management
JP3632695B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7225288B2 (en) Extended host controller test mode support for use with full-speed USB devices
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
CN111190749A (zh) 服务器以及bmc和bios之间数据交换的方法
TWI447670B (zh) 具有高速傳輸功能之基板管理控制器及其傳輸方法
US7636797B2 (en) LPC configuration sharing method
JP2008176682A (ja) 半導体集積回路及びデータ処理システム
US7383372B2 (en) Bus system, station for use in a bus system, and bus interface
JP3636158B2 (ja) データ転送制御装置及び電子機器
KR100814436B1 (ko) 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법
CN113190395A (zh) 一种状态监控方法及装置
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
CN116701285A (zh) 远程访问控制装置、方法、设备及计算机可读介质
CN105068962A (zh) I2c控制器访问方法及系统
CN117093522A (zh) 复杂可编程逻辑器件及其与基板管理控制器通信方法
CN114564327A (zh) 一种基于smbus总线的服务器多卡控制系统
CN115391261A (zh) 高速外围组件互连装置以及包括其的计算系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130311

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140311

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee