KR102195750B1 - 사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝 - Google Patents

사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝 Download PDF

Info

Publication number
KR102195750B1
KR102195750B1 KR1020207011886A KR20207011886A KR102195750B1 KR 102195750 B1 KR102195750 B1 KR 102195750B1 KR 1020207011886 A KR1020207011886 A KR 1020207011886A KR 20207011886 A KR20207011886 A KR 20207011886A KR 102195750 B1 KR102195750 B1 KR 102195750B1
Authority
KR
South Korea
Prior art keywords
software application
simulation
resource configuration
instance
unique
Prior art date
Application number
KR1020207011886A
Other languages
English (en)
Other versions
KR20200051037A (ko
Inventor
아미트 베르마
Original Assignee
지멘스 악티엔게젤샤프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Publication of KR20200051037A publication Critical patent/KR20200051037A/ko
Application granted granted Critical
Publication of KR102195750B1 publication Critical patent/KR102195750B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/40Maintenance of things

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은, 사물 인터넷(IoT; Internet-of-Things) 환경(100)에서의 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위한 방법 및 시스템에 관한 것이다. 실시예에서, 방법은, IoT 환경(100)에서의 하나 이상의 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스들(402A-402N)을 생성하는 단계를 포함한다. 각각의 시뮬레이션 인스턴스(402A-402N)는 고유 자원 구성(404A-404N)으로 구성된다. 방법은, 플랜트(103)로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 소프트웨어 애플리케이션을 프로세싱하는 단계를 포함한다. 또한, 방법은, 시뮬레이션 인스턴스들(402A-402N) 상에서의 소프트웨어 애플리케이션의 프로세싱에 기반하여, 소프트웨어 애플리케이션과 연관된 최적 자원 구성(404B)을 컴퓨팅하는 단계를 포함한다. 복수의 시뮬레이션 인스턴스들(402A-402N)로부터, 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스(402B)를 결정하고 결정된 시뮬레이션 인스턴스(402B)와 연관된 고유 자원 구성(404B)을 결정함으로써, 소프트웨어 애플리케이션과 연관된 최적 자원 구성(404B)이 컴퓨팅된다. 고유 자원 구성(404B)은, 하나 이상의 에지 디바이스들(104A-104N) 상에서 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타내는 최적 자원 구성이다.

Description

사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝
본 발명은 일반적으로, 사물 인터넷(IoT; Internet-of-Things) 분야에 관한 것으로, 더욱 구체적으로는, IoT 환경에서의 에지 디바이스(edge device)들 상에 소프트웨어 애플리케이션들을 프로비저닝(provisioning)하기 위한 방법 및 시스템에 관한 것이다.
IoT 환경, 이를테면, 산업 IoT(IIoT; Industrial IoT) 환경에서, 복수의 에지 디바이스들은 인터넷(Internet)을 통해 IoT 클라우드 플랫폼(cloud platform)과 센서(sensor)들 및 액추에이터(actuator)들에 연결된다. 에지 디바이스들은, 플랜트(plant)에 배치(deploy)된 다양한 센서들 및 액추에이터들로부터 데이터(data)를 수집하고, 수집된 데이터를 저장 및 버퍼링(buffer)하고, 수집된 데이터의 분석을 수행하며, 그리고 분석 결과에 기반하여 액션(action)(예컨대, 제어 커맨드(command)를 발행하는 것)을 수행하는 경량의 저비용 디바이스들일 수 있다. 에지 디바이스들은 또한, 플랜트 데이터를 집계(aggregate)하고, 필터링(filter)하고, 선택적으로 보고하고, 압축하고, 암호화하며 그리고/또는 다른 방식으로 프리-프로세싱(pre-process)하여서, 더 적은 데이터 및/또는 부가 가치 데이터가 IoT 클라우드 플랫폼에 통신되게 하도록 구성될 수 있다. 이는, 그러한 프리-프로세싱(pre-processing) 없이 요구되었을 수 있거나 또는 소비되었을 수 있는 것보다 더 적은 네트워크(network) 통신 그리고 후단부 저장 및 프로세싱(processing) 자원들의 소비로 이어질 수 있다. 통상적으로, 에지 디바이스들 각각은 각자의 내부에 배치된 하나 이상의 소프트웨어 애플리케이션들을 사용하여 위의 기능들을 수행할 수 있다. IoT 클라우드 플랫폼은, 에지 디바이스들을 관리하는 것, 에지 디바이스들로부터 수신된 데이터(미가공 데이터 또는 프리-프로세싱된(pre-processed) 데이터)를 관리하는 것, 및 에지 디바이스들 상에 소프트웨어 애플리케이션들을 프로비저닝하는 것을 담당한다.
통상적으로, IoT 환경에서의 에지 디바이스들은 자원 제약 디바이스들이다. 추가로, 자원 제약 디바이스들 각각은 하드웨어(hardware) 규격 측면에서 변할 수 있으며, IoT 클라우드 플랫폼에 의해 프로비저닝된(provisioned) 새로운 소프트웨어 애플리케이션들을 실행하기 위해 상이한 실시간 자원 능력들을 가질 수 있다. 예컨대, Raspberry PiTM 상에서 실행되는 에지 디바이스는, 통상적인 산업 PC에 기반한 에지 디바이스와는 상이한 소프트웨어 애플리케이션들을 실행할 수 있을 수 있다. 또한, 실시간 자원 능력들은, 에지 디바이스 상에 배치된 소프트웨어 애플리케이션들의 수, 및 런-타임(run-time) 동안 소프트웨어 애플리케이션들을 실행할 때 에지 디바이스에 의해 활용되는 자원들에 기반하여 변할 수 있다. 호환되지 않는 하드웨어 및 자원 제약을 갖는 에지 디바이스 상에 배치된 새로운 소프트웨어 애플리케이션은 실시간으로 소프트웨어 애플리케이션의 실행 동안 성능 문제들(예컨대, 디바이스 가동시간)에 맞닥뜨릴 수 있다. 또한, 이는 플랜트 데이터의 잘못된 분석으로 이어질 수 있다.
US2016/0232366A1은 주어진 시나리오(scenario)에서 실시간 디바이스의 성능을 시뮬레이팅(simulating)할 수 있는 검증 시스템을 개시한다. 검증 시스템은, 관심대상 디바이스의 능력들을 시뮬레이팅하기 위한 가상 시뮬레이터(simulator)에 로딩된(loaded) 특정 시나리오들에 관한 정보를 수신하고, 가상 시뮬레이터에 의해 시뮬레이션 이벤트(simulation event)들의 묶음을 실행하며, 그리고 디바이스의 성능이 목표 성능을 충족하는지 여부를 결정한다. 디바이스의 성능이 목표 성능을 충족하면, 검증 시스템은 디바이스 구성 프로파일(profile)을 실시간 디바이스에 배치한다. 그러나, 검증 시스템은 위에서 설명된 문제점들을 해결하지 않는다.
위를 고려하여, IoT 환경에서의 에지 디바이스들 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위한 개선된 방법 및 시스템에 대한 필요가 존재한다.
그러므로, 본 발명의 목적은, IoT 환경에서의 에지 디바이스들 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위한 방법 및 시스템을 제공하는 것이다.
본 발명의 목적은, IoT 환경에서의 에지 디바이스들 상에 소프트웨어 애플리케이션을 프로비저닝하는 방법에 의해 달성된다. 예컨대, 소프트웨어 애플리케이션은 에지 디바이스에 대한 데이터 분석을 수행하기 위한 애플리케이션이다. 대안적으로, 소프트웨어 애플리케이션은 에지 디바이스 상에서 기능을 수행하기 위한 임의의 다른 애플리케이션일 수 있다. 소프트웨어 애플리케이션은 새로운 애플리케이션 또는 업그레이드 패치(upgrade patch)일 수 있다. 방법은, IoT 환경에서의 하나 이상의 에지 디바이스들 상에 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스(instance)들을 생성하는 단계를 포함한다. 각각의 시뮬레이션 인스턴스는 고유 자원 구성으로 구성된다. 방법은, 산업 플랜트로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스 상에서 소프트웨어 애플리케이션을 프로세싱(processing)하는 단계, 및 시뮬레이션 인스턴스들 상에서의 소프트웨어 애플리케이션의 프로세싱에 기반하여, 소프트웨어 애플리케이션과 연관된 최적 자원 구성을 컴퓨팅(computing)하는 단계를 포함한다. 복수의 시뮬레이션 인스턴스들로부터, 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스를 결정하고 결정된 시뮬레이션 인스턴스와 연관된 고유 자원 구성을 결정함으로써, 소프트웨어 애플리케이션과 연관된 최적 자원 구성이 컴퓨팅될(computed) 수 있고, 고유 자원 구성(404B)은 최적 자원 구성이다. 최적 자원 구성은, 하나 이상의 에지 디바이스들 상에서 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타낸다. 이에 따라서, 소프트웨어 애플리케이션은 최적 자원 구성에 기반하여 적어도 하나의 에지 디바이스 상에 프로비저닝된다.
바람직한 실시예에서, 방법은, 애플리케이션 저장소에서 소프트웨어 애플리케이션과 연관된 메타파일(metafile)에 최적 자원 구성을 저장하는 단계를 포함할 수 있다.
다른 바람직한 실시예에서, 방법은, 소프트웨어 애플리케이션과 연관된 최적 자원 구성에 기반하여, 소프트웨어 애플리케이션을 실행하기 위해 IoT 환경에서의 적어도 하나의 에지 디바이스의 실시간 자원 능력들을 평가하는 단계를 포함할 수 있다. 예컨대, 실시간 자원 능력들은 소프트웨어 애플리케이션을 실행하기 위해 에지 디바이스 상에서 이용가능한 실시간 자원들을 나타낸다. 실시간 자원은 하드웨어 뿐만 아니라 소프트웨어 자원들을 포함할 수 있다. 실시간 자원들은, 에지 디바이스 상의 하드웨어 능력들 및 활용되지 않은 자원들을 포함할 수 있다. 방법은, 상기 에지 디바이스의 실시간 자원 능력들의 평가에 기반하여, 상기 에지 디바이스 상에 소프트웨어 애플리케이션을 프로비저닝하는 단계를 포함할 수 있다.
또 다른 바람직한 실시예에서, 방법은, 복수의 고유 자원 구성들로부터 일 세트(set)의 고유 자원 구성들을 선택하는 단계를 포함할 수 있고, 이러한 세트의 고유 자원 구성들은 IoT 환경에서의 에지 디바이스들의 실시간 자원 능력들에 대응한다. 방법은, 선택된 세트의 고유 자원 구성들에 기반하여 복수의 시뮬레이션 인스턴스들을 생성하는 단계를 포함할 수 있다. 각각의 고유 자원 구성은 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들을 포함한다.
또 다른 바람직한 실시예에서, 방법은, 상기 각각의 시뮬레이션 인스턴스의 고유 자원 구성에 기반하여, 산업 플랜트로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스 상에서 소프트웨어 애플리케이션을 시뮬레이팅하는 단계를 포함할 수 있다. 방법은, 상기 각각의 시뮬레이션 인스턴스 상에서의 소프트웨어 애플리케이션의 시뮬레이션 동안 소프트웨어 애플리케이션의 동작을 나타내는 파라미터 값들을 포착하는 단계를 포함할 수 있다. 유리하게는, 상이한 자원 구성들을 갖는 에지 디바이스들 상에서의 소프트웨어 애플리케이션의 성능은 에지 디바이스들 상에 소프트웨어 애플리케이션을 프로비저닝하기 전에 결정될 수 있다.
추가적인 다른 바람직한 실시예에서, 방법은, 포착된 파라미터 값들에 기반하여, 복수의 시뮬레이션 인스턴스들로부터, 소프트웨어 애플리케이션의 최적 동작이 이루어지는 적어도 하나의 시뮬레이션 인스턴스를 결정하는 단계를 포함할 수 있다. 방법은 또한, 결정된 시뮬레이션 인스턴스와 연관된 고유 자원 구성을 결정하는 단계를 포함할 수 있으며, 고유 자원 구성은 최적 자원 구성이다.
본 발명의 목적은 또한, IoT 환경에서의 에지 디바이스들 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위한 시스템에 의해 달성된다. 예시적인 실시예에서, 시스템은, 플랜트에서의 에지 디바이스들에 통신가능하게 연결된 클라우드 인프라스트럭처(infrastructure)에서의 IoT 클라우드 플랫폼일 수 있다. 다른 예시적인 구현에서, 시스템은, 플랜트에서의 에지 디바이스들에 통신가능하게 커플링된 원격 서버(server)(들)일 수 있다. 시스템은 하나 이상의 프로세서(processor)들, 및 프로세서들에 커플링된 메모리(memory)를 포함하며, 이 메모리는, 복수의 소프트웨어 애플리케이션들을 저장할 수 있는 애플리케이션 저장소를 포함한다. 시스템은 또한, IoT 환경에서의 하나 이상의 에지 디바이스들 상에 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스들을 생성하도록 구성된 시뮬레이션 모듈(module)을 포함한다. 각각의 시뮬레이션 인스턴스는 고유 자원 구성으로 구성된다. 시뮬레이션 모듈은, 산업 플랜트로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스 상에서 소프트웨어 애플리케이션을 프로세싱하도록, 그리고 시뮬레이션 인스턴스들 상에서의 소프트웨어 애플리케이션의 프로세싱에 기반하여, 하나 이상의 에지 디바이스들 상에서의 소프트웨어 애플리케이션과 연관된 최적 자원 구성을 컴퓨팅하도록 구성된다. 시뮬레이션 모듈은, 복수의 시뮬레이션 인스턴스들로부터, 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스를 결정하고 결정된 시뮬레이션 인스턴스와 연관된 고유 자원 구성을 결정함으로써, 소프트웨어 애플리케이션과 연관된 최적 자원 구성을 컴퓨팅하도록 구성되고, 고유 자원 구성(404B)은 최적 자원 구성이다. 최적 자원 구성은, 하나 이상의 에지 디바이스들 상에서 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타낸다. 이에 따라서, 소프트웨어 애플리케이션은 최적 자원 구성에 기반하여 적어도 하나의 에지 디바이스 상에 프로비저닝된다(provisioned).
바람직한 실시예에서, 시스템은, 소프트웨어 애플리케이션과 연관된 최적 자원 구성에 기반하여, 소프트웨어 애플리케이션을 실행하기 위해 IoT 환경에서의 적어도 하나의 에지 디바이스의 실시간 자원 능력들을 평가하도록 구성된 에지 디바이스 관리 모듈을 포함할 수 있다. 바람직한 실시예에서, 시스템은, 상기 에지 디바이스의 실시간 자원 능력들의 평가에 기반하여, 상기 에지 디바이스 상에 소프트웨어 애플리케이션을 프로비저닝하도록 구성된 프로비저닝(provisioning) 모듈을 포함할 수 있다.
다른 바람직한 실시예에서, 시뮬레이션 모듈은, 애플리케이션 저장소에서 소프트웨어 애플리케이션과 연관된 메타파일에 최적 자원 구성을 저장하도록 구성될 수 있다.
또 다른 바람직한 실시예에서, 시뮬레이션 모듈은, 복수의 고유 자원 구성들로부터 일 세트의 고유 자원 구성들을 선택하도록 구성될 수 있다. 이러한 세트의 고유 자원 구성들은 IoT 환경에서의 에지 디바이스들의 실시간 자원 능력들에 대응한다. 각각의 고유 자원 구성은 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들을 포함한다. 시뮬레이션 모듈은, 선택된 세트의 고유 자원 구성들에 기반하여 복수의 시뮬레이션 인스턴스들을 생성하도록 구성될 수 있다.
또 다른 바람직한 실시예에서, 시뮬레이션 모듈은, 상기 각각의 시뮬레이션 인스턴스의 고유 자원 구성에 기반하여, 산업 플랜트로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스 상에서 소프트웨어 애플리케이션을 시뮬레이팅하도록 구성될 수 있다. 시뮬레이션 모듈은 또한, 상기 각각의 시뮬레이션 인스턴스 상에서의 소프트웨어 애플리케이션의 시뮬레이션 동안 소프트웨어 애플리케이션의 동작을 나타내는 파라미터 값들을 포착하도록 구성될 수 있다.
추가적인 다른 바람직한 실시예에서, 시뮬레이션 모듈은, 포착된 파라미터 값들에 기반하여, 복수의 시뮬레이션 인스턴스들로부터, 소프트웨어 애플리케이션의 동작이 만족스러운 것으로서 발견되는 적어도 하나의 시뮬레이션 인스턴스를 결정하도록 구성될 수 있다. 또한, 시뮬레이션 모듈은, 결정된 시뮬레이션 인스턴스와 연관된 고유 자원 구성을 결정하도록 구성될 수 있고, 고유 자원 구성은 최적 자원 구성이다.
또한, 본 발명의 목적은, 머신-판독가능(machine-readable) 명령들을 내부에 저장하고 있는 컴퓨터-프로그램 제품(computer-program product)에 의해 달성되고, 이 머신-판독가능 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 위에서 설명된 방법 단계들을 수행하게 한다. 프로세서는 IoT 클라우드 플랫폼의 프로세서일 수 있다.
본 발명의 위에서 언급된 그리고 다른 특징들이 이제 본 발명의 첨부된 도면들을 참조하여 다루어질 것이다. 예시된 실시예들은 예시하는 것으로 의도되지만, 본 발명을 제한하지 않는다.
본 발명은 첨부된 도면들에서 도시된 예시된 실시예들을 참조하여 이하에 추가로 설명되며, 첨부된 도면들에서:
도 1은 본 발명의 실시예에 따른, 사물 인터넷(IoT; Internet-of-Things) 환경의 개략적인 표현이다.
도 2는 본 발명의 실시예에 따른, 도 1에서 도시된 IoT 클라우드 플랫폼의 블록 다이어그램(block diagram)이다.
도 3은 본 발명의 실시예에 따른, IoT 클라우드 플랫폼에 의해 에지 디바이스 상에 소프트웨어 애플리케이션을 프로비저닝하는 예시적인 방법을 예시하는 흐름 다이어그램이다.
도 4는 본 발명의 실시예에 따른, 에지 디바이스 상에 소프트웨어 애플리케이션을 배치하기 위한 최적 자원 구성을 컴퓨팅하기 위한 시뮬레이션 환경의 개략적인 표현을 예시한다.
다양한 실시예들은 도면들을 참조하여 설명되며, 여기서, 도면들을 참조하기 위해 동일한 참조 번호들이 사용되고, 전체에 걸쳐 동일한 엘리먼트(element)들을 지칭하기 위해 동일한 참조 번호들이 사용된다. 다음의 설명에서는, 설명의 목적을 위해, 하나 이상의 실시예들의 완전한 이해를 제공하기 위하여 많은 특정 세부사항들이 제시된다. 그러한 실시예들이 이들 특정 세부사항들 없이 실시될 수 있다는 것이 명백할 수 있다.
도 1은 본 발명의 실시예에 따른, 사물 인터넷(IoT; Internet-of-Things) 환경(100)의 개략적인 표현이다. IoT 환경(100)은 IoT 클라우드 플랫폼(102), 센서(sensor)들/액추에이터(actuator)들(116A-116N)의 그룹(group)들 및 에지 디바이스들(104A-104N)을 포함하는 플랜트(103), 및 사용자 디바이스들(114A-114C)을 포함한다. 센서들/액추에이터들(116A-116N)의 각각의 그룹은 유선 네트워크 또는 무선 네트워크를 통해 개개의 에지 디바이스들(104A-104N)에 연결된다. 에지 디바이스들(104A-104N) 각각은 광역 네트워크와 같은 네트워크 연결을 통해 IoT 클라우드 플랫폼(102)에 연결된다. 또한, 사용자 디바이스들(114A-114C)은 광역 네트워크를 통해 IoT 클라우드 플랫폼(102)에 연결된다.
도시되지는 않았지만, 에지 디바이스들(104A-104N) 중 일부 또는 전부는 에지 게이트웨이(gateway)를 통해 IoT 클라우드 플랫폼(102)에 연결될 수 있다. 또한, IoT 클라우드 플랫폼(102)은 상이한 지리적 위치들에 위치된 플랜트들(103)에서의 에지 디바이스들에 연결될 수 있다.
플랜트(103)에서, 센서들/액추에이터들(116A-116N)의 그룹들은 장비들 및 프로세스(process)들을 모니터링(monitoring) 및 제어하도록 배치된다. 센서의 예는 플랜트(103)에 배치된 적외선 카메라(camera)일 수 있다. 에지 디바이스들(104A-104N)은 배터리-구동식(battery-powered) 디바이스들일 수 있고, 에지 운영 시스템을 구비할 수 있다. 예컨대, 에지 디바이스들(104A-104N)은, 센서들(116A-116N)의 개개의 그룹들로부터 플랜트 데이터를 수집하고, 에지 디바이스들(104A-104N) 상에 배치된 일 세트의 소프트웨어 애플리케이션들을 사용하여, 수집된 플랜트 데이터를 분석하도록 구성된다. 에지 디바이스들(104A-104N)은 수집된 플랜트 데이터의 분석 결과에 기반하여 개개의 액추에이터들에 커맨드들을 전송할 수 있다. 에지 디바이스들(104A-104N)은 또한, 미가공/프로세싱된(processed) 플랜트 데이터 및/또는 플랜트 데이터의 분석 결과들을 IoT 클라우드 플랫폼(102)에 푸시(push)할 수 있다.
IoT 클라우드 플랫폼(102)은 에지 디바이스들(104A-104N) 상의 소프트웨어 애플리케이션들의 프로비저닝과 같은 클라우드-기반 서비스(cloud-based service)들을 제공할 수 있는 클라우드 인프라스트럭처일 수 있다. IoT 클라우드 플랫폼(102)은 공공 클라우드 및/또는 사설 클라우드의 일부일 수 있다. IoT 클라우드 플랫폼(102)은, 데이터 과학자들/소프트웨어 벤더(vendor)들이 서비스로서 소프트웨어 애플리케이션을 제공하여서, 사용자들에 의한 소프트웨어 유지보수, 업그레이딩(upgrading) 및 백업(backup)에 대한 필요성을 제거하는 것을 가능하게 할 수 있다. 소프트웨어 애플리케이션은 전체 애플리케이션 또는 소프트웨어 패치일 수 있다. 일부 실시예들에서, 소프트웨어 애플리케이션은 에지 디바이스들(104A-104N)에 대한 데이터 분석을 수행하기 위한 분석 애플리케이션일 수 있다. 예컨대, 소프트웨어 애플리케이션은, 시계열 데이터의 다운-샘플링(down-sampling), 임계치들 또는 이동 평균들에 기반하여 시계열 데이터를 필터링하는 것, 진동 데이터에 대한 고속-푸리에 변환(Fast-Fourier transform)을 수행하는 것 및 이상(anomaly)을 나타내는 주파수들을 필터링하는 것, 선형 회귀 및 추세 예측을 수행하는 것, 서포트 벡터 머신(support vector machine) 분류기들, 신경망 또는 딥 러닝(deep learning) 분류기들을 사용한 로컬(local) 분류, 스트림(stream) 분석을 수행하는 것 등을 위한 애플리케이션을 포함할 수 있다.
IoT 클라우드 플랫폼(102)은 추가로, 도 2에서 더욱 상세히 예시된다. 도 2를 참조하면, IoT 클라우드 플랫폼(102)은 시뮬레이션 모듈(106), 프로비저닝 모듈(108), 에지 디바이스 관리 모듈(110), 프로세서(들)(202), 메모리 유닛(unit)(204) 및 통신 인터페이스(interface)(206)를 포함한다. 시뮬레이션 모듈(106), 프로비저닝 모듈(108) 및 에지 디바이스 관리 모듈(110)은 임베디드(embedded) 소프트웨어를 갖는 프로세서와 같은 하드웨어의 형태, 또는 컴퓨터 프로그램(computer program) 제품(예컨대, 메모리 유닛(204)) 상에 저장되고 프로세서(들)(202)에 의해 실행가능한 머신-판독가능 명령들 형태의 컴퓨터 프로그램의 형태를 취할 수 있다. 프로세서(들)(102)는 하나 이상의 프로세싱(processing) 유닛들(예컨대, 서버들)일 수 있다. 프로세서(들)(102)는 또한, 플랜트 데이터를 프로세싱하는 것, 플랜트 데이터를 분석하는 것, 분석된 플랜트 데이터의 시각화를 제공하는 것, 액추에이터들에 제어 커맨드들을 발행하는 것, 에지 디바이스들(104A-104N)을 관리하는 것 등과 같은 다양한 기능들을 수행하기 위해 컴퓨터-판독가능 저장 매체, 이를테면, 메모리 유닛(204) 상에 저장된 머신-판독가능 명령들을 실행할 수 있다. 메모리 유닛(204)은 휘발성 또는 비-휘발성 메모리일 수 있다. 바람직한 실시예에서, 메모리 유닛(204)은 애플리케이션 저장소(112)를 저장하도록 구성된다. 애플리케이션 저장소(112)는 에지 디바이스들(104A-104N) 상에 프로비저닝하기 위한 소프트웨어 애플리케이션들을 저장할 수 있다. 소프트웨어 애플리케이션들은, 메타파일 내의 연관된 최적 자원 구성과 함께 애플리케이션 바이너리(binary)들로서 애플리케이션 저장소(112)에 저장된다. 통신 인터페이스(206)는 에지 디바이스들(104A-104N)과 IoT 클라우드 플랫폼(102) 사이에 통신 채널(channel)을 설정하도록 구성된다. 또한, 통신 인터페이스(206)는 IoT 클라우드 플랫폼(102)과 사용자 디바이스들(114A-114C) 사이에 통신 채널을 설정하도록 구성된다.
시뮬레이션 모듈(106)은 시뮬레이션 환경에서 복수의 시뮬레이션 인스턴스들 상에 소프트웨어 애플리케이션의 동작을 시뮬레이팅하도록 구성된다. 각각의 시뮬레이션 인스턴스는 IoT 환경(100)에서의 에지 디바이스를 표현한다. 각각의 시뮬레이션 인스턴스는 또한, 고유 자원 구성으로 구성된다. 고유 자원 구성은 에지 디바이스의 실시간 자원 능력들에 대응한다. 고유 자원 구성은 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들을 포함한다. 예시적인 구현에서, 시뮬레이션 모듈(106)은 미리 결정된 시간 기간 동안 연속하여 또는 동시에 복수의 시뮬레이션 인스턴스들 상에서 소프트웨어 애플리케이션을 실행한다. 시뮬레이션 모듈(106)은 소프트웨어 애플리케이션의 시뮬레이션 결과에 기반하여 소프트웨어 애플리케이션과 연관된 최적 자원 구성을 컴퓨팅하도록 구성된다. 최적 자원 구성은, IoT 환경(100)에서의 에지 디바이스들(104A-104N) 상에서 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타낸다. 시뮬레이션 모듈(106)은, 애플리케이션 저장소(112)에서 소프트웨어 애플리케이션과 연관된 메타파일에 최적 자원 구성을 저장하도록 구성된다.
에지 디바이스 관리 모듈(110)은, 소프트웨어 애플리케이션과 연관된 최적 자원 구성에 기반하여, 소프트웨어 애플리케이션을 실행하기 위해 에지 디바이스들(104A-104N)의 실시간 자원 능력들을 평가하도록 구성된다. 예컨대, 자원들은 하드웨어 뿐만 아니라 소프트웨어 자원들일 수 있다. 자원은 네트워크 자원들, 저장 자원들, 컴퓨테이셔널(computational) 자원들 등일 수 있다. 최적 자원 구성은, 실시간으로 에지 디바이스들(104A-104N) 상에서 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타낸다. 프로비저닝 모듈(108)은, 하나 이상의 에지 디바이스들(104A-104N)이 소프트웨어 애플리케이션을 실행하기에 충분한 실시간 자원 능력들을 가지면, 이 하나 이상의 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션을 프로비저닝하도록 구성된다. 소프트웨어 애플리케이션들을 시뮬레이팅하고, 나중에 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위해 IoT 클라우드 플랫폼(102)에 의해 수행되는 단계들은 다음의 설명에서 더욱 상세히 설명된다.
사용자 디바이스들(114A-114C)은 클라우드-인식(cloud-aware) 디바이스, 이를테면, 랩톱(laptop), 데스크톱(desktop), 태블릿(tablet) 컴퓨터, 스마트 폰(smart phone) 등의 디바이스들일 수 있다. 사용자 디바이스들(114A-114C)은 인터넷을 통해 클라우드 사용자 인터페이스를 사용하여 IoT 클라우드 플랫폼(102)에 액세스(accessing)하도록 구성된다. 일 실시예에서, 사용자 디바이스들(114A-114C)은 클라우드 사용자 인터페이스를 통해 미가공/프로세싱된 플랜트 데이터 및/또는 플랜트 데이터의 분석 결과들을 보도록 구성된다. 다른 실시예에서, 사용자 디바이스들(114A-114C)은, 에지 디바이스들(104A-104N) 상에 프로비저닝될 소프트웨어 애플리케이션들을 애플리케이션 저장소(112)에 업로딩(uploading)하도록 구성된다. 예컨대, 소프트웨어 애플리케이션들은 통상적으로, 목표된 유스 케이스(use case)들을 위해 데이터 과학자들 또는 소프트웨어 벤더들에 의해 생성되고, 에지 디바이스들(104A-104N) 상에 프로비저닝하기 위해 IoT 클라우드 플랫폼(102) 상에 업로딩된다(uploaded). 또 다른 실시예에서, 사용자 디바이스들(114A-114C)은, 원하는 소프트웨어 애플리케이션의 시뮬레이션을 통해 최적 자원 구성의 컴퓨테이션(computation)을 요청하도록, 그리고 최적 자원 구성에 기반하여 플랜트(103)에서의 에지 디바이스들(104A-104N) 중 하나의 에지 디바이스 상에 소프트웨어 애플리케이션을 프로비저닝하도록 구성된다. 또 다른 실시예에서, 사용자 디바이스들(114A-114C)은, 플랜트 데이터의 분석 결과들에 기반하여, 에지 디바이스들(104A-104N)을 통해 액추에이터들(116A-116N)에 커맨드들을 발행하기 위한 휴대용 인간-머신(human-machine) 인터페이스 디바이스로서의 역할을 할 수 있다.
도 3은 본 발명의 실시예에 따른, IoT 클라우드 플랫폼(102)에 의해 에지 디바이스(104A) 상에 소프트웨어 애플리케이션을 프로비저닝하는 예시적인 방법을 예시하는 프로세스 흐름도(300)이다. 단계(302)에서, 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스들이 생성된다. 예컨대, 소프트웨어 애플리케이션은 제조된 제품의 품질을 결정하기 위해 플랜트(103)에 배치된 적외선 카메라들로부터의 실시간 비디오(video) 스트림들을 분석하기 위한 분석 애플리케이션일 수 있다. 바람직한 실시예에서, 복수의 고유 자원 구성들로부터 일 세트의 고유 자원 구성이 선택된다. 이러한 세트의 고유 자원 구성들은, 자원 구성들이 IoT 환경(100)에서의 에지 디바이스들(104A-104N)의 실시간 자원 능력들에 대응하도록 선택된다. 선택된 고유 자원 구성들 각각은 시뮬레이션 동안 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들로 구성된다. 예시적인 자원 제약들은 판독-액세스 메모리(RAM; read-access memory) 크기, 프로세서 유형, 저장부 크기, 버스(Bus) 크기 등을 포함할 수 있다. 이 바람직한 실시예에서, 복수의 시뮬레이션 인스턴스들은 선택된 세트의 고유 자원 구성들에 기반하여 생성된다. 예컨대, 시뮬레이션 인스턴스들은 대응하는 고유 자원 구성들로 구성된다. 시뮬레이션 인스턴스들 수 및 연관된 자원 구성들은 시뮬레이팅될(simulated) 소프트웨어 애플리케이션의 유형에 기반하여 공식화된다.
단계(304)에서, 소프트웨어 애플리케이션은 플랜트(103)로부터의 데이터를 사용하여 시뮬레이션 인스턴스들 상에서 프로세싱된다(processed). 예컨대, 플랜트(103)로부터의 데이터는 플랜트(103)로부터 수집된 실시간 데이터 또는 이력 데이터일 수 있다. 제품 품질을 분석하기 위한 데이터는 적외선 카메라들로부터 획득된 실시간 비디오 스트림들을 포함할 수 있다. 바람직한 실시예에서, 플랜트(103)로부터의 데이터를 사용하여 시뮬레이션 인스턴스들 상에서 소프트웨어 애플리케이션을 실행함으로써, 소프트웨어 애플리케이션의 동작이 시뮬레이팅된다. 예시적인 구현에서, 소프트웨어 애플리케이션은 미리 결정된 시간 기간 동안 시뮬레이션 인스턴스들 상에서 동시에 실행된다. 대안적으로, 소프트웨어 애플리케이션은 미리 정의된 순서로 미리 결정된 시간 기간 동안 시뮬레이션 인스턴스들 상에서 실행된다. 바람직한 실시예에서, 시뮬레이션 동안 소프트웨어 애플리케이션의 동작을 나타내는 파라미터 값들이 각각의 시뮬레이션 인스턴스에 대해 포착된다. 예컨대, 각각의 시뮬레이션 인스턴스에 대해 포착된 파라미터 값들은, 연관된 고유 자원 구성을 갖는 에지 디바이스 상에서 실행될 때 소프트웨어 애플리케이션의 성능을 나타내는 핵심 성능 표시자들이다.
단계(306)에서, 소프트웨어 애플리케이션과 연관된 최적 자원 구성은, 시뮬레이션 인스턴스들 상에서 소프트웨어 애플리케이션을 프로세싱하는 것에 기반하여 컴퓨팅된다(computed). 바람직한 실시예에서, 복수의 시뮬레이션 인스턴스들로부터, 포착된 파라미터 값들에 기반하여 시뮬레이션 인스턴스가 결정된다. 다시 말해서, 소프트웨어 애플리케이션의 최적 동작이 이루어지는 시뮬레이션 인스턴스가 최선의 시뮬레이션 인스턴스로서 결정된다.
이 바람직한 실시예에서, 이 시뮬레이션 인스턴스와 연관된 고유 자원 구성이 결정된다. 이 고유 자원 구성은 소프트웨어 애플리케이션을 실행하기 위한 최적 자원 구성으로서 간주된다. 최적 자원 구성은, 소프트웨어 애플리케이션이 연관된 시뮬레이션 인스턴스 상에서 시뮬레이팅될 때 소프트웨어 애플리케이션의 만족스러운 성능을 야기한 자원 구성이다. 최적 자원 구성은, 에지 디바이스 상에서의 소프트웨어 애플리케이션의 만족스러운 성능을 위해 에지 디바이스 상에서 이용가능할 최소 권장 자원 구성을 나타낸다. 따라서, 최적 자원 구성은, 에지 디바이스 상에 소프트웨어 애플리케이션을 프로비저닝하기 위해 에지 디바이스가 가져야 하는 최소 자원 구성이다.
단계(308)에서, 최적 자원 구성은, 애플리케이션 저장소(112)에서 소프트웨어 애플리케이션과 연관된 메타파일에 저장된다. 단계(310)에서, 소프트웨어 애플리케이션과 연관된 최적 자원 구성에 기반하여, 소프트웨어 애플리케이션을 실행하기 위한 적어도 하나의 에지 디바이스(104A)의 실시간 자원 능력들이 평가된다.
바람직한 실시예에서, 소프트웨어 애플리케이션의 실행에 이용가능한 실시간 자원들은 에지 디바이스(104A)로부터 획득된다. 또한, 에지 디바이스(104A)에 배치될 때 소프트웨어 애플리케이션의 만족스러운 성능을 위해 요구되는 최소 자원들을 나타내는 최적 자원 구성은, 소프트웨어 애플리케이션과 연관된 메타파일로부터 획득된다. 이용가능한 실시간 자원들이 소프트웨어 애플리케이션을 프로비저닝하기 위해 요구되는 최소 자원들 이상인지 여부가 결정된다. 이용가능한 실시간 자원들이, 요구되는 최소 자원들 이상이면, 단계(312)에서, 소프트웨어 애플리케이션은 에지 디바이스(104A) 상에 프로비저닝된다. 그런 다음, 소프트웨어 애플리케이션은, 에지 디바이스(104A) 상에서 이용가능한 실시간 자원들을 사용하여 에지 디바이스(104A) 상에서 런타임(runtime)에 설치 및 실행된다.
이용가능한 실시간 자원들이, 요구되는 최소 자원들 미만이면, 에지 디바이스(104A)는 원하지 않는 소프트웨어 애플리케이션들을 삭제함으로써 자원들을 자유화(free-up)할 수 있다. 대안적으로, IoT 클라우드 플랫폼(102)은, 소프트웨어 애플리케이션과 연관된 최적 자원 구성이 에지 디바이스(104A) 상에서 이용가능한 실시간 자원들 이하가 되는 방식으로, 소프트웨어 애플리케이션을 커스터마이징(customize)할 수 있다.
도 4는 본 발명의 실시예에 따른, 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션을 배치하기 위한 최적 자원 구성을 컴퓨팅하기 위한 시뮬레이션 환경(400)의 개략적인 표현을 예시한다.
플랜트(103)에서의 적외선 카메라들로부터 획득된, 제품의 실시간 비디오 스트림들을 분석하고, 실시간으로 제품 품질의 편차들을 식별하기 위해 분석 애플리케이션이 개발되는 것을 고려하라. 분석 애플리케이션은, 각각의 계층에서 약 백 개의 노드(node)들을 갖는 3 계층 콘볼루셔널 신경망(CNN; Convolutional Neural Network) 모델(model)로서 구현될 수 있다. CNN 모델은, 트레이닝(training) 비디오 데이터를 사용하여 데이터 과학자들에 의해 생성된다. 분석 애플리케이션은 플랜트(103)에서의 하나 이상의 에지 디바이스들(104A-104N) 상에 배치되도록 설계되고, 이 분석 애플리케이션은, 제조된 제품의 적외선 비디오 스트림들을 획득하기 위해 적외선 카메라들과 인터페이스(interface)하며 제품의 품질의 편차들을 컴퓨팅한다. 통상적으로, 분석 애플리케이션을 배치하기 전에는, 분석 애플리케이션이 에지 디바이스(104A) 상에 배치되면 어떤 성능 문제들도 없이 원활하게 실행될지 여부는 명확하지 않다. 그러므로, 본 발명은, 시뮬레이션 환경(400)에서 분석 애플리케이션의 동작을 시뮬레이팅하고, 아래에서 설명된 바와 같이 에지 디바이스(104A) 상에 배치하기 위해 요구되는, 분석 애플리케이션에 대한 최적 자원 구성을 컴퓨팅한다.
바람직한 실시예에 따르면, 분석 애플리케이션은, 하나 이상의 에지 디바이스들(104A-104N) 상에 프로비저닝하기 위해 애플리케이션 저장소(112)에서 클라우드 컨테이너(container)(예컨대, DockerTM 허브(Hub))로서 추가된다. 시뮬레이션 모듈(106)은 분석 애플리케이션의 동작을 시뮬레이팅하기 위해 시뮬레이션 인스턴스들(402A-402N)을 포함하는 시뮬레이션 환경(400)을 준비한다. 예시의 목적을 위해, 시뮬레이션 환경(400)이 시뮬레이션 인스턴스(402A), 시뮬레이션 인스턴스(402B) 및 시뮬레이션 인스턴스(402C)를 포함하는 것을 고려하라.
시뮬레이션 모듈(106)은 고유 자원 구성(404A)을 갖는 시뮬레이션 인스턴스(402A)를 구성한다. 고유 자원 구성(404A)은 자원 제약들: 64 MB RAM, 512 MHz 단일 코어(core) 프로세서, 512 MB 저장부 및 128 MHz 내부 통신 버스를 포함한다. 유사하게, 시뮬레이션 모듈(106)은 고유 자원 구성(404B)을 갖는 시뮬레이션 인스턴스(402B)를 구성한다. 고유 자원 구성(404B)은 자원 제약들: 512 MB RAM, 1 GHz 듀얼-코어(dual-core) 프로세서, 2 GB 저장부, 1 GHz 내부 통신 버스 및 512 MB 그래픽 프로세싱 유닛(GPU; Graphical Processing Unit)을 포함한다. 유사하게, 시뮬레이션 모듈(106)은 고유 자원 구성(404C)을 갖는 시뮬레이션 인스턴스(402C)를 구성한다. 고유 자원 구성(404C)은 자원 제약들: 2 GB RAM, 2 GHz 8 코어 프로세서, 4 GB 솔리드 스테이트 드라이브(Solid State Drive), 2 GHz 내부 통신 버스, 2 GB GPU 및 텐서(tensor) 프로세싱 유닛을 포함한다. 시뮬레이션 인스턴스(402A)의 자원 구성(404A)은 낮은 자원 능력들을 갖는 임베디드 디바이스의 자원 구성에 통상적임을 알 수 있다. 반대로, 시뮬레이션 인스턴스(402C)는, 빌트-인(built-in) GPU 및 텐서 프로세싱 유닛과 높은 자원 능력들을 갖는 강력한 에지 디바이스의 것으로서 고유 자원 구성(404C)을 갖는다.
시뮬레이션 모듈(106)은 애플리케이션 저장소(112)로부터 분석 애플리케이션의 클라우드 컨테이너를 획득하고, 시뮬레이션 인스턴스들(402A-402C) 상에 동시에 분석 애플리케이션의 클라우드 컨테이너를 배치한다. 시뮬레이션 인스턴스들(402A-402C)은 적외선 비디오 스트림 데이터를 사용하여 특정 시간 기간(예컨대, 48 시간) 동안 개개의 고유 자원 구성에 따라 분석 애플리케이션을 실행한다. 예시적인 구현에서, 시뮬레이션 인스턴스들(402A-402C)은 분석 애플리케이션의 클라우드 컨테이너를 실행하기 위해 DockerTM 런타임을 가질 수 있다. 클라우드 컨테이너는 또한, 적외선 비디오 스트림 데이터를 포함할 수 있다. 이 시간 기간 동안, 시뮬레이션 모듈(106)은 시뮬레이션 인스턴스들(402A-402C) 상에서 시뮬레이팅되고 있는 분석 애플리케이션의 동작을 모니터링(monitor)한다. 시뮬레이션 모듈(106)은 시뮬레이션 인스턴스들(402A-402C) 각각에서 분석 애플리케이션의 동작을 나타내는 파라미터 값들을 컴퓨팅한다. 파라미터 값들은 분석 애플리케이션의 출력의 정확도, 프로세서 상의 평균/피크(peak) 부하, 평균/피크 판독 및 기록들, GPU/텐서 프로세싱 유닛의 평균/피크 활용 등을 표시할 수 있다.
시뮬레이션 모듈(106)은 시뮬레이션 인스턴스들 각각과 연관된 파라미터 값들이 미리 결정된 임계 수준 내에 있는지 여부를 검사한다. 예컨대, 파라미터 값은, 프로세서의 평균 활용이 특정 시뮬레이션 인스턴스(예컨대, 시뮬레이션 인스턴스(402A)) 상에서 90%임을 나타내는 반면, 프로세서의 활용에 대한 미리 결정된 임계치는 75%이다. 그러한 경우, 특정 시뮬레이션 인스턴스(예컨대, 시뮬레이션 인스턴스(402A)) 상에서의 분석 애플리케이션의 동작 또는 성능은 만족스럽지 않거나 또는 수용불가능하다고 한다. 이는, 특정 시뮬레이션 인스턴스의 구성과 같은 구성을 갖는 에지 디바이스 상에서 분석 애플리케이션이 실행될 때 성능 문제들로 이어질 수 있다. 현재의 예에서, 분석 애플리케이션은 컴퓨테이션(computation) 비용이 많이 들고, 따라서 분석 애플리케이션의 성능은 낮은 자원 구성(404A)을 갖는 시뮬레이션 인스턴스(402A) 상에서는 만족스럽지 않다.
파라미터 값들에 기반하여, 시뮬레이션 모듈(106)은, 시뮬레이션 인스턴스들(402A-402C)로부터, 분석 애플리케이션의 동작이 만족스러운 것으로 발견되는 하나 이상의 시뮬레이션 인스턴스들을 식별한다. 다시 말해서, 시뮬레이션 인스턴스들에 대해 컴퓨팅된 파라미터 값들은 미리 결정된 임계 수준 내에 있다. 시뮬레이션 모듈(106)은 분석 애플리케이션의 동작이 만족스러운 시뮬레이션 인스턴스들(402B 및 402C)을 식별한다는 것을 고려하라.
시뮬레이션 모듈(106)은 시뮬레이션 인스턴스들(402B 및 402C) 중에서 최저 고유 자원 구성을 갖는 시뮬레이션 인스턴스를 결정한다. 현재의 경우, 시뮬레이션 모듈(402)은 시뮬레이션 인스턴스(402B)와 연관된 고유 자원 구성(404B)을, 에지 디바이스들(104A-104N) 상에 분석 애플리케이션을 배치하기 위한 최적 자원 구성으로서 식별한다. 최적 자원 구성은, 에지 디바이스가 분석 애플리케이션을 배치하는 데 자격이 있기 위해 가질 최소 권장 자원 구성이다. 시뮬레이션 모듈(106)은, 애플리케이션 저장소(112)에서 분석 애플리케이션과 연관된 메타파일에 최적 자원 구성을 저장한다.
에지 디바이스(104A) 상에 분석 애플리케이션을 프로비저닝하기 위한 요청이 수신될 때, 에지 디바이스 관리 모듈(110)은 에지 디바이스(104A)로부터 실시간 자원 이용가능성 정보를 획득한다. 에지 디바이스 관리 모듈(110)은, 실시간 자원 이용가능성 정보 및 최적 자원 구성에 기반하여, 실시간으로 분석 애플리케이션을 실행하기 위해 에지 디바이스(104A)의 실시간 자원 능력들을 평가한다. 에지 디바이스(104A)가 최적 자원 구성을 가지면, 프로비저닝 모듈(108)은 분석 애플리케이션을 에지 디바이스(104A)에 프로비저닝한다. 이는, 에지 디바이스(104A) 상에서 실행될 때 분석 애플리케이션의 성능이 만족스러울 것임을 보장하는 것을 돕는다.
본 발명은, 하나 이상의 컴퓨터들, 프로세서들 또는 명령 실행 시스템에 의해 또는 이들과 관련하여 사용하기 위한 프로그램 코드(code)를 저장하는 컴퓨터-사용가능(computer-usable) 또는 컴퓨터-판독가능 매체로부터 액세스가능한(accessible) 프로그램 모듈들을 포함하는 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 본 설명의 목적을 위해, 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체는, 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이들과 관련하여 사용하기 위한 프로그램을 포함하거나, 저장하거나, 통신하거나, 전파하거나 또는 전송할 수 있는 임의의 장치일 수 있다. 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템(또는 장치 또는 디바이스)이거나, 또는 이들 내의 또는 이들의 전파 매체들일 수 있는데, 그 이유는 신호 캐리어(carrier)들이, 반도체 또는 솔리드 스테이트 메모리, 자기 테이프(tape), 제거가능 컴퓨터 디스켓(diskette), 랜덤 액세스 메모리(RAM; random access memory), 판독 전용 메모리(ROM; read only memory), 강성(rigid) 자기 디스크(disk) 및 광학 디스크, 이를테면, 콤팩트 디스크 판독-전용 메모리(CD-ROM; compact disk read-only memory), 콤팩트 디스크 판독/기록 및 DVD를 포함하는 물리적 컴퓨터-판독가능 매체의 정의에 포함되지 않기 때문이다. 기술의 각각의 양상을 구현하기 위한 프로세서들 및 프로그램 코드 양자 모두는 당업자들에게 알려진 바와 같이 중앙집중형 또는 분산형(또는 이들의 조합)일 수 있다.
본 발명이 소정의 실시예들을 참조하여 상세히 설명되었지만, 본 발명이 그러한 실시예들로 제한되지 않는다는 것이 인식되어야 한다. 본 개시내용을 고려하여, 본원에서 설명된 바와 같은, 본 발명의 다양한 실시예들의 범위를 벗어나지 않고, 당업자들에게 많은 수정들 및 변형들 자체들이 제시될 것이다. 그러므로, 본 발명의 범위는 전술된 설명에 의해서가 아니라 다음의 청구항들에 의해 표시된다. 청구항들의 등가(equivalency) 범위 및 의미 내에 있는 모든 변경들, 수정들 및 변형들은 이 청구항들의 범위 내에서 고려되어야 한다. 방법 청구항들에서 청구된 모든 유리한 실시예들은 또한, 시스템/장치 청구항들에 적용될 수 있다.

Claims (15)

  1. 사물 인터넷(IoT; Internet-of-Things) 환경(100)에서 에지 디바이스(edge device)들(104A-104N) 상에 소프트웨어 애플리케이션을 프로비저닝(provisioning)하는 방법으로서,
    프로세서(202)에 의해, 상기 IoT 환경(100)에서의 하나 이상의 에지 디바이스들(104A-104N) 상에 상기 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스(simulation instance)들(402A-402N)을 생성하는 단계 ― 각각의 시뮬레이션 인스턴스(402A-402N)는 고유 자원 구성(404A-404N)으로 구성됨 ―;
    플랜트(plant)(103)로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 상기 소프트웨어 애플리케이션을 프로세싱하는 단계; 및
    상기 시뮬레이션 인스턴스들(402A-402N) 상에서의 상기 소프트웨어 애플리케이션의 프로세싱에 기반하여, 상기 소프트웨어 애플리케이션과 연관된 최적 자원 구성(404B)을 컴퓨팅하는 단계
    를 포함하고,
    상기 소프트웨어 애플리케이션과 연관된 최적 자원 구성(404B)을 컴퓨팅하는 단계는,
    상기 복수의 시뮬레이션 인스턴스들(402A-402N)로부터, 상기 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스(402B)를 결정하는 단계, 및
    상기 결정된 시뮬레이션 인스턴스(402B)와 연관된 고유 자원 구성(404B)을 결정하는 단계
    를 포함하고,
    상기 고유 자원 구성(404B)은, 상기 하나 이상의 에지 디바이스들(104A-104N) 상에서 상기 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타내는 최적 자원 구성인,
    방법.
  2. 제1항에 있어서,
    애플리케이션 저장소(112)에서 상기 소프트웨어 애플리케이션과 연관된 메타파일(metafile)에 상기 최적 자원 구성(404B)을 저장하는 단계
    를 더 포함하는,
    방법.
  3. 제1항에 있어서,
    상기 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스들(402A-402N)을 생성하는 단계는,
    복수의 고유 자원 구성들로부터 일 세트의 고유 자원 구성들(404A-404N)을 선택하는 단계 ― 상기 세트의 고유 자원 구성들(404A-404N)은 상기 IoT 환경(100)에서의 상기 에지 디바이스들(104A-104N)의 실시간 자원 능력들에 대응함 ―, 및
    상기 선택된 세트의 고유 자원 구성들(404A-404N)에 기반하여 상기 복수의 시뮬레이션 인스턴스들(402A-402N)을 생성하는 단계
    를 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 각각의 고유 자원 구성(404A-404N)은 상기 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들을 포함하는,
    방법.
  5. 제1항에 있어서,
    상기 플랜트(103)로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 상기 소프트웨어 애플리케이션을 프로세싱하는 단계는,
    상기 각각의 시뮬레이션 인스턴스(402A-402N)의 상기 고유 자원 구성(404A-404N)에 기반하여, 상기 플랜트(103)로부터의 상기 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 상기 소프트웨어 애플리케이션의 동작을 시뮬레이팅하는 단계, 및
    상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서의 상기 소프트웨어 애플리케이션의 시뮬레이션 동안 상기 소프트웨어 애플리케이션의 동작을 나타내는 파라미터 값들을 포착하는 단계
    를 포함하는,
    방법.
  6. 제5항에 있어서,
    상기 하나 이상의 에지 디바이스들(104A-104N) 상에 상기 소프트웨어 애플리케이션을 배치(deploy)하기 위해 요구되는 최적 자원 구성(404B)을 컴퓨팅하는 단계는,
    상기 복수의 시뮬레이션 인스턴스들(402A-402N)로부터, 상기 포착된 파라미터 값들에 기반하여 상기 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스(402B)를 결정하는 단계, 및
    상기 결정된 시뮬레이션 인스턴스(402B)와 연관된 상기 고유 자원 구성(404B)을 결정하는 단계
    를 포함하고,
    상기 고유 자원 구성(404B)은 상기 최적 자원 구성인,
    방법.
  7. 제1항에 있어서,
    상기 소프트웨어 애플리케이션과 연관된 상기 최적 자원 구성(404B)에 기반하여, 상기 소프트웨어 애플리케이션을 실행하기 위해 상기 IoT 환경(100)에서의 적어도 하나의 에지 디바이스(104A)의 실시간 자원 능력들을 평가하는 단계; 및
    상기 에지 디바이스(104A)의 상기 실시간 자원 능력들의 평가에 기반하여, 상기 에지 디바이스(104A) 상에 상기 소프트웨어 애플리케이션을 프로비저닝하는 단계
    를 더 포함하는,
    방법.
  8. 사물 인터넷(IoT) 환경(100)에서 에지 디바이스들(104A-104N) 상에 소프트웨어 애플리케이션들을 프로비저닝하기 위한 시스템(102)으로서,
    하나 이상의 프로세서들(202);
    상기 프로세서들(202)에 커플링된 메모리 유닛(204) ― 상기 메모리 유닛(204)은 복수의 소프트웨어 애플리케이션들을 저장할 수 있는 애플리케이션 저장소(112)를 포함함 ―; 및
    시뮬레이션 모듈(106)
    을 포함하고,
    상기 시뮬레이션 모듈(106)은,
    상기 IoT 환경(100)에서의 하나 이상의 에지 디바이스들(104A-104N) 상에 상기 소프트웨어 애플리케이션의 동작을 시뮬레이팅할 수 있는 복수의 시뮬레이션 인스턴스들(402A-402N)을 생성하고 ― 각각의 시뮬레이션 인스턴스(402A-402N)는 고유 자원 구성(404A-404N)으로 구성됨 ―;
    플랜트(103)로부터의 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 상기 소프트웨어 애플리케이션을 프로세싱하고; 그리고
    상기 시뮬레이션 인스턴스들(402A-402N) 상에서의 상기 소프트웨어 애플리케이션의 프로세싱에 기반하여, 상기 소프트웨어 애플리케이션과 연관된 최적 자원 구성(404B)을 컴퓨팅하도록
    구성되고,
    상기 시뮬레이션 모듈(106)은,
    상기 복수의 시뮬레이션 인스턴스들(402A-402N)로부터, 상기 소프트웨어 애플리케이션의 동작이 만족스러운 적어도 하나의 시뮬레이션 인스턴스(402B)를 결정하고,
    상기 결정된 시뮬레이션 인스턴스(402B)와 연관된 고유 자원 구성(404B)을 결정함으로써,
    상기 소프트웨어 애플리케이션과 연관된 상기 최적 자원 구성(404B)을 컴퓨팅하도록 구성되고,
    상기 고유 자원 구성(404B)은, 상기 하나 이상의 에지 디바이스들(104A-104N) 상에서 상기 소프트웨어 애플리케이션을 실행하기 위해 요구되는 최소 자원들을 나타내는 최적 자원 구성인,
    시스템(102).
  9. 제8항에 있어서,
    상기 시뮬레이션 모듈(106)은, 상기 애플리케이션 저장소(112)에서 상기 소프트웨어 애플리케이션과 연관된 메타파일에 상기 최적 자원 구성(404B)을 저장하도록 구성되는,
    시스템(102).
  10. 제8항 또는 제9항에 있어서,
    상기 시뮬레이션 모듈(106)은,
    복수의 고유 자원 구성들로부터 일 세트의 고유 자원 구성들(404A-404N)을 선택하고 ― 상기 세트의 고유 자원 구성들(404A-404N)은 상기 IoT 환경(100)에서의 상기 에지 디바이스들(104A-104N)의 실시간 자원 능력들에 대응하고, 상기 각각의 고유 자원 구성(404A-404N)은 상기 소프트웨어 애플리케이션의 동작에 영향을 미치는 자원 제약들을 포함함 ―, 그리고
    상기 선택된 세트의 고유 자원 구성들(404A-404N)에 기반하여 상기 복수의 시뮬레이션 인스턴스들(402A-402N)을 생성하도록
    구성되는,
    시스템(102).
  11. 제8항에 있어서,
    상기 시뮬레이션 모듈(106)은,
    상기 각각의 시뮬레이션 인스턴스(402A-402N)의 상기 고유 자원 구성(404A-404N)에 기반하여, 상기 플랜트(103)로부터의 상기 데이터를 사용하여 상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서 상기 소프트웨어 애플리케이션의 동작을 시뮬레이팅하고; 그리고
    상기 각각의 시뮬레이션 인스턴스(402A-402N) 상에서의 상기 소프트웨어 애플리케이션의 시뮬레이션 동안 상기 소프트웨어 애플리케이션의 동작을 나타내는 파라미터 값들을 포착하도록
    구성되는,
    시스템(102).
  12. 제11항에 있어서,
    상기 시뮬레이션 모듈(106)은,
    상기 복수의 시뮬레이션 인스턴스들(402A-402N)로부터, 상기 포착된 파라미터 값들에 기반하여 상기 소프트웨어 애플리케이션의 동작이 만족스러운 것으로서 발견되는 적어도 하나의 시뮬레이션 인스턴스(402B)를 결정하고; 그리고
    상기 결정된 시뮬레이션 인스턴스(402B)와 연관된 상기 고유 자원 구성(404B)을 결정하도록
    구성되고,
    상기 고유 자원 구성(404B)은 상기 최적 자원 구성인,
    시스템(102).
  13. 제8항에 있어서,
    상기 소프트웨어 애플리케이션과 연관된 상기 최적 자원 구성(404B)에 기반하여, 상기 소프트웨어 애플리케이션을 실행하기 위해 상기 IoT 환경(100)에서의 적어도 하나의 에지 디바이스(104A)의 실시간 자원 능력들을 평가하도록 구성된 에지 디바이스 관리 모듈(110)
    을 더 포함하는,
    시스템(102).
  14. 제13항에 있어서,
    상기 에지 디바이스(104A)의 상기 실시간 자원 능력들의 평가에 기반하여, 상기 에지 디바이스(104A) 상에 상기 소프트웨어 애플리케이션을 프로비저닝하는 것
    을 더 포함하는,
    시스템(102).
  15. 머신-판독가능(machine-readable) 명령들이 저장된 컴퓨터-판독가능 저장 매체로서,
    상기 머신-판독가능 명령들은, 프로세서(202)에 의해 실행될 때, 상기 프로세서(202)로 하여금, 제1항 내지 제7항 중 어느 한 항에 따른 방법 단계들을 수행하게 하는,
    컴퓨터-판독가능 저장 매체.
KR1020207011886A 2017-09-27 2018-09-19 사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝 KR102195750B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17193359.1 2017-09-27
EP17193359.1A EP3462705B1 (en) 2017-09-27 2017-09-27 Provisioning of software applications on edge devices in an internet-of-things environment
PCT/EP2018/075346 WO2019063383A1 (en) 2017-09-27 2018-09-19 PROVIDING SOFTWARE APPLICATIONS ON EDGE DEVICES IN AN INTERNET ENVIRONMENT OF OBJECTS

Publications (2)

Publication Number Publication Date
KR20200051037A KR20200051037A (ko) 2020-05-12
KR102195750B1 true KR102195750B1 (ko) 2020-12-28

Family

ID=60001686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207011886A KR102195750B1 (ko) 2017-09-27 2018-09-19 사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝

Country Status (7)

Country Link
US (1) US10795655B1 (ko)
EP (1) EP3462705B1 (ko)
JP (1) JP6844067B2 (ko)
KR (1) KR102195750B1 (ko)
CN (1) CN111108737B (ko)
SG (1) SG11202002694TA (ko)
WO (1) WO2019063383A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11067968B2 (en) * 2017-11-03 2021-07-20 Honeywell International Inc. IIOT (industrial internet of things) communications interface
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
WO2021016981A1 (zh) * 2019-08-01 2021-02-04 西门子股份公司 现场数据传输方法、装置、系统和计算机可读介质
US11182142B2 (en) * 2019-10-10 2021-11-23 Wipro Limited Method and system for dynamic deployment and vertical scaling of applications in a cloud environment
JP7134937B2 (ja) * 2019-10-30 2022-09-12 株式会社東芝 情報処理装置、プログラムおよび情報処理システム
US11240340B2 (en) * 2020-05-12 2022-02-01 International Business Machines Corporation Optimized deployment of analytic models in an edge topology
KR20210142829A (ko) 2020-05-19 2021-11-26 삼성에스디에스 주식회사 복수의 엣지 디바이스에게 애플리케이션을 배포하는 엣지 컴퓨팅 시스템 및 방법
CN112612475B (zh) * 2020-12-25 2022-03-15 四川长虹电器股份有限公司 一种实现物联设备仿真的方法
US11611474B2 (en) * 2020-12-28 2023-03-21 Juniper Networks, Inc. Edge controller with network performance parameter support
EP4202743A1 (en) * 2021-12-23 2023-06-28 Secure Thingz Limited A provisioning control apparatus and method for provisioning electronic components or devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232366A1 (en) 2013-09-20 2016-08-11 Schneider Electric USA, Inc. Systems and methods for verification and deployment of applications to programmable devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4129988B2 (ja) * 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
CA2764354A1 (en) * 2012-01-16 2013-07-16 Giovanni J. Morelli Host-emulator bridge system and method
US9274816B2 (en) * 2012-12-21 2016-03-01 Mcafee, Inc. User driven emulation of applications
US9325581B2 (en) * 2013-04-02 2016-04-26 International Business Machines Corporation Context-aware management of applications at the edge of a network
US10248429B2 (en) * 2014-04-25 2019-04-02 Hewlett Packard Enterprise Development Lp Configuration based on a blueprint
EP3021224B1 (en) * 2014-11-17 2018-03-07 Fujitsu Limited Method and apparatus for producing a benchmark application for performance testing
US10101244B2 (en) * 2015-03-02 2018-10-16 Ca, Inc. Self-learning simulation environments
WO2017035536A1 (en) * 2015-08-27 2017-03-02 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system
US11463526B2 (en) * 2016-08-25 2022-10-04 Intel Corporation Future proofing and prototyping an internet of things network
US20200065123A1 (en) * 2017-01-04 2020-02-27 Intel Corporation Simulation of internet of things systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232366A1 (en) 2013-09-20 2016-08-11 Schneider Electric USA, Inc. Systems and methods for verification and deployment of applications to programmable devices

Also Published As

Publication number Publication date
US20200301685A1 (en) 2020-09-24
EP3462705A1 (en) 2019-04-03
KR20200051037A (ko) 2020-05-12
US10795655B1 (en) 2020-10-06
WO2019063383A1 (en) 2019-04-04
JP2020535532A (ja) 2020-12-03
SG11202002694TA (en) 2020-04-29
CN111108737A (zh) 2020-05-05
EP3462705B1 (en) 2019-07-10
CN111108737B (zh) 2022-03-15
JP6844067B2 (ja) 2021-03-17

Similar Documents

Publication Publication Date Title
KR102195750B1 (ko) 사물 인터넷 환경에서의 에지 디바이스들 상의 소프트웨어 애플리케이션들의 프로비저닝
Pham et al. Predicting workflow task execution time in the cloud using a two-stage machine learning approach
US11283863B1 (en) Data center management using digital twins
US11429434B2 (en) Elastic execution of machine learning workloads using application based profiling
CN115427967A (zh) 确定多变量时间序列数据依赖性
CN114503108A (zh) 向经过训练的机器学习模型添加对抗鲁棒性
US20210174189A1 (en) Optimization Framework for Real-Time Rendering of Media Using Machine Learning Techniques
KR102167747B1 (ko) 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법
CN116047934A (zh) 一种无人机集群的实时仿真方法、系统以及电子设备
EP3447645A1 (en) Smart provisioning software applications on edge devices in an internet-of-things environment
US11237890B2 (en) Analytics initiated predictive failure and smart log
US11210108B2 (en) Guiding the installation process of sensor-based devices
EP3336705A1 (en) Certification process for cloud platform
US11316886B2 (en) Preventing vulnerable configurations in sensor-based devices
Rausch et al. PipeSim: Trace-driven simulation of large-scale AI operations platforms
US20210133211A1 (en) Adaptive Usage of Storage Resources Using Data Source Models and Data Source Representations
US20180341993A1 (en) Sensor-based interaction analytics
US11430488B2 (en) System and method for generating a compression invariant motion timeline
Yu et al. Automated fault prediction system for power plants using deep learning model
US20230136564A1 (en) Agent assisted model development
US12001310B2 (en) Approximating activity loads in databases using smoothed time series
US20240028923A1 (en) Extracting enriched target-oriented common sense from grounded graphs to support next step decision making
US20230139396A1 (en) Using learned physical knowledge to guide feature engineering
Vermesan et al. Edge AI Platforms for Predictive Maintenance in Industrial Applications
Masinde Mtesigwa VIBRATION SENSING FOR ENGINE CONDITION MONITORING AND PREDICTIVE MAINTENANCE

Legal Events

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