KR102599872B1 - 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치 - Google Patents

산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치 Download PDF

Info

Publication number
KR102599872B1
KR102599872B1 KR1020187031484A KR20187031484A KR102599872B1 KR 102599872 B1 KR102599872 B1 KR 102599872B1 KR 1020187031484 A KR1020187031484 A KR 1020187031484A KR 20187031484 A KR20187031484 A KR 20187031484A KR 102599872 B1 KR102599872 B1 KR 102599872B1
Authority
KR
South Korea
Prior art keywords
processor
data
devices
query
machine
Prior art date
Application number
KR1020187031484A
Other languages
English (en)
Other versions
KR20190122125A (ko
Inventor
자비어 디아즈
호세 후안 가빌론도
Original Assignee
플레토라 Iiot, 에스.엘.
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 플레토라 Iiot, 에스.엘. filed Critical 플레토라 Iiot, 에스.엘.
Publication of KR20190122125A publication Critical patent/KR20190122125A/ko
Application granted granted Critical
Publication of KR102599872B1 publication Critical patent/KR102599872B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25229Partition control software among distributed controllers
    • 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
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0216Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Computer And Data Communications (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

산업 설비의 적어도 하나의 기계의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계를 동작시키기 위한 시스템이 개시된다. 시스템은 컴퓨팅 클러스터를 형성하는 복수의 장치 및 서버를 포함한다. 복수의 장치 중 적어도 일부 장치는 산업 설비의 기계에 연결 가능하다. 적어도 일부 장치의 각 장치는: 장치가 연결 가능한 기계로부터 획득 가능한 데이터로, 제1 쿼리를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하도록 구성되는 제1 프로세서; 및 네트워크와 이의 처리 능력을 공유하도록, 그리고 서버에 의해 할당될 때, 제2 쿼리를 해결하기 위해 제2 프로세싱 태스크의 적어도 하나의 스레드를 계산하도록 구성되는 제2 프로세서를 포함한다. 서버는: 컴퓨팅 클러스터를 제어; 제2 프로세싱 태스크를 복수의 스레드로 분할; 및 복수의 스레드 중 적어도 하나 또는 그 이상의 스레드를 복수의 장치 중 적어도 일부 장치의 제2 프로세서로 할당하도록 구성되는다. 산업 설비의 적어도 하나의 기계의 작동을 감시하기 위한 장치가 또한 개시된다. 산업 설비가 또한 개시되고, 이는: 복수의 기계; 및 복수의 기계 중 적어도 하나의 기계의 작동을 감시하기 위한 또는 적어도 하나의 기계를 동작시키고 감시하기 위한 네트워크를 포함하고, 네트워크는 컴퓨팅 클러스터를 형성하는 복수의 장치 및 서버를 포함한다.

Description

산업 설비의 기계의 감시 및 제어를 위한 다중 장치를 포함하는 장치 및 시스템
본 발명은 산업 설비의 감시 및 제어를 위한 장치 분야에 관한 것이다. 보다 상세하게는, 많은 양의 데이터가 발생하는 산업 환경에서 실시간으로 데이터를 캡처하고 프로세싱하기 위한 고가용성(high availability) 장치에 관한 것이다. 이러한 장치는 특히 산업 장비에서의 에너지 효율 및 예방 정비(predictive maintenance)와 같은, 스마트 서비스를 구현하는데 유리할 수 있다. 본 발명은 또한 이러한 장치를 포함하는 네트워크, 시스템 및 산업 설비에 관한 것이다.
1990년대에 스마트 장치로 만들어진 네트워크의 개념이 개발되었고 이러한 개념을 정의하는 용어가 만들어졌다: "사물 인터넷(Internet of Things, IoT)". IoT는 인터넷에 연결할 수 있고, 소위 사물지능통신(machine-to-machine) 또는 M2M 통신으로 다른 물체 또는 장치에 자신을 식별하게 할 수 있는 물리적 물체 또는 장치를 말한다. IoT는 이들 물체가 데이터를 수집하고 교환할 수 있게 하는 전자기기, 소프트웨어, 센서 및 네트워트 연결이 내장된 물리적 물체의 네트워크로서 정의될 수 있다. IoT에 속하는 물체는 기존 네트워크 인프라스트럭처(infrastructure)에서 원격으로 감지되거나 제어될 수 있다. 각 "사물(Things)"은 그 내장형 컴퓨팅 시스템(embedded computing system)을 통해 고유하게 식별 가능하고, 기존 인터넷 인프라스트럭처에 의해 작동되도록 할 수 있다. 현재, IoT는 무선 및 유선 통신 모두 그리고 네트워크, 센서 및 임베디드(embedded) 시스템 및 미세전자기계시스템(micro-electromechanical system, MEMS) 모두를 포함하는 다양한 기술을 망라한다. IoT는 가정(스마트 홈), 공공 인프라스트럭처(예컨대, 스마트 시티, 예를 들어 환경 감시(environmental supervision)을 포함) 및 산업(예컨대 스마트 그리드(smart grids)와 같은 특정 의미의 산업, 또는 지능형 교통수단과 같은 일부 공공 인프라스트럭처를 포함하는 넓은 의미의 산업)을 포함하는 많은 다양한 환경에 적용할 수 있다.
IoT가 산업 인프라스트럭처(이의 가장 넓은 의미에서)에 적용될 때, 인더스트리 4.0(Industry 4.0)이라고도 하는 특정 용어인 산업 사물 인터넷(Industrial Internet of Things, IIoT)이 사용된다. 산업 장비가 IIoT에 통합되면, 기계는 상위 레벨(level)의 감시 시스템에 그것들의 작동 상태를 알릴 수 있으므로, Acatech (National Academy of Science and Engineering), Smart Service Welt, March 2014에 의해 명명된 실시간(real time, RT) 품질관리와 같은 예방 스마트 서비스(predictive smart services)가 가능하다. 이것은 결국 산업 장비 제조업자가 고급 서비스 제공자가 될 수 있게 한다.
IIoT 및 IoT 사이의 주요 차이점은, IIoT를 채택한 장치 및 기계는 특히 고장이나 오작동으로 인해 장비/자산에 대한 손실 또는 심각한 손상, 환경적 피해 및/또는 심각한 생산 손실 중 적어도 하나가 발생할 수 있는 시스템 (또는 시스템의 일부)일 수 있다는 것이다. 이런 의미에서, 산업 설비의 시스템은 서로 다른 기계간의 실시간 응답 및 동기화를 특징으로 하는 솔루션(solutions)을 요구하므로, 임의의 이전의 사고(events)로 이어질 수 있는 임의의 잠재적 오작동이 있을 때 작동한다. 이러한 시스템의 비제한적 예는 원자력발전소와 같은 발전소, 전력 수송 및 운송, 정유 공장, 천연가스 가공 공장, 화학 처리 공장, 및 제조 생산과 어셈블리(assembly) 라인이다.
특히 제조 생산 라인의 예를 참조하면, 중대한 사고로 이어지는 예시적인 오작동은 기계 가공 공정에서 사용되는 기계에 포함되는 많은 베어링(bearing) 중 하나에서의 볼(ball)의 고장일 수 있다. 기계는 다수의 요소(element) 및/또는 높은 복잡성을 갖는 기계적 어셈블리를 포함할 수 있으나, 하나의 베어링에서의 볼의 고장(즉, 손상된 볼)은 기계를 작동하지 않게 만들 수 있어 전체 생산 라인이 중단될 수 있다. 이런 의미에서, 하나의 마모된 볼이 전체 기계를 망가뜨리는 일련의 사건을 촉발시킬 수 있다. 일부 다른 경우에, 기계는 볼이 손상된 후에도 계속 작동하지만, 이와는 대조적으로 이러한 사건은 결국 기계를 고장 낼 수 있는, 동일한 기계 내의 추가 요소의 고장으로 이어진다. 이러한 상황에서, 부품(예를 들어, 볼)이 고장 나는 정확한 순간에서부터 기계를 정지시키라는 명령이 주어져 실제로 기계가 멈춰질 때까지 소요되는 시간은 고장 또는 심지어 참사를 피하는 데 있어 가장 중요한 양상이다. 기계 가공 공정 분야에서 중대한 사건의 또 다른 예는 심각한 품질 문제를 야기하고 생산 손실을 초래할 수 있는 공구(tool)의 하나의 절삭 날(cutting edge)(또는 심지어 동일한 손상된 볼)의 파손이고: 이 기계에 의해 처리된 제품(goods)이 잘못 처리되어 결함을 가지고 있어 최소 품질 요구사항을 충족시키지 못하는 것이고; 제품이 결함이 있음을 누구도 발견하지 못하거나, 발견되었으나 유통업자 또는 최종 고객에게 인도된 훨씬 후에 발견되는 일이 일어날 수 있다. 그러므로 이러한 결함은 실시간으로 발견되어야 하며, 때문에 부품의 고장에 대한 신속한 발견 및 대응(기계 및 결함의 속성에 따라, 이는 수 밀리초(miiliseconds)일 수 있음)이 산업 환경에서 필수이다. 또한, 산업 시스템은 기계 내 부품이 고장 나기 이전에 교체될 수 있도록 고장 나려고 할 때를 어떻게든 예방할 수 있는 것이 바람직하다.
산업 설비의 기계가 IIoT를 채택할 때, 이들은 많은 양의 데이터(단일 기계는 수십, 수백 또는 심지어 수천 개의 센서(sensor)를 포함할 수 있음)를 생성하는 경향이 있으므로, 새로운 도전적인 비즈니스 기회가 창출된다. 이러한 데이터의 양은 데이터의 신속한 처리 시간의 필연적인 필요성(necessity)을 가져오고, 그렇지 않으면 생성된 데이터가 무의미해질 수 있기 때문에 이러한 데이터를 빠르게 색인, 저장 및 처리할 필요성이 커진다. 예로서, 수천 개의 변수(variables), 즉 공작 기계(machine tool)의 작동을 제어하는 센서 및/또는 장치에 의해 제공되는 수천 개의 상이한 잠재적 정보의 조각(piece)을 출력할 수 있는 공작 기계는 이들 변수 (또는 이들 변수의 서브셋)가 빠르게 처리되고 그것들 중 일부 또는 전체의 조합으로부터 의미가 추출되는 경우, 고장이 발생하기 전 또는 고장이 발생한 후 거의 즉각적으로 중지될 수 있다. 3개의 서브 모터 및 머시닝 스핀들(machining spindle)을 갖는 공작 기계의 특정 경우를 고려하면, 출력 변수의 갯수는 78이다. 샘플 당 스루풋(throughput)이 2.8 MB/사이클(cycle)인 경우, 년당 수집되는(captured) 데이터의 양은 대략 1 TB이다. 변수 처리에서의 지연과 그 후 변수로부터의 지식의 추출에 대한 응답은 고장이 효과적으로 예방되는지 여부를 결정하며, 이 경우 발생하는 고장의 비용이 얼마일지를 결정한다. 상기 예에서 기술한 바와 같이, 고장이 더 늦게 감지될수록 발생한 문제를 해결하는데 발생될 수 있는 비용은 더 높아진다.
많은 양의 데이터를 처리하기 위한 현재의 접근법은 도 1에 도시된 바와 같은 피라미드형 산출 스택(pyramidal computation stack)(190)에 기반한다. 제1 레벨에서, 센서는 감시/품질 관리 하에서 산업 설비(일반적으로, 중요 시스템)의 장치 또는 기계로부터 데이터를 연속적으로 수집한다. 제2 레벨은 로컬 제어 레벨이고, 예를 들어 프로그램 가능 논리 제어 장치(Programmable Logic Controllers, PLC) 또는 컴퓨터 수치 제어(Computer Numerical Control, CNC) 도구로 구현되며, 여기서 센서 신호는 디지털 데이터로 변환된다. 센서로부터 획득되는 데이터는 PLC/CNC 레벨을 통해 감시 제어 및 데이터 수집((Supervisory Control And Data Acquisition, SCADA)과 같은 산업 제어 시스템(Industrial Control System, ICS) 에 전달된다. SCADA는 제조, 발전, 인프라스트럭처 프로세스, 전력 수송 및 운송 등과 같은, 산업 공정의 원격 모니터링(이는 또한 넓은 영역에 퍼져있을 수 있음) 및 제어를 위한 중앙집중 컴퓨터-기반 시스템(centralized computer-based system)이다. 로컬 제어 동작은 PLC/CNC에 의해 수행되는 반면, SCADA는 전체 시스템에 영향을 미치는 전역(global) 제어 동작을 담당한다.
SCADA 층은 정보를 처리하는 반면, 하위 층(PLC/CNC)은 직접 데이터를 처리한다. 이와 관련해서, 용어 "데이터(data)"는 이의 대응하는 소스(예를 들어, 센서, PLC/CNC, 또는 일반적으로 장치)에 의해 제공되는 것과 같은 원시 값(raw values)(예컨대, 전압 값 또는 기타)을 가리키는 것인 반면, 용어 "정보(information)" 또한 데이터를 가리키지만 문맥화된(contextualized) 형태이다. 예를 들어, 서미스터(thermistor)로 인해 발생하는 전압은 데이터(특히, 원시 데이터)이고, 일단 전압이 의미를 갖게 되면 (즉, 특정 전압에 대한 온도가 무엇인지) 이 또한 정보이다.
피라미드의 상위 레벨은 생산 관리 시스템(Manufacturing Execution System, MES)과 전사적 자원관리(Enterprise Resource Planning, ERP)이다. MES는 제품 정의 관리, 자원 관리, 생산 지시의 일정, 배정 및 실행, 생산 데이터 수집, 및 생산 분석 수행 등을 담당하는 컴퓨터화된 시스템인 반면, ERP는 핵심 비즈니스 프로세스의 통합 뷰(view)를 제공하는 비즈니스-관리 소프트웨어를 나타낸다. 이는 예를 들어, 제품 기획, 마케팅 및 판매, 재고 관리 및 출하 및 지급과 같은 여러 비즈니스 활동으로부터의 데이터를 수집, 저장, 관리 및 해석하는데 사용된다. 상위 층(MES 및 ERP)은 더 이상 정보를 다루지 않지만, 일단 처리된 정보로부터 추출될 수 있는 비즈니스-관련 정보(또한 "지식(knowledge)"으로도 나타냄)로 작업한다.
선행 기술의 SCADA 시스템은 감시되는 기계의 현재 상태(예를 들어, 일반적으로 장치의 활성/비활성, 밸브의 개구/폐쇄 상태, 탱크의 압력 수준 등)를 반영하는 소량의 정보를 관리해야 하며; 이들 상태 값은 예를 들어, PLC/CNC로부터 검색 가능(retrievable)하다. 단순한 감시 이외의 태스크(task)가 의도될 때(예를 들어, 예방 정비를 수행하거나, 장치 또는 기계가 명백한 정확한 전체 성능에도 불구하고 올바르게 작동하는지 여부를 평가), 산업 기계의 센서 및 관련 장치에 의해 제공된 데이터의 전부 또는 대부분을 고려할 필요가 있다. 단일 기계는 수백 또는 심지어 수천의 센서를 포함할 수 있고, 이들 각각은 하나 이상의 변수를 제공할 수 있다(예를 들어, 디지털 카메라의 사진은 사진 속성인 픽셀과 같은 많은 변수를 가짐). 따라서, 많은 양의 데이터(즉, 그런 다음 후 정보 및 지식을 제공할 수 있는 데이터)가 제공된다. 선행기술에서, 데이터는 소위 클라우드 컴퓨팅(cloud computing)에 의하여 처리될 수 있는 클라우드에 저장되어야 한다. 클라우드 컴퓨팅은 일반적으로 인터넷을 통해 서버, 네트워크 및 데이터베이스와 같은 구성 가능한 컴퓨팅/프로세싱 리소스의 공유 풀(pool)에 대한 유비쿼터스(ubiquitous) 온-디맨드 네트워크(on-demand network) 접근을 가능하게 하는 모델이다. 인터넷의 특성으로 인해, 네트워크 지연(latency), 보안 및 프라이버시와 같은 이슈가 클라우드 시스템에 내재되어 있다. 일반적으로, 보안 및 프라이버시는 민감한 정보 및 데이터가 클라우드에 저장될 때 문제가 되는 이슈이다.
그러나 이 두 가지 이슈가 문제가 되지 않더라도, 클라우드 컴퓨팅은 산업 환경을 제어하는 까다로운 조건에 대한 적절한 대응을 제공할 수 없다. 먼저, 단순한 데이터의 저장은 일반적으로 전혀 실현 가능하지 않으며: 많은 처리량의 데이터가 산업 설비의 각 기계에 의해 생산되므로, 데이터를 클라우드로 전송하는데 필요한 대역폭은 일반적으로 충분하지 않고; 또한, 시스템은 통신 채널뿐만 아니라 데이터를 클라우드로 전송할 수 있는 모든 장치, 예를 들어 스위치, 라우터(routers) 등에 의해 제한된다. 이것은 기계 자체에 의해 제공되는 원시 데이터를 사용하여야만 검출될 수 있는 비정상적인 동작에 대응하여 제어되어야 하며 극히 짧은 기간 내에 검출을 수행해야 하는, 상기 예시한 것과 같은 시스템에서 특히 문제가 된다. 그리고 두 번째로, 이러한 비정상적인 동작을 검출하기 위해서는 모든 저장된 데이터를 처리할 필요가 있기 때문에, 클라우드 컴퓨팅의 계산 능력에도 불구하고 이는 더구나 짧은 시간 내에는 응답을 제공하는데 충분하지 않을 수 있다.
이러한 문제를 해소하기 위하여, 공통적으로 포그 컴퓨팅(fog computing) 또는 에지 컴퓨팅(edge computing)으로 나타내는 새로운 패러다임이 클라우드를 산업 설비에 더 가깝게 하고자 개발되었다. 포그/에지 컴퓨팅은 클라우드 컴퓨팅을 네트워크에 속한 기계의 물리적 위치(location)로 넓히고, 최종 사용자 및 국부적 리소스 풀링(local resource pooing)에 대한 근접성을 보장하므로, 네트워크 지연을 감소시키며, 이는 예를 들어 "Review of implementing Fog computing", IJT: International Journal of Research in Engineering and Technology, Vol. 04, Issue 06, June 2015에서 Pranali More에 의해 보고된 바와 같다. 포그/에지 컴퓨팅은 데이터 또는 정보가 클라우드에 저장될 필요가 없는 한, 클라우드 컴퓨팅과 연관된 보안 및 프라이버시 문제 또는 우려 사항 중 일부를 해결한다. 그럼에도 불구하고, 포그/에지 컴퓨팅은 매우 비쌀 수 있으며, 게다가 클라우드 컴퓨팅의 모든 문제를 해결하지는 못하는 대형의 인프라스트럭처의 배치를 필요로 한다. 특히, 동일한 대역폭 및 컴퓨팅 이슈 또한 포그/에지 컴퓨팅에 존재한다. 이제는 네트워크 지연이 클라우드 컴퓨팅보다 더 낮을 수 있음은 사실이지만, 통신 채널의 대역폭은 산업 설비에서 생성되는 처리량에 충분하지 않을 수도 있다. 네트워크 클라우드가 산업 설비 전체에서 생성되는 데이터의 양을 어떻게든 처리할 수 있다면, 다시 이러한 데이터의 양은 기계의 임의의 비정상적인 동작을 검출하기 위하여 시간 내에 처리되어야 한다.
예로서, 도 2는 산업용 네트워크와 클라우드를 연결하는 요즘의 아키텍처(architecture)의 도식(scheme)을 나타낸다. 예를 들어, 그 각각이 산업 네트워크의 다른 예를 나타내는 네 개의 엔드 포인트(endpoints)가 표시된다: 풍력 발전기(wind turbine farm), 기관차, 공작 기계, 및 로봇을 사용하여 공작물(workpiece)에 부품을 삽입하기 위한 셀(cell). 각 엔드 포인트는 엔드 포인트에서 데이터를 수집(capture)하고, 수집한 데이터의 로컬 전처리(local pre-processing)를 수행하는 것을 담당하고 있는 가상 물리 생산 시스템(Cyber-Physical Production System, CPPS)에 연결된다. 종래 CPPS에 의해 수행되는 전처리의 예는 공간 절약을 위해 잘못된 데이터를 삭제하는 것과 단순한 샘플 변형(예를 들어 평균값, 중간값, 표준 편차, 예를 들어 고속 푸리에 변환(Fast Fourier Transforms, FFT)을 이용한 시간-영역(time-domain)의 주파수-영역(frequency-domain)으로의 영역 변경과 같은데 적용하는 신호 프로세싱)이다. 전처리된 데이터를 추가 저장 및 처리하기 위한 클라우드로 전송하기 위하여, CPPS 및 클라우드 간에 보안되는 통신이 제공된다. 많은 어플리케이션에서, 여러 CPPS는 서로, 예를 들어 이더넷 네트워크(Ethernet network)를 통해 연결될 필요가 있다. 현재 도시된 CPPS와 같이 동작하며, 이웃 장치에 연결 가능한 장치를 제공하는 몇몇 회사가 있다. 이러한 장치의 예는 TTTech에 의해 개발된 DESwitch Akro 6/0 TSN, SoCe에 의해 개발된 CPPS-Gate40, 그리고 eWON에 의해 개발된 eWON Flexy이다.
Armando Astarloa 등은 다중-센서 데이터를 수집하고 처리할 수 있는 스마트 노드(smart nodes), 및 1 마이크로초 미만(sub-microsecond)의 동기화를 지원할 수 있는 고가용성 링형 네트워크에 속한 노드로 구성되는, IEEE 1588 고가용성 프로토콜을 특징으로 하는 CPPS를 제안하였다("1588-aware High-Availability Cyber-Physical Production Systems," Precision Clock Synchronization for Measurement, Control, and Communication ( ISPCS ), 2015 IEEE International Symposium on, Beijing, 201 5, pp. 25-30). 네트워크는 극도로 까다로운 동기화 요구조건을 충족시킨다. 각각의 스마트 노드는 그것의 타임스탬핑(timestamping) 값과 결합된 대량의 센서 데이터를 클라우드의 서버로 전송하고, 그곳에서 데이터들이 처리되고 관리된다.
이러한 시스템의 문제점은 각 스마트 노트(CPPS) 내에서 생성되는 데이터의 양이 스마트 노드와 서버 간의 통신 링크가 예상대로 동작하지 못하게 할 수 있다는 것이다. 초당 수천 개(서브-밀리초(sub-millisecond) 당 샘플)의 변수로 표시되는 산업 설비의 예를 다시 참조하면, CPPS에서 이들 변수와 연관된 데이터를 전처리한 후에도, 서버는 산업 환경의 까다로운 시간 전제 조건 내에서 데이터를 처리할 수 없을 것이므로, 전반적인 장비 효율성 및 예방 정비를 개선하기 위한 서비스와 같은, 특정 스마트 서비스를 얻을 수 없다.
이러한 문제점은 클라우드로 전달되는 막대한 양의 데이터(도 1에 도시된 바와 같은, 센서로부터 얻을 수 있는 데이터를 포함)를 처리하기에 충분한 용량(capacity)을 제공하는 통신 채널과 스위치의 방대한 인프라스트럭처를 배치하고, 그리고 단시간에 데이터를 처리하고 데이터로부터 지식을 추출하는 것을 보장(이는 충분한 컴퓨터 자원(computational resource)을 항상 사용할 수 있어야 하고, 네트워크 지연이 낮고 안정적이어야 함을 의미)함으로써 해결될 수 있다. 그러나 장비 및 유지에 필요한 대규모의 경제적 투자 외에도, 산업 설비에 새로운 산업 기계가 추가될수록 채널 대역폭과 처리 능력의 요구 사항이 지속적으로 증가하므로, 이는 비용 효율적이지 않은 단기 솔루션일 뿐이며, 따라서 이 시스템은 확장할 수 없다.
본 발명에 기술되는 장치, 네트워크 및 시스템은 선행 기술의 스마트 장치 및 이의 네트워크의 단점을 해결하고자 한다. 장치, 네트워크 및 시스템은 산업 설비에서 적어도 하나의 기계의 작동을 감시하기 위한 장치, 네트워크 및 시스템이다. 본 발명의 장치, 네트워크, 및 시스템은 또한 예를 들어, 검출되거나 진단될 수 있는 임의의 오작동에 대응하기 위하여 적어도 하나의 기계 또는 이의 부품에 명령어(instruction) 또는 명령(command)을 제공함으로써, 적어도 하나의 장치의 작동을 예방하거나 또는 적어도 하나의 기계를 작동시킬 수 있다. 각 장치, 네트워크 및 시스템은 본 설명으로부터 명백해지는 바와 같은 비용 효율적인 방식으로, 전반적인 장비 효율 및 예방 정비를 개선하기 위한 서비스와 같은 스마트 서비스를 요구하는 산업 환경에서 특히 적용 가능하다.
본 발명의 맥락에서, "작동 감시(supervising operation)"라는 표현은 산업 설비에서 하나 이상의 기계의 수동적 감시(passive surveillance)뿐만 아니라 하나 이상의 기계에 대한 능동적 반응, 동작(actuation), 예방, 지시(prescription), 제어 및 관리 또한 포괄하여 광범위하게 해석되어야 한다.
본 발명의 맥락에서, 용어 "기계(machine)"는 임의의 기계, 기계류(machinary), 스테이션(station), 셀(cell), 부품(component) 또는 산업 환경의 기계, 기계류, 스테이션 또는 셀에 연결된 주변 장비를 말한다. 본원에서, 용어 "센서(sensor)"는 문자 그대로의 센서뿐만 아니라, 센서의 통합을 위해 장비에 의해 수집될 수 있는 센서 데이터를 포함하는 이들 기계에 의해 출력될 수 있는 임의의 데이터를 제공하는 PLC 및 CNC와 같은 복수의 센서를 통합하는 장비를 포함하도록 의도된다. 즉, "센서(sensors)"는 현장 데이터 획득 단계(stage)에 속하며, 임의의 현장 데이터 획득 수단을 포함한다. 본 발명의 맥락에서, 용어 "데이터(data)"는 해당 소스(예를 들어, 일반적으로 센서, PLC/CNC 또는 센서)에 의해 제공되는 원시 값(예컨대, 전압값 또는 다른 것)을 나타내는 반면, 용어 "정보(information)" 또한 데이터를 나타내지만 문맥화된 형태를 말한다. 예를 들어, 서미스터로부터 생성된 전압은 데이터(특히, 원시 데이터)이고, 전압 또한 이에 의미가 주어진다면(즉, 특정 전압에 대한 온도가 몇인지) 정보이다. 명백하게는, 용어 "데이터"는 또한 예를 들어, 비트(bits) 또는 바이트(bytes)의 형태로, 디지털화된 정보를 언급할 때 센서로부터 얻을 수 있는 샘플 또는 샘플 세트를 포함한다.
본 발명의 제1 양상은 산업 설비의 적어도 하나의 기계의 작동(operation)을 감시(supervision)하기 위한 또는 이러한 동작을 감시하고 이러한 감시에 기초하여 적어도 하나의 기계를 동작(actuating)시키기 위한 장치(device)에 관한 것이다. 장치는, 장치가 연결 가능한 기계로부터 획득 가능한 데이터로 제1 프로세싱 태스크를 실시간으로 계산하도록 구성되는 제1 프로세서를 포함하며, 제1 프로세싱 태스크는 제1 쿼리(query)를 해결하기 위한 것이다. 장치는, 장치가 연결 가능한 네트워크와 이의 처리 능력을 공유하고, 네트워크의 또 다른 장치(본 발명에서 서버 또는 마스터로서 나타냄)에 의해 할당될 때 제2 프로세싱 태스크의 적어도 하나의 스레드(thread)를 계산하도록 구성되는 제2 프로세서를 더 포함하며, 제2 프로세싱 태스크는 제2 쿼리를 해결하기 위한 것이다.
장치는 적어도 하나의 기계 또는 이의 적어도 하나의 부품의 동작에 관련된 쿼리를 해결할 수 있다. 바람직한 실시예에서, 장치가 연결 가능한 기계는 적어도 하나의 장치이다. 장치가 연결 가능한 네트워크는 바람직하게는 고성능 컴퓨팅 환경(context)에서의 컴퓨팅 클러스터(cluster) 네트워크이다.
본 발명의 제2 양상은 산업 설비의 적어도 하나의 기계의 작동을 감시하기 위한 또는 이러한 동작을 감시하고 이러한 감시에 기초하여 적어도 하나의 기계를 작동시키기 위한 시스템에 관한 것이다. 시스템은 서버 및 컴퓨팅 클러스터를 구성하는 복수의 장치를 포함하는 네트워크를 포함한다. 복수의 장치 중 적어도 일부는 본 발명의 제1 양상에 따른 장치이다. 이런 의미에서, 복수의 장치 중 적어도 일부의 각 장치는 산업 설비의 기계에 연결 가능하고: 장치가 연결 가능한 기계로부터 획득 가능한 데이터로 제1 프로세싱 태스크를 실시간으로 계산하도록 구성되는 제1 프로세서로서, 제1 쿼리를 해결하기 위한 것인 제1 프로세싱 태스크; 및 네트워크와 이의 처리 능력을 공유하고 서버에 의해 할당될 때 제2 프로세싱 태스크의 적어도 하나의 스레드를 계산하도록 구성되는 제2 프로세서로서, 제2 쿼리를 해결하기 위한 것인 제2 프로세서를 포함한다. 네트워크의 서버는 컴퓨팅 클러스터를 제어하도록, 제2 프로세싱 태스크를 복수의 스레드로 분할하도록; 그리고 복수의 장치의 적어도 일부 장치의 제2 프로세서에 적어도 하나의 스레드를 할당하도록 구성되는다. 이와 관련하여, 서버는 컴퓨팅 클러스터를 관리하도록, 제2 프로세싱 태스크를 복수의 스레드로 분할하도록, 그리고 복수의 장치의 적어도 일부 장치의 제2 프로세서에 적어도 하나의 스레드를 할당 및 전송하도록 구성되는 프로세서를 포함한다. 서버에 포함되는 프로세서는 또한 복수의 장치 중 적어도 일부 장치로부터 스레드의 출력을 수신하고; 제2 프로세싱 태스크를 계산하도록 스레드의 출력을 처리하고; 그리고 제2 쿼리에 대한 솔루션(solution)을 제공하도록 구성될 수 있다.
본 발명의 제3 양상은 복수의 기계; 및 복수의 기계 중 적어도 하나의 기계의 동작을 감시하기 위한 또는 이러한 동작을 감시하고 이러한 감시에 기초하여 적어도 하나의 기계를 작동시키기 위한 네트워크를 포함하는 산업 설비에 관한 것이며, 네트워크는 서버 및 컴퓨팅 클러스터를 구성하는 복수의 장치를 포함한다. 복수의 장치 중 적어도 일부 장치는 복수의 기계 중 하나의 기계에 연결 가능하고, 적어도 일부 장치의 각 장치는: 장치가 연결 가능한 기계로부터 획득 가능한 데이터로 실시간으로, 제1 쿼리를 해결하기 위한 제1 프로세싱 태스크를 계산하도록 구성되는 제1 프로세서; 및 네트워크와 이의 처리 능력을 공유하고 서버에 의해 할당될 때, 제2 쿼리를 해결하기 위한 제2 프로세싱 태스크의 적어도 하나의 스레드를 계산하도록 구성되는 제2 프로세서를 포함한다. 네트워크의 서버는 컴퓨팅 클러스터를 제어하고; 제2 프로세싱 태스크를 복수의 스레드로 분할하고; 그리고 복수의 장치 중 적어도 일부 장치의 제2 프로세서에 하나 이상의 스레드를 할당하도록 구성되는다. 서버는 또한 복수의 장치 중 적어도 일부 장치로부터 스레드의 출력을 수신하고; 제2 프로세싱 태스크를 계산하도록 스레드의 출력을 처리하고; 그리고 제2 쿼리에 대한 솔루션을 제공하도록 구성될 수 있다.
바람직한 실시예에서, 적어도 일부 장치는 복수의 장치의 각 장치를 포함한다. 또한, 이들 바람직한 실시예의 일부에서, 네트워크(산업 설비 또는 시스템의)의 복수의 장치의 각 장치는 본 발명의 제1 양상에 따른 장치이다.
장치는 실시간으로 기계로부터 데이터를 얻는 동안 실시간으로 쿼리를 해결할 수 있고, 즉, 예를 들어 중대한 사건이 발생하는 것을 방지하거나, 이미 발생한 중대한 사건이 산업 설비 또는 산업 설비 내의 작업자(operator)에 손상을 끼칠 수 있는 것을 방지하기 위해 실시간 또는 거의 실시간으로 반응할 수 있게 하며; 이러한 의미에서, 장치는 이러한 쿼리로부터 기계에 대한 명령(예를 들어, 부품의 파라미터 조정, 기계 끄기 등)을 도출할 수 있다. 장치는 또한 그것의 복잡성과 계산상의 부담으로 인해 실시간으로 해결될 수 없는, 그러나 컴퓨팅 클러스터 네트워크로 인해 공정 중 시간, 즉 산업 공정이 이루어지고 있는 동안(산업 설비의 기계의 처리) 해결될 수 있는 쿼리 해결에 기여하도록 컴퓨터 클러스터 네트워크 내에 통합될 수 있고, 그렇게 함으로써 공정 중 응답을 가능하게 한다. 쿼리는 산업 설비에서 적어도 하나의 기계(또는 기계의 적어도 하나의 부품)의 동작을 감시하기 위한 쿼리, 또는 적어도 하나의 기계/부품의 거동을 예방하거나 적어도 하나의 기계/부품을 작동시키기 위한 쿼리, 또는 그 응답(answer)이 검출되거나 진단되었을 수 있는 임의의 오작동에 대응하기 위한 또는 기계/부품에서 작동하기 위한 또는 기계/부품에서 임의의 작동을 규정하기 위한 장치를 제어하는 장치에 의해 또는 서버에 의해 사용되는 쿼리일 수 있다. 또한, 산업 설비로부터 데이터가 컴퓨팅 클러스터 네트워크 내에 저장될 수 있기 때문에, 장치는 또한 실시간 또는 공정 중 시간에 솔루션을 필요로 하지는 않지만, 특정 시간 범위에서 수행될 성능 저하, 가능한 실패 또는 잠재적 개선의 정보를 제공할 수 있는 쿼리 해결에 기여할 수 있다.
본 개시의 맥락에서, 용어 "실시간(real-time)"은 최소값 Vmin 및 100 ms(밀리초)의 상한값 사이에서 변화하는 범위, 예를 들어 최소값 Vmin 및 50 ms의 상한값 사이에서 변화하는 범위, 최소값 Vmin 및 5 ms의 상한값 사이에서 변화하는 범위, 또는 최소값 Vmin 및 1 ms의 상한값 사이에서 변화하는 범위 내에 포함된 시간을 나타낸다. 현재 기술을 고려하면, 최소값 Vmin은 예를 들어 그러나 이에 제한되지 않고, 1 μs(마이크로초)일 수 있다. 그럼에도 불구하고 당업자는 기술의 발전이 최소값 Vmin의 범위를 1 μs 미만의 최소값, 예컨대 500 ns의 최소값, 100 ns의 최소값, 20 ns의 최소값 또는 1 ns의 최소값으로 감소시킬 수 있음을 이해할 것이다.
본 개시의 맥락에서, 단일 장치 (바람직하게는 이에 연결 가능한 기계로부터 쿼리를 해결하는데 요구된 데이터를 얻는 장치)에 의해 실시간으로 해결될 수 있는 쿼리는 제1 쿼리로 나타내는 반면, 공정 중 시간 내에서 해결될 수 있는 쿼리는 제2 쿼리로 나타낸다.
제2 쿼리는 하나 또는 그 이상의 부분(즉, 스레드)으로 이를 분할하여 병렬화(parallelized)시킬 수 있는 그와 관련된 태스크를 가지며, 이는 제2 쿼리를 해결하기 위해 태스크의 하나 또는 그 이상의 스레드가 컴퓨팅 클러스터 네트워크의 다른 장치에 제공 및 할당될 수 있음을 의미한다. 이 스레드 각각은 분산된 방식으로 (예를 들어, 다른 장치에서) 계산될 수 있다. 장치의 제2 프로세서가 스레드를 계산할 때, 스레드의 결과는 쿼리가 해결되도록 동일한 태스크의 다른 스레드와 (예를 들어, 컴퓨팅 클러스터 네트워크의 서버에서 또는 장치에서) 통합될 수 있다. 태스크의 계산을 병렬화하여 쿼리를 해결하는데 소요되는 시간은 어떠한 병렬화 없이 이를 해결하는 것 보다 더 짧을 수 있다.
장치의 제2 프로세서는 제2 프로세싱 태스크의 적어도 하나의 스레드를 서버가 (장치가 연결 가능한 및/또는 장치가 연결되는 네트워크의) 이러한 스레드를 장치에 할당할 때 계산하도록 구성되는다. 서버의 스레드 할당은 네트워크를 구성하는 장치의 가능한 계산 능력을 고려하여 수행된다. 제2 프로세서가 대응하는 제2 프로세싱 태스크의 일부를 계산하여 제2 쿼리의 해결에 기여하기 때문에, 제2 프로세서는 이의 처리 능력을 장치가 연결 가능한 및/또는 장치가 연결되어 있는 컴퓨팅 클러스터 네트워크와 공유하도록 구성되는다. 컴퓨팅 클러스터 네트워크가, 예를 들어, 본 발명의 제1 양상의 장치의 형태로 노드를 갖는다면, 제2 프로세서의 처리 능력은 컴퓨팅 클러스터 네트워크 내의 유사 장치(alike device)의 제2 프로세서와 공유될 수 있다. 컴퓨팅 클러스터 네트워크가 바람직하게는 장치 및 서버가 있는 만큼 많은 노드를 포함함에도 불구하고, 컴퓨팅 클러스터 네트워크는 예를 들어 그러나 이에 제한되지 않고, 이더넷 스위치, 라우터, 데이터 저장 장치, 컴퓨팅 클러스터 네트워크와 처리 능력을 비공유하는 장치, 등의 형태로 노드를 더 포함할 수 있다.
동일한 장치에서 다중-센서 데이터 획득 및 국부 처리 능력(제1 프로세서에서) 그리고 분산된 처리 능력(제2 프로세서에서)의 통합은 기존의 피라미드를 대체하는 고가용성 데이터 처리를 위한 피라미드형 계산이라는 새로운 개념을 불러 일으킨다; 대량의 비즈니스 의사 결정(지식)이 클라우드에서 계속 저장 및 처리될 수 있고/거나 특정 정보(예를 들면, 품질 관리에서 산업 설비의 전반적인 뷰(global view)를 생성하기 위해 기계 인터페이스로부터 수집된 것과 같은 원시 데이터의 처리의 결과로서)가 포그/에지에서 계속 저장 및 처리될 수 있음에도, 새로운 계산 층이 개발되었고 정의되었다: 그라운드 컴퓨팅으로.
시스템의 서버에 관하여, 서버가 연결 가능하고/거나 연결되는 네트워크를 통한 네트워크에 연결하기 위한 수단(예를 들어 입력/출력 포트 또는 네트워크 인터페이스 제어기)을 더 포함한다. 서버 및 이의 프로세서는 컴퓨팅 클러스터 내 장치의 부하(load)를 밸런싱(balancing)함에 의해 컴퓨팅 클러스터의 성능을 최적화하도록 더 구성될 수 있다. 이런 의미로, 각 장치는 서버의 프로세서가 각 장치의 계산 부하를 알 수 있으므로, 따라서, 이의 계산 로드에 따라 장치에 임의의 스레드를 할당하도록, 이의 계산 부하에 관한 정보를 서버로 전송할 수 있다. 컴퓨팅 클러스터의 계산 능력은 따라서 최적화되고, 이는 일부 장치는 거의 유휴이지만 다른 장치는 그들의 계산 능력에 가깝게 태스크를 수행하기 때문이다. 네트워크의 처리 또는 계산 능력은 추가 장치가 산업 설비에 배치된 새로운 장치 및 기계로서 네트워크에 통합될 때 증가한다. 이는 데이터를 네트워크에서 가져올 필요가 없기 때문에 (데이터는 그라운드 레벨에 남아있음) 결과적으로 더 복잡한 쿼리를 해결할 수 있게 한다.
본 개시의 장치 및 시스템은, 센서 데이터(넓은 의미로 이미 특정된 센서, 및 샘플을 포함하는 데이터로 이해)가 먼저 얻어지고 그 다음 국부적으로 하나 또는 그 이상의 제1 쿼리를 해결하는데 사용되는 국부 계산 레벨, 그리고 하나 또는 그 이상의 제2 쿼리의 분산 해결이 있는 분산 계산 레벨에 의해 형성된 새로운 계산 도식을 제공할 수 있다. 이 새로운 계산 도식은 네트워크와 연관된 산업 설비 내에서 임의의 쿼리에 대한 응답 시간 그리고 쿼리를 해결하는 (그리고 이로부터 명령어를 유도하는) 반응 시간을 감소시킬 수 있다. 다시 말하면, 장치 및 컴퓨팅 클러스터 네트워크에서 작동하는 장치에 의해 수행되는 분산 컴퓨팅(고성능 컴퓨팅, 즉, HPC로 간주됨)은 산업 설비에 적용되는 예방 제어/감시로부터 기인한 전반적인 계산 성능이 증가한다. 따라서, 새로운 계산 층은 도 1의 현재의 피라미드형 계산 스택(190)에 첨가된다. 이 새로운 계산 층은 그라운드 컴퓨팅으로서 나타내고 네트워크의 각 장치의 제2 프로세서의 프로세싱을 포함한다. 다시 말하면, 그라운드 컴퓨팅은 그라운드 컴퓨팅 층 내 제2 쿼리를 해결하도록 네트워크에 포함된 장치에 의해 수행되는 고성능 컴퓨팅을 포함한다. 그라운드 컴퓨팅 층은, 본 명세서에서 이후 액체 컴퓨팅 층으로 나타내는 가장 낮은 층의 상에 형성되고, 이는 네트워크의 각 장치의 제2 프로세서 처리를 포함한다. 액체 컴퓨팅 층은 장치가 연결 가능한 기계로부터 얻을 수 있는 데이터로 실시간으로 제1 쿼리를 해결하는 태스크를 계산한다. 실시간으로 제1 쿼리를 해결하는 요구사항을 충족시키기 위해, 프로그램 작동이 가능한(programmable) 하드웨어/전자기기(eletronics)를 갖는 제1 프로세서가 유리하게 사용될 수 있다. 예를 들어, 그러나 이에 제한되지 않고, FPGA(즉, 필드-프로그램 가능 게이트 어레이(field programmable gate array))와 같은 현장 프로그램 가능 집적 회로(field programmable integrated circuit)가, 하드웨어 가속기로서 사용될 수 있다. 이는 제1 쿼리와 관련된 태스크의 계산을 1/1.5 GHz 및 1/0.8 GHz 사이, 즉, 0.67 ns(나노초) 및 1.25 ns 사이와 같은 처리 사이클 시간으로 가능하게 한다. 따라서, 기계 또는 이들의 부품의 감시는 실시간으로 달성될 수 있다.
게다가, 복잡한 산업 설비에서 생성된 다량의 데이터가 컴퓨팅 클러스터(이는 클라우드/포그 컴퓨팅 보다 기계에 가까움) 내에서 두 개의 상이한 층들에서 (실시간 처리를 요구하는 쿼리를 해결하고 그러므로 거의 실시간으로, 예를 들면 대략 밀리초로 이벤트에 반응하게 하는, 액체 컴퓨팅; 및 병렬 컴퓨팅이 없으면 빠른 반응에 불충분한 시간으로 해결될 쿼리를 해결하고, 그리고 또한 일부 경우에서, 필요하다면, 반응시간에 덜 까다로운 쿼리를 해결하여, 공정 중 즉, 처리가 수행되는데 소요되는 시간 동안 가능하게 하는, 그라운드 컴퓨팅) 처리되기 때문에, 에지/포그/클라우드 컴퓨팅(오프처리 반응, 즉, 처리를 수행하는데 소요되는 시간 보다 더 긴 시간으로 오프라인 처리될)을 수행하는 장비에 전달된 데이터량은 감소될 수 있다. 사실, 처리를 위해 클라우드/포그/에지로 전송되는 원시값이 필요하지 않으므로, 상이한 층 사이의 통신 인프라스트럭처는 낮은 용량 및/또는 높은 지연시간을 가질 수 있다. 대조적으로, 실질적으로 문맥화된 정보만이 에지/포그/클라우드에서의 추가적인 처리 또는 계산을 위해 컴퓨팅 클러스트(그라운드 컴퓨팅)를 떠난다. 기술한 새로운 계산 도식은 그러므로 존재하는 패러다임, 예컨대 클라우드 컴퓨팅 및 포그/에지 컴퓨팅과 공존할 수 있으나, 이는 정제 처리(즉, 분석 하에서 산업 시스템의 지식을 얻기 위한 고급 정보 처리)에 전념하게 된다.
본 발명의 일부 실시예에서, 제1 프로세싱 태스크는: 제1 쿼리를 해결하기 위해 데이터 집합을 형성하도록 제1 데이터를 전처리함을 포함한다. 즉, 장치의 제1 프로세서는 제1 쿼리를 해결하기 위해 데이터 집합을 형성하는 제1 데이터를 전처리하도록 더 구성되는다.
본 발명의 일부 실시예에서, 제1 프로세싱 태스크는: 데이터 집합을 형성하도록 제1 데이터를 전처리; 및 데이터 집합으로부터, 제1 쿼리를 해결하기 위해, 데이터의 부분 집합을 선택함을 포함한다. 즉, 장치의 제1 프로세서는 데이터 집합을 형성하도록 제1 데이터를 전처리, 그리고 데이터 집합으로부터, 제1 쿼리를 해결하기 위해 데이터의 부분 집합을 선택하도록 더 구성되는다.
장치는 필요한 데이터(일반적으로 센서 데이터)를 획득하고, 획득한 데이터를 전처리하여 데이터의 크기를 감소시키며, 전처리된 데이터(즉, 사이즈-감소된 데이터)를 사용하여 쿼리를 해결한다. 또한, 전처리된 데이터의 전체 또는 일부는, 포그 및/또는 클라우드 컴퓨팅으로, 추가적인 처리가 예를 들어 비즈니스-관련 쿼리 또는 작동에 제공될 수 있도록, 포그/클라우드 컴퓨팅에 전달될 수 있다.
본 발명의 일부 실시예에서, 장치의 제2 프로세서는 쿼리(병렬 컴퓨팅에 연결되지 않은 쿼리, 또한 이는 본 개시에서 제3 쿼리로서 나타냄)를 해결하기 위해 제3 프로세싱 태스크를 국부적으로 계산하도록 더 구성되고, 즉, 제2 프로세서는 병렬화 가능한 성질(nature)의 제2 쿼리에 관련된 태스크를 해결하는 것으로 제한되지 않는다.
이 실시예의 일부에서, 제3 프로세싱 태스크는 네트워크의 임의의 장치(서버 또는 동일한 장치 포함)로부터 획득 가능한 데이터를 쿼리(병렬 컴퓨팅에 연결되지 않은, 즉, 제3 쿼리)를 해결하기 위한 데이터 집합을 형성하도록 처리함을 포함한다; 즉, 장치의 제2 프로세서는 병렬 컴퓨팅에 연결되지 않은 쿼리를 해결하기 위해 데이터 집합을 형성하도록 네트워크의 임의의 장치로부터 획득 가능한 데이터를 처리하도록 더 구성되는다.
본 발명의 일부 실시예에서, 장치의 제1 프로세서는 제1 쿼리를 해결한 후 명령어를 유도하도록 더 구성되는다. 장치의 제1 프로세서는 장치에 연결 가능한 기계, 네트워크, 또는 복수의 장치 중 또 다른 장치(네트워크의)에 연결 가능한 기계 중 어느 하나에 명령어를 전송하도록 더 구성되는다. 일부 경우에, 제1 프로세서는 우선 제2 프로세서로 명령어를 전송할 수 있고, 이는 결과적으로 복수의 장치 중 또 다른 장치 및/또는 장치에 연결 가능한 기계로 명령어를 전송하도록 더 구성되는다.
본 발명의 일부 실시예에서, 장치의 제2 프로세서는 동일한 장치의 제1 프로세서로부터 수신 가능한 제1 쿼리에 대한 솔루션을 네트워크 또는 이의 서버로 제공하도록 더 구성되는다.
본 발명의 일부 실시예에서, 장치는 적어도 비휘발성 메모리, 예컨대 하드 디스크 드라이브(hard disk drive, HDD) 또는 바람직하게는 솔리드 스테이트 드라이브(solid-state drive, SDD)를 포함하는 데이터 저장 장치를 더 포함한다. 장치의 제2 프로세서는 비휘발성 메모리에서 데이터를 저장할 수 있고 이로부터 데이터를 회수할 수 있다; 예로서, 제2 프로세서는 통신 채널이 이용 가능한 비어있는(free) 대역폭을 갖지 않을 때 네트워크로 전송되어야 하는 임의의 데이터를 버퍼링할 수 있고, 그리고 데이터를 처리하기 전 네트워크로부터 수신된 임의의 데이터를 버퍼링할 수 있다.
본 발명의 일부 실시예에서, 제2 프로세서는 제2 프로세싱 태스크를 생성하기 위해 서버로 데이터를 전송하도록 더 구성되고, 서버로 전송된 데이터는 장치가 연결 가능한 기계로부터 획득 가능한 데이터 및/또는 제1 쿼리에 대한 솔루션이다.
본 발명의 일부 실시예에서, 시스템의 서버는 적어도 비휘발성 메모리를 포함하는 데이터 저장 장치를 포함하거나 이에 연결된다. 이 실시예에서, 네트워크의 장치 내 생성된 임의의 데이터는 서버의 비휘발성 메모리에 저장될 수 있다.
본 발명의 일부 실시예에서, 네트워크의 각 장치는 복수의 장치 중 다른 장치에 의해 수행된 데이터 획득(각각의 다른 장치가 연결 가능한 기계로부터)과 동기화된 데이터 획득(장치가 연결 가능한 기계로부터)을 수행하도록 구성되는다. 동기화되어(synchronously) 작동하기 위해, 네트워크의 각 장치는 네트워크를 통해 클럭을 동기화시키고 각 장치가 네트워크의 다른 장치와 같은 순간에 기계로부터 데이터를 획득하기 프로토콜(예를 들어, 제2 프로세서에서 또는 네트워크에 연결하기 위한 수단에서)을 구현한다. 예를 들어, 이 프로토콜은 정밀 시각 프로토콜(Precision Time Protocol, PTP)(IEEE 1588), 화이트 래빗(White Rabbit) 또는 시간 민감형 네트워크(Time Sensitive Network, TSN)일 수 있다. 특정 실시예에서, 각 장치는 바람직하게는 1 마이크로초 미만의 정밀도(sub-microsecond precision)로, 네트워크의 서버 및 다른 장치와 동기화를 위한 동기화된 타이머를 포함한다.
본 발명의 일부 실시예에서, 서버는 제1 프로세서 및 제2 프로세서를 포함한다. 일부 실시예에서, 서버는 본 발명의 제1 양상에 따른 장치이다.
일부 실시예에서, 서버는 복수의 장치 중 모든 장치 또는 적어도 일부 장치의 각 장치의 제2 프로세서에 의해 실행되는 제2 명령어 집합 구조(instruction set architecture)와는 상이한 제1 명령어 집합 구조를 실행하도록 구성되는 프로세서를 포함한다. 서버는 네트워크에(예를 들어, 컴퓨팅 클러스터 내 장치에) 연결 가능한 네트워크 인터페이스를 더 포함하고, 네트워크 인터페이스는 제1 명령어 집합 구조로부터 제2 명령어 집합 구조로 그리고 그 반대로 명령어를 변환하도록 구성되는다. 네트워크 인터페이스는 네트워크의 복수의 장치가 서버의 명령어 집합 구조와는 상이한 명령어 집합 구조를 실행함을 허용한다; 이는 서버가 x86과 같은 (유비쿼터스) 명령어 집합 구조를 실행하는 다른 장비(예를 들면, 포그 컴퓨팅 및/또는 클라우드 컴퓨팅에 대한 장비)에 서로 연결될 수 있기 때문에 유리하다. 그러므로, 네트워크에서 실행된 명령어 집합 구조에 개의치 않고, 서버는 네크워크 내에서 생성된 임의의 데이터를 네트워크 외부의 다른 장치에 대응하는 명령어 집합 구조의 명령어로(네트워크 인터페이스로) 변환하여 전달할 수 있다. 가능한 명령어 집합 구조의 비 제한적 예는 ARM, Arduino, Raspberry PI, x86, PowerPC, SoC 기기(System-on-Chip devices) 등이다.
본 발명의 일부 실시예에서, 장치의 제1 프로세서는 중앙 처리 유닛 또는 이의 적어도 하나의 코어, 그래픽 처리 유닛, 하드웨어 가속기로서 FPGA와 같은 필드-프로그램 가능 집적 회로(즉, 필드 프로그램 가능 게이트 어레이) 또는 내장 회로(예를 들어, 시스템-온-칩, 다중처리 시스템-온-칩) - 예를 들어, Xilinx의 Zynq, MPSoC-, 그리고 이들의 조합 중 하나를 포함한다. 본 발명의 일부 실시예에서, 장치의 제2 프로세서는 중앙 처리 유닛 또는 이의 적어도 하나의 코어, 그래픽 처리 유닛, FPGA와 같은 현장-프로그램 가능 집적 회로 또는 내장 회로(예를 들면, 시스템-온-칩, 다중처리 시스템-온-칩), 및 이들의 조합 중 하나를 포함한다. 본 발명의 일부 실시예에서, 장치는 다중-코어 중앙처리 유닛을 더 포함하고 제1 프로세서는 다중-코어 중앙처리 유닛의 적어도 하나의 코어를 포함하며, 그리고 제2 프로세서는 다중-코어 중앙처리 유닛의 또 다른 코어를 적어도 하나 포함한다.
본 발명의 실시예에서, 시스템의 네트워크는 외부 네트워크 또는 이의 서버로 하나 또는 일부 장치(네트워크의)의 제1 프로세서(액체 컴퓨팅) 및 제2 프로세서(그라운드 컴퓨팅)에서 이미 설명된 태스크 실행의 결과로서 획득할 수 있는 데이터를 전송하기 위한 네트워킹 장치(예를 들면, 라우터, 스위치 등)를 포함한다. 이런 의미로, 네트워크 내에 있는 데이터는 네트워크 외부의 컴퓨팅 장치, 예를 들어 포그 컴퓨팅 또는 클라우드 컴퓨팅을 수행하도록 구성되는 컴퓨팅 디바이스로 전송될 수 있다. 따라서, 액체 컴퓨팅 층 및 그라운드 컴퓨팅 층은 공존할 수 있고, 포그/클라우드 컴퓨팅과의 시너지를 향상시키고 이를 활용할 수 있다. 외부 네트워크는 클라우드 및/또는 포그에 있을 수 있다. 네트워킹 장치는 시스템의 네트워크의 서버에 연결될 수 있고, 이 경우 서버는 데이터를 네트워킹 장치를 통해 외부 네트워크로 전송한다
본 발명의 일부 실시예에서, 장치의 제2 프로세서는 제2 프로세싱 태스크의 적어도 하나의 스레드를 계산하는 처리 능력 중 일부에 할애(dedicate)하도록 구성되고, 즉 제2 프로세서의 처리 능력 중 일부는 HPC에 할애된다. 이 실시예에서, HPC에 할애되지 않은 제2 프로세서의 일부는 쿼리(병렬 컴퓨팅에 연결되지 않은)를 해결하는 것을 포함하는 제3 프로세싱 태스크를 국부적으로 계산하도록, 또는 제1 프로세서와 함께 장치에 의해 획득할 수 있는 샘플 및/또는 데이터를 전처리하도록 할애된다. 이러한 전처리는 특히 장치가 매우 짧은 시간 동안 매우 많은 양의 데이터를 수신하는 중요한 시스템에 적용될 수 있으므로, 데이터를 캡쳐하고 전처리하는데 비교적 많은 양의 로컬 리소스가 필요하다.
네트워크는 결정론적(deterministic)일 수 있고, 이는 네트워크 내에서 생성된 모든 데이터에는 데이터가 생성된 정확한 시간 순간(exact time instant)을 확인할 수 있게 하는 타임스탬프(timestamp)가 포함됨을 의미한다. 특정 실시예에서, 네트워크는 화이트 래빗과 같은, 이더넷형 실시간 결정론적 네트워크(Ethernet-type Real-Time deterministic network)일 수 있다. 대안적인 실시예에서, 네트워크는 일반적으로 산업 이더넷 네트워크에서 구현되어 있는 TSN 네트워크일 수 있다.
네트워크의 컴퓨팅 클러스터를 형성하는 각 장치의 제2 프로세서는 비동기적(asynchronously)으로 작동한다. 그러나 본 발명의 일부 실시예에서, 제2 프로세서는 컴퓨팅 클러스터 네트워크를 형성하는 다른 장치의 제2 프로세서에 대해 동기적으로 데이터를 처리한다.
장치가 IIoT에 적합함에도 불구하고 IP가 제공되지 않는 기계 및/또는 센서, 즉 IP 패킷(packets)을 생성하지 않는 기계 및/또는 센서의 연결을 지원할 수 있다. 그러므로, 장치는 IP, 또는 Modbus, PROFINET 또는 IO-링크 통신(IO-Link communication)과 같은 다른 프로토콜로 기계 및/또는 센서에 연결될 수 있다. 이 특징은 제조, 화학 및 발전, 수송 및 운송, 예를 들어 원자력 발전소, 풍력 발전소, 정유 공장, 천연가스 처리 공장, 화학 처리 공장 및 제조 생산 라인과 같은 광범위한 산업 설비에서 장치 배치를 가능하게 한다.
본 발명의 제4 양상은 산업 설비의 적어도 하나의 기계 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기초하여 적어도 하나의 기계를 기동시키기 위한 장치에 관한 것이다. 장치는 장치가 연결 가능한 기계로부터 획득 가능한 데이터를 이용하여 실시간으로 제1 프로세싱 태스크를 계산하도록 구성되는 제1 프로세서를 포함하며, 제1 프로세싱 태스크는 제1 쿼리를 해결하기 위한 것이다. 장치는 또 다른 쿼리를 해결하기 위해 제2 프로세싱 태스크를 국부적으로 계산하도록 구성되는 제2 프로세서를 더 포함한다.
장치는 제1 쿼리 및 또 다른 쿼리를 국부적으로 제2 프로세서 및 제2 프로세서로 각각 해결할 수 있고, 다시 말하면, 프로세서에 의해 계산된 제1 태스크, 제2 태스크 둘 다 병렬 컴퓨팅에 연결되지 않는다.
본 발명의 제4 양상의 장치는 네트워크를 형성하기 위해 (다른) 유사 장치에 연결 가능할 수 있다. 장치는 네트워크를 통해 서로 데이터를 교환하도록 구성될 수 있다. 네트워크는 서버를 포함할 수 있다. 서버 및 적어도 일부 장치는 컴퓨팅 클러스터를 형성할 수 있다.
일부 실시예에서, 제1 프로세싱 태스크 및/또는 제2 프로세싱 태스크는 네트워크의 임의의 장치(서버 또는 동일한 장치를 포함)로부터 획득 가능한 데이터를 제1 쿼리 및/또는 또 다른 쿼리를 해결하기 위해 데이터 집합을 형성하도록 처리함을 포함한다. 다시 말하면, 제1 프로세서 및 제2 프로세서는 모두 쿼리(병렬 컴퓨팅에 연결되지 않은)를 해결하기 위해 데이터 집합을 형성하도록 네트워크의 임의의 장치로부터 획득 가능한 데이터를 처리하도록 구성되는다.
장치는 적어도 하나의 기계 또는 이의 적어도 하나의 구성 요소의 작동에 관련된 쿼리를 해결할 수 있고, 이런 의미에서 제1 쿼리 및 또 다른 쿼리는 적어도 하나의 기계 또는 이의 적어도 하나의 부품의 작동에 관련될 수 있다.
본 발명의 제5 양상은 산업 설비의 적어도 하나의 기계의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계를 동작시키기 위한 시스템에 관한 것이다. 시스템은 복수의 장치를 포함하는 네트워크를 포함한다. 복수의 장치 중 적어도 일부 장치는 본 발명의 제4 양상에 따른 장치이다. 복수의 장치 중 적어도 일부 장치의 각 장치는 산업 설비의 기계에 연결 가능하고: 장치가 연결 가능한 기계로부터 획득 가능한 데이터로 실시간으로 제1 프로세싱 태스크를 계산하도록 구성되는 제1 프로세서로서, 제1 프로세싱 태스크는 제1 쿼리를 해결하기 위한 것인, 제1 프로세서; 및 또 다른 쿼리를 해결하기 위해 제2 프로세싱 태스크를 국부적으로 계산하도록 구성되는 제2 프로세서(다시 말하면, 제2 프로세싱 태스크는 병렬 컴퓨팅에 연결되지 않음)를 포함한다.
본 발명의 제6 양상은 복수의 기계; 및 복수의 기계 중 적어도 하나의 기계의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계를 동작시키기 위한 네트워크를 포함하는 산업 설비에 관한 것이다. 네트워크는 복수의 장치를 포함한다. 복수의 장치 중 적어도 일부 장치는 본 발명의 제4 양상에 따른 장치이다. 복수의 장치 중 적어도 일부 장치의 각 장치는 산업 설비의 기계에 연결 가능하고: 장치가 연결 가능한 기계로부터 획득 가능한 데이터로 실시간으로 제1 프로세싱 태스크를 계산하도록 구성되는 제1 프로세서로서, 제1 프로세싱 태스크는 제1 쿼리를 해결하기 위한 것인, 제1 프로세서; 및 또 다른 쿼리를 해결하기 위해 제2 프로세싱 태스크를 국부적으로 계산하도록 구성되는 제2 프로세서(다시 말하면, 제2 프로세싱 태스크는 병렬 컴퓨팅에 연결되지 않음)를 포함한다.
본 발명의 일부 실시예에서, 장치의 제2 프로세서는 장치가 연결 가능한 네트워크와 이의 처리 능력을 공유하도록, 그리고 네트워크의 또 다른 장치(즉, 서버)에 의해 할당될 때 제3 프로세싱 태스크의 적어도 하나의 스레드를 계산하도록 구성되고, 제3 프로세싱 태스크는 제2 쿼리를 해결하기 위한 것이다. 이 실시예에서, 네트워크는 복수의 장치 중 적어도 일부 장치와 함께 컴퓨팅 클러스터를 형성한다. 네트워크는 컴퓨팅 클러스터를 제어; 제3 프로세싱 태스크를 복수의 스레드로 분할; 그리고 복수의 스레드 중 하나 또는 그 이상의 스레드를 복수의 장치 중 적어도 일부 장치의 제2 프로세서로 할당하도록 구성되는 서버를 더 포함한다. 이와 관련해서, 서버는 컴퓨팅 클러스터를 관리하도록, 제3 프로세싱 태스크를 복수의 스레드로 분할하도록, 그리고 복수의 장치 중 적어도 일부 장치의 제2 프로세서로 적어도 하나의 스레드를 전송하도록 구성되는 프로세서를 포함한다.
본 발명의 제7 양상은 센서를 갖는 산업 어플리케이션 기계 하나 또는 그 이상을 감시하고 제어하기 위한 장치에 관한 것이고, 장치는: 다른 유사 장치에 연결을 위한 입력/출력 포트; 기계로부터 다중-센서 데이터를 수신하도록 산업 어플리케이션 기계에 연결된 센서 인터페이스를 갖는 데이터 획득 블록; 적어도 하나의 메모리; 다중-센서 데이터를 수신하고 장치가 연결되는 기계의 작동에 관련된 제1 쿼리를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하도록 데이터를 사용하는 제1 프로세서; 및 유사 장치로 구성되는, 장치가 연결되는, 컴퓨팅 클러스터 네트워크와 이의 처리 능력을 공유하고, 네트워크의 장치에 의해, 제2 쿼리를 해결하기 위해 제2 프로세싱 태스크의 적어도 하나의 스레드를 계산하는 제2 프로세서를 포함한다.
본 발명의 일부 실시예에서, 제2 프로세서는 제2 쿼리를 해결하기 위해 네트워크의 장치로 제2 프로세싱 태스크의 솔루션을 보낸다.
본 발명의 일부 실시예에서, 제1 프로세서는 제1 쿼리에 대한 솔루션을 제2 프로세서로 제공하고/거나 제1 쿼리에 대한 솔루션으로부터 제1 명령어를 유도하고 연결된 기계에 제1 명령어를 제공한다.
본 발명의 일부 실시예에서, 제1 프로세서는 컴퓨팅 클러스터 네트워크 또는 제2 프로세서로부터 제2 명령어를 더 수신하고, 이것이 연결되는 기계에 제2 명령어를 제공한다.
본 발명의 제8 측면은 센서를 갖고, 복수의 분리된 컴퓨팅 디바이스를 사용하는 산업 어플리케이션 기계 하나 또는 그 이상을 감시하고 제어하기 위한 시스템에 관한 것이고, 시스템은: 컴퓨팅 클러스터를 구성하는 복수의 장치와 통신하기 위해 연결된 서버로서, 서버는 복수의 장치의 작동을 제어하는, 서버; 다른 유사 장치로의 연결을 위해 입력/출력 포트를 갖는 각각의 장치; 기계로부터 다중-센서 데이터를 수신하기 위해 기계에 연결된 센서 인터페이스를 갖는 데이터 획득 블록을 갖는 각각의 장치; 적어도 하나의 메모리를 갖는 각각의 장치; 다중-센서 데이터를 수신하고 장치가 연결된 기계의 작동에 관련된 제1 쿼리를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하도록 데이터를 사용하는 제1 프로세서를 갖는 각각의 장치; 제2 쿼리를 해결하기 위해 제2 프로세싱 태스크를 스레드로 분할하고 스레드를 제2 프로세싱 태스크의 협력 컴퓨팅(cooperative computing)을 위한 장치에 할당하여 제2 쿼리를 해결하기 위한 적어도 하나의 프로세서 및 적어도 하나의 메모리를 갖는 서버; 및 컴퓨팅 클러스터와 이의 처리 능력을 공유하고, 서버에 의해 할당된 적어도 하나의 스레드를 계산하고 제2 쿼리를 해결하기 위해 이의 솔루션을 서버로 보내는 제2 프로세서를 갖는 각각의 장치를 포함한다.
본 발명의 일부 실시예에서, 각 장치의 제1 프로세서는 제1 쿼리에 대한 솔루션을 동일한 장치의 제2 프로세서로 제공하고/거나 제1 쿼리에 대한 솔루션으로부터 제1 명령어를 유도하고 제1 명령어를 이가 연결된 기계에 제공한다.
본 발명의 일부 실시예에서, 서버의 적어도 하나의 프로세서는 제2 쿼리에 대한 솔루션으로부터 제2 명령어를 유도하고 제2 명령어를 상기 기계에 연결된 장치를 통해 기계로 제공한다.
본 발명의 일부 실시예에서, 서버의 적어도 하나의 프로세서는 추가로 장치로부터 스레드 출력을 수신하고, 제2 프로세싱 태스크를 계산하도록 출력을 처리하며, 제2 쿼리에 대한 솔루션을 제공한다.
본 발명의 제9 측면은 센서를 갖고, 복수의 분리된 컴퓨팅 장치를 사용하는 산업 어플리케이션 기계 하나 또는 그 이상을 감시하고 제어하기 위한 시스템에 관한 것이고, 시스템은: 컴퓨팅 클러스터를 구성하는 복수의 장치와 통신하도록 연결된 서버로서, 서버는 장치의 작동을 제어하는, 서버; 다른 유사 장치에 연결하기 위한 입력/출력 포트를 갖는 각각의 장치; 기계로부터 다중-센서 데이터를 수신하기 위해 기계에 연결된 센서 인터페이스를 갖는 데이터 획득 블록을 갖는 각각의 장치; 적어도 하나의 메모리를 갖는 각각의 장치; 다중-센서 데이터를 수신하고 장치가 연결된 기계의 작동에 관한 제1 쿼리를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하도록 데이터를 사용하는 제1 프로세서를 갖는 각각의 장치; 제2 쿼리를 해결하기 위해 제2 프로세싱 태스크를 스레드로 분할하고 스레드를 제2 프로세싱 태스크의 협력 컴퓨팅을 위해 복수의 장치 중 일부 장치에 할당하여 제2 쿼리를 해결하기 위한 적어도 하나의 프로세서 및 적어도 하나의 메모리를 갖는 서버; 및 컴퓨팅 클러스터와 이의 처리 능력을 공유하고, 서버에 의해 할당된 적어도 하나의 스레드를 계산하고 제2 쿼리를 해결하기 위해 이의 솔루션을 서버로 보내는 제2 프로세서를 갖는 각각의 장치를 포함한다.
본 발명의 일부 실시예에서, 각각의 장치의 제1 프로세서는 제1 쿼리에 대한 솔루션으로부터 제1 명령어를 유도하고 제1 명령어를 이가 연결된 기계에 제공한다.
본 발명의 일부 실시예에서, 서버의 적어도 하나의 프로세서는 제2 쿼리에 대한 솔루션으로부터 제2 명령어를 유도하고 제2 명령어를 상기 기계에 연결된 장치를 통해 기계로 제공한다.
본 발명의 일부 실시예에서, 서버의 적어도 하나의 프로세서는 추가로 장치로부터 하나 또는 그 이상의 스레드 출력을 수신하고, 제2 프로세싱 태스크를 계산하기 위해 출력을 처리하며, 제2 쿼리에 대한 솔루션을 제공한다.
본 발명의 제10 측면은 컴퓨팅 클러스터를 구성하는 복수의 장치와 서버를 포함하는 네트워크에 의해, 산업 설비의 적어도 하나의 기계의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계를 동작시키기 위한 방법에 관한 것으로, 여기서 복수의 장치 중 적어도 일부 장치는 산업 설비의 기계에 연결 가능하고, 방법은: 적어도 일부 장치의 각 장치, 장치가 연결 가능한 기계로부터 센서 데이터를 획득하는 단계; 적어도 일부 장치의 각 장치의 제1 프로세서에서, 획득한 데이터로 제1 쿼리를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하는 단계; 적어도 일부 장치의 각 장치, 서버에 의해 할당될 때 제2 쿼리를 해결하기 위해 제2 프로세싱 태스크의 적어도 하나의 스레드를 수신하는 단계; 적어도 일부 장치의 각 장치의 제2 프로세서에서, 수신한 적어도 하나의 스레드를 계산하는 단계로서, 제2 프로세서는 네트워크와 이의 처리 능력을 공유하도록 구성되는 것인, 단계; 서버에서, 컴퓨팅 클러스터를 제어, 제2 프로세싱 태스크를 복수의 스레드로 분할, 그리고 복수의 스레드 중 하나 또는 그 이상을 복수의 장치 중 적어도 일부 장치의 제2 프로세서로 할당하는 단계를 포함한다.
본 발명의 일부 실시예에서, 적어도 일부 장치는 복수의 장치의 각 장치를 포함한다.
본 발명의 일부 실시예에서, 제1 프로세싱 태스크를 계산하는 단계는: 데이터 집합을 구성하도록 데이터를 전처리함, 그리고 제1 쿼리를 해결하기 위해 데이터 집합으로부터, 데이터의 부분 집합을 선택함; 또는 제1 쿼리를 해결하기 위해 데이터 집합을 구성하도록 데이터를 전처리함을 포함한다.
본 발명의 일부 실시예에서, 방법은: 제1 프로세서에서, 제1 쿼리를 해결한 후 명령어를 유도하는 단계, 및 동일한 장치 또는 장치에 연결 가능한 기계의 제2 프로세서로 명령어를 전송하는 단계를 더 포함한다.
본 발명의 일부 실시예에서, 방법은, 제2 프로세서에서, 쿼리를 해결하기 위해 제3 프로세싱 태스크를 국부적으로 계산하는 단계를 더 포함한다. 본 발명의 일부 실시예에서, 제3 프로세싱 태스크를 계산하는 단계는 서버 또는 복수의 장치 중 임의의 장치로부터 획득 가능한 데이터를 쿼리를 해결하기 위해 데이터 집합을 구성하도록 처리함을 포함한다.
본 발명의 일부 실시예에서, 방법은, 서버에서: 복수의 장치 중 적어도 일부 장치로부터 하나 또는 그 이상의 스레드 출력을 수신하는 단계; 제2 프로세싱 태스크를 계산하기 위해 출력을 처리하는 단계; 및 제2 쿼리에 대한 솔루션을 제공하는 단계를 더 포함한다.
본 발명의 일부 실시예에서, 적어도 일부 장치의 각 장치는, 장치가 연결 가능한 기계로부터 데이터 획득을 수행하고, 적어도 일부 장치의 다른 장치에 의해, 다른 장치 각각이 연결 가능한 기계로부터, 수행된 데이터 획득과 동기화된다.
본 발명의 일부 실시예에서, 방법은, 네트워킹 장치에 의해, 네트워크 내의 데이터를 네트워크 외부의 컴퓨팅 장치로 전송하는 단계를 더 포함한다.
또한, 본 발명의 제1, 제2 및 제3 측면에서 기술한 바와 같은 유사한 장점이 본 발명의 제4, 제5 및 제6 측면에도 적용될 수 있다.
설명을 완성하고 본 발명의 더 나은 이해를 제공하기 위해, 일련의 도면이 제공된다. 상기 도면은 본 발명의 설명의 필수적인 부분(integral part)을 구성하고 본 발명의 실시예를 도시하며, 이는 본 발명의 범위를 제한하는 것으로서 이해되지 않아야 하되, 단지 본 발명이 어떻게 수행될 수 있는지의 예로서 이해되어야 한다. 도면은 하기 도를 포함한다:
도 1은 종래 기술에 따라 어떻게 데이터가 IoT 및/또는 IIoT-기반 산업용 네트워크에서 처리되는지의 패러다임을 도시하는 피라미드 모델을 나타낸다.
도 2는 산업 설비의 감시를 위한 종래 기술의 아키텍처의 도식을 나타낸다.
도 3은 본 발명의 실시예에 따라 복수의 노드로 구성되는 시스템을 개략적으로(schematically) 나타낸다.
도 4 및 5는 본 발명의 다른 실시예에 따라 복수의 노드로 구성되는 시스템을, 각각의 네트워크를 구성하는 노드가 연결된 기계, 그리고 또한 각각의 네트워크와 클라우드/포그의 상호연결과 함께 개략적으로 나타낸다.
도 6a는 본 개시의 장치가 연결 가능한 산업 설비의 기계의 도식을 도시한다. 도 6b는 기업의 범세계적인 산업 인프라스트럭처의 도식을 도시한다; 인프라스트럭처는 기존 클라우드/포그 시설과 협력하여 본 발명의 개시의 시스템 및 장치에 의해 제어될 수 있다.
도 7a는 본 발명의 실시예에 따른 장치의 프로세서 및 인터페이스를 개략적으로 나타내고, 도 7b는 장치가 이의 작동을 위해 제공할 수 있는 몇몇 기능을 개략적으로 나타낸다.
도 8은 본 발명의 실시예에 따른 장치에 의해, 국부적으로 또는 다른 장치와 병렬하여, 해결 가능한 쿼리를 도식으로(diagrammatically) 도시한다.
도 9a는 도 1과 유사하지만 어떻게 데이터가 본 발명의 실시예에 따른 시스템으로 처리될 수 있는지의 패러다임을 도시하는 피라미드 모델을 나타낸다. 도 9b는 액체 컴퓨팅, 그라운드 컴퓨팅, 포그 컴퓨팅 및 클라우드 컴퓨팅을 갖는 계산 피라미드를 나타낸다.
도 10은 어떻게 시스템이 산업 설비의 기계의 작동을 감시할 수 있는지의 예를 도식으로 나타낸다.
도 11은 어떻게 시스템이 산업 설비의 기계의 작동을 감시할 수 있는지의 또 다른 예를 도식으로 나타낸다.
도 12는 작동이 본 발명의 실시예에 따른 장치 및/또는 시스템으로 감시될 수 있는 회전 부품을 도시한다.
도 3 내지 5는 본 발명에 따른 네트워크를 구성하는 시스템의 다른 실시예를 나타내고 이는 특히 산업 설비의 하나 또는 그 이상의 기계의 거동, 작동 및/또는 성능을 감시하고 분석하는데 적합할 수 있으며 궁극적으로 하나 또는 그 이상의 기계를 동작시키는데 그리고 이의 거동, 작동 및/또는 성능을 예측하고 이러한 거동, 작동 및/또는 성능에 대한 반응을 지시하는데 적합할 수 있다.
네트워크는 복수의 장치와 네트워크 및 이의 장치를 제어하는 서버를 포함한다. 본 개시를 따르면, 장치 및 서버는 또한 네트워크의 노드로서 나타낸다. 제한 없이, 산업 설비는 하기 현장 중 하나에 속할 수 있다: 자동차 산업, 항만 및 항공 우주를 포함하는, 운송수단 산업, 항공 교통 관제 산업, 에너지 산업, 의료장비 산업, 사이버-방어 산업 및 기타 목적-제조 산업, 기타. 본 개시의 맥락에서, 산업 설비의 기계는 산업 공정을 수행하는데 사용된 임의의 장치 또는 기계를 나타낸다.
도 3에서, 시스템은 네트워크(100) 결과적으로 컴퓨팅 클러스터로 구성되는 복수의 장치(21-26)와 서버(10)를 포함한다. 각 장치(21-26)는, 추후 기술되는 바와 같은, 제1 프로세서 및 제2 프로세서를 갖고 산업 설비의 기계(또는 부품) (인터페이스 또는 입력/출력 포트(29)를 통해) 및 네트워크(100)와 같은 네트워크(인터페이스 또는 입력/출력 포트(28)를 통해) 둘 다에 연결 가능하다. 도시된 네트워크(100)는 링-토폴로지(ring-topology)에서 구현되었지만, 컴퓨팅 클러스터 구성을 허용하는 임의의 다른 토폴로지, 예컨대 스타형 토폴로지 또한 가능하다. 산업 설비의 속성으로 인해, 그러나, 링 토폴로지의 사용이 네트워크가 두 개의 인접한 노드 사이의 통신 링크가 고장난 후에도 완전히 동작하기 때문에 매우 편리할 수 있다; 동일한 이유로, 이 토폴로지는 새로운 기계가 산업 설비에 추가될 때, 두 개의 인접한 노드가 그 사이에 추가 장치가 첨가될 수 있도록 서로 분리될 수 있기 때문에 네트워크 케이블링을 용이하게 한다. 유사하게, 시스템은 확장 가능하고 이의 처리 능력은 네트워크의 장치 수에 의존하기 때문에, 산업설비에 새로운 기계가 통합되지 않아도 장치의 형태로 네트워크에 노드를 더 추가하는 것이 편리할 수 있다. 장치(21-26)는, 링크(110)와 상호연결된 것처럼, 서버(10)에 의해 관리되는 컴퓨팅 클러스터를 구성한다. 서버(10)는 후술될 것과 같이, 고성능 컴퓨팅을 위해 적어도 일부 장치(21-26)에 계산될 태스크의 스레드를 할당하도록 구성되는다. 링크(110)는 바람직하게는 광섬유를 포함한다. 서버(10)는 장치(21-26)와 같은 장치를 포함할 수 있거나, 예를 들어 향상된 또는 더 강력한 프로세싱 리소스를 갖는, 상이한 장치를 포함할 수 있다.
도 4에 관하여, 장치(21-26) 각각은 기계(121-125)(예를 들어 도 4에서 나타낸 바와 같은) 하나 또는 그 이상에 하나 또는 그 이상의 인터페이스(29)를 통해 연결 가능하다. 장치 및 기계 사이의 연결은 직접 연결 또는 간접 연결(즉, 장치 상호 연결에 의하여, 예컨대 이더넷 스위치)될 수 있다; 또한, 이 연결은 유선 또는 무선일 수 있다. 장치는 기계에, 이로부터 다중-센서 데이터를 수신하거나 획득할 수 있도록, 예를 들어 센서에 의해, 및/또는 기계를 동작시킬 수 있는 PLC 또는 CNC와 같은 제어 장치(즉, 제어기)에 의하여, 연결될 수 있다. 이런 의미에서, 장치가 기계에 직접적으로 또는 간접적으로 연결 가능하기 때문에, 장치가 기계에 연결되어 있으면 장치는 필요할 시(예를 들면, 부품 파라미터의 조정을 위해, 기계를 끄기 위해, 등) 기계에 데이터를 보낼 수도 있다.
각 기계가 다른 양의 데이터를 생성하기 때문에(샘플을 포과하는 것과 같이 이해), 일부 실시예에서 생성하는 데이터량에 대응하기 위해 하나 이상의 장치가 기계에 연결 가능할 필요가 있을 수 있다. 이는 도 4 및 5에서 도시되고, 여기서 개별 네트워크(101, 102)의 장치(25, 26)가 기계(125)에 연결되는 반면, 네트워크(101, 102)의 잔여 장치(21-24) 각각은 개별적으로 기계(121-124) 중 하나에 연결된다. 장치(21-26) 및 네트워크(100), 그리고 유사하게 장치(21-27) 및 개별 네트워크(101, 102)가 네트워크(100-102)와 연관된 기계에서의 잠재적/실제 오작동 또는 임의의 조사(enquiry)에 대한 반응 시간을 감소시키도록 관리하기 때문에, 네트워크(100-102)는 특히 기계 고장의 결과가 예를 들어 큰 경제적 손실일 수 있는 산업 어플리케이션에 특히 유용하다.
도 4 및 5에서 도시한 실시예에서 나타낸 바와 같이, 네트워크(101, 102)는 클라우드 및/또는 포그/에지(150)와 통신을 허용하는 시스템의 네크워킹 장치(200)(예를 들면, 이더넷 모뎀/라우터)를 통해 클라우드 및/또는 포그/에지(150)에 연결될 수 있다. 이러한 클라우드 및/또는 포그에 대한 연결은 또한 도 3의 시스템에서 구현될 수 있다(본 명세서에서 도시되지 않음). 특히, 도 4에서, 서버(11)는 통신 링크(18)를 통해 장치(27)에 연결되고, 그 다음 서버(11)는 네크워킹 장치(200)에 연결된다. 장치(27)는 또한 네트워크(101)의 일부를 구성한다. 따라서 서버(11)는 또한 네트워크(101)가 네트워크(101) 외부의 다른 네트워크, 예컨대 클라우드 또는 포그/에지 컴퓨팅을 위한 네트워크(150)로의 연결을 가능하게 하는 게이트웨이로서 동작할 수 있다.
대안적으로, 도 5에서 나타낸 바와 같이, 서버(12)는 네트워크 인터페이스(19)를 포함하고 이를 통해 장치(27)에, 고로, 네트워크(102)에 연결 가능하다. 서버(12)의 처리 용량(processing capacity)은 네트워크(102)의 고성능 컴퓨팅 기능에 추가될 수 있다. 장치(21-27)의 프로세서(예를 들면, 이들의 제2 프로세서)는 서버(12)에 의해 실행되는 명령어 집합 구조와 상이한 명령어 집합 구조를 실행할 수 있다. 이 경우일 때, 네트워크 인터페이스(19)는 제1 명령어 집합 구조로부터 제2 명령어 집합 구조로 그리고 그 반대로 명령어를 변환하도록 구성될 수 있다. 서버(12)는 네트워크(102)가 클라우드 및/또는 포그/에지(150)와 통신할 수 있도록 네크워킹 장치(200)에 연결된다.
도 3-5에서 도시한 임의의 실시예에서 서버(10, 11, 12)는 데이터 저장 수단(15)을 포함할 수 있다. 데이터 저장 수단(15)은 바람직하게는 비휘발성 메모리 수단, 예컨대 하드 디스크 드라이드(HDD) 또는 솔리드 스테이트 드라이브(SDD)이다. 데이터 저장 수단(15)은 쿼리, 태스크 및 스레드와 연관된 데이터를 포함하는, 임의의 데이터를 저장할 수 있다.
도 6a는 기능 블록의 형태로 어떻게 부품을 기계가공하기 위한 예시적 기계(500)의 상이한 유닛/서브시스템이 상호관련 되는지 그리고 어떻게 그들이 서브시스템/유닛에서 생성된 데이터/샘플/정보를 공유하기 위한 장치에 연결 가능한지에 대한 도식을 나타낸다. 기계(500) 개요도는 자동차 산업 분야의 전형적인 기계이나, 유사한 기능 블록은 상이한 분야의 다른 기계를 나타낼 수 있다.
이 예의 기계(500)는 하기 유닛, 서브시스템, 및/또는 부품으로 구성되는다:
기계가공 유닛(511): 이의 기능은 기계 가공을 위한 도구가 요구되는 성능(품질, 생산 속도 ...)으로 기계가공 태스크를 수행하는데 충분한 힘 및 토크(torque), 정확성을 가짐을 보장하는 것이다. 이러한 목적을 위해, 기계가공 유닛(511)은 4개의 서보-제어 축(servo-controlled axes)을 갖는다: 공간에서 도구의 선형 움직임을 위한 X, Y 및 Z 축과 도구의 회전을 제어하기 위한 S축. 각 축은 모터에 의해 구동되고 CNC(581)(일반적으로 PLC/CNC 블록(516)으로 포함됨)에 의해 제어된다. CNC 버스(501)는 모터를 CNC(581)와 소통하고, 모터의 상태에 관련된 고품질의 정보를 공유하며(전력 소비, 온도, 명령받은 궤도, 등) 그리고 높은 정확성으로 움직임을 제어할 수 있는 센서(561-564)(각 축에 대한 하나)를 읽는다(엔코더(encoders), 온도 센서, 등). 게다가, 필드버스(502)에 연결된 I/O 모듈(521)은 추가 센서(531)(가속도계(accelerometers), 유도 스위치(inductive switches), 압력 스위치, 등)를 네트(net)에 연결 및 기계가공 유닛(511)의 다른 액츄에어터(541)(균형추 실린더(counterweight cylinder), 등)를 명령하게 한다.
클램핑(clamping) 유닛(512): 이 유닛(512)은 가공될 부품을 죔쇠로 고정한다(clamps). 이는 부품을 정확히 위치시키고 기계가공 공정에서 생성된 절단력을 흡수할 수 있어야만 한다. 부품을 고정하는 메카니즘에 사용되는 액츄에이터는 센서(532)(제한 스위치, 아날로그 위치 제어 스위치(analogue position control switches), 등)에 의해 명령받고 제어되어야만 한다. 센서(532) 및 액츄에이터(542)는 필드버스(502)에 연결된 I/O 모듈(522)에 연결된다.
유압/공압(hydraulic/pneumatic) 유닛(513): 기계(500)의 많은 메카니즘이 유압/공압 실린더에 의해 작동된다. 이 유닛(513)은 메카니즘에 적절한 플로우(flow) 및 압력을 제공한다. 일부 센서(533)(압력, 플로우, 온도, 레벨, 등.)는 솔레노이드 밸브(solenoid valves)(543)가 회로를 관리하는 동안 기능이 적절히 수행되는 것을 제어한다. 센서(533) 및 밸브(543)는 필드버스(502)에 연결된 I/O 모듈(523)에 연결된다.
냉각(cooling) 유닛(514): 냉각 유닛(514)은 냉각될 필요가 있는 기계(500)의 시스템에 냉각 유체를 제공한다. 기능이 적절히 수행되는지를 제어하는 일부 센서(534)가 있다. 유압 유닛(513)과 유사하게, 일부 밸브(544)가 회로를 관리한다. 센서(534) 및 밸브(544)는 I/O 모듈(524)에 연결되고, 이는 필드버스(502)에 연결된다.
로드/언로드(load/unload) 유닛(515): 기계(500)에서 자동적으로 처리될 부품을 로드 및 언로드하는 시스템이다. 이 목적을 위해 유닛(515)은 기계가공 유닛(511)에서의 것과 같은 CNC(581)에 연결된 두 개의 서보 제어 축(565-566)을 갖는다. 이 축(565-566)은 유닛(515)의 움직임을 수행하여야 한다. 게다가, 필드버스(502)에 연결된 I/O 모듈(525)은 추가 센서(535)(유도 스위치, 압력 스위치, 등.)를 네트에 연결하고 로드/언로드 유닛(515)의 다른 액츄에이터(545)(그리퍼(grippers), 등)를 명령하게 한다.
품질 관리 유닛(517): 자동차 산업의 이러한 유형의 생산 라인의 높은 생산율을 고려하면, 생산된 부품의 품질이 사양을 준수하도록 제어하는 것이 필수이다. 이 예에서, 이 기능은 카메라(583) 및 측정 터치 프로브(touch probe)(584)에 의해 수행되고, 둘 다 스위치(570)에 연결된다.
전력계(518): 이는 어떻게 기계(500)가 전력 소비 면에서 이를 최적화하기 위해 작동하는지 알게 한다. 전력계(518)는 또 다른 스위치(571)에 연결된다.
인간 기계 인터페이스(HMI)(519): 이는 이를 통해 사용자가 기계(500)와 상호작용할 수 있는 인터페이스를 제공한다. HMI(519)는 또한 스위치(571)에 연결된다.
스위치(570)는 입력으로 필드버스(502)를 갖고, 스위치(570)는 PLC/CNC(516)의 PLC(582)에 연결된다. CNC(581)는 또한 PLC(582)에 연결되고, 이는 결과적으로 스위치(571)에 연결된다. 본 개시에서 설명한 장치는, 예를 들어, 스위치(571)에 의해 도 6a의 기계(500)에 연결 가능할 수 있고, 다시 말하면, 장치는 기계(500)의 데이터를 획득하기 위해 스위치(571)에 연결될 수 있다.
도 6a의 도식에서, 스위치(571)는 이에 연결 가능한 장치와 IP(인터넷 프로토콜)을 사용하여 소통할 수 있고, 데이터는 TCP(전송 제어 프로토콜)과 같은, 신뢰할 수 있는 전송을 위한 프로토콜을 사용하여 전달될 수 있다; 통신은 물리적 연결 또는 무선으로 설정될 수 있다. 대안적 구현에서, 장치는 기계의 I/O 모듈을 대응하는 장치의 인터페이스/포트에 직접 연결할 수도 있다. 이러한 목적을 위해, 장치에 물리적 인터페이스의 연결을 허용하는 I/O 포트가 제공된다; 포트는 예를 들어 그러나 이에 제한되지 않고, RJ-45와 같은 다른 물리적 인터페이스의 연결에 적용될 수 있다. 요컨대, 각 장치(도 3-5의 장치)는 기계의 상이한 구성요소 또는 부품에 제공된 복수의 센서들로부터, 센서 및/또는 처리 및 통신 수단의 기타 소스, 예컨대 기계의 제어기(예를 들면, PLC, CNC, 등)에 직접 또는 간접적으로 연결 가능한 인터페이스를 통해, 데이터 및/또는 샘플을 수신한다. 센서의 비제한적 예는 온도 센서, 진동 센서, 압력 센서, 위치 센서, 속도 센서, CCD 및/또는 CMOS 카메라, 마이크로폰, 기타이다. I/O 모듈을 제어 유닛에 연결 또는 상호 연결하는 대안적 방법이 대신 구현될 수 있다.
비록 산업 설비의 일부 기계에 하나 또는 그 이상의 측정값이 임계값을 초과할 때 알람을 촉발시키는 알람 시스템이 제공되지만, 이러한 시스템은 기계, 이의 제어기, 및/또는 이의 센서에 의해 출력된 모든 데이터를 분석할 수 없다; 출력된 데이터는 측정값이 정상 작동에 대응하는 범위 내에 있을 지라도 가능한 고장을 나타낼 수 있다. 따라서, 기계의 작동 및 이에 반응을 체크하기 위해서 또는 이의 성능 또는 작동을 예측하여 (예를 들면, 가능한 고장, 효율 또는 생산성 감소, 품질 보증, 등) 고장을 예상하기 위해 예를 들어, 본 개시에서 이후 상세히 설명될 것과 같이, 기계 및 이와 연관된 장치에 의해 제공된 데이터로 쿼리를 해결할 필요가 있다.
도 6b에 관하여, 이는 어떻게 본 개시의 장치, 네트워크 및 시스템이 산업 환경의 제어를 가능하게 하고 산업 환경 제어의 까다로운 요구 조선에 적절한 반응을 제공할 수 있는지를 설명한다. 또한, 이는 어떻게 네트워크가 포그/클라우드 컴퓨팅과 공존하고, 향상되며 시너지를 사용할 수 있는지를 설명한다.
도 6b는 기업의 범세계적 산업 인프라스르럭처가 분리될 수 있는 레벨을 개략적으로 나타낸다. 상위 레벨(2000)에서는 최종 클라이언트 또는 기업이 나타난다. 기업은 예를 들어 자동차 산업에서 작동할 수 있다. 기업 관리(Company Management)(2000)는 범세계적으로 퍼진 각양각색의 산업 플랜트(2100, 2200)를 가질 수 있고, 이는 도 6에서 제2 레벨로 나타낸다. 예를 들어, 제1 플랜트는 유럽에 위치할 수 있고, 제2 플랜트는 아메리카에 위치할 수 있으며 제3은 아시아에 위치할 수 있다. 각 플랜트는 제3 레벨을 형성하는 몇몇 산업 라인으로 구성되는다. 예로서, 도 6b에서 제1 플랜트(2100)의 세 개의 라인(2110, 2120, 2130)을 나타내고 제2 플랜트(2200)의 하나의 라인(2210)을 나타낸다. 제4 배치(deployment) 레벨은 각 산업 라인의 일부를 구성하는 기계로 구성되는다. 예를 들어, 도 6b에서, 라인(2110)에 속하는 두 개의 기계(2111, 2112)가 도식화된다. 이러한 기계 중 하나는 예를 들어 도 6a에 나타낸 기계(500)일 수 있다. 도 6a에서와 같이, 라인(2110)에 속하는 기계(2111, 2112)는 몇몇 부품을 포함한다. 기계(2111)는 기계가공 유닛(2111a), 클램핑 유닛(2111b), 등을 포함하는 기계가공 도구일 수 있다. 각 구성부붚은 결과적으로 몇몇 구성요소를 포함할 수 있다; 예를 들어, 기계가공 유닛은 3축(X-축, Y-축 및 Z-축) 및 스핀들을 따라 기계가공 유닛을 이동시키기 위한 서보모터를 포함할 수 있다. 스핀들은 결과적으로 제어될 다른 서브-구성요소(sub-elements), 예컨대 모터, 앞 베어링 및 뒷 베어링을 포함한다. 도 6b에서 도시한 가속도계와 같은, 센서가 기계의 많은 서브-구성요소를 제어하기 위해 사용될수 있다. 도 3-5에 따라 계시된 것과 같은 산업 설비의 거동, 작동 및/또는 성능을 분석하기 위한 시스템은 예를 들어 도 6b에서 도시한 각 라인(2110, 2120, 2130, 2210)의 작동을, 예를 들어 적어도 하나의 장치(예컨대 도 7a-7b의 장치(20))을 각 라인의 각 기계에 연결하여, 제어하는데 사용될 수 있다.
이제, 도 6b에서 개략적으로 나타낸 비즈니스 제어는 상이한 레벨의 제어 또는 감시에 관련된다. 비즈니스 관리 세계에서, 이 제어는 그 응답이 비즈니스의 전체 또는 일부의 작동 및 성능을 반영하는 쿼리를 제기하여 적용된다. 예를 들어, 부품의 거동 및 이에 대한 반응을 체크하기 위하여 또는 설비의 성능을 예측하여 (예를 들면, 가능한 고장, 효율 또는 생산성 감소, 품질 보증, 등) 고장을 예상하기 위해 예를 들어, 기계 및 이와 연관된 장치(예를 들면, 센서, 액츄에이터, 제어기, 등)에 의해 제공된 데이터로/로부터 쿼리를 해결할 필요가 있다. 예를 들어, 쿼리는 기계의 부품의 작동 또는 상태에, 또는 기계의 작동 또는 상태에, 또는 심지어 전체 산업 라인 또는 설비의 작동 또는 상태에 또는 전반적인 범세계적 비즈니스의 발전에 관련된다. 쿼리는 네트워크의 장치, 이의 서버에서 또는 심지어 장치로 형성되는 네트워트 외부, 예를 들어 클라우드/포그/에지에 위치한 서버에서 정의되고 이 경우 쿼리는 통신 링크에 의해 노드 및 이의 프로세서로 전송될 수 있다.
도 8에 대하여 설명할 것과 같이, 쿼리를 해결하기 위하여, 쿼리에 관련된 태스크는 계산되어야만 한다. 다시 말하면, 태스크는 쿼리에 대한 응답을 제공하는데 필요한 모든 처리를 포함하거나 관련된다. 산업 비즈니스의 다른 레벨의 감시를 위한 쿼리의 일부 비제한적 예는 다음과 같다. 열역학적 가열 처리에서, 여기서 고속 열화상 카메라가 처리 공정 제어에 사용되고(이러한 카메라는 예를 들어 도 6a에서 583으로 참조된 기계에 포함된다), 상이한 쿼리가 제기될 수 있다: "열처리가 시작되었는가?", "열원이 작동하는가?", "온도 분포가 필요한 표면 처리를 얻기 위해 적합한가?", "임의의 표면이 융착 온도(fusion temperature)에 도달할 위험이 있는가?", "각 작업 제품에 대한 온도 분포가 일정한가?". 볼 베어링을 갖는 회전 부품에서, 다른 쿼리가 제기될 수 있다: "내부 링의 볼 패스 주파수가 이의 최대 한계 미만인가?", "볼 스핀 주파수의 순간 가속도는 어느 정도인가?", "볼 베어링 부품의 남아있는 유효 수명은 어느 정도인가", "비정상적 저하를 갖는 볼 베어링인가?", "볼 베어링이 교체되거나 점검될 필요가 있는가?" 전자의 쿼리는 기계 또는 이의 부품의 작동에 관련된 쿼리이다. 이러한 쿼리는 또한 도 7a-7b를 참조하여 설명된 바와 같이, 제1 쿼리 및 제2 쿼리로 나타낸다. 예로서, 또 다른 제2 쿼리는 동일한 유형의 다른 기계의 작동과 비교할 때 기계의 작동의 결정일 수 있다. 즉, 동일한 유형의 기계 모두의 작동에 따라, 정상 기능 모델이 만들어지고, 이는 동일한 유형의 기계 사이의 임의의 작은 변동을 포함한다. 그 다음, 기계의 상태가 끊임없이 계산되고 정상 모델과 비교될 수 있다.
더 높은 레벨의 추상적 개념(abstraction)을 나타내는 다른 쿼리, 예컨대 산업 설비(즉, 산업 라인, 플랜트 또는 심지어 플랜트의 그룹)의 지식(문맥화된 정보)에 관한 쿼리, 예컨대 비즈니스-관련 쿼리는 컴퓨팅 클러스터 네트워크 외부에서 처리되는 것이다. 이러한 쿼리는 바람직하게는 클라우드 및/또는 포크/에지에서 처리된다. 이러한 쿼리의 비제한적 예는: "산업설비의 전체 장비 효율의 90%를 보장하기 위해 얼마나 많은 인적 자원이 필요한가?" 또는 "전체 장비 효율이 90%이라면 이 설비가 얼마나 많은 부품을 생산할 수 있는가?"이다 이 쿼리는 일반적으로 그라운드 컴퓨팅 레벨(즉, 컴퓨팅 클러스터 내)에서 처리되는 쿼리에 대한 솔루션을 입력으로 갖고, 그 결과 포그/클라우드/에지 컴퓨팅에 보내지고 처리되는 데이터의 볼륨(volume)은 그라운드 컴퓨팅에서 처리되는 데이터의 볼륨에 대해 감소한다. 그라운드 컴퓨팅 레벨은 도 7a-7b를 참조하여 상세히 설명된다. 도 7a는 블록 다이어그램 형태로 본 발명의 실시예에 따른 장치(20)를 개략적으로 나타낸다. 장치(20)는, 예를 들어, 도 3에 도시된 임의의 장치(21-26), 또는 도 4-5에서 도시된 임의의 장치(21-27)일 수 있다.
장치(20)는 다중-센서 데이터 획득 블록(60)을 포함하고 이를 통해 장치(20)가 기계(예를 들어 기계(500))에 연결 가능하다. 다중-센서 데이터 획득 블록(60)은 데이터 획득 소프트웨어 및 센서 인터페이싱(interfacing)을 포함한다. 다시 말하면, 다중-센서 획득 블록은 제어 하의 산업 시스템, 설비 또는 인프라스트럭처에 속하는 기계의 하나 또는 그 이상의 포트와의 인터페이스로서 작동한다. 이 인터페이스는 또한 도 3-4에서 포트(29)로서 도시된다; 포트(29)는 센서와의 인터페이스를 직접 또는 간접적으로 제공할 수 있다. 센서의 일부 비제한적 예는 온도 센서, 진동 센서, 이미지 캡처 센서, 등이다.
기계와 해당 장치 사이의 연결은 유선 또는 무선일 수 있다; 장치는 기계를 제어하는 제어기(예를 들면, PLC, CNC)에, 또는 특정 기계에 속하는 상이한 센서에서 발생한 데이터가 전송되는 필드버스에 연결될 수 있다. 이 연결은 직접(장치 및 기계 사이의 직접 연결) 또는 간접(예를 들어 계층 체인(hierarchical chain)을 통해)일 수 있다.
장치(20)는 액체 컴퓨팅(71)을 수행하도록 구성되는 제1 프로세서(61)를 더 포함한다. 특히, 액체 컴퓨팅(71)은 쿼리를 해결하기 위한 프로세싱 태스크의 컴퓨팅에 관련된다. 프로세싱 태스크의 컴퓨팅을 위해, 액체 컴퓨팅(71)에서 제1 프로세서(61)는 다중-센서 데이터 획득 블록(60)을 통해 (기계로부터) 획득한 다중-센서 데이터를 처리한다; 다중-센서 데이터 처리는 데이터를 전처리하고/거나 다중-센서 데이터로부터 변수를 선택함을 포함할 수 있다. 제1 프로세서(61)가 액체 컴퓨팅(71)을 수행할 때 이는 시스템이 기계의 갑작스러운 이례적인 거동 또는 작동을 검출하고 이에 반응하도록 데이터의 전처리 및 쿼리(또한 제1 쿼리로 나타냄)의 해결을 국부적으로 그리고 실시간으로 수행한다.
일부 실시예에서, 제1 프로세서(61)는 프로그램 가능 하드웨어/전자기기, 예컨대, 그러나 제한 없이, FPGA와 같은 필드 프로그램 가능 집적 회로(즉, 필드-프로그램 가능 게이트 어레이)를 갖는 중앙 처리 유닛을 더 포함할 수 있고, 따라서 필드-프로그램 가능 집적 회로 또는 SoC와 액체 컴퓨팅(71)을 관리하는 실시간 운영체제를 실행하도록 구성되는다. 이는 처리 사이클 시간 중 제1 쿼리에 연관된 태스크의 계산을, 예컨대 1/1.5 GHz 및 1/0.8 GHz 사이에서, 즉, 0.67 ns (나노초) 및 1.25 ns 사이에서 가능하게 한다. 따라서, 기계 또는 이의 부품의 감시는 실시간으로 달성될 수 있다. 게다가, 제1 프로세서(61)가 필드-프로그램 가능 집적 회로를 포함하는 실시예는 쿼리의 빠른 프로그래밍/재프로그래밍(reprogramming)이 요구되는 어플리케이션에서, 그들의 회로가 이러한 빠른 프로그래밍/재프로그래밍을 허용하기 때문에, 특히 유리하다.
예를 들어, 도 6b를 다시 참조하면, 임의의 플랜트(2100, 2200)의 임의의 기계 또는 부품에 관련된 쿼리는 오프라인으로 오퍼레이터가 원격으로 재프로그램할 수 있다. 다시 말하면, 쿼리-제1 쿼리, 또는 제2 쿼리, 또는 더 높은 추상(abstraction) 레벨의 쿼리-는 네트워크(100, 101, 102)의 장치(20)에서, 이들의 서버(10, 11, 12)에서 또는 심지어 장치로 구성되는 네트워크 외부, 예를 들어 클라우드/포그에 위치한 서버에서 정의될 수 있다. 이는 이용 가능한 클라우크/포그에 대한 접근(access)을 제공하는 임의의 원격 물리적 위치로부터 쿼리를 원격 재프로그래밍할 수 있다.
게다가, 장치(20)는 또한 그라운드 컴퓨팅(72)을 수행하도록 구성되는 제2 프로세서(62)를 포함한다. 그라운드 컴퓨팅(72)이 수행될 때, 제2 프로세서(62)는 장치(20)가 컴퓨팅 클러스터 구성에서 네트워크의 일부를 형성할 때(예컨대 도 3-5의 네트워크(100, 101, 102)), 즉, HPC 구성에서, 도 8을 참조하여 후술할 것과 같이, 쿼리와 관련된 태스크로 분할되는 스레드를 해결할 수 있다. 그러므로, 이 경우, 이러한 쿼리에 대한 응답 또는 솔루션을 태스크를 분산 처리하여 얻을 수 있다. 따라서, 장치(20)의 제2 프로세서(62)는 쿼리(또한 제2 쿼리로 나타냄)를 해결하도록 동일한 네트워크 내의 다른 장치의 제2 프로세서와 협조한다. 제2 프로세서(62)는 그라운드 컴퓨팅(72)이 수행될 때 스레드(쿼리와 연관된 태스크의 일부)를 해결하도록 의도된다. 스레드는 해결해야 할 쿼리와 관련된 태스크의 병렬화 가능한 부분(parts)이고 이는 네트워크의 서버가 네트워크의 장치들에게 분산시킨다. 따라서, 제2 쿼리는 병렬화 가능 속성의 태스크, 즉, HPC로 해결되는 태스크와 연관된 쿼리이다. 장치(20)의 제2 프로세서(62)는 네트워크의 서버에 의해 이에 할당된 스레드를 국부적으로 해결한다. 제2 프로세서62)는 또한 HPC로부터 독립적인 태스크를 계산할 수 있다, 즉, 이는 네트워크의 다른 장치와 협조를 수반하지 않는 데이터 처리를 수행할 수 있다.
도 8은 쿼리(1500)를 도식으로 도시한다. 본 발명의 실시예에 따른 장치의 제1 프로세서(61) 또는 제2 프로세서(62)는 쿼리(1500)를 해결하고, 예를 들어 이는 산업 설비의 기계(또는 이의 부품)의 거동, 작동 또는 상태에 관한 정보를 제공할 수 있다. 쿼리(1500)를 해결하기 위하여, 이와 관련된 태스크(1501)이 계산되어야 한다. 태스크(1501)는 쿼리(1500)를 해결하는데 필요한 모든 처리를 포함한다. 일부 경우에서, 제1 프로세서(61)는 국부적으로 태스크(1501)를 계산하여 쿼리(1500)를 해결할 수 있다. 특히, 이러한 경우의 일부에서, 태스크(1501)는 쿼리(1500)를 해결하는 데이터 처리를 포함하고; 데이터 처리는 데이터를 전처리함 및/또는 전처리된 데이터의 특정 변수를 선택함, 그리고 그 다음 전처리된 및/또는 특정 변수가 선택된 데이터를 처리함을 수반할 수 있다. 일부 다른 경우에서, 쿼리(1500)는 하나 이상의 장치로 해결되고, 즉, 쿼리(1500)는 분산 방식으로 처리된다. 따라서, 네트워크의 서버(예를 들어, 도 3-5에서 나타낸 바와 같은)는 HPC를 수행하기 위하여 이를 몇몇 스레드(1510a-1510n)로 분할하여 태스크(1501)의 계산을 병렬화할 수 있다(오직 설명의(illustrative) 목적으로 점선 화살표 선으로 도시). 각 스레드(1510a-1510n)는 하나 또는 그 이상의 장치로 이의 제2 프로세서가 이를 계산하도록 보내질 수 있다. 모든 스레드(1510a-1510n)를 계산함으로써, 태스크(1501)가 그 다음 쿼리(1500)를 해결하기 위해 계산될 수 있다. 또한, 일부 경우에서, 쿼리(1500)를 해결하기 이전에, 모든 스레드(1510a-1510n)가 계산되면, 쿼리(1500)를 해결하기 위해 태스크(1501)의 결과를 추가 처리하는 것이 필요할 수 있다. 태스크를 스레드로 분할함으로써, 동일한 해결을 위한 시간은 그라운드 컴퓨팅(72)을 수행하는데 이용 가능한 장치의 수(그리고 그들의 제2 프로세서의 처리 능력)에 따라 더 크거나 더 작은 정도로 단축될 수 있다.
그라운드 컴퓨팅(72)에서, 장치(20)의 제2 프로세서(62)는 네트워크 연결 블록(63)에 의해 네트워크의 임의의 장치 또는 이의 서버로부터, 및/또는 동일한 장치(20)의 제1 프로세서(61)로부터 얻은 임의의 데이터 또는 정보를 사용할 수 있다. 그라운드 컴퓨팅(72)에서 사용되는 데이터 및 정보가 다른 장치 또는 서버로부터 얻어질 때, 패킷이 네트워크가 링-토폴로지를 가질 때 이에 인접한 두 개의 노드 중 하나로부터 (또는 심지어 둘 다로부터, 이 경우 하나의 집합의 패킷은 버려짐) 장치(20)에 도달할 것이지만, 이는 시스템이 인접한 노드 사이에서만 통신하도록 제한됨을 의미하지 않는다: 노드는 목적 노드에 도착할 때까지 노드에서 노드로 이동하도록 패킷을 재전송한다.
네트워크 연결 블록(63)은 장치(20)를 네트워크에 연결 가능한 하나 또는 그 이상의 인터페이스를 포함할 수 있다. 네트워크가 링 토폴로지를 특징으로 하는 바람직한 실시예에서, 네트워크 연결 블록(63)은 적어도 두 개의 인터페이스를 포함하고, 바람직하게는 3-포트 스위치와 같은 프레임 포워딩(frame forwarding)을 위한 낮은-지연 네트워크 스위치를 포함한다: 포트 중 2개는 링 연결을 전담하고, 하나의 이더넷 내부 포트는 다중 센서 데이터 획득 블록(60)과 통신을 위한 것이다.
도 7b는 본 발명의 실시예에서 장치(20)에 제공되는 몇몇 기능(functionalities)을 블록 다이어그램으로 나타낸다. 장치(20)는 두 개의 부분으로 계층적으로 조직화된다: 액체 컴퓨팅(71)에 전념하는, 즉, 국부적으로 데이터를 처리하고 처리된 데이터로 (제1 쿼리에 응답을 위해) 태스크(81)를 해결하는, 제1 부분(오직 설명의 목적으로 도 7b에서 도시한 바와 같은 장치(20)의 하반부); 및 그라운드 컴퓨팅(72)에 전념하는 제2 부분(오직 설명의 목적으로 도 7b에서 도시한 바와 같은 장치(20)의 상반부).
장치(20)의 하반부에 대하여, 장치(20)는 연결 가능한 기계 하나 또는 그 이상으로부터 데이터를 획득한다. 데이터 획득(80) 단계 후, 장치(20)의 제1 프로세서(61)는 데이터를 처리한다(81). 데이터 처리(81)는 전처리함을 포함할 수 있고, 이에 의해 다중-센서 데이터가 본래의 데이터 보다 더 작은 크기로 제1 데이터 집합을 형성하도록 처리된다. 이 단계에서 수행되는 전처리의 예는 예를 들어 무의미한 데이터(즉, 센서의 작동 범위 외의 것) 클리닝(cleaning), 데이터 수집의 정확도 정의(예를 들면, 소수점 이하 자리수(truncated decimal)가 무시될 수 있는 경우 숫자 데이터 유형의 변수를 더 작은 비트를 갖는 또 다른 데이터 유형으로 변환하도록 소수점 이하를 제거), 데이터 변형(transformations)(예를 들면, 평균값, 중간값, 표준편차, 엔트로피, 예를 들어 고속 푸리에 변환으로 시간-도메인에서 주파수-도메인으로와 같은 도메인의 변화 계산), 그리고 데이터 전송 대역폭을 절약하기 위한 변수 선택을 위한 이미-훈련된 모델의 적용(예를 들어, 고해상도 디지털 이미지에서 관심있는 포인트 또는 픽셀의 선택 또는 디지털 이미지로부터 배경 정보 추출)을 포함할 수 있다. 남아있는 처리될 데이터량의 감소가 달성되고 그럼으로써 전반적인 계산 및 전력 소비를 더 최소화한다. 데이터 처리(81)는 또한 변수의 선택을 포함할 수 있다. 따라서, 제1 데이터 집합(예를 들어 전처리 단계에서 생성된)으로부터, 장치(20)의 제1 프로세서(61)는 쿼리를 해결하기 위해 제1 프로세서(61)로 처리될 추가 처리에 따라 중복되거나 낮은 중요도를 갖는 변수의 수를 감소시키기 위해 변수의 선택을 수행할 수 있고, 반면 일부 다른 변수는 제1 쿼리(query) 또는 쿼리(queries)에 대한 의미 있는 정보를 포함할 수 있다(또는 심지어 다른 목적을 위한, 예를 들어 다른 제1 쿼리 또는 쿼리를 해결하기 위해, 이들이 필요할 수 있는 컴퓨팅 클러스터 네트워크 내 다른 장치와 공유하기 위해, 포그/클라우드 컴퓨팅을 위해, 및/또는 로깅(logging) 목적을 위해). 변수 선택은 후에 수행되는 계산 내에서 과적합(overfitting) 감소에 기여하거나 이를 가능하게 한다. 일부 실시예에서, 단일 장치가 수백의 센서로부터 데이터를 수용해 스루풋의 증가로 이어질 수 있음이 주목되어야 한다; 처리되는 대용량(large volumes)의 데이터로부터, 일부의 데이터만으로는 쿼리를 해결하는데 충분할 수 있고, 따라서, 변수 선택은 그 결과에 영향을 미치지 않고, 즉, 계산되는 태스크에 관련된 쿼리에 대한 솔루션 편향 없이 태스크 계산에 사용될 데이터량을 감소시킬 수 있다. 다시 말하면, 변수 선택 단계로 인해, 태스크의 계산 부담이 감소되어 효율이 증가될 수 있다. 변수 선택의 예는 수천의 픽셀을 갖는 디지털 이미지를 나타낼 수 있고 이로부터 전처리 단계에서 단지 몇 개의 픽셀만 추출된다; 변수 선택 단계에서 이미-추출된 몇 개의 픽셀의 부분집합이 선택되고 이는 이 부분집합이 이 특정 디지털 이미지와 상이한 변수와 함께 정해진 태스크를 계산하는데 충분할 수 있기 때문이다. 또 다른 예는 국부 데이터 처리(81)가 진동의 주파수 스펙트럼을 생성할 수 있는 장치 내에서 정해진 부품의 진동을 나타낼 수 있다; 스펙트럼의 일부는 어떠한 유용한 정보를 포함하지 않기 때문에 버려질 수 있다. 그 다음, 진동 선택은 액체 컴퓨팅(71)의 데이터 처리(81)에서 일부 쿼리를 해결하는데 관련있는 잔여 스펙트럼 일부의 특정값만을 추출할 수 있다.
변수 선택 단계 후에 획득된 데이터 집합과 함께, 제1 프로세서(61)는 태스크(제1 쿼리에 연관된)을 해결한다. 태스크는 본래의 데이터 집합이 전처리 및 변수선택에 의해 감소될 수 있기 때문에 국부적으로 (제1 프로세서(61)에서) 해결될 수 있다. 따라서, 제1 프로세서(61)는 감소된 양의 데이터와 일할 수 있고 그 데이터로 태스크를 계산할 수 있다; 제1 프로세서(61)는 제1 프로세서(61)가 이용 가능한 계산 용량의 일부 또는 전부를 사용하여 계산을 수행한다.
장치(20)의 상반부는 그라운드 컴퓨팅(720에 전념한다. 그라운드 컴퓨팅(72)에서, 장치(20)는 큰 처리 능력을 요구하는 쿼리(제2 쿼리), 즉, 계산에 큰 처리 능력을 요구하는 태스크와 연관된 쿼리를 이에 연관된 병렬화 태스크의 스레드로 몇몇 기기에 분산할 때 더 빨리 해결될 수 있도록 HPC(93)을 수행한다. 제2 프로세서(62)는 또한 국부 데이터 처리(91), 즉, 네트워크의 장치의 다른 제2 프로세서와의 협조를 수반하지 않는 데이터 처리를 수행하여 HPC로부터 독립적인 태스크를 계산할 수도 있다. 이 처리(91)는 전처리 및/또는 변수 선택을 포함할 수 있다.
제2 프로세서(62)가 컴퓨팅 클러스터 구성에서 작동하도록 구성됨에도 불구하고, 제2 프로세서(62)가 병렬화 가능한 태스크(쿼리에 응답하기 위해 계산될 계산 작업을 나타내는 태스크)의 스레드를 해결하기 위해 동작하는 방식은 제1 프로세서(61)의 작동과 유사할 수 있다. 제2 프로세서(62)는 장치(20) 자체로 또는 네트워크로부터 얻어진 (액체 컴퓨팅부에서 획득된 데이터와는 일반적으로 상이한) 데이터를 처리할 수 있다.
HPC 모드로 작동할 때, 제2 프로세서(62)는 서버가 계산을 요구한 스레드에 대한 솔루션을 제공한다. 스레드의 출력은 일반적으로 네트워크 내에서 (즉, 네트워크의 다른 장치로부터) 생성된 각양각색의 출력이 태스크 내에서 통합하기 위해 모아지는 네트워크의 서버로 전송된다. 모든 스레드를 (서버 자체로 또는 서버에 의해 할당된 장치로) 계산함으로써, 태스크는 쿼리를 해결하도록 계산될 수 있다. 일부 경우에서, 쿼리를 해결하기 이전에 태스크가 계산되면 쿼리에 대한 응답을 제공하기 위해 태스크 결과의 추가 처리가 필요할 수 있다. 데이터 통신(94) 블록은 제2 프로세서(62)가 결정성 데이터 전송 프로토콜(네트워크에 대한 불법적 접근 권한을 얻을 수 있는 파티(party)에 의해 변경되지 않고 데이터가 목적지에 도달함이 보장되어야만 할 때 특히 편리할 수 있다; 이러한 프로토콜의 예는 데이터 분산 서비스(Data Distribution Service), 즉, DDS, 실시간 시스템 및 시간 민감 네트워크(Real-Time Systems and Time Sensitive Network), 즉, TSN이다) 또는 비결정성 데이터 전송 프로토콜(이용 가능한 비어있는 대역폭이 없다면 이러한 프로토콜이 통신 채널에 접속하지 않기 때문에 전송될 데이터가 중요하지 않을 때-예를 들면, 로깅의 목적 또는 비-즉각적 반응을 위해-특히 편리할 수 있다; 이러한 프로토콜의 예는 개방 플랫폼 통신 통합 아키텍처(Open Platform Communications Unified Architecture), 즉, OPC-UA)이다)로 스레드 및/또는 다른 데이터에 대한 솔루션을 보낼 수 있음을 나타내고, 이는 유사하게, 연결 가능한 네트워크로부터 데이터를 수신할 수 있고 여기서 데이터는 결정성 데이터 전송 프로토콜 또는 비결정성 데이터 전송 프로토콜로 전송된다. 통신은 제2 프로세서(62) 및/또는 네트워크에 연결하기 위한 수단에 의해 관리될 수 있다.
도 3-5 또는 7a에서 도시되지는 않았으나, 장치(20)는 제2 프로세서(62)에 접근 가능한 데이터 저장 수단(미도시)을 더 포함할 수 있다. 데이터 저장 수단은 바람직하게는 비-휘발성 메모리 수단, 예컨대 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)이다. 데이터 저장 수단은 장치(20)에 의해 수신 가능하고 제2 프로세서(62)가 처리, 및/또는 스레드, 태스크 및/또는 쿼리의 해결에 사용할 수 있는 데이터(예를 들면, 샘플, 스레드에 대한 솔루션, 태스크에 대한 솔루션, 쿼리 및 이에 대한 솔루션, 등)를 저장 할 수 있다. 데이터 저장 수단은 또한 통신 채널에 이용 가능한 대역폭이 있을 때 제2 프로세서(62)가 네트워크(100, 101, 102)의 또 다른 장치 및/또는 이의 서버(10, 11, 12)로 데이터를 전송할 수 있도록 데이터(예를 들면, 샘플, 스레드에 대한 솔루션, 태스크에 대한 솔루션, 쿼리 및 이에 대한 솔루션, 등)를 저장하거나 버퍼링(buffer)할 수 있고, 그렇게 함으로써 장치(20)가 모든 대역폭이 점유되어 전송할 수 없을 때 데이터는 손실되지 않는다. 장치(20)는 또한 RAM(랜덤 접근 메모리)과 같은, 이를 통해 태스크에 대한 데이터 또는 솔루션이 제1 프로세서(61) 및 제2 프로세서(62) 사이에 전송될 수 있는, 휘발성 메모리 수단을 포함할 수 있다. 장치(20)의 제1 프로세서(61)는 휘발성 메모리 수단에 데이터를 저장할 수 있고 이로부터 데이터를 회수할 수 있다; 예로서, 제1 프로세서(61)는 센서 데이터를 전처리하기 이전에 센서 데이터를 버퍼링할 수 있고, 전처리된 데이터 및 프로세싱 태스크 계산으로부터의 결과 데이터를 장치의 제2 프로세서나 네트워크에 전송하기 이전에 버퍼링할 수 있다.
도 7를 계속 참조하면, 장치(20)의 상반부에 네트워크 외부로부터의 해킹 공격을 방지하고 데이터 패킷이 개인 또는 파티에 의해 캡처되는 경우 네트워크를 거쳐 전송된 임의의 데이터가 권한이 없는 개인 또는 파티에 의해 읽히는 것으로부터 보호하기 위한 사이버보안 메카니즘(cybersecurity mechanisms)(미도시)이 제공될 수 있다. 따라서, 장치(20)는 방화벽을 포함할 수 있고 이는 소프트웨어로 구현될 수 있으며 이의 목적은 장치(20)와 통신을 설정하기 위해 필요한 권한 또는 허가를 갖지 않는 것으로 보이는 네트워크 외부로부터의 임의의 통신을 막는 것이다; 방화벽은 제2 프로세서(62)에 의해 가동될 수 있다. 또한, 장치(20)에서 구현 가능한 또 다른 사이버보안 메카니즘은 추가 보안 층을 제공하도록 네트워크로 전송될 또는 이로부터 수신될 데이터 패킷의 데이터 암호화(ciphering) 및 복호화(deciphering)이다.
장치(20)는 네트워크의 각 장치가 동일한 순간에 데이터를 획득할 수 있도록 장치 동기화를 위한 메카니즘(90), 예를 들어 정밀 시각 프로토콜(PTP)을 더 포함한다.
두 개의 컴퓨팅 레벨(제1 프로세서(61)에서 액체 컴퓨팅 및 제2 프로세서(62)에서 그라운드 컴퓨팅)이 클라우드/포그/에지 컴퓨팅과 같은, 기존의 다른 컴퓨팅 패러다임과 각각 다른 유형의 쿼리, 예를 들어 도 6b에서 도식화된 산업 비즈니스의 레벨 또는 다른 측면에 관련되는 쿼리에 대한 응답을 제공하기 위해 공존할 수 있다. 장치(20) 또는 장치(20)를 포함하는 네트워크에 의해 해결될 쿼리는 산업 설비의 성능 및 상태를 모니터링하는, 즉, 산업 설비 내 기계의 옳은 작동을 제어하는 오퍼레이터(operators)로 정의될 수 있다. 쿼리는 장치(20), 또는 서버(10, 11, 12), 또는 그 밖에(beyond) 네트워크(100, 101, 102)를 포함하는 시스템, 예를 들어 클라우드/포그/에지에서 정의될 수 있다. 부품을 기계가공하기 위한 기계와 연관된 다소 간단한 쿼리의 예는 베어링에 의한 진동이 정상 또는 올바른 것으로 간주되는 특정 범위 (예를 들어 주파수 및/또는 진폭) 내에 있는지 여부를 체크하는 것일 수 있다. 이 쿼리는 바람직하게는 실시간으로 장치의 제1 프로세서에서 해결된다. 이러한 종류의 정보는 오직 작동하는 동안에만 베어링을 감지하는 센서로부터, 예를 들어 이러한 베어링에 연결된 가속도계로부터 추출될 수 있다. 좀 더 복잡한 쿼리의 예는 로봇팔의 모든 메카니즘이 예상한 것과 같이 기능하는지 여부와 그들 하나하나(each and every one of them)의 잔존 사용 수명이 적어도 2주인지 여부를 체크하는 것일 수 있다. 이 경우에, 메카니즘에 관련된 최대 수십 또는 수백의 센서들이 있을 것이고 이의 센서 데이터 및/또는 샘플은 데이터가 적절히 처리되고 결합되어야만 쿼리에 대한 응답을 제공할 수 있을 것이다. 이 쿼리는 실시간으로 해결될 필요는 없고 몇몇 장치(즉, HPC)의 제2 프로세서의 처리 능력을 요구할 수 있다. 이런 의미에서, 데이터 수집(gathering)이 동기화된 방식으로 수행되고 동일한 타임스탬프를 제공하여 부품 또는 기계에서 발생하는 임의의 문제가 식별될 수 있고 데이터로 트러블샷(troubleshot)할 수 있도록 할 필요가 있다(데이터가 다른 순간에 획득된 경우, 문제를 발생시키는 원인을 추적할 수 없을 수도 있다); 이는 모든 센서가 동일한 속도로 데이터를 생산함을 의미하지 않고, 센서는 특정 순간에 대응하는 센서 데이터가 그들의 처리에서 식별될 수 있는 한 시간적 변화의 정도에 따라 더 많거나 더 적은 빈도로 감지할 수 있다(예를 들어 실온은 매초 유의하게 여러번 변화할 것으로 예측되지 않는 반면 레이저의 파워는 1초에 다회 유의하게 변화할 수도 있다).
센서의 특성(nature)은 꽤 다양할 수 있다: 주위 온도 센서는 초당 몇 바이트의 속도로 데이터를 출력할 수 있지만, 베어링의 가속도계는 초당 킬로바이트의 속도로 데이터를 출력할 수 있거나(예를 들어 20-30 kB/s), 디지털 카메라는 초당 메가바이트의 속도로 데이터를 출력할 수 있다. 데이터가 신속하게 합산되고 단일 장치의 스루풋 합계가 초당 대략 한 자리 수 (units) 또는 수십 메가바이트가 될 수도 있음이 명확하다. 태스크를 계산해 쿼리를 해결하기 위해, 데이터는 그 다음 처리되어야 하고 태스크에 대한 솔루션이 추출되어야 한다.
예로서, 단일 스핀들의 기계가공 도구를 모니터링하는 경우, 스핀들을 모티터링하는 데이터는 20 킬로헤르츠(kilohertz)로 센싱할 수 있는 축, 베어링, 케이지 및 트랙 각각의 진동과 같은 변수를 포함할 수 있고, 또한 스핀들의 각속도, 온도, 토크, 및 파워와 같은 변수를 포함할 수 있으며, 이러한 변수는 예를 들어 10 헤르츠로 센싱된 데이터이다. 이러한 모든 데이터를 합하면, 스루풋은 초당 0.5 메가바이트일 수 있다. 산업 설비 외의 (즉, 클라우드 또는 포그에서) 데이터와 연관된 쿼리에 대한 솔루션을 제공하는데 소요될 수 있는 시간은 통신 채널이 충분한 대역폭을 갖고, 지연 시간은 낮으며, 즉시 이용 가능한 충분한 컴퓨팅 리소스가 있는 경우 대략 몇 초 또는 심지어는 몇 분일 수도 있다. 또한, 데이터가 포그/에지 또는 클라우드에서 전송되고 처리되는 동안 추가 데이터가 동일한 센서 및 제어기에 의해 생성되고 이들 또한 스핀들의 거동이 변화되었을 수 있기 때문에 분석되어야 함이 고려되어야만 한다. 장치의 제1 프로세서(액체 층)는 관련된 데이터를 획득하고 예를 들어 고속 푸리에 변환(FFT)를 수행할 수 있다. 그 다음, 예를 들어 (FFT에 포함된) 관심 주파수의 진폭이 임계 이상이면, 추가 조치를 위해 감시 시스템에 알람이 보낸다.
이미 설명한 바와 같이, 두 개의 컴퓨팅 레벨(제1 프로세서(61)의 액체 컴퓨팅 및 제2 프로세서(62)의 그라운드 컴퓨팅)은, 클라우드/포그/에지 컴퓨팅과 같은 다른 기존의 컴퓨팅 패러다임과 공존할 수 있다. 예를 들어 각 기계의 즉각적인 전력 소비를 분석함으로써, 전체 설비의 개선이 계획될 수 있다. 이 비즈니즈 세계에 속하는 쿼리는 전형적으로 클라우드/포그/에지에서 처리된다. 이러한 종류의 또 다른 예시적 쿼리는: "전체 장비 효율의 90%를 보장하기 위해 얼마나 많은 인적 자원이 필요한가?"이다.
매번 새로운 장치(예컨대 장치(20)가 예를 들어 도 3-5의 실시예에서 도시한 바와 같은 네트워크로 통합되고, 새로운 장치로 수집된 다중-센서 데이터가 네트워크에 추가되므로 네트워크 내 처리/계산 리소스에 대한 요구가 증가할 수 있다. 그러나, 새로운 장치의 제1 및 제2 프로세서의 네트워크로의 통합 덕분에, 그리고 특히 제2 프로세서 덕분에 이가 HPC의 분산 처리에 추가되므로 네트워크의 처리/계산 리소스가 동시에 증가된다. 네트워크의 서버는 특정 태스크 또는 태스크의 일부(즉, 스레드)를 해결하는 부하(load) 및 진행(progress)의 관점에서 네트워크의 각 장치의 상태를 모니터링한다. 서버는 그렇게 하기 위해, 예를 들어 MPI(메세지 전달 인터페이스)와 같은 메시지 전달 프로토콜을 사용하여, 장치와 통신한다. 네트워크는 새로운 또는 기존 프로세싱 태스크를 새로운 장치에 할당하도록 구성되는 서버 및 네트워크에 새로운 장치를 추가하여 스케일러블 확장(scalable expansion)이 가능하도록 구성될 수 있다. 예를 들어, 새로운 장치의 연결에 따라, 동기화 공정은 네트워크 내 모든 장치의 제2 프로세서의 처리를 동기화하도록 동기화 작업이 실행될 수 있다. 네트워크의 동기화 요구를 유지하는 동안 분산 처리(HPC)가 수행된다. 그러므로, 작업부하는 여러 장치에 분산된다.
네트워크(100, 101, 102)의 장치의 제1 프로세서는 기계(121-125) 및 컴퓨팅 태스크로부터 수신한 모든 데이터를 처리하기 위해 동기화되어 동작하는 반면, 각 장치에 포함된 제2 프로세서는 컴퓨팅 태스크 또는 태스크가 분리된 스레드가 있을 때 컴퓨팅 클러스터 내 대응 장치의 제2 프로세서에 대하여 동기화되어 또는 비동기화되어 동작할 수도 있다.
네트워크(100, 101, 102)의 서버 및 장치는 올바른 분산 컴퓨팅을 허용하는 상이한 프로토콜 및 프로세스를 가동하도록 구성될 수 있다. 장치의 제2 프로세서는 다른 장치 및 이의 제2 프로세서와 메시지 전달 통신 프로토콜(예를 들면 MPI)에 의해 통신할 수 있다; 장치 및 서버는 분산 컴퓨팅을 수행하는 이러한 종류의 프로토콜을 사용하여 메시지를 발송 및 수신할 수 있다. 메시지 전달 프로토콜은 비동기 그리고 이기종(heterogeneous) 병렬 컴퓨팅에 적합할 수 있는 프레임워크 또는 프로그래밍 모델, 즉, 스레드를 비동기화 되어 그리고 다른 특성의 프로세서에 의해 해결함을 지원하는 프레임 워크 또는 프로그래밍 모델 내에서 사용될 수 있다(예를 들면, 중앙 처리 유닛의 하나 또는 몇몇 코어, 병렬 구성의 하나 또는 몇몇 그래픽 처리 장치, 현장-프로그램 가능 집적회로, 등).
서버(10, 11, 12)는 컴퓨팅 클러스터 내 HPC를 관리한다. 특히, 이는 병렬로 해결될 태스크를 고성능 컴퓨팅을 위해 태스크의 복수의 스레드를 형성하도록 분할한다. 또한 이러한 태스크의 일부분(스레드)을 HPC를 위한 일부 장치로 전송한다; 서버(10, 11, 12)가 각 장치의 부하 상태를 알기 때문에, 서버(10, 11, 12)는 태스크의 스레드를 이를 계산하는데 충분한 처리 능력의 여유가 있는 네트워크의 선택된 장치로 전송할 수 있다. 서버(10, 11, 12)는 대응하는 장치로부터 스레드에 대한 솔루션을 수신하여, 태스크를 계산하고 결과적으로 쿼리에 대한 응답을 제공하도록 그들을 재조립한다.
서버의 클러스터 작업부하 매니저(manager)는 다음: 해결될 스레드, 각 장치의 (이용 가능한) 처리 능력 관련 정보, 및 일부 경우에 분산 방식으로 태스크를 해결하기 위한 장치로부터의 요청을 중앙집중화(centralizing)하여 네트워크(100, 101, 102)에 스레드를 분산시킨다. 클러스터 작업부하 매니저는 장치의 상태에 기반하여 어떤 스레드가 각 장치(이는 네트워크의 장치의 일부만이 스레드를 해결하는데 사용될 수 있기 때문에 네트워크의 일부 장치 또는 네트워크의 모든 장치일 수 있다)에 할당될지를 결정하고, 그 다음 메시지 전달 프로토콜에 의해 스레드를 보낸다. 이와 관련하여, 모니터링 모듈 또는 라이브러리는 각 장치의 작업부하 및 이들의 관련된 HPC에 대한 이용 가능한 용량을 동적으로 결정할 수 있다. 또 다른 모듈 또는 라이브러리(예를 들면, 동적 부하 균형(Dynamic Load Balance) 또는 DLB)는 결정된 프로세스에서 사용된 활성 스레드(이들의 제2 프로세서의)의 수를 조정하여 장치에서의 부하를 동적으로 균형을 맞출 수 있다. HPC를 담당하는 프로세스 및 상이한 모듈 사이의 협력으로, 서버(10, 11, 12)는, 예를 들어, 클러스터 작업부하 매니저는 쿼리 해결을 위한 태스크를 해결해야 하거나 긴급 쿼리가 선언되어야 하는 긴급성의 변화에 따라 각 장치의 동작을 조정할 수 있도록 네트워크(100, 101, 102) 및 그 안의 장치의 상태가 어떤지를 항상 알고 있고, 그렇게 함으로써 특정 쿼리의 해결 속도를 높인다.
제1 프로세서(61) 및 제2 프로세서(62)는 데이터를 공유하도록, 일반적으로 랜덤-접근 메모리(RAM)을 통해 소통적으로(communicatively) 결합된다. 공유될 데이터는 태스크의 출력(예를 들어, 제1 프로세서(61)에 의해 해결된 태스크의 출력은 제2 프로세서(62)로 전송될 수 있다), 처리된 다중-센서 데이터(예를 들어, 제1 프로세서(61)는 HPC를 수행하기 위해 제2 프로세서(62)로 전송되는 더 작은 데이터 집합을 형성하기 위하여 다중-센서 데이터를 처리할 수 있다), 기계에 대한 명령어 및/또는 로깅 목적을 위해 기계에 제출된 명령어에 관한 데이터, 등일 수 있다.
도 9a 및 9b는 본 발명에 따라 어떻게 데이터가 장치 및 시스템으로 처리되는지의 패러다임을 도시하는 피라미드 모델(600, 610)을 나타낸다.
시스템의 네트워크 내에 국한된 국부 계산 레벨은 상술한 그라운드 층 및 액체 층을 포함하고, 종래 센서, 종래 피라미드(190)의 PLC & SCADA 층과 비교하여 도 9a에서 함께 개략적으로 도시된다. 새로운 장치 및 시스템은 네트워크와 연관된 시스템 내의 임의의 쿼리, 필요성, 또는 잠재적/실제 오작동에 대한 반응 시간을 감소시킬 수 있다. 이러한 이유로, 장치 및 시스템은 특히 이 측면이 중요한 산업 설비에 적용 가능할 수 있다. 게다가, 데이터가 컴퓨팅 클러스터 (그라운드 & 액체 층) 내에서 국부적으로 처리되기 때문에, 에지/포그/클라우드 컴퓨팅 장비로 전달된 데이터량은 감소될 수 있다. 사실, 에지/포그/클라우드 컴퓨팅에 전달된 데이터는 주로 설비의 비즈니스/지식에 관한 정보로 감소되어야 한다. 게다가, 컴퓨팅 클러스터로 작동하는 장치는 컴퓨팅 클러스터의 계산 용량을 최적화하기 위하여 그들의 성능의 균형을 맞추는 것을 허용한다. 마지막으로 그러나 중요한, 네트워크의 처리/계산 용량은 새로운 장치가 네트워크에 추가되면서 증가한다.
다음, 포그/클라우드 컴퓨팅에 전달되는 데이터의 처리(processing) 시간 효율 및 감소 면에서 둘 다 본 발명의 실시예에 따른 시스템의 장점을 도시하기 위하여 예가 논의된다.
개시된 시스템에 의해 산업 설비의 기계 작동의 제어의 예가 도 10에 도시된다. 복수의 장치로 구성되는 네트워크의 세 개의 장치(921, 922, 923), 뿐만 아니라 서버(910)를 나타낸다. 기계에서 레이저에 의해 적용된 열처리를 모니터링하기 위해, 고속 열화상 카메라(901)가 사용된다. 장치(921)는 이 카메라(901)로부터 데이터를 수집한다. 카메라(901)는 프레임 당 1024 픽셀의 해상도를 갖고, 즉, 카메라는 1024 변수를 포함한다(1 픽셀은 1 변수와 동등함). 각 변수는 10 bit의 단어 길이를 갖는다. 샘플 속도는 초당 1000 프레임(1 kHz)이다. 그러므로, 이 카메라는 1280000 bytes/s의 속도로 데이터를 생성한다(1.28 MB/s, 초당 1.28 메가바이트),
기계에 적용된 처리에 관하여, 제1 쿼리 요청이 가능하다, 예를 들어: 열 처리가 시작되었는가? (또는 유사하게, 열원(레이저)가 작동하는가?) 이 쿼리를 해결하기 위해, 이 쿼리와 관련되고 이에 기반하는 태스크가 생성된다. 이 태스크의 계산은 쿼리에 대한 응담을 제공할 것이다. 이 경우, 계산될 태스크는 관심영역(ROI)의 획득 및 이의 처리이다.
따라서, 카메라(901)로부터 1.28 MB/s의 속도로 획득된 데이터는 태스크가 각 프레임 이미지로부터 배경 픽셀을 제거하기 위해 관심영역(ROI) 알고리즘을 적용하여 계산되고 정보를 포함하는 픽셀들과만 작업하는 장치(921)의 제1 프로세서(921a)로 보내진다. 특정 예에서, ROI는 70% 보다 조금 크다: 프레임당 729 픽셀이 선택되고, 이는 911,000 bytes/s (911 Kbytes/s)에 해당한다. 도 10에서, ROI 알고리즘을 적용한 후 획득된 ROI의 예를 나타낸다. ROI가 적절한 크기를 갖는다면, 열 처리가 시작되었다(즉, 제1 쿼리가 응답되었다)는 결론을 내릴 수 있다. 그 다음, 제1 프로세서(921a)에서, ROI로부터 온 데이터는 연결행렬(connectivity matrix), 이 경우, 729 X 729 크기를 갖는 행렬, 을 생성하는데 사용되고, 이는 각 픽셀마다 데이터의 주어진 구조를 따라 인접 픽셀을 정의한다. 이 연결행렬 계산의 결과는 66.4 kB/s의 출력을 제공하고, 이는, 911 kB/s에 가산되어, 그 결과 액체 컴퓨팅의 출력으로서 977.4 kB/s가 된다(제1 프로세서(921a)). 이 연결행렬은 픽셀의 공간적 구성을 검출하는데 유용하다. 다시 말하면, ROI의 결과는 액체 컴퓨팅에서 더 처리된다.
게다가, 제2 쿼리가 공식화될 수 있다(formulated). 예를 들어: 온도 분포가 필요한 표면 처리를 얻기 위해 적합한가? 또는 임의의 표면이 융착 온도에 도달할 위험이 있는가? 또는 각 작업 제품에 대한 온도 분포가 일정한가? 이러한 쿼리를 해결하기 위해, 이에 관련되고 이에 기반하는 태스크가 생성된다. 이 태스크의 계산은 쿼리에 대한 응답을 제공한다. 이 경우에, 계산될 태스크는 표면 온도 분포의 획득이다. 이 태스크의 해결은 카메라(901)에 의해 1000 프레임/초의 속도로 캡쳐된 프레임을 분석함을 암시한다.
이 처리를 수행하기 위하여, ROI 및 연결행렬은 제1 태스크가 계산된 장치(921)의 제2 프로세서(921b)의 임시 메모리 버퍼(temporal memory buffer)(921c)로 보내진다. 버퍼(921c)에 저장된 데이터는 서버(910)로 보내진다. 그 다음, 태스크는 서버(910)에 의해 (스케쥴러(910a)에서) 대응하는 장치(921, 922, 923)의 다른 제2 프로세서(921b, 922b, 923b)로 보내질 스레드로 나뉜다. 특히, 각각의 스레드는 다른 이미지 프레임과 관련된 데이터 처리를 위한 알고리즘을 수행한다. 각각의 스레드는 획득한 ROI를 갖는 그리고 연결행렬로부터 기인한 시간 및 공간(공간-시간적)면에서 공통 특징을 갖는 이미지 프레임의 픽셀에 병합 클러스터링 알고리즘(agglomerative clustering algorithm)을 실행하는 것일 수 있다. 서버(910)는 스레드를 몇몇 장치(921, 922, 923)에, 특히, 이의 제2 프로세서(921b, 922b, 923b)에 할당한다. 다시 말하면, 태스크는 카메라로부터의 다량의 데이터(1000 프레임/초)에 대처할 수 있게 하기 위하여 병렬화된다. 각 제2 프로세서(921b, 922b, 923b)는 그러므로 다른 이미지 프레임을 처리한다.
각 스레드의 결과는 각 클러스터된 프레임에 대한 중간, 최저 및 최대 온도와 표준 편차이다. 이 특정 예에서, 클러스터의 수는 9이다. 출력 데이터 전송은 144 kB/s(144000 bytes/s)이다. 이러한 데이터(모든 스레드의 솔루션)는 열처리 공정 사이클 시간에 따른 값을 일반화하기 위해 서버로 (스케쥴러(910b)에서) 보내진다. 이 앙상블은 서버(910)에 의해 장치(921)의 제2 프로세서(921b)로 할당된다. 태스크 결과로부터의 표면 온도 분포는 제2 쿼리에 대한 응답을 준다.
개시된 시스템에 의한 산업 설비의 기계 작동 제어의 또 다른 예는 도 11에 도시된다. 복수의 장치로 구성되는 네트워크의 세 개의 장치(921, 922, 923), 뿐만 아니라 서버(910)가 나타난다. 회전 부품(130)에 대한 조건 모니터링을 수행하기 위해, 하나의 가속도계(1201)가 사용된다.
도 12는 회전 부품(130)의 두 개의 도면(views)을 나타낸다(좌측의 측면도와 우측의 3D 단면도). 가속도계(1201)는 24 bit의 단어 길이를 갖는다. 샘플 속도는 최대 10 kHz 현상을 모니터링하기 위해 30 kHz이다. 그러므로, 가속도계(1201)는 90 kB/s(90000 bytes/s)의 속도로 데이터를 생성한다. 가속도계(1201)로부터, 데이터를 시간 도메인에서 주파수 도메인으로 이동시키기 위해 고속 푸리에 변환(FFT)을 적용하는 장치(921)의 제1 프로세서(921a)로 보내진다. 이 변환은 전송된 데이터량을 절반으로 감소시켜, 45 kB/s(45000 bytes/s)가 된다. FFT로부터, 볼-베어링으로부터의 관심 주파수가 선택된다: 도 12(우측)에서 도시한 바와 같이, 구름 베어링 케이지 주파수 FFT, 내륜 통과 주파수 BPFI, 외륜 통과 주파수 BPFO, 볼 자전 주파수 BSP 및 샤프트(shart) 회전 주파수 SRF. 이러한 주파수를 가지고 제1 쿼리 요청이 가능하다, 예를 들어: 내륜 통과 주파수가 이의 최대 한계 미만인가? 볼 자전 주파수의 순간 가속도는 어느 정도인가?
그 다음, 5개의 관심 주파수 각각에 대한 진폭이 장치(921)의 제2 프로세서(921b)의 임시 메모리 버퍼(921c)로 보내진다. 5개의 주파수 및 그들의 대응하는 진폭은 10개의 변수를 암시하고, 이의 각각은 4 bytes를 요구한다. 이 예에서 초당 2번의 FFT가 일어나기 때문에, 액체 단계의 출력은 80 B/s의 데이터를 제공한다. 버퍼(921c)에 저장된 데이터는 서버(910)로 (스케쥴러(910a)에서) 보내지고, 서버는 각각의 장치(921, 922, 923)의 다른 제2 프로세서(921b, 922b, 923b)로 스레드를 할당한다. 이 경우에, 병렬화는 (도 10에 도시된 예에서 카메라에 의해 수집된 데이터의 경우처럼) 처리될 다량의 데이터로 인한 것이 아니다; 대조적으로, 국부 최소값에 빠지는 것을 방지하기 위하여 k-평균 클러스터링 알고리즘(k-means clustering algorithm)을 몇 회 초기화 할 필요가 있기 때문에 병렬화가 요구된다(알고리즘이 국부 최소값으로 빠질 수 있는 임의 점으로부터 시작되기 때문이다). 때문에, 이 경우에서, 다른 제2 프로세서로 보내진 스레드 각각은 시간 면에서 공통 특성을 갖는 진폭을 그룹화하도록 k-평균 클러스터링 알고리즘을 실행함을 포함한다. 따라서 알고리즘은 후에 가장 좋은 결과(가장 분리된 도심(centroid))을 선택하기 위해서 동일한 입력 데이터(버퍼(921c)에 저장된 과거 데이터(historical data))로 몇 회 초기화 된다(스레드 당 1번). 각 스레드의 결과는 도심(5 변수, 주파수당 하나) 및 각 클러스터에 대해 하나의 직경(즉, 6 변수)이다. 4 bytes/variable(변수)가 된다. 이 특정 예에서, 클러스터의 수는 3이다. 그러므로, 각 k-평균은 72 bytes를 제공한다. 이 예에서 10000 FFT가 각 k-평균 클러스터링 알고리즘에 사용되고 초당 2 FFT가 일어나기 때문에, 그리고 각 k-평균이 72 bytes를 제공함을 고려하면, 이 단계에서, 결과 출력 데이터 전송은 약 0.0144 bytes/s이다. 각 실행이 몇 초 소요될 수 있기 때문에 각 k-평균 클러스터링 알고리즘의 실행을 병렬화함이 필요하다. 각각의 스레드로부터 온 데이터는 다시 서버(910)로 (스케줄러(910b)에서) 클러스터가 진화하는지(개념 변화(concept drift))를 검출하기 위한 통계적 테스트를 실행하기 위해 보내진다. 이 테스트의 계산은 서버에 의해 다른 제2 프로세서(921b)에 할당된다. 개념 변화 값(새로운 도심 위치)을 가져, 제2 쿼리를 해결하기 위한 태스크가 완료된다. 이러한 제2 쿼리의 예는: 볼 베어링 부품의 남아있는 유효 수명은 어느 정도인가? 비정상적 저하를 갖는 볼 베어링인가? 볼 베어링이 교체되거나 점검될 필요가 있는가? 관촬 될 수 있는 바와 같이, 장치(923)의 제2 프로세서(923b)가 장치(921)가 연결되는 기계의 회전 구성요소와 관련된 태스크를 해결하기 위하여 실행되는 k-평균 클러스터링 알고리즘에 따라 스레드를 계산하는 동안, 장치(923)의 제1 프로세서(923a)는 액체 컴퓨팅에서 장치(923)가 연결되는 기계의 회전 구성요소와 연관된 쿼리를 해결하기 위해 또 다른 태스크를 계산한다.
전자의 예에서 추론될 수 있는 바와 같이, 액체 컴퓨팅(장치의 제1 프로세서)의 출력에서 획득된 데이터의 볼륨은 제1 프로세서에 의해 처리된 데이터에 비해 (즉, 액체 컴퓨팅의 입력에서의 데이터에 비해) 감소된다. 첫 번째 예에서, 1280/977.4배의 감소가 대략적으로 얻어진다. 두 번째 예에서, 90,000/80배의 감소가 액체 컴퓨팅에서 얻어진다. 그라운드 컴퓨팅을 고려하면, 첫 번째 예에서 977.4/144배의 감소가 얻어지지만, 두 번째 예에서는 80/0.0144배의 감소가 얻어진다. 이는 포그/클라우드 컴퓨팅에서의 추가 처리를 위해 제공될 데이터의 볼륨이 또한 감소됨을 암시한다. 본 발명의 실시예에서, 에지/포그/클라우드 컴퓨팅에서 추가 처리를 위해 제공되는 데이터의 볼륨은 바람직하게는 그라운드 컴퓨팅에 도착하는 데이터의 볼륨 보다 적어도 약 10배 작고, 보다 바람직하게는 20배 더 작고, 더욱 보다 바람직하게는 100배 더 작으며 일부 경우에서 이는 심지어 최대 106배 더 작다. 몇 배 더 작은지는 처리되는 쿼리에 따른다.
본 개시에서 설명된 바와 같은 제1, 제2 및 제3 쿼리는 하기 중 적어도 하나에 대한 쿼리일 수 있다: 산업 설비에서 적어도 하나의 기계(또는 적어도 하나의 기계의 부품)의 작동을 감시; 적어도 하나의 기계/부품의 거동을 예측; 적어도 하나의 기계/부품을 작동; 검출되거나 진단될 수 있는 임의의 오작동에 대해 반응하도록 장치를 (네트워크의 서버 또는 장치에 의해 사용된 쿼리에 대한 응답으로) 제어; 그리고 기계/부품에서 임의의 작동을 지시.
본 문맥에서, 용어 "포함하다(comprises)" 및 "포함하다(includes)" 그리고 이의 어원(derivations)(예컨대 "포함(comprising)", "포함(including)", 등)이 배제 의미로 이해되지 않아야 한다, 즉, 이들 용어는 설명되고 정의된 것이 추가 구성요소, 단계, 등을 포함할 수 있다는 가능성을 배제하는 것으로서 해석되지 않아야 한다. 본 문맥에서, 용어 "다수(multiplicity)" 및 "복수(plurality)"는 상호교환 가능하게 사용된다.
본 발명은 명백히 본 명세서에서 설명한 특정 실시예(들)에 제한되지 않을 뿐만 아니라, 청구범위에서 정의된 바와 같은 본 발명의 일반적 범위 내에서, 당업자에 의해 고려될 수 있는(예를 들어, 물질, 범위, 구성요소, 구성, 등의 선택에 대하여) 임의의 변형을 포함한다.

Claims (29)

  1. 산업 설비의 적어도 하나의 기계(121-125, 500)의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계(121-125, 500)를 동작시키기 위한 시스템으로서, 시스템은
    컴퓨팅 클러스터(computing cluster)를 형성하는 복수의 장치(20-27) 및 서버(10-12)를 포함하는 네트워크(100-102)를 포함하고, 복수의 장치(20-27) 중 적어도 일부 장치는 기계로부터 센서 데이터를 수신하도록 산업 설비의 기계(121-125, 500)에 연결 가능하며, 적어도 일부 장치에서 각 장치(20-27)는 제1 프로세서(61) 및 제2 프로세서(62)를 포함하고,
    여기서, 제1 프로세서(61)는 장치(20-27)가 연결 가능한 기계(121-125, 500)로부터 획득 가능한 데이터로, 장치가 연결 가능한 기계 또는 기계의 부품의 작동에 관련된 제1 쿼리(query)(1500)를 해결하기 위해 제1 프로세싱 태스크(1501)를 실시간으로 계산하도록 구성되고; 그리고
    제2 프로세서(62)는 네트워크(100-102)와 제2 프로세서의 처리 능력(processing power)을 공유하도록 구성되고, 적어도 하나의 장치가 연결 가능한 적어도 하나의 기계 또는 기계의 부품의 작동에 관련된 제2 쿼리(1500)를 해결하기 위해, 서버(10-12)에 의해 할당되는, 제2 프로세싱 태스크(1501)의 적어도 하나의 스레드(1510a-1510n)를 계산하도록 구성되고;
    서버(10-12)는
    컴퓨팅 클러스터를 제어하고;
    제2 프로세싱 태스크(1501)를 복수의 스레드(1510a-1510n)로 분할하고; 그리고
    복수의 스레드 중 하나 이상의 스레드(1510a-1510n)를 복수의 장치(20-27)
    중 적어도 일부 장치의 제2 프로세서(62)에 할당하도록 구성되는 시스템.
  2. 제1항에 있어서,
    제1 프로세싱 태스크(1501)는
    데이터를 전처리하여 데이터 집합(set)을 형성하고, 데이터 집합으로부터 제1 쿼리(1500)를 해결하기 위해 데이터의 부분집합(subset)을 선택하는 단계; 또는
    데이터를 전처리하여 제1 쿼리(1500)를 해결하기 위해 데이터 집합을 형성하는 단계
    를 포함하는 것인 시스템.
  3. 제1항 또는 제2항에 있어서,
    제1 프로세서(61)는 제1 쿼리(1500)를 해결한 후 명령어(instruction)를 유도하고, 그리고 명령어를 동일한 장치 또는 장치(20-27)에 연결 가능한 기계(121-125, 500)의 제2 프로세서(62)로 전송하도록 더 구성되는 것인 시스템.
  4. 제1항 또는 제2항에 있어서,
    제2 프로세서(62)는 쿼리(1500)를 해결하기 위해 제3 프로세싱 태스크(1501)를 국부적으로 계산하도록 더 구성되는 것인 시스템.
  5. 제4항에 있어서,
    제3 프로세싱 태스크(1501)는 서버(10-12) 또는 복수의 장치(20-27) 중 임의의 장치로부터 획득 가능한 데이터를 처리하여 쿼리(1500)를 해결하기 위한 데이터 집합을 형성하는 단계를 포함하는 것인 시스템.
  6. 제1항 또는 제2항에 있어서,
    서버(10-12)는
    복수의 장치(20-27) 중 적어도 일부 장치로부터 하나 이상의 스레드(1510a-1510n)의 출력(output)을 수신하고;
    출력을 처리하여 제2 프로세싱 태스크(1501)를 계산하고; 그리고
    제2 쿼리(1500)에 대한 솔루션을 제공하도록 더 구성되는 것인 시스템.
  7. 제1항 또는 제2항에 있어서,
    제2 프로세서(62)는 제2 프로세싱 태스크(1501)를 생성하기 위해 서버(10-12)로 데이터를 보내도록 더 구성되고, 서버(10-12)로 보내진 데이터는 장치(20-27)가 연결 가능한 기계(121-125, 500)로부터 획득 가능한 데이터(1501) 및/또는 제1 쿼리(1500)를 위한 솔루션인 것인 시스템.
  8. 제1항 또는 제2항에 있어서,
    적어도 일부 장치에서 각 장치는 장치가 연결 가능한 기계(121-125, 500)로부터의 데이터 획득(acquisition)을 수행하도록 구성되고, 적어도 일부 장치에서 다른 장치에 의해 수행되는, 다른 장치가 연결 가능한 기계(121-125, 500)로부터의 데이터 획득과 동기화되는 것인 시스템.
  9. 제1항 또는 제2항에 있어서,
    네트워크(100-102) 내 데이터를 네트워크(100-102) 외부의 컴퓨팅 장치로 전송하기 위한 네트워킹 장치(200)를 더 포함하는 시스템.
  10. 제9항에 있어서,
    상기 컴퓨팅 장치는 포그 컴퓨팅 또는 클라우드 컴퓨팅을 수행하도록 구성되는 것인 시스템.
  11. 제1항 또는 제2항에 있어서,
    서버(12)는
    적어도 일부 장치에서 각 장치의 제2 프로세서(62)에 의해 실행되는 제2 명령어 집합 구조(set architecture)와 상이한 제1 명령어 집합 구조를 실행하도록 구성되는 프로세서; 및
    복수의 장치(20-27) 중 장치(27)에 연결 가능한 네트워크 인터페이스(19)
    를 포함하고, 네트워크 인터페이스(19)는 제1 명령어 집합 구조에서 제2 명령어 집합 구조로 그리고 그 반대로(vice versa) 명령어를 변환하도록 구성되는 것인 시스템.
  12. 산업 설비의 하나 이상의 기계(121-125, 500)의 작동을 감시하고 이러한 감시에 기반하여 상기 하나 이상의 기계(121-125, 500)를 동작시키기 위한 장치(20-27)로서, 상기 장치(20-27)는,
    컴퓨팅 클러스터 네트워크(100-102) 내 하나 이상의 다른 장치(20-27)에 연결하기 위한 하나 이상의 입력/출력 포트(28);
    상기 하나 이상의 기계(121-125, 500)의 데이터를 수신하고 상기 하나 이상의 기계(121-125, 500)에 명령어들을 전송하기 위해, 상기 하나 이상의 기계(121-125, 500)에 연결하기 위한 하나 이상의 인터페이스(29);
    상기 하나 이상의 기계(121-125, 500)로부터 상기 데이터를 수신하고, 상기 하나 이상의 기계(121-125, 500)의 작동에 관련된 제1 쿼리(1500)를 해결하기 위한 제1 프로세싱 태스크(1501)를 상기 하나 이상의 기계(121-125, 500)의 상기 데이터로 실시간으로 계산하도록 구성되는 제1 프로세서(61); 및
    제2 프로세서(62)로서, 상기 제2 프로세서(62)의 처리 능력을 상기 컴퓨팅 클러스터 네트워크(100-102)와 공유하고; 상기 컴퓨팅 클러스터 네트워크(100-102)의 서버(10-12)에 의해 할당된 제2 프로세싱 태스크(1501) 중 적어도 하나의 스레드(1510a-1510n)를 계산하며; 및 상기 제2 프로세싱 태스크(1501) - 상기 제2 프로세싱 태스크(1501)는 상기 하나 이상의 기계(121-125, 500) 중에서 적어도 하나의 기계의 상기 작동과 관련된 제2 쿼리(1500)를 해결하기 위한 것임 - 중 적어도 하나의 스레드에 대한 솔루션을 상기 서버(10-12)로 전송하도록 구성되는 상기 제2 프로세서(62);를 포함하되,
    상기 제1 프로세서(61)는,
    상기 제1 쿼리(1500)에 대한 솔루션을 상기 제2 프로세서(62)에 제공하는 단계; 및 상기 제1 쿼리(1500)에 대한 솔루션으로부터 제1 명령어를 유도하고 상기 제1 명령어를 상기 제2 프로세서(62)와, 상기 하나 이상의 기계(121-125, 500) 중에서 적어도 하나 기계 중 적어도 하나에 제공하는 단계; 중 적어도 하나를 더 수행하도록 구성되고,
    상기 제2 프로세서(62)는, 상기 제1 프로세서(61)로부터 수신된 상기 제1 쿼리(1500)에 대한 상기 솔루션을 상기 서버(10-12)로 전송하는 단계; 및 상기 제1 프로세서(61)로부터의 상기 제1 명령어를 상기 서버(10-12)와, 상기 하나 이상의 기계(121-125, 500) 중에서 적어도 하나 기계 중 적어도 하나에 제공하는 단계; 중 적어도 하나를 더 수행하도록 구성되는 것인 장치.
  13. 제12항에 있어서,
    상기 제1 프로세서(61)는, 상기 제2 쿼리(1500)에 대한 솔루션으로부터 유도된 제2 명령어를 상기 컴퓨팅 클러스터 네트워크(100-102) 또는 상기 제2 프로세서(62)로부터 수신하고, 상기 제2 명령어를 상기 하나 이상의 기계(121-125, 500) 중에서 적어도 하나의 기계에 제공하도록 구성되는 것인 장치.
  14. 제12항 또는 제13항에 있어서,
    상기 제1 프로세서(61) 및/또는 상기 제2 프로세서(62)는 다중처리 시스템-온-칩(multiprocessor system-on-chip)을 포함하는 것인 장치.
  15. 제12항 또는 제13항에 있어서,
    상기 제1 프로세싱 태스크(1501)는,
    데이터 집합을 형성하기 위해 상기 데이터를 전처리하고, 상기 제1 쿼리(1500)를 해결하기 위해 상기 데이터 집합으로부터 데이터의 부분집합을 선택하는 단계; 또는
    상기 제1 쿼리(1500)를 해결하기 위해, 데이터 집합을 형성하기 위해 상기 데이터를 전처리하는 단계를 포함하는 것인 장치.
  16. 제15항에 있어서,
    상기 제1 프로세서(61)는 상기 데이터 집합을 상기 제2 프로세서(62)에 제공하도록 구성되는 것인 장치.
  17. 산업 설비로서,
    복수의 기계(121-125, 500); 및
    복수의 기계 중 적어도 하나의 기계(121-125, 500)의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계(121-125, 500)를 동작시키기 위한 네트워크(100-102)를 포함하고, 네트워크(100-102)는 컴퓨팅 클러스터를 형성하는 복수의 장치(20-27) 및 서버(10-12)를 포함하며;
    복수의 장치(20-27) 중 적어도 일부 장치는 기계로부터 센서 데이터를 수신하기 위해 복수의 기계 중 기계(121-125, 500)에 연결 가능하고, 적어도 일부 장치에서 각 장치(20-27)는 제1 프로세서(61) 및 제2 프로세서(62)를 포함하고,
    여기서, 제1 프로세서(61)는 장치(20-27)가 연결 가능한 기계(121-125, 500)로부터 획득 가능한 데이터로, 장치가 연결 가능한 기계 또는 기계의 부품의 작동에 관련된 제1 쿼리(1500)를 해결하기 위해 제1 프로세싱 태스크(1501)를 실시간으로 계산하도록 구성되고; 그리고
    제2 프로세서(62)는 네트워크(100-102)와 제2 프로세서의 처리 능력을 공유하도록 구성되고, 적어도 하나의 장치가 연결 가능한 적어도 하나의 기계 또는 기계의 부품의 작동에 관련된 제2 쿼리(1500)를 해결하기 위해, 서버(10-12)에 의해 할당되는, 제2 프로세싱 태스크(1501)의 적어도 하나의 스레드(1510a-1510n)를 계산하도록 구성되고;
    서버(10-12)는
    컴퓨팅 클러스터를 제어하고;
    제2 프로세싱 태스크(1501)를 복수의 스레드(1510a-1510n)로 분할하고; 그리고
    복수의 스레드 중 하나 이상의 스레드(1510a-1510n)를 복수의 장치(20-27) 중 적어도 일부 장치의 제2 프로세서(61)에 할당하도록 구성되는 것인 산업 설비.
  18. 제17항에 있어서,
    서버(10-12)는
    복수의 장치(20-27) 중 적어도 일부 장치로부터 하나 이상의 스레드(1510a-1510n)의 출력을 수신하고;
    출력을 처리하여 제2 프로세싱 태스크(1501)를 계산하고; 그리고
    제2 쿼리(1500)에 대한 솔루션을 제공하도록 더 구성되는 것인 산업 설비.
  19. 컴퓨팅 클러스터를 형성하는 복수의 장치(20-27) 및 서버(10-12)를 포함하는 네트워크(100-102)에 의해, 산업 설비의 적어도 하나의 기계(121-125, 500)의 작동을 감시하기 위한 또는 이러한 작동을 감시하고 이러한 감시에 기반하여 적어도 하나의 기계(121-125, 500)를 동작시키기 위한 방법으로서, 여기에서 복수의 장치(20-27) 중 적어도 일부 장치는 산업 설비의 기계(121-125, 500)에 연결 가능하고, 방법은
    적어도 일부 장치의 각 장치에서, 장치가 연결 가능한 기계로부터 센서 데이터를 획득하는 단계;
    적어도 일부 장치에서 각 장치(20-27)의 제1 프로세서에서, 획득된 데이터로 제1 쿼리(1500)를 해결하기 위해 제1 프로세싱 태스크를 실시간으로 계산하는 단계;
    제2 쿼리를 해결하기 위해, 적어도 일부 장치의 각 장치에서, 서버에 의해 할당되는 제2 프로세싱 태스크의 적어도 하나의 스레드를 수신하는 단계;
    적어도 일부 장치에서 각 장치의 제2 프로세서에서, 수신된 적어도 하나의 스레드를 계산하는 단계로서, 제2 프로세서는 네트워크와 제2 프로세서의 처리 능력을 공유하도록 구성되는 것인 단계;
    서버(10-12)에서, 컴퓨팅 클러스터를 제어하고, 제2 프로세싱 태스크(1501)를 복수의 스레드(1510a-1510n)로 분할하고, 그리고 복수의 스레드 중 하나 이상의 스레드(1510a-1510n)를 복수의 장치(20-27) 중 적어도 일부 장치의 제2 프로세서(62)에 할당하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    제1 프로세싱 태스크(1501)를 계산하는 단계는 데이터를 전처리하여 데이터 집합을 형성하는 단계, 데이터 집합으로부터 제1 쿼리(1500)를 해결하기 위해 데이터 부분집합을 선택하는 단계; 또는 데이터를 전처리하여 제1 쿼리(1500)를 해결하기 위해 데이터 집합을 형성하는 단계를 포함하는 것인 방법.
  21. 제19항 또는 제20항에 있어서,
    제1 프로세서(61)에서, 제1 쿼리(1500)를 해결한 후 명령어를 유도하고, 그리고 명령어를 동일 장치 또는 장치(20-27)에 연결 가능한 기계(121-125, 500)의 제2 프로세서(62)로 전송하는 단계를 더 포함하는 것인 방법.
  22. 제19항 또는 제20항에 있어서,
    제2 프로세서(62)에서, 쿼리(1500)를 해결하기 위해 제3 프로세싱 태스크(1501)를 국부적으로 계산하는 단계를 더 포함하는, 방법.
  23. 제22항에 있어서,
    제3 프로세싱 태스크(1501)를 계산하는 단계는 복수의 장치(20-27) 중 임의의 장치 또는 서버(10-12)로부터 획득 가능한 데이터를 처리하여 쿼리(1500)를 해결하기 위해 데이터 집합을 형성하는 것을 포함하는 것인 방법.
  24. 제19항 또는 제20항에 있어서,
    서버(10-12)에서 복수의 장치(20-27) 중 적어도 일부 장치로부터 하나 이상의 스레드(1510a-1510n)의 출력을 수신하는 단계; 출력을 처리하여 제2 프로세싱 태스크(1501)를 계산하는 단계; 및 제2 쿼리(1500)에 대한 솔루션을 제공하는 단계를 더 포함하는 것인 방법.
  25. 제19항 또는 제20항에 있어서,
    적어도 일부 장치에서 각 장치는 장치가 연결 가능한 기계(121-125, 500)로부터의 데이터 획득을 수행하고, 적어도 일부 장치에서 다른 장치에 의해 수행되는, 다른 장치가 연결 가능한 기계(121-125, 500)로부터의 데이터 획득과 동기화되는 것인 방법.
  26. 제19항 또는 제20항에 있어서,
    네트워킹 장치(200)에 의하여, 네트워크(100-102) 내 데이터를 네트워크(100-102) 외부의 컴퓨팅 장치로 전송하는 단계를 더 포함하는 것인 방법.
  27. 삭제
  28. 삭제
  29. 삭제
KR1020187031484A 2017-03-01 2018-03-01 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치 KR102599872B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17382107.5A EP3370125A1 (en) 2017-03-01 2017-03-01 Device and system including multiple devices for supervision and control of machines in industrial installation
EP17382107.5 2017-03-01
PCT/EP2018/055115 WO2018158404A1 (en) 2017-03-01 2018-03-01 Device and system including multiple devices for supervision and control of machines in industrial installation

Publications (2)

Publication Number Publication Date
KR20190122125A KR20190122125A (ko) 2019-10-29
KR102599872B1 true KR102599872B1 (ko) 2023-11-07

Family

ID=58266534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031484A KR102599872B1 (ko) 2017-03-01 2018-03-01 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치

Country Status (10)

Country Link
EP (2) EP3370125A1 (ko)
JP (2) JP6983805B2 (ko)
KR (1) KR102599872B1 (ko)
CN (1) CN109313423B (ko)
BR (1) BR112019018116A2 (ko)
CA (1) CA3054637A1 (ko)
DE (1) DE112018001085T5 (ko)
GB (1) GB2573962B (ko)
SG (1) SG11201809889PA (ko)
WO (1) WO2018158404A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3850448A4 (en) 2018-09-10 2022-06-08 AVEVA Software, LLC PERIPHERAL MODULE SERVER SYSTEM OF USE AND METHOD
ES2782299A1 (es) * 2019-03-11 2020-09-11 Univ Valladolid Sistema de recogida de piezas y productos para montajes o preparaciones de pedidos
CN109756583A (zh) * 2019-03-21 2019-05-14 银川高新区慧泽园科技有限公司 机车动态质量智能监测系统
CN109933004B (zh) * 2019-03-27 2022-05-24 苏芯物联技术(南京)有限公司 基于边缘计算和云协同的机床故障诊断与预测方法及系统
CN110311946A (zh) * 2019-05-10 2019-10-08 国网浙江省电力有限公司宁波供电公司 基于云雾计算的业务数据安全处理方法、装置及系统
JP7226103B2 (ja) * 2019-05-29 2023-02-21 オムロン株式会社 制御システム、サポート装置およびサポートプログラム
EP3770704A1 (de) * 2019-07-24 2021-01-27 Siemens Aktiengesellschaft Cloudbasiertes dezentrales automatisierungssystem
CN110765288B (zh) * 2019-09-04 2022-09-27 北京旷视科技有限公司 一种图像信息同步方法、装置、系统及存储介质
CN111190925B (zh) * 2019-10-30 2023-07-21 重庆邮电大学 一种面向边缘计算的多维度查询方法、系统及存储介质
KR102244815B1 (ko) * 2019-12-26 2021-04-27 한국브로치주식회사 IoT 기반의 예방 보전 기술 적용이 가능한 능동형 브로칭머신의 제어방법
TWI741540B (zh) * 2020-03-25 2021-10-01 王志民 植物、菇類栽培監測系統
EP3929682B1 (en) * 2020-06-25 2023-10-18 Volkswagen Ag Estimating a mechanical degradation of a machine
CN111835849B (zh) * 2020-07-13 2021-12-07 中国联合网络通信集团有限公司 增强接入网服务能力的方法和装置
CN112094959B (zh) * 2020-09-22 2021-09-21 江苏坤泰机械有限公司 全自动皮革裁断机
US11586480B2 (en) 2020-11-24 2023-02-21 International Business Machines Corporation Edge computing workload balancing
CN114930385A (zh) * 2020-12-03 2022-08-19 京东方科技集团股份有限公司 用于缺陷分析的计算机实现的方法、用于缺陷分析的设备、计算机程序产品和智能缺陷分析系统
CN112526974A (zh) * 2020-12-04 2021-03-19 中国航空工业集团公司成都飞机设计研究所 采用插件式管理架构的通用试验数据采集系统
CN112527829B (zh) * 2020-12-17 2022-05-10 浙江经贸职业技术学院 基于物联网的工业数据传输与可视化系统
CN112686565A (zh) * 2021-01-08 2021-04-20 京东数科海益信息科技有限公司 信息的处理装置、方法和机器人
KR102294851B1 (ko) * 2021-02-22 2021-08-27 강민석 계측 및 제어를 위한 시스템, ectu의 제어 방법, 및 컴퓨터 프로그램
WO2022250449A1 (ko) * 2021-05-25 2022-12-01 젠틀에너지 주식회사 데이터 분류 장치 및 방법
JP7051020B1 (ja) * 2021-06-03 2022-04-08 三菱電機株式会社 プログラマブルロジックコントローラ及びプログラマブルロジックコントローラの動作方法
DE102021213418A1 (de) 2021-11-29 2023-06-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Schnittstellenkomponente für verteilte Komponenten eines Systems des maschinellen Lernens
CN114978927B (zh) * 2022-05-30 2023-09-26 机械工业仪器仪表综合技术经济研究所 边缘计算节点通信资源建模方法、设备和介质
KR102577174B1 (ko) * 2023-02-20 2023-09-11 주식회사 파인솔루션 고속 설비의 응답시간 측정 장치
CN116795066B (zh) * 2023-08-16 2023-10-27 南京德克威尔自动化有限公司 远程io模块的通信数据处理方法、系统、服务器及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273014A (ja) * 2000-03-28 2001-10-05 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2008135005A (ja) * 2006-09-29 2008-06-12 Rockwell Automation Technologies Inc 動作制御タイミングモデル
US20080208363A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Prioritization associated with controller engine instances
JP2016517603A (ja) * 2013-03-15 2016-06-16 フィッシャー−ローズマウント システムズ,インコーポレ データモデリングスタジオ、コンピュータシステム、及びコンピュータで実装される方法
WO2016155856A1 (en) * 2015-03-27 2016-10-06 Bühler AG Method and system for process controlling of plants in an opc-ua based machine-to-machine network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820889B2 (ja) * 1994-05-31 1998-11-05 三菱電機株式会社 コントローラ
JPH1131075A (ja) * 1997-07-09 1999-02-02 Uerubiin:Kk マルチcpuシステム
JP3053797B2 (ja) * 1998-06-12 2000-06-19 三菱電機株式会社 制御装置の制御ソフトウエア実行システム
ES2628282T3 (es) * 2006-12-05 2017-08-02 Telefonaktiebolaget Lm Ericsson (Publ) Una disposición y un método relacionados con la gestión del rendimiento mediante procesamiento distribuido
US7778713B2 (en) * 2007-02-27 2010-08-17 Rockwell Automation Technologies, Inc. Construction of an industrial control system using multiple instances of industrial control engines
DE102008005124A1 (de) * 2008-01-18 2009-07-23 Kuka Roboter Gmbh Computersystem, Steuerungsvorrichtung für eine Maschine, insbesondere für einen Industrieroboter, und Industrieroboter
US8881157B2 (en) * 2009-09-11 2014-11-04 Empire Technology Development Llc Allocating threads to cores based on threads falling behind thread completion target deadline
CN102692892B (zh) * 2011-03-22 2014-09-24 西门子公司 一种数控控制器以及数控机床
US9665088B2 (en) * 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
CN105531668B (zh) * 2013-08-08 2019-04-23 英派尔科技开发有限公司 用于执行进程的迁移的方法、迁移器及计算机可读介质
US9652297B2 (en) * 2013-09-19 2017-05-16 Intel Corporation Techniques for distributed processing task portion assignment
DE102014210233A1 (de) * 2014-05-28 2015-12-03 Siemens Aktiengesellschaft Teilen von Rechen-Ressourcen
JP6563187B2 (ja) * 2014-11-12 2019-08-21 株式会社東芝 分散制御システム、制御装置及び制御方法
JP6540166B2 (ja) * 2015-03-31 2019-07-10 オムロン株式会社 制御装置
CN105610944B (zh) * 2015-12-29 2019-03-05 北京物联远信息技术有限公司 一种面向物联网的雾计算架构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273014A (ja) * 2000-03-28 2001-10-05 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2008135005A (ja) * 2006-09-29 2008-06-12 Rockwell Automation Technologies Inc 動作制御タイミングモデル
US20080208363A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Prioritization associated with controller engine instances
JP2016517603A (ja) * 2013-03-15 2016-06-16 フィッシャー−ローズマウント システムズ,インコーポレ データモデリングスタジオ、コンピュータシステム、及びコンピュータで実装される方法
WO2016155856A1 (en) * 2015-03-27 2016-10-06 Bühler AG Method and system for process controlling of plants in an opc-ua based machine-to-machine network

Also Published As

Publication number Publication date
JP7125457B2 (ja) 2022-08-24
JP2021015614A (ja) 2021-02-12
GB2573962B (en) 2022-05-04
JP6983805B2 (ja) 2021-12-17
DE112018001085T5 (de) 2019-11-14
JP2020502596A (ja) 2020-01-23
CN109313423A (zh) 2019-02-05
CA3054637A1 (en) 2018-09-07
BR112019018116A2 (pt) 2020-04-07
GB201912333D0 (en) 2019-10-09
EP3370125A1 (en) 2018-09-05
CN109313423B (zh) 2022-10-14
EP3590013A1 (en) 2020-01-08
SG11201809889PA (en) 2018-12-28
GB2573962A (en) 2019-11-20
WO2018158404A1 (en) 2018-09-07
KR20190122125A (ko) 2019-10-29

Similar Documents

Publication Publication Date Title
KR102599872B1 (ko) 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치
US10860006B2 (en) Device and system including multiple devices for supervision and control of machines in industrial installation
CN110719210B (zh) 一种基于云边协同的工业设备预测性维护方法
US10037303B2 (en) Collecting and delivering data to a big data machine in a process control system
CN113112086B (zh) 一种基于边缘计算和标识解析的智能生产系统
Liu et al. A method of NC machine tools intelligent monitoring system in smart factories
JP7086905B2 (ja) プロセス制御システムにおけるビッグデータ
Liu et al. A cyber-physical system architecture in shop floor for intelligent manufacturing
RU2667545C1 (ru) Система управления буровой установкой
US10890900B2 (en) Client device for data acquisition and pre-processing of process-related mass data from at least one CNC machine or industrial robot
US10282676B2 (en) Automatic signal processing-based learning in a process plant
Zhang et al. Configuration design of the add-on cyber-physical system with CNC machine tools and its application perspectives
JP2018151917A (ja) 制御装置
Luis et al. Development of network system for connection PLC to cloud platforms using IIoT
Wojcicki et al. A Smart Spindle Component concept as a standalone measurement system for Industry 4.0 Machine Tools
JP2009042995A (ja) 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム
Torres et al. Cyber-physical production systems supported by intelligent devices (SmartBoxes) for industrial processes digitalization
Zębala et al. Monitoring of machining in the context of Industry 4.0–case study
Shroff et al. MIMOSA and OPC UA applied in wapice remote management system
Lu et al. Design and implementation of machine tools supervisory system based on information model
Fimmers et al. Asset Administration Shells in Tool Lifecycle Monitoring
Salvatierra et al. Cloud Condition Monitoring Platform for Steel Rolling Mill Machines

Legal Events

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