KR20190135146A - 노드 분석 방법 및 장치 - Google Patents

노드 분석 방법 및 장치 Download PDF

Info

Publication number
KR20190135146A
KR20190135146A KR1020180060231A KR20180060231A KR20190135146A KR 20190135146 A KR20190135146 A KR 20190135146A KR 1020180060231 A KR1020180060231 A KR 1020180060231A KR 20180060231 A KR20180060231 A KR 20180060231A KR 20190135146 A KR20190135146 A KR 20190135146A
Authority
KR
South Korea
Prior art keywords
node
analysis
attribute
agent
nodes
Prior art date
Application number
KR1020180060231A
Other languages
English (en)
Other versions
KR102530364B1 (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 KR1020180060231A priority Critical patent/KR102530364B1/ko
Publication of KR20190135146A publication Critical patent/KR20190135146A/ko
Application granted granted Critical
Publication of KR102530364B1 publication Critical patent/KR102530364B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • 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/1089Hierarchical topologies
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Automation & Control Theory (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

시설 관제 시스템이 관제 맵의 노드를 분석하기 위한 정보를 효율적으로 수집하여 노드를 분석하는 방법 및 장치가 제공 된다. 본 발명의 일 실시예에 따른 노드 분석 방법은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함한다.

Description

노드 분석 방법 및 장치{NODE ANALYSIS METHOD AND APPARAUTS THEREOF}
본 발명은 관제 맵의 노드를 분석하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 다수의 관제 대상 시설을 관제하기 위해 정보를 효율적으로 수집하여 분석하는 방법 및 장치에 관한 것이다.
산업의 발달에 따라 시설의 규모가 거대해지면서, 중대형 건물에는 제어가 필요한 다양한 설비들이 구축되고 있다. 예를 들어, 업무용 빌딩, 공공기관 빌딩, 아파트 등과 같은 중대형 건물에는 실내 공기의 온도, 습도 및 청정 등을 조절하여 실내의 사용 목적에 적합한 상태로 유지시키기 위한 공기조화기, 보일러, 펌프 등과 같은 현장 기기(빌딩 설비)들이 구축되어 있다. 또한, 공장 등에서도 작업을 위한 다양한 설비들이 설치된다. 인력에 의해 직접 각 설비의 정상 동작 여부의 확인 및 관리가 불가능해질 정도로 시설의 규모가 거대해지고 설비들의 수가 많아지면서 ICT 기술을 활용한 시설 관제 시스템이 제공되고 있다.
시설 관제 시스템을 통해서 설비들을 관제하기 위해서는 각 설비들에 대한 다양한 정보를 수집해야 한다. 예를 들어, 설비들 간을 연결하여 구성된 사물인터넷 환경을 통해서 설비들의 상태 정보(예를 들어, 온도, 동작시간, 오류발생 등)를 수집해야 한다. 관제 대상 시설에 설치된 설비의 수가 증가하고, 제어가 필요한 요인들이 다양해질수록 시설 관제 시스템이 수집해야 하는 정보의 양이 기하급수적으로 늘어나게 된다.
해결하고자 하는 기술적 과제는, 시설 관제 시스템이 관제 맵의 노드를 분석하기 위한 정보를 효율적으로 수집하여 노드를 분석하는 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 노드 분석 방법은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함할 수 있다.
또한, 다른 몇몇 실시 예에 따르면, 상기 속성은 상기 노드 정보의 수집 대상에 대한 정보 및 수집 조건을 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드는 태그 가중치를 가지고, 상기 분석 범위를 설정하는 단계는 상기 태그 가중치를 이용하여 상기 리프 노드를 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은, 제1 임계값 및 제2 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고, 상기 분석 범위를 설정하는 단계에서는 상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 태그 가중치가 제2 임계값 이상인 노드를 상기 리프 노드로 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 조건을 설정하는 단계에서는, 상기 분석 노드의 태그에 설정된 속성을 이용하여 상기 제1 임계값 및 제2 임계값을 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 조건을 설정하는 단계는, 상기 분석 노드의 태그에 포함된 속성을 기초로 키워드를 결정하는 단계와, 상기 키워드를 이용하여 상기 키워드와 상기 분석 조건을 매핑하는 분석 조건 설정 테이블을 조회하는 단계, 및 상기 조회의 결과를 이용하여 상기 분석 조건을 결정하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 에지는 관계 가중치를 가지며, 상기 분석 범위를 설정하는 단계에서는 상기 관계 가중치를 이용하여 상기 리프 노드를 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은, 제1 임계값 및 제3 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고, 상기 분석 범위를 설정하는 단계에서는 상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 분석 노드에 대한 상기 관계 가중치가 제3 임계값 이상인 노드를 상기 리프 노드로 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 노드에 상응하는 구독자 에이전트와 상기 리프 노드에 상응하는 게시자 에이전트를 독립적으로 구동하는 단계를 더 포함하고, 상기 분석 결과 값을 획득하는 단계는 상기 구독자 에이전트가 상기 게시자 에이전트로부터 상기 게시자 에이전트가 상기 속성에 따라 생성한 상기 노드 정보를 획득하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 정보를 획득하는 단계는, 상기 구독자 에이전트가 상기 분석 노드의 태그에 설정된 속성에 대한 구독 요청을 상기 게시자 에이전트에게 전달하는 단계와, 상기 게시자 에이전트가 상기 리프 노드의 태그에 상기 속성을 생성하는 단계, 및 상기 구독자 에이전트의 결과 값 요청에 따라 상기 게시자 에이전트가 상기 속성을 실행하여 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 속성을 생성하는 단계에서는, 상기 속성을 저장하고 관리하는 시설 관제 서버의 속성 저장소로부터 상기 속성에 대한 정보를 획득하여 상기 속성을 생성할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계에서는, REST API(REpresentational State Transfer Application Program Interface)를 이용하여 상기 노드 정보를 제공할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 노드 분석 방법은 상기 게시자 에이전트가 상기 구독자 에이전트로부터 상기 리프 노드의 태그에 포함된 속성에 대한 구독 정지 통보를 수신하는 단계; 상기 구독 정지 통보가 수신된 속성을 구독하는 에이전트가 없는 경우 상기 게시자 에이전트가 상기 속성을 비활성화하는 단계; 및 상기 게시자 에이전트가 상기 비활성화된 속성이 비활성화된 시점으로부터 임계 기간 이내에 상기 비활성화된 속성에 대한 구독 요청이 수신되지 않을 경우 상기 속성을 삭제하는 단계;를 더 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 결과 값을 획득하는 단계는, 상기 구독자 에이전트가 상기 게시자 에이전트에게 상기 속성에 대한 결과 값 요청을 전달하는 단계와, 상기 결과 값 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 상기 게시자 에이전트에게 하트비트 요청을 전달하는 단계와, 상기 하트비트 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 시설 관제 서버에 상기 게시자 에이전트에 대한 재시작 요청을 전달하는 단계, 및 상기 시설 관제 서버에 의해 상기 게시자 에이전트가 재시작하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은 상기 게시자 에이전트가 상기 속성에 대한 노드 정보를 구독하는 구독자의 목록을 운영 정보 데이터베이스에 저장하는 단계를 더 포함하고, 상기 재시작하는 단계는 상기 게시자 에이전트가 상기 운영 정보 데이터베이스로부터 상기 구독자의 목록을 로드하여 상기 구독자의 목록에 포함된 에이전트에게 하트비트 메시지를 전송하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 결과 값을 획득하는 단계는, 상기 구독자 에이전트가 상기 노드 정보를 이용하여 상기 속성에 대한 분석 결과 값을 생성하는 단계와, 상기 분석 결과 값을 시설 관제 서버에 저장하는 단계를 더 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 속성은 상기 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함하고, 상기 노드 분석 방법은, 디스플레이 장치를 통해 상기 분석 결과 값을 상기 분석 노드에 설정된 태그의 속성에 포함된 디스플레이 설정에 따라서 디스플레이하는 단계를 더 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 디스플레이 설정은 정보 표시 포맷 및 표시 항목을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램의 명령어들이 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에, 시설 관제 시스템에 의해 관리되는 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하는 동작이 수행되는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 프로세서; 네트워크 인터페이스; 메모리; 및 상기 메모리에 로딩 되어 상기 프로세서에 의해 수행되는 컴퓨터 프로그램의 실행 파일이 기록된 스토리지 장치를 포함하되, 상기 컴퓨터 프로그램은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들을 생성하고, 상기 노드들 간의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 일련의 인스트럭션; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 일련의 인스트럭션; 및 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하고, 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 상기 분석 노드에 대한 분석 결과 값을 획득하는 일련의 인스트럭션;을 포함할 수 있다.
또한, 다른 몇몇 실시 예에 따르면, 상기 네트워크 인터페이스는 상기 관제 대상 시설의 설비에 설치된 제어기에 연결되고, 상기 컴퓨터 프로그램은, 상기 네트워크 인터페이스를 통해서 상기 속성을 상기 제어기에 제공하는 일련의 인스트럭션; 상기 네트워크 인터페이스를 통해서 상기 제어기로부터 상기 속성을 실행한 결과인 상기 노드 정보를 제공 받는 일련의 인스트럭션; 및 상기 노드 정보를 표시하도록 렌더링하는 일련의 인스트럭션;을 더 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는 속성을 저장하는 속성 저장소; 상기 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하고, 상기 노드들 각각에 상응하여 각각 독립적인 프로세스로 구동되며, 상기 속성을 실행하여 노드 정보를 다른 노드에 게시하거나 또는 다른 노드로부터 상기 속성을 구독하여 노드 정보를 수집하는 에이전트를 실행하도록 상기 관제 대상 시설의 설비에 포함된 설비 제어기를 제어하는 제어기; 상기 노드 정보를 수집하여 분석한 분석 결과 값을 저장하는 분석 결과 저장소; 및 상기 분석 결과 값을 표시하도록 렌더링하는 렌더러;를 포함할 수 있다.
도 1은 몇몇 실시 예에 따른 시설 관제 시스템의 구성을 설명하기 위한 도면이다.
도 2는 몇몇 실시 예에 따른 관제 맵을 수동으로 생성하는 프로세스를 도시한 순서도이다.
도 3은 몇몇 실시 예에 따라 관제 맵을 자동으로 생성하는 프로세스를 도시한 순서도이다.
도 4는 몇몇 실시 예에 따라 노드 및 에지에 가중치를 설정하는 프로세스를 도시한 순서도이다.
도 5는 몇몇 실시 예에 따라 관제 맵을 렌더링하고 디스플레이하는 프로세스를 도시한 순서도이다.
도 6은 몇몇 실시 예에 따라 디스플레이되는 관제 맵의 일 예를 도시한 도면이다.
도 7 및 도 8은 몇몇 실시 예에 따라 생성된 관제 맵의 일 예를 도시한 도면이다.
도 9는 몇몇 실시 예에 따라 관제 맵에 기반하여 분석 노드를 분석하는 프로세스를 도시한 순서도이다.
도 10은 몇몇 실시 예에 따라 노드들에 대해 설정된 태그의 계층 구조(hierarchy)의 일 예를 도시한 도면이다.
도 11은 몇몇 실시 예에 따라 분석 범위를 설정하는 프로세스를 도시한 순서도이다.
도 12는 몇몇 실시 예에 따라 분석 범위를 설정하는 일 예시를 도시한 도면이다.
도 13은 몇몇 실시 예에 따라 분석 범위를 설정하는 다른 예시를 도시한 도면이다.
도 14는 몇몇 실시 예에 따른 리프 노드의 태그에 대한 일 예를 도시한 도면이다.
도 15는 몇몇 실시 예에 따른 리프 노드의 태그의 상세 항목에 대한 일 예를 도시한 도면이다.
도 16은 몇몇 실시 예에 따른 분석 노드의 태그에 대한 일 예를 도시한 도면이다.
도 17은 몇몇 실시 예에 따른 분석 노드의 태그의 상세 항목에 대한 일 예를 도시한 도면이다.
도 18은 몇몇 실시 예에 따른 관제 맵의 장비를 기준으로 설정된 슈퍼 태그 그룹(Super Tag Group)의 일 예를 도시한 도면이다.
도 19는 몇몇 실시 예에 따른 관제 맵의 장소를 기준으로 설정된 슈퍼 태그 그룹의 일 예를 도시한 도면이다.
도 20은 몇몇 실시 예에 따라 속성에 기초하여 분석 조건을 결정하는 프로세스를 도시한 도면이다.
도 21은 몇몇 실시 예에 따른 분석 조건 설정 테이블의 예시를 도시한 도면이다.
도 22는 관제 맵의 노드에 따라 구동되는 에이전트의 예시를 설명하기 위한 개념도이다.
도 23은 몇몇 실시 예에 따라 에이전트가 노드 정보를 수집하기 위한 시설 관제 시스템의 구조를 설명하기 위한 도면이다.
도 24는 몇몇 실시 예에 따라 중간 노드의 에이전트의 동작을 설명하기 위한 도면이다.
도 25는 몇몇 실시 예에 따른 시설 관제 서버의 구조를 간단히 도시한 블록도이다.
도 26은 몇몇 실시 예에 따라 태그의 속성을 정의하기 위한 설정 항목의 예시를 도시한 도면이다.
도 27은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.
도 28은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 다른 예시를 도시한 도면이다.
도 29는 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 또 다른 예시를 도시한 도면이다.
도 30은 몇몇 실시 예에 따라 시설 관제 시스템을 구성하는 시설 관제 서버의 하드웨어 구성을 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1은 몇몇 실시 예에 따른 시설 관제 시스템의 구성을 설명하기 위한 도면이다.
몇몇 실시 예에 따르면, 시설 관제 시스템은 관제 대상 시설(10)의 설비를 제어하는 제어기(11)들을 통해 관제 대상 시설(10)의 설비를 관제하는 시설 관제 서버(100)를 포함하여 구성될 수 있다. 시설 관제 서버(100)는 관제 대상 시설(10)에 구비된 각종 설비 및 관제점을 모니터링하고, 시설 관제 시스템의 사용자에 의해 입력된 정보에 따라 설비를 제어할 수 있다. 이를 위해 시설 관제 서버(100)는 네트워크를 통해 제어기(11)에 연결될 수 있다. 제어기(11)는, 예를 들어, 설비를 제어하는 직접 디지털 제어기(Direct Digital Controller)일 수 있다. 직접 디지털 제어기는 각종 센서 및 부하에 상응하는 관제점에 대하여 관제 대상 시설(10) 내 설비들을 모니터링하고 제어한다.
제어기(11)는 설비들을 모니터링하고 제어하기 위한 소프트웨어를 시설 관제 서버(100)로부터 다운로드할 수 있다. 설비들을 모니터링하고 제어하기 위한 소프트웨어는 제어 로직(Controller Logic)으로 언급될 수 있다. 몇몇 실시 예에 따르면, 제어 로직은 그래픽 형태로 작성될 수 있다. 그래픽 형태의 제어 로직은 그래픽 파싱(Graphic parsing) 과정을 거쳐서 텍스트로 변환될 수 있다. 변환된 텍스트는 컴파일 과정을 거쳐서 제어기(11)에서 실행 가능한 코드로 변환될 수 있다.
관제 대상 시설(10)은, 예를 들면, 빌딩, 스타디움, 연구소, 공장, 공항, 항구, 테마파크, 아파트, 또는 호텔과 같은 정보 통신 기술에 의한 모니터링 및 제어가 이루어지는 시설을 의미한다.
시설 관제 서버(100)는 관제 대상 시설(10)을 모니터링하고 제어하기 위해 관제 대상 시설(10)에 대한 설비, 관제점, 제어기, 제어 로직 등과, 시설 관제 시스템의 사용자에 의해 생성된 관제 보고서, 그래픽 페이지 등의 관리 매체를 각각 객체(Object)로 관리할 수 있다. 여기서, 객체는 관리의 대상이 되는 단위를 의미할 수 있다. 다른 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 원격에서 관제하는 장치가 아닌 관제 대상 시설(10)의 내부에 설치된 중앙 관제 시스템으로 구현될 수도 있다.
시설 관제 시스템을 통해 관리될 수 있는 객체는 아래와 같다.
- 관제점 : 설비를 관제하기 위한 인자(factor)를 의미한다. 예를 들어, 관제점은 설비의 온도, 습도, 압력 또는 유량 등을 의미할 수 있다.
- 관제 보고서 : 관제 대상 시설(10)의 관리자 및 시설 관제 시스템의 사용자가, 관제 대상 시설(10)의 운영 상황에 대해 작성하는 디지털 콘텐츠를 의미한다. 관제 보고서는, 예를 들어, 특정 관제점의 실시간 경향(trend), 특정 설비의 동작 스케줄, 또는 특정 관제점의 비정상 상황 발생 빈도 등의 데이터가 포함될 수 있다.
- 제어 로직 : 설비들을 모니터링하고 제어하기 위한 소프트웨어를 의미한다.
- 그래픽 페이지 : 관제 대상 시설(10)의 설비 운영현황을 직관적으로 실시간 관제를 하기 위해 활용되는 그래픽 화면을 의미한다. 그래픽 화면에는 각 설비 또는 각 설비의 관제점 동작 상황 등이 애니메이션으로 표현될 수 있다.
- 실시간 경향 : 관제점의 현재 값의 변화 추이를 실시간으로 표현하는 차트(chart) 등의 디지털 데이터를 의미한다.
- 동작 스케줄 : 설비 또는 제어기의 일간, 주간, 월간 동작 스케줄을 의미한다. 예를 들어, 설비가 매일 오전 9시에 전원이 켜지고 오후 11시에 전원이 꺼지는 일정을 의미할 수 있다.
- 설비 : 관제 대상 시설(10)에 설치된 각각의 시설을 의미하며, 제어기(11)의 제어를 받는 대상을 의미한다. 예를 들어, 설비는 건물에 설치된 공조기나 보일러 등을 의미할 수 있다.
본 명세서에서 사용 되는 일부 용어를 정의한다.
다이어그램(diagram): 관제 대상 시설에 대한 관제 업무 또는 제어 업무를 위하여 사용 되는 그래픽 요소를 포함하는 디지털 데이터. 그래픽 파서를 통하여 텍스트 형태로 변환된 후 제어기에 의하여 실행 될 수 있는 프로그램 코드로 변환 되는 그래픽 형태의 제어 로직 다이어그램이나, 각 설비의 동작 상태를 애니메이션 형태로 실시간 표현하는 그래픽 페이지가 다이어그램의 예시이다.
다이어그램 템플릿(diagram template): 상기 다이어그램을 생성하기 위한 템플릿 데이터. 상기 다이어그램 템플릿이 서로 다른 객체에 적용 되는 경우에도 변경되지 않고 원본을 그대로 유지하는 부분인 불변 객체(또는 불변 영역)와, 적용 대상 객체가 달라질 때마다, 상기 적용 대상 객체와 관련된 객체에 맵핑(mapping) 되어 달라지는 부분인 가변 객체(또는 가변 영역)으로 구성된다.
몇몇 실시예들에 따르면, 시설 관제 서버(100)는 시설 관제 시스템에 의해 관리 되는 객체 중 분석 대상이 되는 객체와 매칭되는 분석 노드와, 시설 관제 시스템에 의해 관리 되는 객체 중 분석 노드와 매칭된 객체와 관련된 객체에 매칭된 주변 노드와, 주변 노드와 주변 노드 또는 주변 노드들 사이를 연결하는 에지(edge)를 포함하는 관제 맵을 생성할 수 있다. 시설 관제 서버(100)는 사용자의 입력에 따라 관제 맵을 생성하거나, 또는 미리 설정된 프로세스를 실행함으로써 자동으로 관제 맵을 생성할 수 있다. 분석 노드에 매칭된 객체는 템플릿 객체라고 언급될 수 있다. 또한, 분석 노드에 하나의 에지를 통해서 연결된 주변 노드는 대상 노드라고 언급될 수 있다. 대상 노드에 매칭된 객체는 대상 노드라고 언급될 수 있다. 또한, 대상 노드에 하나의 에지를 통해서 연결된 주변 노드는 요소 노드라고 언급될 수 있다. 요소 노드에 매칭된 객체는 요소 객체라고 언급될 수 있다.
다이어그램 템플릿은 하나 이상의 대상 객체에 대해 적용될 수 있다. 다이어그램 템플릿은 고정 객체 및 가변 객체를 포함할 수 있다. 고정 객체는 적용되는 대상 객체와 무관하게 유지되는 객체를 의미한다. 가변 객체는 적용되는 대상 객체가 변경되면 대상 객체의 요소 객체들로 맵핑되는 객체를 의미한다.
시설 관제 서버(100)는 관제 맵에 기초하여 분석 노드를 분석한 분석 결과값을 획득하고 저장할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 분석 노드를 분석한 분석 결과 값에 기초하여 분석 노드를 점수화할 수 있다. 시설 관제 서버(100)는 분석 결과값이 디스플레이 장치(도시되지 않음)를 통해 디스플레이될 수 있도록 상기 분석 결과값을 렌더링하고, 렌더링된 디스플레이 데이터를 디스플레이 장치로 송신할 수 있다. 도 1에 도시된 시설 관제 서버(100)는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 포함할 수 있다. 그러나 시설 관제 서버(100)의 구성이 소프트웨어 또는 하드웨어에 한정된다는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
도 2는 몇몇 실시 예에 따른 관제 맵을 수동으로 생성하는 프로세스를 도시한 순서도이다. 도 2에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.
도 2에 도시된 프로세스에 따라 생성되는 관제 맵은 사용자의 조작에 의해 구성될 수 있다. 즉, 주가 되는 템플릿 객체 및 템플릿 객체와 관련된 관련 객체가 모두 사용자에 의해 지정된다. 따라서, 사용자가 선택한 객체들만으로 구성된 관제 맵을 구성할 수 있다. 또한, 템플릿 객체 및 관련 객체 사이의 논리적 관계가 에지(edge)의 형태로 표현될 수 있다. 따라서, 관제 맵을 이용하여 객체들 사이의 논리적 관계를 시각적으로 쉽게 인지할 수 있다.
사용자는 관제 맵 편집 화면에서, 편집 UI를 통해 노드 생성 및 에지 생성의 입력을 할 수 있다(S100). 노드 생성 입력의 경우(S102), 주변 노드의 생성인지 여부를 더 입력 할 수 있다(S104). 일 실시예에서, 상기 편집 UI는 주변 노드 생성 버튼 및 주변 노드 생성 버튼을 포함할 수 있다. 상기 주변 노드 생성 버튼을 선택한 후, 편집 패널의 특정 영역을 지정하면, 지정 된 영역에 주변 노드가 생성될 수 있다. 마찬가지로, 상기 주변 노드 생성 버튼을 선택한 후, 편집 패널의 특정 영역을 지정하면, 지정 된 영역에 주변 노드가 생성될 수 있다.
중심 노드가 생성 되면(S106), 생성 된 중심 노드에 매칭 될 템플릿 객체를 지정하는 사용자 입력을 제공 받는다(S108). 상기 사용자 입력은 상기 템플릿 객체의 ID를 포함할 수 있다. 상기 템플릿 객체의 ID는 상기 편집 UI를 통해 제시 되는 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다. 상기 템플릿 객체의 ID는 상기 주변 노드에 일대일로 매칭 될 것이다(S116).
상기 템플릿 객체는, 사용자에 의하여 지정 되는 것이다. 즉, 사용자가 특정 객체를 중심으로 하여 사용자가 보고자 하는 VIEW를 구성하고자 하는 경우, 상기 특정 객체에 매칭 되는 상기 주변 노드를 생성하는 것이다. 시설 관제 시스템에 의하여 관리 되는 모든 타입의 객체가 상기 템플릿 객체가 될 수 있다.
상기 템플릿 객체는, 예를 들어, 제어 로직을 가리키는 객체 또는 그래픽 페이지를 가리키는 객체일 수 있다. 상기 템플릿 객체는 상기 예시된 객체 이외에도 다이어그램 템플릿을 가지는 다양한 종류의 객체 중 어느 하나로 선택될 수 있다.
사용자의 노드 생성 입력이 주변 노드의 생성을 가리키는 것인 경우(S104), 주변 노드를 생성하고(S112), 생성 된 주변 노드에 매칭 될 관련 객체를 지정하는 사용자 입력을 제공 받는다(S114). 이 때, 상기 사용자 입력은 상기 관련 객체의 ID를 포함할 수 있다. 상기 관련 객체의 ID는 상기 편집 UI를 통해 제시 되는 상기 템플릿 객체와 관련 된 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다. 일 실시예에서, 상기 관련 객체의 ID가 상기 주변 노드와 관련이 없는 것인 경우, 에러 메시지가 출력 될 수 있다. 상기 관련 객체의 ID는 상기 주변 노드에 일대일로 매칭 될 것이다(S110).
일 실시예에서, 상기 관제 맵은 하나의 주변 노드와 복수의 주변 노드로 구성 될 수 있다. 다른 실시예에서는 복수의 주변 노드와 복수의 주변 노드로 구성 될 수도 있다.
사용자가 제1 노드 및 제2 노드를 지정한 에지 생성 입력을 한 경우(S118), 상기 제1 노드와 상기 제2 노드를 연결하는 에지를 생성한다(S120).
도 3은 몇몇 실시 예에 따라 관제 맵을 자동으로 생성하는 프로세스를 도시한 순서도이다. 도 3에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.
도 3에 도시된 프로세스에 따르면, 사용자가 템플릿 객체를 지정하면 템플릿 객체와 관련된 대상 객체가 자동으로 관제 맵에 포함될 수 있다. 도 2에 도시된 방법은 관제 맵에 포함 될 모든 객체를 사용자가 직접 지정할 수 있는 점에서, 사용자의 자유도가 높은 장점이 있다. 반면, 도 3에 도시된 방법은 많은 수의 대상 객체를 관제 맵에 포함시켜야 하는 경우, 사용자의 단순 조작을 줄여주는 장점이 있다. 예를 들어, 동일한 제어 로직이 적용 되어야 하는 100 개의 동일 타입 설비가 존재하는 경우, 도 3에 도시된 방법은 생산성을 향상시킬 수 있을 것이다.
분석 노드를 생성하는 사용자 입력이 있으면(S101), 분석 노드가 생성된다(S106). 이어서 상기 분석 노드에 매칭 될 템플릿 객체를 지정하는 사용자 입력이 있으면(S108), 상기 분석 노드에 상기 지정 된 템플릿 객체의 ID를 일대일 매칭한다(S110). 상기 템플릿 객체의 ID는 상기 편집 UI를 통해 제시 되는 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다.
분석 노드가 생성 된 이후, 아래의 작업들은 사용자의 입력이 없이 자동으로 수행 된다. 먼저, 상기 템플릿 객체와 관련된 대상 객체를 조회한다(S122). 다음으로, 조회된 대상 객체와 일대일로 매칭 되는 대상 노드를 자동으로 생성한다(S124). 편집 패널 상에 상기 주변 노드가 생성 되는 위치는, 상기 분석 노드를 중심으로 하여 골고루 분포 될 수 있도록 기 지정 된 규칙에 의하여 자동으로 결정 된다.
다음으로, 상기 분석 노드와 상기 각 대상 노드를 연결하는 각각의 에지를 사용자 입력 없이 자동으로 생성한다(S126). 상기 관련 객체의 타입에 따라, 조회 되어야 할 관련 객체가 달라질 수 있다. 이하, 몇 개의 예시를 제시한다.
상기 템플릿 객체가 특정 설비에 대한 그래픽 페이지를 가리키는 객체인 경우, 상기 대상 객체는 설비를 가리키는 객체일 수 있고, 상기 요소 객체는 상기 설비의 관제점일 수 있다. 상기 템플릿 객체가 특정 설비에 대한 제어 로직을 가리키는 객체인 경우, 상기 대상 객체는 설비를 가리키는 객체일 수 있고, 상기 요소 객체는 상기 설비의 관제점일 수 있다.
도 2 및 도 3에 대하여 각 주변 노드 및 에지가 동일한 중요도를 가지는 경우를 가정하여 설명하였으나, 주변 노드들 또는 에지들 간에 중요도가 서로 다를 수 있다. 따라서, 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 주변 노드들 및 에지에 가중치를 설정할 수 있도록 지원할 수 있다. 도 4는 몇몇 실시 예에 따라 노드 및 에지에 가중치를 설정하는 프로세스를 도시한 순서도이다. 도 4에 도시된 바와 같이 특정 주변 노드 또는 특정 에지의 가중치 값이 사용자 단말에 의하여 입력 되면(S127-1), 상기 입력 된 가중치 값을 특정 주변 노드 또는 특정 에지 자체의 속성 값으로 설정할 수 있다(S127-2). 도 4에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다. 이 때, 상기 주변 노드의 가중치는 상기 주변 노드에 매칭 된 관련 객체의 속성 값이 아닌, 상기 주변 노드의 속성 값인 점을 유의한다. 상기 가중치는, 그 값이 클수록 상기 주변 노드 또는 에지가 중요한 것임을 지시할 수 있다.
도 5는 몇몇 실시 예에 따라 관제 맵을 렌더링하고 디스플레이하는 프로세스를 도시한 순서도이다. 도 5에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다. 먼저, 관제 맵에 속한 모든 노드 및 에지가 렌더링(rendering)(S128) 되어, 버텍스(vertex) 및 에지로 구성 된 그래프(graph) 데이터 구조인 상기 관제 맵이 그래픽 구조로 변환될 수 있다. 이후, 상기 그래픽 구조를 표현하는 비디오 데이터가 출력될 수 있다(S136). 또한, 상기 비디오 데이터를 입력 받은 사용자의 디스플레이 장치를 통해 상기 관제 맵이 디스플레이 될 수 있다(S138).
도 6은 몇몇 실시 예에 따라 디스플레이되는 관제 맵의 일 예를 도시한 도면이다. 도 6에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.
중심에는 분석 노드(50)가 표시 될 수 있다. 대상 노드(51)는 분석 노드(50)와 하나의 에지로 연결 된다. 이하, 본 명세서에서는 제1 노드와 제2 노드가 N개의 에지로 연결 될 때, 제1 노드와 제2 노드의 관계 레벨이 N이라고 표현한다. 따라서, 대상 노드(51)는 분석 노드(50)와 관계 레벨이 1이다. 마찬가지 이유로, 요소 노드(52)는 분석 노드(50)와 관계 레벨이 2이다. 분석 노드(50)와 대상 노드(51) 사이의 에지의 가중치(53)가 2인 점이 표시 되어 있다. 또한, 각 주변 노드 내부에 표시된 숫자(54)는 각 주변 노드의 비정상 상황 발생 빈도를 나타낸다. 그리고, 각 주변 노드 옆에 표시된 숫자(55)는 주변 노드 자체의 가중치를 나타낸다. 주변 노드의 가중치는 별도 설정 되지 않으면 표시 되지 않는다.
도 7 및 도 8은 몇몇 실시 예에 따라 생성된 관제 맵의 일 예를 도시한 도면이다. 도 7을 참조하면, 예를 들어 제어 로직을 가리키는 분석 노드(56)를 중심으로, 총 4개의 대상 노드(57a, 57b, 57c, 57d) 및 총 12개의 요소 노드(58a 내지 58c, 59a 내지 59c, 60a 내지 60c, 61a 내지 61c)를 포함하는 관제 맵이 생성될 수 있다. 도 8에 도시된 관제 맵은 동일한 제어 로직에 의하여 제어 받는 4대의 공조기가 존재하고, 각 공조기에는 각각 3개의 관제점이 존재하는 것을 가리킨다.
본 실시예에 따르면, 상기 관제 맵을 기반으로 제어 로직이 자동 생성 될 수 있다. 분석 노드(56)에 매칭 된 객체의 다이어그램 템플릿을 각각의 대상 노드(57a, 57b, 57c, 57d)에 대하여 적용함으로써 각 대상 노드(57a, 57b, 57c, 57d)의 다이어그램을 생성 한다. 추후 설명하겠지만, 본 실시예에 따르면 각각의 대상 노드(57a, 57b, 57c, 57d)에 대한 제어 로직이 일괄 생성될 수 있다.
또한, 도 8은 다른 관제 맵의 예시이다. 서로 다른 타입의 제어 로직이 각 공조기에 적용 될 수 있는 가능성을 반영하기 위하여, 본 실시예에 따른 상기 관제 맵은 도 8에 도시된 형태로 생성될 수도 있다. 즉, 상기 관제 맵은 2개 이상의 분석 노드를 포함할 수도 있다.
도 9는 몇몇 실시 예에 따라 관제 맵에 기반하여 분석 노드를 분석하는 프로세스를 도시한 순서도이다.
먼저, 단계 S910에서, 시설 관제 시스템은 노드들 및 에지를 포함하는 관제 맵을 생성할 수 있다. 실시 예에 따라서, 시설 관제 시스템은 상술된 방법을 통해서 관제 맵을 생성할 수도 있으나, 다른 방법을 통해서 관제 맵을 생성할 수도 있다. 실시예에 따라서, 시설 관제 시스템은 S910에서 미리 생성된 관제 맵을 로딩하는 등의 방법을 통해서 관제 맵을 획득할 수도 있다.
이후, 단계 S920에서, 시설 관제 시스템은 관제 맵에 포함된 노드들에 태그(tag)를 설정할 수 있다. 여기서, 태그는 하나 이상의 속성(property)을 포함할 수 있다. 본 명세서에서, 태그에 포함된 속성은 수집의 대상이 되는 노드 정보를 수집하는 프로세스를 정의한 하나의 단위를 지시할 수 있다. 예를 들어, 속성은 대용량 데이터가 수집되는 사물인터넷 플랫폼에서 사용자가 대용량 데이터를 분석하여 얻고자 하는 주제일 수 있다.
몇몇 실시 예에 따르면, 노드 정보를 수집하는 프로세스를 정의하기 위해, 속성은 노드 정보를 수집할 대상인 수집 대상에 대한 정보와 노드 정보를 수집하는 조건인 수집 조건을 포함할 수 있다. 즉, 속성이 실행되면, 수집 조건을 만족하는 노드 정보가 수집 대상으로부터 수집될 수 있다.
이후, 단계 S930에서, 시설 관제 시스템은 설정된 태그에 대한 분석 범위를 설정할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 시스템은 분석 범위를 설정하기 위해 태그가 설정된 노드의 분석 노드에 대한 관계 레벨, 태그 가중치 및 관계 가중치 중 적어도 하나에 기초하여 분석 범위를 설정할 수 있다. 여기서, 태그 가중치 및 관계 가중치는 노드의 가중치 및 에지의 가중치에 상응할 수 있다.
분석 범위는 노드에 설정된 태그들 중 노드 정보를 수집할 태그의 범위를 의미한다. 분석 범위는 하나 이상의 리프 노드(Leaf node)를 포함할 수 있다. 리프 노드는 분석 범위 내에서 자식 노드를 가지지 않는 노드를 의미한다. 시설 관제 시스템은 분석 범위에 포함될 노드를 결정하여, 분석 범위에 포함되는 하나 이상의 리프 노드를 결정할 수 있다. 본 명세서에서, 리프 노드에 대해 설정된 태그를 리프 노드라고 언급할 수도 있다.
이후, 단계 S940에서, 시설 관제 시스템은 태그의 속성에 따라 리프 노드에 대한 노드 정보를 수집할 수 있다. 즉, 시설 관제 시스템은 리프 노드에 대해 태그의 속성을 실행하여 속성에 정의된 수집 대상으로부터 노드 정보를 수집할 수 있다.
이후, 단계 S950에서 시설 관제 시스템은 수집된 노드 정보를 분석할 수 있다. 시설 관제 시스템은 노드 정보를 분석한 결과로 분석 결과 값을 획득할 수 있다. 분석 결과 값은 속성에 의해 정의된 노드 정보를 수집하여 사용자에게 제공하고자 하는 정보를 의미한다. 예를 들어, 속성이 특정 관제점에 대한 트렌드 분석인 경우, 분석 결과 값은 관제점의 현재 값, 최대값, 최소값, 중간값, 1사분위값, 3사분위값 등을 포함할 수 있다.
도 10은 몇몇 실시 예에 따라 노드들에 대해 설정된 태그의 계층 구조(hierarchy)의 일 예를 도시한 도면이다.
도 10을 참조하면, 분석 노드(1000)에 설정된 태그는 하나 이상의 속성(1001)을 포함할 수 있다. 리프 노드(1010)에 설정된 태그도 하나 이상의 속성(1011)을 포함할 수 있다.
태그의 계층 구조는 분석 노드(1000)에 대해 설정된 태그, 주변 노드(1010)에 대해 설정된 태그 및 노드들(또는 태그들) 사이를 연결하는 에지(1020)를 포함할 수 있다. 주변 노드(1010)에 대해 설정된 태그는 도 10에서 원 내부에 표시된 태그 가중치(1012)를 포함할 수 있다. 또한, 에지(1020)에 대해 설정된 태그는 도 10에서 에지(1020) 주변에 표시된 관계 가중치(1022)를 포함할 수 있다. 리프 노드를 가지는 분석 노드(1000)의 태그는 태그 그룹(tag group)이라고 언급될 수도 있다.
도 11은 몇몇 실시 예에 따라 분석 범위를 설정하는 프로세스를 도시한 순서도이다.
몇몇 실시예에 따른 시설 관제 시스템은 단계 S1110에서 분석 조건을 설정하고, 단계 S1120에서 분석 조건에 따라 관제 맵 내에서 분석 범위를 결정할 수 있다. 여기서, 분석 조건은 분석 범위에 포함되기 위한 노드에 대한 조건을 의미할 수 있다. 예를 들어, 분석 조건은 주변 노드가 분석 노드(1000)에 대해 관계 레벨이 제1 임계값 이하이고, 그 주변 노드의 태그 가중치가 제2 임계값 이상인 것으로 정의될 수 있다. 다른 예를 들면, 분석 조건은 주변 노드가 분석 노드(1000)에 대해 관계 레벨이 제1 임계값 이하이고, 그 주변 노드와 분석 노드(1000) 사이의 관계 가중치가 제3 임계값 이상인 것으로 정의될 수도 있다.
도 12는 몇몇 실시 예에 따라 관계 레벨을 기준으로 분석 범위를 설정하는 일 예시를 도시한 도면이다. 분석 조건이 관계 레벨이 1 이하일 것을 요구하는 경우, 분석 노드(1000)로부터 관계 레벨이 1 이하인 노드들(1210)을 포함하도록 분석 범위가 결정될 수 있다. 또는, 분석 조건이 관계 레벨이 2 이하일 것을 요구하는 경우, 분석 노드(1000)로부터 관계 레벨이 2 이하인 노드들(1220)을 포함하도록 분석 범위가 결정될 수 있다.
도 13은 몇몇 실시 예에 따라 관계 레벨 및 태그 가중치에 기초하여 분석 범위를 설정하는 다른 예시를 도시한 도면이다. 분석 조건이 관계 레벨이 2 이하이고, 태그 가중치가 3 이상일 것을 요구하는 경우, 도 13에 도시된 바와 같이 분석 범위(1310)가 결정될 수 있다. 분석 범위에 포함될 노드가 결정됨에 따라, 분석 범위 내에서 자식 노드를 가지지 않는 하나 이상의 리프 노드들(1310-1, 1310-2, 1310-3)이 결정될 수 있다. 본 명세서에서, 리프 노드의 태그를 리프 태그로 언급할 수 있다.
도 14 내지 도 17은 분석 노드의 태그가 냉동기 태그(1400)인 경우를 예시로 들어 태그의 예시를 설명하기 위한 도면이다.
도 14를 참조하면, 냉동기 태그(1400)는 분석 범위 내에서 외기온도 태그(1410), 냉수 공급온도 태그, 급기팬 태그 및 환기온도 태그를 리프 태그로 가지는 태그 그룹이다.
여기서, 리프 태그인 외기온도 태그(1410)는 발생빈도, 최근발생알람, 알람상태, 최근운영이력, 조작빈도, 강제명령여부, 트렌드록, 아웃라이너(Outliner) 여부 및 트렌드 로그 여부 등의 속성(1411)을 가질 수 있다. 다만, 도 14 내지 도 17은 예시일 뿐이며, 이에 한정되지 아니한다.
또한, 속성(1411) 중의 일부는 속성 상세항목(details)(1412)을 더 가질 수 있다.
도 15는 도 14의 속성(1411) 중 발생 빈도 속성(1411-1)이 가질 수 있는 속성 상세항목(1412-1)을 도시한 도면이다. 도 14를 참조하면, 발생 빈도 속성(1411-1)은 시간 별 발생횟수, 날짜별 발생횟수, 주간 발생횟수 및 월별 발생횟수를 포함할 수 있다.
도 16은 분석 노드의 태그인 냉동기 태그(1400)의 속성(1401)을 도시한 도면이다. 태그 그룹인 냉동기 태그(1400)는 발생빈도, 최근발생알람, 알람상태, 최근운영이력, 조작빈도, 강제명령여부, 트렌드로그, 아웃라이너 여부, 트렌드로그 여부, 다운 시간(Down time), 가동시간 및 중복제어 등의 속성을 포함할 수 있다. 또한, 속성(1401)은 속성 상세항목(1402)을 더 포함할 수 잇다.
도 17은 태그 그룹인 냉동기 태그(1400)의 속성(1401)이 가지는 속성 상세항목(1402)을 설명하기 위한도면이다. 특히, 도 17은 도 16의 속성(1401) 중 발생빈도 속성(1401-1)이 가질 수 있는 속성 상세항목(1402-1)을 도시한 도면이다. 도 17을 참조하면, 태그 그룹의 발생빈도 속성(1401-1)은 관제점 목록 및 관제점별 발생횟수를 시간별, 날짜별, 주간별 및 월별로 가질 수 있다.
또 다른 몇몇 실시 예에 따르면, 시설 관제 시스템은 제어기에 상응하는 노드가 분석 노드로 설정되고, 해당 제어기에 의해 제어되는 관제점, 예를 들어, 환기온도, 냉수 공급온도, 급기팬 또는 외기온도 등에 상응하는 노드가 리프 노드가 되도록 설정할 수 있다.
몇몇 실시 예에 따르면, 시설 관제 시스템은 태그 그룹이 설정된 노드들을 리프 노드로 가지는 슈퍼 노드(Super Node)를 설정할 수 있다. 여기서 시설 관제 시스템은 장비, 장소, 제어기 등을 기준으로 슈퍼 노드를 설정할 수 있다. 여기서, 시설 관제 시스템은 장비를 기준으로 슈퍼 노드를 설정하기 위해 동일한 유형의 장비들의 노드들이 리프 노드가 될 수 있도록 슈퍼 노드와 에지를 설정할 수 있다. 또한, 시설 관제 시스템은 장소를 기준으로 슈퍼 노드를 설정하기 위해 동일한 장소에 위치한 설비에 대한 관제점이나 장비에 대한 노드가 리프 노드가 될 수 있도록 슈퍼 노드와 에지를 설정할 수 있다. 시설 관제 시스템은 슈퍼 노드에도 태그를 설정할 수 있으며, 슈퍼 노드에 설정된 태그는 슈퍼 태그 그룹이라고 언급될 수 있다.
도 18은 몇몇 실시 예에 따른 관제 맵의 장비를 기준으로 설정된 슈퍼 태그 그룹(Super Tag Group)의 일 예를 도시한 도면이다. 도 18을 참조하면, 냉동기 유형의 장비에 대한 태그 그룹들(1410-1, 1410-2, 1410-3, 1410-4)이 분석 노드의 슈퍼 태그 그룹인 냉동기 그룹 태그(1800)의 리프 노드로 설정되어 있다.
슈퍼 태그 그룹의 경우에도 태그 그룹의 경우와 마찬가지로 슈퍼 태그 그룹은 속성(1401) 및 속성(1401)에 대한 속성 상세항목(1412)을 포함할 수 있다
몇몇 실시 예에 따르면, 시설 관제 시스템은 동일한 장소에 위치한 장비들에 대한 태그 그룹을 리프 노드로 가지는 슈퍼 태그 그룹을 설정할 수 있다. 도 19는 몇몇 실시 예에 따른 관제 맵의 장소를 기준으로 설정된 슈퍼 태그 그룹의 일 예를 도시한 도면이다. 도 19를 참조하면, 관제 대상 시설(10)의 지하 1층에 대한 슈퍼 태그 그룹(1900)이 설정되어 있다. 지하 1층에 대한 슈퍼 태그 그룹(1900)은 지하 1층에 위치한 장비들에 대한 태그인 냉동기 태그(1410-1, 1410-2), 조명 태그(1420) 미 보일러 태그(1430) 등을 리프 태그로 가질 수 있다.
도 20은 도 11의 단계 S1110에서 분석 조건을 설정하기 위해 일부 실시 예에 따라 속성에 기초하여 분석 조건을 결정하는 프로세스를 도시한 도면이다.
먼저, 단계 S2010에서 시설 관제 시스템은 분석 노드의 태그에 포함된 속성으로부터 키워드를 추출할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 시스템은 분석 노드의 태그 그룹에 포함된 속성에 대한 구문 분석을 통해서 키워드를 추출할 수 있다. 예를 들어 속성의 내용이 '장비 그룹을 대상으로 최근 발생한 N개의 알람 상태인 관제점 조회'인 경우, 시설 관제 시스템은 속성으로부터 '알람'을 키워드로 추출할 수 있다. 실시 에에 따라서, 시설 관제 시스템은 복수의 키워드를 추출할 수도 있다.
이후, 단계 S2020에서 시설 관제 시스템은 추출된 키워드를 이용하여 분석 조건 설정 테이블을 조회할 수 있다. 분석 조건 설정 테이블은 키워드와 분석 조건을 매핑하여 저장된 데이터를 의미한다. 시설 관제 시스템은 분석 조건 설정 테이블을 조회하여 분석 조건을 획득할 수 있다.
도 21을 참조하면, 도 21은 몇몇 실시 예에 따른 분석 조건 설정 테이블의 예시를 도시한 도면이다. 단계 S2010에서 '알람'이 키워드로 추출된 경우, 시설 관제 시스템은 단계 S2020에서 '관계 레벨이 3이하이고, 태그 가중치가 2 이상인 주변 노드'를 분석 범위에 포함시키는 분석 조건을 획득할 수 있다.
도 21에서는 설명의 편의를 위하여 하나의 키워드에 하나의 분석 조건이 매핑된 분석 조건 설정 테이블의 예시를 들고 있으나, 실시 예에 따라서 복수의 키워드의 조합과 분석 조건을 매핑하여 시설 관제 시스템이 복수의 키워드를 이용하여 분석 조건을 결정할 수도 있다.
몇몇 실시 예에 따르면, 시설 관제 시스템은 사물인터넷 플랫폼 상에서 구현될 수 있다. 사물인터넷 플랫폼 상에서 구현된 시설 관제 시스템은 수많은 센서 등에 의해 획득된 관제점에 대한 노드 정보들을 수집할 수 있다. 여기서, 시설 관제 시스템이 하나의 프로세스를 통해서 노드 정보를 수집하는 경우 대용량의 정보를 처리해야 하므로 해당 프로세스가 지나치게 무거워지는 문제점이 있다.
따라서, 몇몇 실시 예에 따른 시설 관제 시스템은 각 노드들 마다 에이전트를 서로 독립적인 별개의 프로세스로 실행할 수 있다. 에이전트들은 각 노드에 독립적으로 상주하며 서로 협력할 수 있다. 에이전트는 노드에서 요구되는 노드 정보를 수집하거나 또는 분석하여 분석 결과 값을 저장하는 프로세스를 의미할 수 있다. 여기서, 노드에서 요구되는 노드 정보는 노드에 설정된 태그 내지 태그 그룹의 속성에 의해 결정될 수 있다. 각 노드들에 대해 실행되는 에이전트들은 시설 관제 서버(100) 또는 관제 대상 시설(10)의 설비를 제어하는 제어기(11)에 의해 실행될 수 있다.
도 22는 관제 맵의 노드에 따라 구동되는 에이전트의 예시를 설명하기 위한 개념도이다.
도 9의 단계 S910에서 획득된 관제 맵이 분석 노드(2201), 리프 노드르(2202, 2203, 2205, 2206) 및 중간 노드(2204)를 포함할 경우, 시설 관제 시스템은 각각의 노드들 (2201, 2202, 2203, 2204, 2205, 2206)에 상응하는 에이전트들(2211, 2212, 2213, 2214, 2215, 2216)을 구동시킬 수 있다. 시설 관제 시스템은 관제 맵에 포함된 노드들 중 일부에 대해 분석 범위를 설정하여 분석 대상이 되는 노드를 결정할 수 있으나, 도 23 및 도 24에서는 도 22에 도시된 모든 노드가 분석 범위에 포함된 것으로 가정하고 에이전트들(2211, 2212, 2213, 2214, 2215, 2216)을 이용한 시설 관제 시스템의 동작을 설명한다.
도 23은 몇몇 실시 예에 따라 에이전트가 노드 정보를 수집하기 위한 시설 관제 시스템의 동작 구조를 설명하기 위한 도면이다. 특히, 도 23은 도 22의 분석 노드(2201)와 리프 노드(2202)의 관계와 같이 분석 노드(2201)와 리프 노드(2202)가 하나의 에지를 통해서 직접 연결된 경우의 에이전트의 구조 및 동작을 설명하기 위한 것이다.
시설 관제 서버(2300)는 속성들을 저장하는 속성 저장소(2310) 및 노드에 대한 노드 정보를 분석한 분석 결과 값을 저장하는 분석 결과 저장소(2320)를 포함할 수 있다. 속성 저장소(2310) 및 분석 결과 저장소(2320)는 반드시 시설 관제 서버(2300)에 로컬 연결된 저장소이어야 하는 것은 아니며, 클라우드 스토리지 등으로 구성될 수도 있다.
분석 노드(2201)의 에이전트 #1(2211)은 분석 노드(2201)의 태그에 포함된 제3 속성(2301-2)을 구독하기 위해 구독 요청을 리프 노드(2202)의 에이전트 #2(2212)에 전달할 수 있다. 본 명세서에서, 속성을 구독한다고 함은 속성을 실행하여 수집되는 노드 정보를 제공받는 것을 의미할 수 있다. 에이전트 #1(2211)가 에이전트 #2(2212)에 구독 요청을 전달한 경우, 제3 속성(2301-2)에 대하여 에이전트 #1(2211)은 구독자 에이전트로서 동작하고, 에이전트 #2(2212)는 게시자 에이전트로서 동작할 수 있다.
구독 요청을 수신한 에이전트 #2(2212)가 제3 속성(2301-3)을 보유하고 있지 않은 경우, 에이전트 #2(2212)는 시설 관제 서버(2300)의 속성 저장소(2310)에 저장된 제3 속성에 대한 정보(2301-1)를 획득할 수 있다. 에이전트 #2(2212)는 획득된 제3 속성에 대한 정보(2301-1)를 이용하여 제3 속성(2301-3)을 생성하여 리프 노드(2202)의 태그에 추가할 수 있다. 또한, 에이전트 #2(2212)는 에이전트 #1(2211)을 운영 정보 데이터베이스(2330-2)의 구독자 목록에 제3 속성(2301-3)에 대한 구독자로 추가할 수 있다.
에이전트 #2(2212)는 제3 속성(2301-3)을 실행하여 노드 정보를 획득하고, 제3 속성(2301-3)을 실행한 결과 값을 에이전트 #2(2212)의 운영 정보 데이터베이스(2330-2)에 저장할 수 있다.
이후, 에이전트 #1(2211)이 에이전트 #2(2212)에 제3 속성(2301-3)을 실행한 결과를 요청하면, 에이전트 #2(2212)는 에이전트 #1(2211)에게 제3 속성(2301-3)을 실행한 결과인 노드 정보를 제공할 수 있다. 여기서, 에이전트 #2(2212)는 상태를 전송할 수 있는 인터페이스를 통해 노드 정보를 제공할 수 있다. 예를 들어, 리프 노드의 에이전트는 REST API(REpresentational State Transfer Application Program Interface)를 이용하여 노드 정보를 분석 노드의 에이전트에 제공할 수 있다.
노드 정보를 제공 받은 에이전트 #1(2211)는 노드 정보를 분석하여 분석 결과 값을 생성할 수 있다. 에이전트 #1(2211)는 생성된 분석 결과 값을 시설 관제 서버(2300)의 분석 결과 저장소(2320)에 저장할 수 있다. 여기서, 분석 결과 값은 사용자가 대시보드나 위젯 등으로 조회할 수 있는 데이터 구조로 저장될 수 있다. 에이전트 #1(2211)은 분석 결과 저장소(2320)에 저장하는 데이터와 별개로, 에이전트 #1(2211)의 운영정보 데이터베이스(도시되지 않음)에 제3 속성(2301-2)을 실행하여 획득된 결과에 대한 정보를 더 저장할 수 있다.
몇몇 실시예에 따르면, 에이전트 #1(2211)은 제3 속성(2301-3)에 대한 구독을 중단하고자 할 경우, 에이전트 #2(2212)에 구독 정지 통보를 전달할 수 있다. 구독 정지 통보를 수신한 에이전트 #2(2212)는 운영 정보 데이터베이스(2330-2)의 구독자 목록에서 에이전트 #1(2211)을 삭제할 수 있다. 여기서, 에이전트 #2(2212)는 구독자 목록에서 제3 속성(2301-3)에 대한 구독자가 없는 경우, 제3 속성(2301-3)을 실행하는 프로세스를 슬립(sleep) 모드로 전환할 수 있다. 슬립 모드는 프로세스가 비활성화 되어있는 상태를 의미할 수 있다. 제3 속성(2301-3)이 슬립 모드로 전환된 시점으로부터 미리 정해진 기간 이내에 제3 속성(2301-3)에 대한 새로운 구독 요청이 수신되지 않을 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 리프 노드(2202)의 태그에서 삭제할 수 있다.
또한, 몇몇 실시예에 따르면, 에이전트 #2(2212)는 미리 설정된 시간 동안 제3 속성(2301-3)을 실행한 결과 값에 대한 요청이 수신되지 않을 경우 제3 속성(2301-3)을 실행하는 프로세스를 슬립(sleep) 모드로 전환할 수 있다. 에이전트 #2(2212)는 제3 속성(2301-3)을 슬립(sleep) 모드로 전환한 이후에도 미리 정해진 시간 이내에 제3 속성(2301-3)에 대한 요청이 수신되지 않을 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 리프 노드(2202)의 태그에서 삭제할 수 있다.
에이전트 #2(2212)에 의해 제3 속성(2301-3)이 슬립 모드로 전환되어 있는 상태에서, 에이전트 #2(2212)가 에이전트 #1(2211)로부터 제3 속성(2301-3)의 실행 결과에 대한 요청을 수신하는 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 활성화할 수 있다. 에이전트 #2(2212)는 활성화된 제3 속성(2301-3)으로부터 획득된 결과 값을 포함하는 노드 정보를 에이전트 #1(2211)에 제공할 수 있다.
에이전트 #2(2212)가 다운(Down) 상태인 경우, 에이전트 #1(2211)이 에이전트 #2(2212)에게 제3 속성(2301-3)을 실행한 결과를 요청하더라도 에이전트 #1(2211)는 에이전트 #2(2212)로부터 응답을 받지 못하게 된다. 요청에 대한 응답이 수신되지 않을 경우, 에이전트 #1(2211)는 에이전트 #2(2212)에게 하트비트(heartbeat)를 요청할 수 있다. 단순 지연으로 인해 에이전트 #2(2212)로부터 응답이 수신되지 않는 경우에는 에이전트 #1(2211)가 하트비트에 대한 응답을 수신할 수 있을 것이나, 에이전트 #2(2212)가 다운(Down) 상태인 경우 하트비트에 대한 응답도 에이전트 #1(2211)에 수신되지 않게 된다. 이 경우, 에이전트 #1(2211)은 시설 관제 서버(2300)에 리프 노드의 재시작을 요청할 수 있다. 리프 노드의 재시작을 요청 받은 시설 관제 서버(2300)는 에이전트 #2(2212)가 재시작되도록 시설 관제 시스템을 제어할 수 있다. 에이전트 #2(2212)는 재시작시 운영 정보 데이터베이스(2330-2)에 저장된 구독자 목록과 속성 실행 결과 값 등을 포함하는 에이전트 #2(2212)에 대한 운영 정보를 로드할 수 있다. 재시작된 에이전트 #2(2212)는 로드된 구독자 목록에 포함된 구독자 에이전트들에게 하트비트를 전송할 수 있다.
시설 관제 서버(2300)는 분석 노드(2201)의 에이전트 #1(2211)과 같은 구독자 에이전트의 목록인 구독자 목록을 관리할 수 있다. 시설 관제 서버(2300)는 구독자 목록에 포함된 에이전트들에게 주시적으로 하트비트를 요청할 수 있다. 시설 관제 서버(2300)는 구독자 목록에 포함된 에이전트 #1(2211)로부터 하트비트가 수신되지 않을 경우, 에이전트 #1(2211)을 재시작시킬 수 있다. 에이전트 #1(2211)은 에이전트 #1(2211)의 운영정보 데이터베이스(도시되지 않음)에 저장된 데이터를 로드하여 재시작될 수 있다.
도 24는 몇몇 실시 예에 따라 중간 노드의 에이전트의 동작을 설명하기 위한 도면이다. 특히, 도 24는 도 22의 분석 노드(2201)와 리프 노드(2205)가 중간 노드(2204)를 통해서 연결된 경우의 에이전트의 동작 구조를 설명하기 위한 것이다.
분석 노드(2201)와 리프 노드(2205)가 중간 노드(2204)를 통해서 연결된 경우, 에이전트 #1(2211)은 에이전트 #4(2214)에게 분석 노드(2201)의 태그에 포함된 속성에 대한 구독 요청을 전달할 수 있다. 에이전트 #4(2214)는 에이전트 #5(2215)에게 속성에 대한 구독 요청을 전달할 수 있다. 즉, 에이전트 #1(2211)은 에이전트 #4(2214)를 통해서 에이전트 #5(2215)로부터 속성을 간접적으로 구독할 수 있다.
중간 노드(2204)의 에이전트인 에이전트 #4(2214)는 에이전트 #5(2215)에 대해서는 구독자 에이전트로서 동작하고, 에이전트 #1(2211)에 대해서는 게시자 에이전트로서 동작할 수 있다.
시설 관제 서버(2300)는 구독자 에이전트인 에이전트 #1(2211)을 관리하고 에이전트 #1(2211)에 의해 속성을 실행한 결과 값을 제공 받아 분석 결과 저장소(2320)에 저장할 수 있다.
몇몇 실시 예에 따르면, 각 노드에 대한 에이전트들을 독립적으로 실행하므로, 관제 맵의 유연성을 해치지 않고 노드 정보를 수집하고 분석할 수 있다.
또한, 몇몇 실시 예에 따르면, 노드 별로 에이전트가 할당되어 분석을 수행하므로, 싱글톤(singleton) 형태로 데이터를 분석하는 경우에 발생하는 데이터 분석에 따른 과부하를 해소할 수 있다.
또한, 몇몇 실시 예에 따르면, 일부 에이전트가 다운 상태가 되더라도 시스템 전체 분석 기능에 큰 영향을 미치지 않는다. 또한 일부 에이전트가 다운 상태가 되더라도 다운 상태의 에이전트만 재시작하여 쉽게 회복이 가능하다.
또한, 몇몇 실시 예에 따르면, 에이전트는 분석 대상을 정의하는 속성을 유연하게 생성하거나 삭제하여 분석 대상을 유연하게 변경할 수 있다.
또한, 몇몇 실시 예에 따르면, 에이전트는 속성을 실행하여 노드 정보를 분석한 결과를 운영 정보 데이터베이스에 자체적으로 보유하므로 분석 결과를 빠르게 얻을 수 있다.
또한, 몇몇 실시 예에 따르면, 관제 맵을 변경하더라도 에이전트가 태그의 속성을 생성하거나 삭제하여 데이터 수집 성능을 쉽게 유지할 수 있다.
또한, 몇몇 실시 예에 따르면, 시설 관제 서버(2300)는 분석 노드의 분석 결과를 저장하고, 속성에 대한 메타 정보를 제공하고 에이전트를 관리하여 재시작시키는 기능을 수행하며 에이전트의 독립성을 보장할 수 있다. 또한, 시설 관제 서버(2300)는 에이전트를 자식 스레드(Child thread)로 생성하지 않고 독립적인 프로세스로 생성하므로, 시설 관제 서버(2300)의 장애 시에도 에이전트의 활동에 미치는 영향을 최소화할 수 있다.
도 25는 몇몇 실시 예에 따른 시설 관제 서버(2300)의 구조를 간단히 도시한 블록도이다. 몇몇 실시 예에 따르면, 시설 관제 서버(2300)는 속성 저장소(2310), 분석 결과 저장소(2320), 제어기(2230), 및 렌더러(2240)를 포함할 수 있다.
속성 저장소(2310)는 노드 정보를 수집하기 위해 노드 정보의 수집 대상 및 수집 조건 등을 포함하는 속성에 대한 메타 정보를 저장할 수 있다. 속성 저장소(2310)에 저장되는 메타 정보는 미리 설정된 것이거나, 또는 시설 관제 시스템의 사용자가 설정 항목을 이용하여 정의한 속성에 대한 것일 수 있다. 도 26은 몇몇 실시 예에 따라 태그의 속성을 정의하기 위한 설정 항목의 예시를 도시한 도면이다. 예를 들어, 시설 관제 서버(2300)는 디스플레이 장치(도시되지 않음)를 통해서 속성의 주제(subject)의 목록을 디스플레이 할 수 있다. 사용자가 디스플레이된 주제의 목록 중에서 주제를 선택하면, 시설 관제 서버(2300)는 선택된 주제에 따른 A, B, C 항목 중 적어도 하나를 선택할 수 있는 사용자 인터페이스를 디스플레이 장치(도시되지 않음)를 통해서 더 디스플레이할 수 있다. 사용자의 입력에 의해 A, B, C 항목 중 적어도 하나에 대한 선택이 완료되면, 시설 관제 서버(2300)는 선택된 속성의 메타 정보를 속성 저장소(2310)에 저장할 수 있다. 시설 관제 서버(2300)는 저장된 속성의 메타 정보를 이용하여 관제 맵의 노드로부터 노드 정보에 대한 분석 결과 값을 획득할 수 있다.
제어기(2230)는 관제 맵을 획득하고, 관제 맵의 노드들 각각에 상응하는 에이전트들이 구동되도록 설비 관제 시스템을 제어할 수 있다. 몇몇 실시 예에 따르면, 에이전트가 에이전트에 상응하는 노드와 관련된 관제 대상 시설에 설치된 설비의 제어기(11)에 의해 실행되는 경우, 제어기(2230)는 에이전트를 구동하도록 설비의 제어기(11)를 제어할 수 있다. 다른 몇몇 실시 예에 따르면, 제어기(2230)는 에이전트를 직접 구동시킬 수도 있다.
분석 결과 저장소(2320)는 분석 노드에 의해 노드 정보를 분석한 분석 결과 값을 저장할 수 있다.
렌더러(renderer)(2240)는 분석 결과 저장소(2320)에 저장된 분석 결과 값이 디스플레이 장치(도시되지 않음)를 통해서 디스플레이될 수 있도록 렌더링을 수행할 수 있다. 속성의 주제에 따라서, 속성 내지 속성의 메타 정보는 속성을 실행하여 획득되는 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함할 수 있다. 도 26에 도시된 바와 같이, 디스플레이 설정은 정보 표시 포맷(표시유형) 및 표시 항목을 포함할 수 있다. 몇몇 실시 예에 따르면, 렌더러(2240)는 디스플레이 설정에 따라서 분석 결과 값을 렌더링할 수 있다.
도 27은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다. 특히, 도 27은 실시간 강제명령 상태인 장비 및 제어기를 조회하는 속성에 대한 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.
도 27에 도시된 렌더링된 화면(2700)은 정보 표시 포맷이 도넛 차트이고, 표시 항목이 대상 종류, 대상, 업데이트 시간 및 강제명령 상태 건수인 경우에 대한 것이다. 화면(2700)은 정보 표시 포맷 및 표시 항목에 따라 분석 결과 값을 도넛 차트(2710)와, 표시 항목들에 대한 정보(2720)를 포함할 수 있다.
도 28은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 다른 예시를 도시한 도면이다. 특히, 도 28은 알람 상태인 관제점을 조회하는 속성에 대한 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.
알람 상태인 관제점을 조회하는 속성에 대한 분석 결과 값을 렌더링한 화면(2800)은, 관제점 조회 결과를 표시하는 도넛 차트(2810)와 대상 종류, 대상, 업데이트 시간 등의 표시 항목들에 대한 정보(2820)를 포함할 수 있다.
도 29는 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 또 다른 예시를 도시한 도면이다. 특히, 도 29는 장비에 대해 발생한 이상 값을 조회하는 속성을 목록 형태의 정보 표시 포맷으로 렌더링한 화면(2900)을 도시한 것이다.
도 30은 몇몇 실시 예에 따라 시설 관제 시스템을 구성하는 시설 관제 서버의 하드웨어 구성을 도시한 도면이다.
시설 관제 서버(100)는 명령어를 수행하는 프로세서(106), 관제 맵 기반의 다이어그램 생성 기능을 제공하는 컴퓨터 프로그램 데이터가 저장되는 스토리지(102), 메모리(108), 외부 장치와의 데이터 송수신을 위한 네트워크 인터페이스(104) 및 스토리지(102), 네트워크 인터페이스(104), 프로세서(106) 및 메모리(108)와 연결되어 데이터 이동 통로가 되는 시스템 버스(110)를 포함할 수 있다.
상기 컴퓨터 프로그램은, 시설 관제 시스템에 의하여 관리 되는 객체(object) 중 다이어그램 템플릿(diagram template)을 가진 객체에 매칭(matching) 되는 중심 노드와, 시설 관제 시스템에 의하여 관리 되는 객체 중 상기 템플릿 객체와 관련된 관련 객체에 매칭 되는 주변 노드와, 상기 중심 노드와 상기 주변 노드를 연결하거나, 상기 주변 노드 간을 연결하는 에지(edge)를 포함하는 관제 맵을 생성하는 일련의 인스트럭션, 및 상기 중심 노드에 매칭 된 객체의 다이어그램 템플릿을, 상기 중심 노드와 하나의 에지를 통해 연결 된 주변 노드인 대상 노드 각각에 대하여 일괄 적용함으로써 상기 대상 노드의 다이어그램을 일괄 생성하는 일련의 인스트럭션을 포함할 수 있다.
상기 관제 맵은, 제어 로직 다이어그램을 관제 맵 기반으로 생성하기 위한 것이거나, 그래픽 페이지 다이어그램을 관제 맵 기반으로 생성하기 위한 것일 수 있다.
일 실시예에서, 네트워크 인터페이스(104)는 상기 관제 대상 시설에 설치 된 제어기(미도시)에 연결될 수 있다. 상기 관제 맵의 중심 노드가 제어 로직을 가리키는 객체와 매칭 된 것이라면, 상기 컴퓨터 프로그램은, 상기 중심 노드와 하나의 에지로 연결 된 각 대상 노드에 대하여 생성 된 다이어그램을 상기 제어기에 의하여 실행 될 수 있는 프로그램 코드 형태로 컴파일 하고, 컴파일 된 프로그램 코드를 네트워크 인터페이스(104)를 통해 상기 제어기에 송신하는 일련의 인스트럭션을 더 포함할 수 있다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (22)

  1. 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계;
    상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계;
    상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및
    상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하는,
    노드 분석 방법.
  2. 제1항에 있어서,
    상기 속성은 상기 노드 정보의 수집 대상에 대한 정보 및 수집 조건을 포함하는,
    노드 분석 방법.
  3. 제1항에 있어서,
    상기 노드는 태그 가중치를 가지고,
    상기 분석 범위를 설정하는 단계는,
    상기 태그 가중치를 이용하여 상기 리프 노드를 결정하는,
    노드 분석 방법.
  4. 제3항에 있어서,
    상기 노드 분석 방법은, 제1 임계값 및 제2 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고,
    상기 분석 범위를 설정하는 단계는,
    상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 태그 가중치가 제2 임계값 이상인 노드를 상기 리프 노드로 결정하는,
    노드 분석 방법.
  5. 제4항에 있어서,
    상기 분석 조건을 설정하는 단계는,
    상기 분석 노드의 태그에 설정된 속성을 이용하여 상기 제1 임계값 및 제2 임계값을 결정하는,
    노드 분석 방법.
  6. 제4항에 있어서,
    상기 분석 조건을 설정하는 단계는,
    상기 분석 노드의 태그에 포함된 속성을 기초로 키워드를 결정하는 단계와,
    상기 키워드를 이용하여 상기 키워드와 상기 분석 조건을 매핑하는 분석 조건 설정 테이블을 조회하는 단계, 및
    상기 조회의 결과를 이용하여 상기 분석 조건을 결정하는 단계를 포함하는,
    노드 분석 방법.
  7. 제1항에 있어서,
    상기 에지는 관계 가중치를 가지며,
    상기 분석 범위를 설정하는 단계는,
    상기 관계 가중치를 이용하여 상기 리프 노드를 결정하는,
    노드 분석 방법.
  8. 제7항에 있어서,
    상기 노드 분석 방법은, 제1 임계값 및 제3 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고,
    상기 분석 범위를 설정하는 단계는,
    상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 분석 노드에 대한 상기 관계 가중치가 제3 임계값 이상인 노드를 상기 리프 노드로 결정하는,
    노드 분석 방법.
  9. 제1항에 있어서,
    상기 분석 노드에 상응하는 구독자 에이전트와 상기 리프 노드에 상응하는 게시자 에이전트를 독립적으로 구동하는 단계를 더 포함하고,
    상기 분석 결과 값을 획득하는 단계는,
    상기 구독자 에이전트가 상기 게시자 에이전트로부터 상기 게시자 에이전트가 상기 속성에 따라 생성한 상기 노드 정보를 획득하는 단계를 포함하는,
    노드 분석 방법.
  10. 제9항에 있어서,
    상기 노드 정보를 획득하는 단계는,
    상기 구독자 에이전트가 상기 분석 노드의 태그에 설정된 속성에 대한 구독 요청을 상기 게시자 에이전트에게 전달하는 단계와,
    상기 게시자 에이전트가 상기 리프 노드의 태그에 상기 속성을 생성하는 단계, 및
    상기 구독자 에이전트의 결과 값 요청에 따라 상기 게시자 에이전트가 상기 속성을 실행하여 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계를 포함하는,
    노드 분석 방법.
  11. 제10항에 있어서,
    상기 속성을 생성하는 단계는,
    상기 속성을 저장하고 관리하는 시설 관제 서버의 속성 저장소로부터 상기 속성에 대한 정보를 획득하여 상기 속성을 생성하는,
    노드 분석 방법.
  12. 제10항에 있어서,
    상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계는,
    REST API(REpresentational State Transfer Application Program Interface)를 이용하여 상기 노드 정보를 제공하는,
    노드 분석 방법.
  13. 제10항에 있어서,
    상기 게시자 에이전트가 상기 구독자 에이전트로부터 상기 리프 노드의 태그에 포함된 속성에 대한 구독 정지 통보를 수신하는 단계;
    상기 구독 정지 통보가 수신된 속성을 구독하는 에이전트가 없는 경우 상기 게시자 에이전트가 상기 속성을 비활성화하는 단계; 및
    상기 게시자 에이전트가 상기 비활성화된 속성이 비활성화된 시점으로부터 임계 기간 이내에 상기 비활성화된 속성에 대한 구독 요청이 수신되지 않을 경우 상기 속성을 삭제하는 단계;를 더 포함하는,
    노드 분석 방법.
  14. 제9항에 있어서,
    상기 분석 결과 값을 획득하는 단계는,
    상기 구독자 에이전트가 상기 게시자 에이전트에게 상기 속성에 대한 결과 값 요청을 전달하는 단계와,
    상기 결과 값 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 상기 게시자 에이전트에게 하트비트 요청을 전달하는 단계와,
    상기 하트비트 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 시설 관제 서버에 상기 게시자 에이전트에 대한 재시작 요청을 전달하는 단계, 및
    상기 시설 관제 서버에 의해 상기 게시자 에이전트가 재시작하는 단계를 포함하는,
    노드 분석 방법.
  15. 제14항에 있어서,
    상기 노드 분석 방법은 상기 게시자 에이전트가 상기 속성에 대한 노드 정보를 구독하는 구독자의 목록을 운영 정보 데이터베이스에 저장하는 단계를 더 포함하고,
    상기 재시작하는 단계는,
    상기 게시자 에이전트가 상기 운영 정보 데이터베이스로부터 상기 구독자의 목록을 로드하여 상기 구독자의 목록에 포함된 에이전트에게 하트비트 메시지를 전송하는 단계를 포함하는,
    노드 분석 방법.
  16. 제9항에 있어서,
    상기 분석 결과 값을 획득하는 단계는,
    상기 구독자 에이전트가 상기 노드 정보를 이용하여 상기 속성에 대한 분석 결과 값을 생성하는 단계와,
    상기 분석 결과 값을 시설 관제 서버에 저장하는 단계를 더 포함하는,
    노드 분석 방법.
  17. 제1항에 있어서,
    상기 속성은 상기 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함하고,
    상기 노드 분석 방법은,
    디스플레이 장치를 통해 상기 분석 결과 값을 상기 분석 노드에 설정된 태그의 속성에 포함된 디스플레이 설정에 따라서 디스플레이하는 단계를 더 포함하는,
    노드 분석 방법.
  18. 제17항에 있어서,
    상기 디스플레이 설정은 정보 표시 포맷 및 표시 항목을 포함하는,
    노드 분석 방법.
  19. 비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램의 명령어들이 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에,
    시설 관제 시스템에 의해 관리되는 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계;
    상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계;
    상기 노드들 및 상기 연결 관계에 기초하여 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및
    상기 태그의 속성에 따라 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하는 동작이 수행되는 것을 특징으로 하는,
    기록 매체에 기록된 컴퓨터 프로그램.
  20. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로딩 되어 상기 프로세서에 의해 수행되는 컴퓨터 프로그램의 실행 파일이 기록된 스토리지 장치를 포함하되,
    상기 컴퓨터 프로그램은,
    시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들을 생성하고, 상기 노드들 간의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 일련의 인스트럭션;
    상기 노드들 각각에 속성을 포함하는 태그를 설정하는 일련의 인스트럭션; 및
    상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하고, 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 상기 분석 노드에 대한 분석 결과 값을 획득하는 일련의 인스트럭션;을 포함하는,
    시설 관제 시스템.
  21. 제20항에 있어서,
    상기 네트워크 인터페이스는 상기 관제 대상 시설의 설비에 설치된 제어기에 연결되고,
    상기 컴퓨터 프로그램은,
    상기 네트워크 인터페이스를 통해서 상기 속성을 상기 제어기에 제공하는 일련의 인스트럭션;
    상기 네트워크 인터페이스를 통해서 상기 제어기로부터 상기 속성을 실행한 결과인 상기 노드 정보를 제공 받는 일련의 인스트럭션; 및
    상기 노드 정보를 표시하도록 렌더링하는 일련의 인스트럭션;을 더 포함하는,
    시설 관제 시스템.
  22. 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는 속성을 저장하는 속성 저장소;
    상기 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하고, 상기 노드들 각각에 상응하여 각각 독립적인 프로세스로 구동되며, 상기 속성을 실행하여 노드 정보를 다른 노드에 게시하거나 또는 다른 노드로부터 상기 속성을 구독하여 노드 정보를 수집하는 에이전트를 실행하도록 상기 관제 대상 시설의 설비에 포함된 설비 제어기를 제어하는 제어기;
    상기 노드 정보를 수집하여 분석한 분석 결과 값을 저장하는 분석 결과 저장소; 및
    상기 분석 결과 값을 표시하도록 렌더링하는 렌더러;를 포함하는,
    시설 관제 서버.
KR1020180060231A 2018-05-28 2018-05-28 노드 분석 방법 및 장치 KR102530364B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180060231A KR102530364B1 (ko) 2018-05-28 2018-05-28 노드 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180060231A KR102530364B1 (ko) 2018-05-28 2018-05-28 노드 분석 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190135146A true KR20190135146A (ko) 2019-12-06
KR102530364B1 KR102530364B1 (ko) 2023-05-08

Family

ID=68837126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180060231A KR102530364B1 (ko) 2018-05-28 2018-05-28 노드 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102530364B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102320878B1 (ko) * 2020-12-04 2021-11-01 (주)케이티에스테이트 통합 관제 방법 및 통합 관제 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126251A (ko) * 2012-05-11 2013-11-20 삼성에스디에스 주식회사 웹 서비스 모니터링 시스템 및 방법
KR20160052027A (ko) * 2014-10-31 2016-05-12 삼성에스디에스 주식회사 관제 맵 기반 다이어그램 생성 방법 및 그 장치
KR20170129485A (ko) * 2016-05-17 2017-11-27 이승철 MACRO/MICRO 지능 Total 에너지관리시스템 및 방법
KR20180011185A (ko) * 2015-05-21 2018-01-31 클라우드트랙 엘엘씨 식별, 위치결정 및 인증 시스템들 및 방법들

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126251A (ko) * 2012-05-11 2013-11-20 삼성에스디에스 주식회사 웹 서비스 모니터링 시스템 및 방법
KR20160052027A (ko) * 2014-10-31 2016-05-12 삼성에스디에스 주식회사 관제 맵 기반 다이어그램 생성 방법 및 그 장치
KR20180011185A (ko) * 2015-05-21 2018-01-31 클라우드트랙 엘엘씨 식별, 위치결정 및 인증 시스템들 및 방법들
KR20170129485A (ko) * 2016-05-17 2017-11-27 이승철 MACRO/MICRO 지능 Total 에너지관리시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102320878B1 (ko) * 2020-12-04 2021-11-01 (주)케이티에스테이트 통합 관제 방법 및 통합 관제 장치

Also Published As

Publication number Publication date
KR102530364B1 (ko) 2023-05-08

Similar Documents

Publication Publication Date Title
US10489221B2 (en) Method for creating context aware application and user terminal
US11381488B2 (en) Centralized, scalable, resource monitoring system
US20230152765A1 (en) Building data platform with schema extensibility for states of a digital twin
US20210243148A1 (en) Systems and methods for context development
JP2015219890A (ja) 管理装置、その制御方法およびプログラム
KR102530364B1 (ko) 노드 분석 방법 및 장치
US20210240726A1 (en) Systems and methods for context development
KR101786660B1 (ko) 관제 맵 제공 방법 및 그 장치
US9921728B2 (en) Service providing device, and method of providing a user interface
CN111581114B (zh) 事件处理方法、装置、存储介质、处理器及电子装置
KR102547071B1 (ko) 관제 맵 가중치 제어 방법 및 그 장치
US20220390913A1 (en) Building management system with intelligent visualization
JPH11238027A (ja) 画面更新方法及び画面更新端末装置
US7240348B2 (en) Suspending scenario generation method, server device, and program therefor
KR20160052027A (ko) 관제 맵 기반 다이어그램 생성 방법 및 그 장치
KR20200142747A (ko) 사물인터넷의 자원과 서비스 관리 시스템 및 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체
JP2020149327A (ja) 情報処理装置及びプログラム
KR102338489B1 (ko) 관제 문제 통보 방법 및 그 장치
US20230081725A1 (en) Intelligent insights across applications
US11507567B2 (en) Framework for managing tag bundles
KR101659038B1 (ko) 설비 제어 장치 및 이의 설비 제어 방법
US20230350362A1 (en) Building data platform with schema extensibility for properties and tags of a digital twin
US11985207B2 (en) Aggregating server and method for forwarding node data
JP2003143179A (ja) 情報処理装置および情報処理システム
JP2020177379A (ja) 管理システム

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