KR20190039299A - 다변량 데이터에서 이형 탐지 - Google Patents
다변량 데이터에서 이형 탐지 Download PDFInfo
- Publication number
- KR20190039299A KR20190039299A KR1020197008006A KR20197008006A KR20190039299A KR 20190039299 A KR20190039299 A KR 20190039299A KR 1020197008006 A KR1020197008006 A KR 1020197008006A KR 20197008006 A KR20197008006 A KR 20197008006A KR 20190039299 A KR20190039299 A KR 20190039299A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- coordinate space
- asset
- transformed
- original
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title description 18
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000012549 training Methods 0.000 claims abstract description 65
- 238000000513 principal component analysis Methods 0.000 claims description 38
- 230000001131 transforming effect Effects 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 abstract description 41
- 230000009466 transformation Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 45
- 238000004891 communication Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 29
- 238000007405 data analysis Methods 0.000 description 25
- 238000005259 measurement Methods 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000009471 action Effects 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 5
- 239000000446 fuel Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003137 locomotive effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000000704 physical effect Effects 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 239000012530 fluid Substances 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000009529 body temperature measurement Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000002759 z-score normalization Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000009313 farming Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G06K9/6284—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Complex Calculations (AREA)
- Collating Specific Patterns (AREA)
Abstract
애셋으로부터의 신호 데이터 그리고/또는 다른 데이터와 같은 애셋-관련 데이터 소스로부터 수신된 다변량 데이터 내 이형들을 탐지하기 위한 시스템, 디바이스, 및 방법들이 본원에서 개시된다. 일 예에 따르면, 플랫폼은 원래 좌표 공간에서 애셋으로부터 다변량 데이터를 수신할 수 있으며 그리고 그 데이터를 원래 좌표 공간으로부터, 상대적으로 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환할 수 있다. 추가로, 상기 플랫폼은 상기 변환된 좌표 공간에서 상기 데이터를 표준화할 수 있으며 그리고 상기 표준화된 데이터를, 그 표준화된 데이터 및 정상 애셋 동작을 반영한 트레이닝 데이터를 경유하여 이전에 정의된 임계값들의 세트 사이의 비교에 기반하여 수정할 수 있다. 그 이후에, 상기 플랫폼은 상기 수정된 데이터를 원래 좌표 공간으로 거꾸로 역변환하고 그리고 이물들을 탐지하기 위해 분석을 수행할 수 있다.
Description
관련된 출원들에 대한 상호 참조
본원은 2016년 9월 1일에 출원된 "Detection of Anomalies in Multivariate Data" 제목의 미국 임시 특허 출원 No. 62/382,629에 대한 우선권을 주장하며, 상기 출원은 그 전체가 본원에 참조로서 편입된다. 본원은 2016년 12월 1일에 출원된 "Detection of Anomalies in Multivariate Data" 제목의 미국 정규 출원 No. 15/367,012에 대해서도 우선권을 주장하며, 이 출원은 그 전체가 본원에 참조로서 편입된다.
오늘날, 기계들 (본원에서는 또한 "애셋들 (assets)"로 언급됨)은 여러 산업분야들 도처에 존재한다. 작물들을 경작하는 농업 설비에게 여러 지역들을 가로질러 화물을 전달하는 기관차들로부터, 애셋들은 매일의 생활에 중요한 역할에 공헌한다. 애셋들이 행동하는 증가하는 역할 때문에, 동작하는 애셋들을 모니터하고 분석하는 것이 점점 더 많이 소망된다. 이를 용이하게 하기 위해, 애셋 속성들을 모니터하고 그리고 애셋에서의 비정상적인 상태들을 탐지하기 위한 메커니즘들이 개발되고 있다. 예를 들면, 애셋들을 모니터하기 위한 한 접근방식은 애셋의 동작 상태들을 모니터하고, 그리고 그 애셋의 동작을 반영하는 신호들을 온-애셋 (on-asset) 컴퓨터에게 제공하는 그 애셋 전체에 걸쳐 분포된 다양한 센서들 및/또는 액추에이터들로부터의 신호들을 보통 수반한다. 하나의 대표적인 예로서, 애셋이 기관차라면, 상기 센서들 및/또는 액추에이터들은 다른 예들 중에서도 온도들, 압력들, 유동성 레벨들, 전압들, 및/또는 속도들과 같은 파라미터들을 모니터할 수 있다. 상기 센서들 및/또는 액추에이터들 중 하나 이상에 의해 출력된 상기 신호들이 특정 값들에 도달하면, 상기 온-애셋 컴퓨터는 "고장 코드"와 같은 비정상-상태 표시자 (indicator)를 생성할 수 있으며, 이는 상기 애셋 내에서 비정상 상태가 발생했다는 표시이다. 상기 온-애셋 컴퓨터는 애셋 셧다운, 재시작 등처럼 상기 애셋에서 발생할 수 있을 다른 이벤트들을 표시하는 데이터를 탐지하고 생성하기 위해 모니터하도록 또한 구성될 수 있다.
상기 온-애셋 컴퓨터는, 신호 데이터, 비정상-상태 표시자들, 및/또는 애셋 이벤트 표시자들과 같은 동작 데이터를 포함하는 상기 애셋의 속성들을 반영하는 데이터를 추가의 분석을 위해 원격 로케이션으로 송신하도록 또한 구성될 수 있다.
본 발명은 다변량 데이터에서 이형 (anomaly)을 탐지하기 위한 디바이스, 매체 및 방법을 제공하려고 한다.
동작하는 애셋들을 모니터하고 분석하는 것에 관심이 있는 조직은 다양한 유형의 애셋-관련 데이터를 수신하고 분석하도록 구성된 애셋 데이터 플랫폼을 배치할 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼은 애셋 동작 데이터, 애셋 구성 데이터, 애셋 로케이션 데이터 등과 같은 애셋 속성들을 표시하는 데이터를 수신하고 분설하도록 구성될 수 있다. 다른 예로서, 상기 애셋-분석 플랫폼은 점검, 서비스, 및/또는 수리들과 같은 애셋 유지보수 데이터를 수신하고 분석하도록 구성될 수 있다. 또 다른 예로서, 상기 애셋-분석 플랫폼은 날씨 데이터, 트래픽 데이터, 또는 유사한 것처럼 애셋 동작에 관련된 외부 데이터를 수신하고 분석하도록 구성될 수 있다. 상기 데이터-분석 플랫폼은 다양한 다른 유형의 애셋-관련 데이터를 마찬가지로 수신하고 분석하도록 구성될 수 있다.
상기 애셋 데이터 플랫폼은 이 애셋-관련 데이터를 다양한 상이한 소스들로부터 수신할 수 있다. 일 예로서, 상기 애셋-분석 플랫폼은 애셋들 그 자체로부터 애셋-관련 데이터를 수신할 수 있다. 다른 예로서, 상기 애셋-분석 플랫폼은 애셋-관련 데이터를 이전에 수신했던 그리고/또는 생성했던 몇몇의 다른 플랫폼이나 시스템 (예를 들면, 조직의 현존 플랫폼)으로부터 애셋-관련 데이터를 수신할 수 있다. 또 다른 예로, 상기 애셋 데이터 플랫폼은, 예를 들면, 애셋 유지보수 데이터 저장소, 트래픽 데이터 제공자, 및/또는 날씨 데이터 제공자와 같은 외부 데이터 소스로부터 애셋-관련 데이터를 수신할 수 있다. 상기 애셋 데이터 플랫폼은 다양한 다른 소스들로부터 애셋-관련 데이터를 마찬가지로 수신할 수 있다.
동작 시에, 상기 애셋 데이터 플랫폼에 의해 수신된 데이터 내 이형들 (anomalies)이 될 수 있는 문제들이 데이터 소스에서 일어날 수 있다. 예를 들면, 고장난 또는 오동작하고 있는 특별한 센서들 및/또는 액추에이터들과 같은 정해진 애셋에서 문제점들이 발생할 수 있으며, 이는 그 정해진 애셋으로부터 수신된 데이터 내에 이형들의 결과를 가져올 수 있다. 그 후에, 이 이형들은 애셋 데이터 플랫폼에서 불필요한 경보들 및 부정확한 예측들과 같은 바람직하지 않은 결과들을 초래할 수 있다. 따라서, 상기 애셋 데이터 플랫폼이 애셋-관련 데이터 소스들로부터 수신한 데이터에 관해 이형 탐지를 수행할 것이 보통은 소망된다.
상기 애셋 데이터 플랫폼에 의해 수신된 특정 애셋-관련 데이터는 속성에 있어서 다변량 (multivariate)일 수 있다. 예를 들면, 애셋은 센서들 및/또는 액추에이터들의 세트를 보통 포함하며, 이것들 각각은 (1) 애셋의 동작 동안에 엔진 온도, 유체 레벨들, R.P.M. 등과 같은 각자의 변수 (예를 들면, 파라미터)를 모니터하고, 그리고 (2) 그 모니터된 변수에 대한 신호 값들의 타임-시퀀스를 출력 - 이 경우 그런 값 각각은 상기 값이 측정되었던 타임의 포인트에 대응함 - 하기 위해 사용된다. 그처럼, 상기 애셋의 신호 데이터는 다변량 데이터의 타임-시퀀스의 모습을 가질 수 있으며, 여기에서 상기 시퀀스 내 각각의 데이터 포인트는 시간에 있어서 각자의 포인트에서 애셋의 센서들 및/또는 액추에이터들에 의해 측정된 신호값들의 세트를 포함한다. (추가로, 상기 애셋 및/또는 상기 애셋 데이터 플랫폼은 그 애셋의 신호 데이터로부터 다른 변수들을 유도할 수 있으며, 이 경우에 이 유도된 변수들은 상기 다변량 데이터 내에 또한 포함될 수 있다). 이런 면에서, 애셋에 의해 모니터되고 있는 변수들의 세트는 원래 좌표 공간의 상이한 차원들로서 생각될 수 있다. 그러나, 이 변수들 중 많은 것들이 상관될 수 있으며 (correlated), 이는 상기 다변량 데이터에서 이형들을 탐지하는 것을 더욱 어렵게 만들 수 있다.
애셋으로부터 수신된 신호 데이터 및/또는 다른 데이터처럼 애셋-관련 데이터 소스로부터 수신된 다변량 데이터 내에서 이형들을 탐지하기 위한 향상된 시스템들, 디바이스들, 및 방법들이 본원에서 개시된다. 본 발명 개시에 따라, 애셋 데이터 플랫폼은 보통은 다음의 단계들을 수반하는 이형 탐지 프로세스를 수행하도록 구성될 수 있다: (1) 원래 좌표 공간에서 다변량 데이터 (예를 들면, 애셋으로부터의 데이터)를 수신하는 단계로, 이 다변량 데이터는 그 데이터 내에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진다, (2) 상기 수신한 다변량 데이터를 원래 좌표 공간으로부터, 상기 데이터 내에 포함된 변수들의 개수와 동일한 개수의 차원들을 가지는 변환된 좌표 공간으로 변환 (또는 "투사")하는 단계, (3) 상기 데이터를 상기 변환된 좌표 공간에서 표준화하는 단계, (4) 상기 표준화된 데이터 및 임계값들의 세트 사이의 비교에 기반하여 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 수정하는 단계로, 상기 임계값들은 정상 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의된다, (5) 상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 벽으로 변환 (또는 투사)하는 단계, 그리고 (6) 이형들을 식별하기 위해 상기 원래 좌표 공간에서 상기 후-변환 데이터를 분석하는 단계. 이 개시된 이형 탐지 프로세스는 다양한 모습들을 가질 수 있으며 그리고 다양한 방식들로 구현될 수 있다.
예시의 구현에 따라, 상기 애셋 데이터 플랫폼은 애셋으로부터의 신호 데이터 및/또는 다른 데이터와 같은 다변량 데이터를, 그 데이터 내에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진 원래 좌표 공간에서 수신할 수 있다. 이 수신된 다변량 데이터는 여기에서는 "관찰 데이터 (observation data)"로 언급될 수 있다. 그 관찰 데이터를 수신한 이후에, 상기 애셋 데이터 플랫폼은 그 수신된 관찰 데이터를 상기 변환된 좌표 공간으로 투사하기 이전에 그 수신된 관찰 데이터를, 원래 좌표 공간에서 그 데이터를 정규화하는 것처럼, 옵션으로 사전-프로세싱 (pre-processing)할 수 있다.
상기 애셋 데이터 플랫폼은, 상관된 변수값들을 가진 원래 데이터의 세트로부터 새로운 상관되지 않은 변수들 (주성분들 (principal components (PCs))로 언급됨)을 산출할 수 있는 선형 변환의 프로세스에 기반하는 주성분 분석 (Principal Component Analysis (PCA))과 같은 기술을 이용하여 그 관찰 데이터를 원래 좌표 공간으로부터 변환된 좌표 공간으로 그 후에 변환할 수 있다. 이를 달성하기 위해, 상기 변환은 관찰 데이터와 연관된 원래 좌표 공간에 속한 차원들 (예를 들면, 변수들에 대응함)을 그 데이터 내 변이성 (variability)의 "숨겨진" 소스들을 나타내기에 충분한 더 적은 개수의 PC들로 축소시킬 수 있다. 예컨대, 관찰 데이터 포인트가 많은 개수의 변수값들을 포함하며 그래서 원래 좌표 공간에서 더 큰 개수의 차원들을 차지한다면, 원래 관찰 데이터에 PCA를 적용하는 것은 그 데이터를 감소된 개수의 차원들을 포함하는 변환된 좌표 공간으로 변환시킬 수 있으며, 여기에서 그 변환된 관찰 데이터는 위에서 설명된 PC들의 모습을 가진 감소된 개수의 변수값들을 포함한다.
상기 관찰 데이터를 변환된 좌표 공간으로 변환한 이후에, 상기 애셋 데이터 플랫폼은 그 변환된 관찰 데이터를 표준화할 수 있다. 이 표준화는 다양한 모습들을 취할 수 있다. 일 예에 따라, 상기 표준화는 데이터를 본질적으로 크기 조절하는 z-스코어 표준화를 수반하여, 그것이 (예를 들면, 0과 동일한 평균 및 1과 동일한 표준 편차를 가지는) 표준 정규 분포를 고수하도록 한다. 그런 표준화의 결과로서, 상기 데이터는 상기 변환된 좌표 공간의 원점 주위에 중심을 둘 수 있다. 상기 표준화는 마찬가지로 다양한 모습들을 가질 수 있다.
변환된 좌표 공간에서 상기 변환된 관찰 데이터를 표준화한 이후에, 상기 애셋 데이터 플랫폼은 그 표준화된 데이터를, 정상 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의된 임계값들의 세트와 비교할 수 있다. 바람직한 실시예에서, 임계값들의 이 세트는 상기 변환된 좌표 공간에서 각 변수에 대한 각자의 임계값을 포함할 수 있으며, 여기에서 각 변수의 임계값은 정상적인 애셋 동작 동안에 그 변수의 최대 예상된 값을 나타낸다. 그러나, 임계값들의 상기 세트는 다른 모습들을 또한 취할 수 있다. 상기 애셋 데이터 플랫폼은 상기 트레이닝 데이터에 기반하여 임계값들의 이 세트를 다양한 방식들로 정의할 수 있다.
한 구현에서, 트레이닝 데이터에 기반하여 상기 변환된 좌표 공간에 대해 임계값들의 세트를 정의하는 기능은 (1) 위에서 설명된 방식와 유사한 방식으로 (예를 들면, PCA를 이용하여) 상기 트레이닝 데이터를 상기 원래 좌표 공간으로부터 상기 변환된 좌표 공간으로 변환하며, (2) 상기 변환된 트레이닝 데이터를 상기 변환된 좌표 공간에서 위에서 설명된 방식과 유사한 방식으로 표준화하며, (3) 상기 변환된 좌표 공간에서 각 변수에 대해, 상기 변환된 좌표 공간에서 변수의 최대 예상된 값을 결정하기 위해 상기 표준화된 트레이닝 데이터의 표준 편차를 사용하는 것을 수반할 수 있다. 이런 면에서, 임계값들의 상기 세트는 상기 변환된 좌표 공간의 원점 주위에 중심을 둔 다중-차원의 둘러싸인 모습 (예를 들면, 원, 타원 등)의 경계를 효과적으로 한정할 수 있다. 임계값들의 상기 세트는 마찬가지로 다른 방식들로 한정될 수 있다.
상기 애셋 데이터 플랫폼은 상기 표준화된 관찰 데이터 및 임계값들의 상기 세트 사이의 비교를 다양한 방식으로 수행할 수 있다. 바람직한 예에서, 상기 애셋 데이터 플랫폼은 상기 변환된 좌표 공간에서 각 변수에 대한 관찰 데이터 포인트의 값을 그 변수에 대해 정의된 임계값과 비교하여, 그 데이터 포인트의 값이 상기 정의된 임계값을 초과하는가의 여부를 판단한다. 그러나, 애셋 데이터 플랫폼은 이 비교를 또한 다른 방식으로 수행할 수 있다.
상기 표준화된 관찰 데이터 및 임계값들의 상기 세트 사이의 비교에 기반하여, 상기 애셋 데이터 플랫폼은 변환된 좌표 공간에서 상기 표준화된 관찰 데이터를 그 후에 수정할 수 있다. 예를 들면, 관찰 데이터 포인트가 상기 변환된 좌표 공간에서 적어도 하나의 변수값을 포함하며, 그 변수값이 그 변수에 대해 정의된 임계값을 초과한다고 상기 애셋 데이터 플랫폼이 상기 비교에 기반하여 판단하면, 상기 애셋 데이터 플랫폼은 그 관찰 데이터 포인트를 수정하여, 상기 적어도 하나의 변수값이 상기 정의된 임계값을 더 이상 초과하지 않도록 할 수 있다. 다른 말로 하면, 상기 애셋 데이터 플랫폼은 상기 관찰 데이터 포인트의 값들 중 하나 이상을 "축소 (shrink)"할 수 있으며, 그래서 상기 데이터 포인트가 임계값들의 상기 세트에 의해 경계가 정해진 상기 다중-차수의 둘러싸인 모습 내에 (또는 적어도 더 가깝게) 위치하도록 한다. 상기 애셋 데이터 플랫폼은 이 수정을 다양한 방식으로 수행할 수 있다.
한 구현에서, 상기 애셋 데이터 플랫폼은, 상기 정의된 임계값을 초과하는 변수값을 상기 정의된 임계값으로 대체함으로써, 상기 변환된 좌표 공간에서 관찰 데이터 포인트를 변수 하나하나 기반 (variable-by-variable basis)으로 수정할 수 있다. 예를 들면, 정해진 데이터 포인트가 상기 변환된 좌표 공간에서 정의된 임계값들을 초과하는 두 개의 변수값들을 포함하면, 상기 애셋 데이터 플랫폼은 각각의 그런 변수의 값을 그 변수에 대해 정의된 임계값으로 치환할 수 있으며, 그럼으로써 그 두 변수값들의 크기에서의 축소의 결과를 가져온다.
다른 구현에서, 상기 애셋 데이터 플랫폼은 복수의 데이터 포인트의 값들을 동등한 방식으로 수정함으로써 상기 변환된 좌표 공간에서 관찰 데이터 포인트를 수정할 수 있다. 예를 들면, 변환 좌표 공간에서 정해진 데이터 포인트가 상기 변환된 좌표 공간에서 임계값들의 세트에 의해 경계가 정해진 다중-차수의 둘러싸인 모습 외부에 놓인 것으로 판단되면, 상기 애셋 데이터 플랫폼, 상기 데이터 포인트가 상기 변환된 좌표 공간에서 상기 다중-차수의 둘러싸인 모습 상에 가장 가까운 포인트로 이동하도록 하는 방식으로, 변수값들의 상기 정해진 포인트의 세트를 수정할 수 있다. 상기 애셋 데이터 플랫폼은 상기 변환된 좌표 공간에서 관찰 데이터 포인트를 마찬가지로 다른 방식들로 수정할 수 있다.
상기 관찰 데이터가 상기 변환된 좌표 공간에서 수정된 이후에, 상기 애셋 데이터 플랫폼은 상기 수정된 관찰 데이터를 상기 변환된 좌표 공간으로부터 거꾸로 상기 원래 좌표 공간으로 역변환하도록 구성될 수 있다. 실제로, 변환된 좌표 공간에서 수정되었으며 그리고 이 방식으로 원래 좌표 공간으로 거꾸로 투사되었던 관찰 데이터 포인트는 원래 좌표 공간에서 상기 수신된 관찰 데이터와는 의미있게 상이한 적어도 하나의 변수값을 가질 수 있다. 다른 말로 하면, 이형을 나타낼 수 있는 상기 원래 좌표 공간의 적어도 하나의 차원에서 상기 후(post)-변환 관찰 포인트와 상기 사전-변환 관찰 데이터 포인트 사이에 "간격 (gap)"이 존재할 수 있다.
상기 수정된 관찰 데이터를 역변환한 이후에, 상기 애셋 데이터 플랫폼은, 그런 데이터를 후-프로세싱하도록 또한 구성될 수 있다.
마지막으로, 상기 애셋 데이터 플랫폼은 이형들을 식별하기 위해서 상기 원래 좌표 공간에서 상기 후-변환 관찰 데이터에 대한 분석을 수행하도록 구성될 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼은 어떻게 상기 후-변환 관찰 데이터를 상기 원래 좌표 공간에서 상기 사전-변환 관찰 데이터와 몇몇 시간 구간에 걸쳐서 비교하는가를 분석할 수 있으며, 이는 상기 관찰 데이터 내 하나 이상의 변수들이 이형인 것으로 보일 때인 사례들 (예를 들면, 상기 후-변환 관찰 데이터 및 사전-변환 관찰 데이터 사이의 적어도 하나의 변수값에서 통계적으로-중대한 불일치들이 존재하는 때인 사례들)을 식별하기 위한 것이다. 이 분석에 기반하여, 상기 애셋 데이터 플랫폼은 그런 이형들에 대한 통지들을 생성할 수 있으며, 이는 상기 플랫폼의 관심있는 사용자들에게 제시될 수 있다. 상기 애셋 데이터 플랫폼은 위에서 설명된 프로세스에 의해 생성된 데이터에 기반하여 다양한 다른 기능들을 또한 수행할 수 있다.
위에서 설명되었듯이, 본원에서 제공된 예들은, 애셋으로부터의 신호 데이터 및/또는 다른 데이터처럼 애셋 관련 데이터 소스로부터 수신된 다변량 데이터에서 이형들을 탐지하는 것에 관련된다. 한 모습에서, 컴퓨팅 디바이스가 제공된다. 그 컴퓨팅 디바이스는 네트워크 인터페이스, 적어도 하나의 프로세서, 비-일시적 컴퓨터-판독가능 매체, 그리고 상기 비-일시적 컴퓨터-판독가능 매체 상에 저장된 프로그램 명령어들을 포함한다. 상기 프로그램 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때에 컴퓨팅 디바이스로 하여금: (a) 다변량 (multivariate) 데이터에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진 원래 공간 좌표에서 상기 다변량 데이터를 애셋 (asset)으로부터 네트워크 인터페이스를 경유하여 수신하도록 하며; (b) 상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하도록 하며; (c) 상기 변환된 좌표 공간에서 상기 데이터를 표준화하도록 하며; (d) 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하며, 임계 값들의 상기 세트는 정상적인 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의되며; (e) 상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 역변환하도록 하며; 그리고 (f) 이형 (異形, anomaly)들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된 데이터를 분석하도록 한다. 다른 모습에서, 상기 컴퓨팅 디바이스와 동일한 그리고/또는 실질적으로 유사한 기능들을 수행하는 비-일시적 컴퓨터 판독가능 매체 그리고 컴퓨터-구현된 방법이 제공된다.
유리하게도, 상기 개시된 프로세스는 다변량 데이터에서 이형들을 더욱 빠르고 그리고/또는 더 정밀하게 탐지하는 것으로 이끌 수 있다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 이어지는 개시를 읽으면 이와 같은 모습들 그리고 많은 다른 모습들을 인정할 것이다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
도 1은 예시의 실시예들이 구현될 수 있을 예시의 네트워크 구성을 도시한다.
도 2는 예시의 애셋의 간략화된 블록도를 도시한다.
도 3은 예시의 비정상-상태 표시자들의 개념적인 예시를 도시한다.
도 4는 예시의 플랫폼의 구조적인 도면을 도시한다.
도 5는 예시의 플랫폼의 기능적인 블록도이다.
도 6은 변환된 좌표 공간을 위해 임계값들의 세트를 정의하는 것을 도시한 예시의 흐름도이다.
도 7은 예시의 플랫폼에 의해 획득된 트레이닝 데이터의 개념적인 예시를 도시한다.
도 8은 변환된 좌표 공간으로 변환되고 있는 획득된 트레이닝 데이터의 개념적인 예시를 도시한다.
도 9는 변환된 좌표 공간에서 표준화되고 있는 개념적인 예시의 변환된 트레이닝 데이터를 도시한다.
도 10은 변환된 좌표 공간에서 임계값들의 세트의 개념적인 예시를 도시한다.
도 11은 수신된 애셋 관찰 데이터에서 이형들을 탐지하는 것을 서술한 예시의 흐름도이다.
도 12는 성분 축소 (shrinkage)의 개념적인 예시를 도시한다.
도 13은 벡터 축소 예의 개념적인 예시를 도시한다.
도 2는 예시의 애셋의 간략화된 블록도를 도시한다.
도 3은 예시의 비정상-상태 표시자들의 개념적인 예시를 도시한다.
도 4는 예시의 플랫폼의 구조적인 도면을 도시한다.
도 5는 예시의 플랫폼의 기능적인 블록도이다.
도 6은 변환된 좌표 공간을 위해 임계값들의 세트를 정의하는 것을 도시한 예시의 흐름도이다.
도 7은 예시의 플랫폼에 의해 획득된 트레이닝 데이터의 개념적인 예시를 도시한다.
도 8은 변환된 좌표 공간으로 변환되고 있는 획득된 트레이닝 데이터의 개념적인 예시를 도시한다.
도 9는 변환된 좌표 공간에서 표준화되고 있는 개념적인 예시의 변환된 트레이닝 데이터를 도시한다.
도 10은 변환된 좌표 공간에서 임계값들의 세트의 개념적인 예시를 도시한다.
도 11은 수신된 애셋 관찰 데이터에서 이형들을 탐지하는 것을 서술한 예시의 흐름도이다.
도 12는 성분 축소 (shrinkage)의 개념적인 예시를 도시한다.
도 13은 벡터 축소 예의 개념적인 예시를 도시한다.
다음의 개시는 동반 도면들 및 여러 예시적인 시나리오들에 대해 참조한다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 그런 참조들은 설명의 목적만을 위한 것이며 그러므로 제한하는 것을 의미하지 않는다는 것을 이해할 것이다. 개시된 시스템들, 디바이스들, 및 방법들 모두 또는 일부는 다양한 방식들로 재배치되고, 결합되고, 추가되고, 그리고/또는 제거될 수 있으며, 그 각각은 본원에서 예측된다.
I. 예시의 네트워크 구성
도면들로 돌아가면, 도 1은 예시의 실시예들이 구현될 수 있는 예시의 네트워크 구성 (100)을 도시한다. 보이듯이, 상기 네트워크 구성 (100)은 애셋 데이터 플랫폼으로 설정될 수 있는 원격 컴퓨팅 시스템 (102)을 자신의 코어에서 포함하며, 이 애셋 데이터 플랫폼은 통신 네트워크 (104)를 경유하여 대표적인 애셋들 (106 및 108)과 같은 하나 이상의 애셋들, 대표적인 데이터 소스 (110)와 같은 하나 이상의 데이터 소스들, 그리고 대표적인 클라이언트 (112)와 같은 하나 이상의 출력 시스템들과 통신할 수 있다. 상기 네트워크 구성은 다양한 다른 시스템들을 마찬가지로 포함할 수 있다는 것이 이해되어야 한다.
대략적으로 말하면, 상기 애셋 데이터 플랫폼 (102) ("애셋 상태 모니터링 시스템"으로 본원에서 때때로 언급됨)은, 애셋 관련 데이터 수신, 수집, 처리, 분석, 및/또는 그 데이터로의 액세스를 제공하도록 구성된 하나 이상의 컴퓨터 시스템의 모습을 취할 수 있다. 예를 들면, 플랫폼은 애셋 관련 데이터 수신, 수집, 처리, 분석, 및/또는 그 데이터로의 액세스를 제공하기 위한 본원에서 개시된 하나 이상의 기능들을 수행하도록 구성된 하드웨어 컴포넌트들 및 소프트웨어 컴포넌트들을 구비한 하나 이상의 서버들 (또는 유사한 것)을 포함할 수 있다. 추가로, 플랫폼은 플랫폼 사용자가 상기 플랫폼과 인터페이스하는 것을 가능하게 하는 하나 이상의 사용자 인터페이스 컴포넌트들을 포함할 수 있다. 실제로, 이 컴퓨팅 시스템들은 단일의 물리적인 로케이션 내에 배치될 수 있으며 또는 복수의 로케이션들 사이에 분산될 수 있으며, 그리고 시스템 버스, 통신 네트워크 (예를 들면, 사설망), 또는 일부 다른 접속 메커니즘을 경유하여 통신가능하게 링크될 수 있다. 또한, 상기 플랫폼은, 다른 예들 중에서도 특히 TPL 데이터플로우 (Dataflow) 또는 NiFi와 같은 데이터 흐름 기술에 따라 데이터를 수신하고 전송하도록 배치될 수 있다. 상기 데이터플랫폼은 또한 다른 모습들을 취할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 도 4를 참조하여 아래에서 더 상세하게 설명된다.
도 1에서 보이듯이, 상기 애셋 데이터 플랫폼 (102)은 상기 네트워크 구성 (100) 내 하나 이상의 애셋들, 데이터 소스들, 및/또는 출력 시스템들과 상기 통신 네트워크 (104)를 경유하여 통신하도록 구성될 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼 (102)은 하나 이상의 애셋들 및/또는 데이터 소스들에 의해 송신된 애셋 관련 데이터를 통신 네트워크 (104)를 경유하여 수신할 수 있다. 다른 예로서, 상기 애셋 데이터 플랫폼 (102)은 애셋 관련 데이터 및/또는 코맨드들을 클라이언트 스테이션, 작업-순서 시스템, 부품-주문 시스템 등과 같은 출력 시스템에 의한 수신을 위해 통신 네트워크 (104)를 경유하여 전송할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 또한 상기 통신 네트워크 (104)를 경유하여 다른 유형의 통신에 사용될 수 있다.
일반적으로, 상기 통신 네트워크 (104)는 애셋 데이터 플랫폼 (102) 그리고 상기 네트워크 구성 (100) 내 상기 하나 이상의 애셋들, 데이터 소스들, 및/또는 출력 시스템들 사이에서 데이터 전달을 용이하게 하도록 구성된 네트워크 하부구조를 포함할 수 있다. 상기 통신 네트워크 (104)는 유선 및/또는 무선일 수 있으며 그리고 보안 통신을 지원할 수 있는 하나 이상의 광역 네트워크들 (WAN들) 및/또는 로컬 영역 네트워크 (LAN)들일 수 있으며 또는 그것들을 포함할 수 있다. 몇몇의 예들에서, 상기 통신 네트워크 (104)는 다른 네트워크들 중에서도 하나 이상의 셀룰러 네트워크들 및/또는 인터넷을 포함할 수 있다. 상기 통신 네트워크 (104)는 LTE, CDMA, GSM, LPWAN, WiFi, 블루투스, 이더넷, HTTP/S, TCP, CoAP/DTLS 등과 같은 하나 이상의 통신 프로토콜들에 따라 동작할 수 있다. 비록 통신 네트워크 (104)가 단일의 네트워크인 것으로 보이지만, 상기 통신 네트워크 (104)는 자신들이 통신 가능하게 링크된 다수의, 별개의 네트워크들일 수 있다는 것이 이해되어야 한다. 또한, 예시의 경우들에서, 상기 통신 네트워크 (104)는 (예를 들면, 암호화 또는 다른 보안 수단들을 경유하여) 네트워크 컴포넌트들 사이에서의 보안 통신들을 용이하게 할 수 있다. 상기 통신 네트워크 (104)는 마찬가지로 다른 모습들을 취할 수 있다.
또한, 비록 도시되지는 않지만, 상기 애셋 데이터플랫폼 (102) 그리고 상기 하나 이상의 애셋들, 데이터 소스들, 및/또는 출력 시스템들 사이의 통신 경로는 하나 이상의 중개 (intermediary) 시스템들을 포함할 수 있다. 예를 들면, 상기 하나 이상의 애셋들 및/또는 데이터 소스들은 애셋 관련 데이터를 애셋 게이트웨이 또는 조직의 현존 플랫폼 (도시되지 않음)과 같은 하나 이상의 중개 시스템들에게 송신할 수 있으며, 그리고 상기 애셋 데이터 플랫폼 (102)은 상기 하나 이상의 중개 시스템들로부터 상기 애셋 관련 데이터를 수신하도록 구성될 수 있다. 다른 예로서, 상기 애셋 데이터 플랫폼 (102)은 호스트 서버 (도시되지 않음)와 같은 하나 이상의 중개 시스템들을 경유하여 출력 시스템과 통신할 수 있다. 많은 다른 구성들이 또한 가능하다.
일반적으로, 상기 애셋들 (106 및 108)은 (상기 필드에 기반하여 정의될 수 있는) 하나 이상의 동작들을 수행하도록 구성된 임의 디바이스의 모습을 취할 수 있으며 그리고 상기 정해진 애셋의 동작 및/또는 구성과 같은 애셋의 속성들을 나타내는 데이터를 전송하도록 구성된 장비를 또한 포함할 수 있다. 이 데이터는 다양한 모습들을 취할 수 있으며, 그 예들은 신호 데이터 (예를 들면, 센서/액추에이터 데이터), 고장 데이터 (예를 들면, 고장 코드들), 애셋을 위한 로케이션 데이터, 애셋을 위한 식별 데이터 등을 포함할 수 있다.
애셋들 유형들의 대표적인 예들은 다른 예들 중에서도 운송 기계류들 (예를 들면, 기관차, 항공기, 보행자 차량, 세미트레일러 트럭, 배 등), 산업 기계류들 (예를 들면, 채굴 장비, 건설 장비, 프로세싱 장치, 조립 장비 등), 의료 기계류들 (예를 들면, 의료 이미징 장비, 외과수술 장비, 의료 모니터링 시스템, 의료 실험 장비 등), 유틸리티 기계류 (예를 들면, 터빈, 태양열 농장 등), 및 무인 항공기를 포함할 수 있다. 추가로, 주어진 각 유형의 애셋들은 다양한 상이한 구성들을 가질 수 있다 (예를 들면, 브랜드, 제조처, 모델, 펌웨어 버전 등).
그처럼, 몇몇의 예들에서, 상기 애셋들 (106 및 108)은 각각이 동일한 유형일 수 있으며 (예를 들면, 다른 예들 중에서도 기관차들이나 비행들의 기단 (fleet), 한 그룹의 풍력 터빈, 밀링 기계류의 풀 (pool), 또는 한 세트의 자기 공명 이미징 (MRI) 머신), 그리고 아마도 동일한 구성을 가질 수 있다 (예를 들면, 동일 브랜드, 제조처, 모델, 펌웨어 버전 등). 다른 예들에서, 상기 애셋들 (106 및 108)은 상이한 애셋 유형 또는 상이한 구성들을 가질 수 있다 (예를 들면, 상이한 브랜드들, 제조처들, 모델들, 및/또는 펌웨어 버전들). 예를 들면, 애셋들 (106 및 108)은 수많은 다른 예들 중에서도 직업 사이트 (예를 들면, 발굴 사이트) 또는 제조 설비에서의 장비의 상이한 부분품들일 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들은 애셋들의 조금의 예들이 존재하며 그리고 본원에서 수많은 다른 예들이 가능하며 계획된다는 것을 인정할 것이다.
애셋의 유형 및/또는 구성에 종속하여, 상기 애셋은 하나 이상의 각자의 동작들을 수행하도록 구성된 하나 이상의 서브시스템들을 또한 포함할 수 있다. 예를 들면, 운송 애셋들의 환경에서, 서브시스템들은, 많은 다른 예들 중에서도 특히, 엔진, 트랜스미션, 구동트레인, 엔진 시스템, 배터리 시스템, 배기 시스템, 브레이킹 시스템, 전기 시스템, 신호 프로세싱 시스템, 발전기, 기어 박스, 회전자 및 유압 시스템을 포함한다. 실제로, 애셋의 다수의 서브시스템들은 병렬로 또는 애셋이 동작하기 위한 순서로 순차적으로 동작할 수 있다. 대표적인 애셋들은 도 2를 참조하여 아래에서 더욱 상세하게 설명된다.
일반적으로, 상기 데이터 소스 (110)는 상기 애셋들에 관련된 또는 그렇지 않고 상기 애셋 데이터 플랫폼 (102)에 의해 수행된 기능들에 관련된 데이터를 수집하고, 저장하고, 그리고/또는 제공하도록 구성된 하나 이상의 컴퓨팅 시스템들이거나 또는 그런 시스템들을 포함할 수 있다. 예를 들면, 상기 데이터 소스 (110)는 상기 애셋들로부터 비롯된 동작 데이터 (예를 들면, 이력적인 동작 데이터, 트레이닝 데이터 등)를 수집하고 제공할 수 있으며, 이 경우에 상기 데이터 소스 (110)는 그런 애셋 동작 데이터를 위한 대안의 소스로서 사용될 수 있다. 다른 예로서, 상기 데이터 소스 (110)는 상기 애셋들로부터 비롯되지 않은 데이터를 제공하도록 구성될 수 있으며, 이는 본원에서"외부 데이터"로 언급될 수 있다. 그런 데이터 소스는 다양한 모습들을 취할 수 있다.
한 구현에서, 상기 데이터 소스 (110)는, 애셋들이 작동되는 환경의 몇몇 특성을 표시하는 데이터를 제공하도록 구성된 환경 데이터 소스들의 모습을 취할 수 있을 것이다. 환경 데이터 소스들의 예들은 다른 예들 중에서도 날씨-데이터 서버들, 글로벌 내비게이션 위성 시스템 (global navigation satellite systems (GNSS)) 서버들, 지도-데이터 서버들, 및 정해진 영역의 자연적인 그리고 인공적인 특징들에 관한 정보를 제공하는 지형 데이터 서버들을 포함한다.
다른 구현에서, 상기 데이터 소스 (110)는 (예를 들면, 애셋이 동작하거나 유지보수를 받을 경우 및 그럴 때에) 애셋들의 동작이나 유지보수에 영향을 줄 수 있는 엔티티들 (또는 다른 애셋들)의 상태들이나 이벤트들을 표시하는 데이터를 제공하는 애셋-관리 데이터 소스의 모습을 취할 수 있을 것이다. 애셋-관리 데이터 소스들의 예들은 다른 예들 중에서도 애셋들에 관해 수행된 그리고/또는 수행될 것으로 스케줄된 검사, 유지보수, 서비스, 및/또는 수리에 관한 정보를 제공하는 애셋-유지보수 서버들, 항공, 수로, 및/또는 지상 트래픽에 관한 정보를 제공하는 트래픽-데이터 서버들, 특별한 날짜들 및/또는 특별한 시각들에 애셋들의 예상된 경로들 및/또는 위치들에 관한 정보를 제공하는 애셋-스케줄 서버들, ("가열축함 (hotbox)" 탐지기들로도 또한 알려진) 결점 탐지 시스템들로, 그 결점 탐지 시스템에 근접하게 지나가는 애셋의 하나 이상의 동작 상태들에 관한 정보를 제공하는 결점 탐지 시스템들, 그리고 특별한 공급자들이 재고로 가진 부품들 및 그 부품들의 가격에 관한 정보를 제공하는 부품-공급자 서버들을 포함한다.
상기 데이터 소스 (110)는 또한 다른 모습들을 취할 수 있으며, 그 다른 모습들의 예들은, 다른 예들 중에서도, 유체 분석들의 결과들에 관한 정보를 제공하는 유체 분석 서버들 그리고 전기 소비에 관한 정보를 제공하는 전력-그리드 서버들을 포함할 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 이것들은 데이터 소스들의 일부 예들일 뿐이며 수많은 다른 것들이 가능하다는 것을 인정할 것이다.
실제로, 상기 애셋 데이터플랫폼 (102)은 상기 데이터 소스에 의해 제공된 서비스에 "가입 (subscribing)"하여 상기 데이터 소스로부터의 데이터를 수신할 수 있다. 그러나, 상기 애셋 데이터 플랫폼 (102)은 또한 상기 데이터 소스 (110)로부터의 데이터를 다른 방식으로 수신할 수 있다.
상기 클라이언트 스테이션 (112)은 액세스하고 그리고 사용자가 상기 애셋 데이터 플랫폼 (102)과 상호작용하는 것을 가능하게 하도록 구성된 컴퓨팅 시스템이나 디바이스의 모습을 취할 수 있다. 이를 용이하게 하기 위해, 상기 클라이언스 스테이션은 다른 컴포넌트들 중에서도 사용자 인터페이서, 네트워크 인터페이스, 프로세서, 및 데이터 저장부와 같은 하드웨어 컴포넌트들을 포함할 수 있다. 추가로, 상기 클라이언트 스테이션은, 다른 예들 중에서도, 상기 애셋 데이터 플랫폼 (102)에 의해 제공된 웹 애플리케이션 또는 상기 애셋 데이터 플랫폼 (102)과 연관된 고유 클라이언트 애플리케이션에 액세스할 수 있는 웹 브라우저처럼 상기 애셋 데이터 플랫폼 (102)과의 상호작용을 가능하게 하는 소프트웨어 컴포넌트들로 구성될 수 있다. 클라이언트 스테이션들의 대표적인 예들은 데스크탑 컴퓨터, 랩탑, 넷북, 태블릿, 스마트폰, 개인용 디비털 보조기 (PDA), 또는 이제 알려지거나 나중에 개발될 그런 디바이스를 포함할 수 있다.
출력 시스템들의 다른 예들은, 다른 것들 중에서도 특히, 애셋을 수리하기 위해 정비사 등에게 대한 요청을 출력하도록 구성된 작업-순서 시스템 또는 애셋의 부품에 대한 주문을 하고 그리고 그 주문의 수령을 출력하도록 구성된 부품-주문 시스템을 포함할 수 있다.
상기 네트워크 구성 (100)이 본원에서 설명된 실시예들이 구현될 수 있는 네트워크의 일 예라는 것이 이해되어야 한다. 여기에서 여러 다른 설비들이 가능하며 예측될 수 있다. 예를 들면, 다른 네트워크 구성들은 도시되지 않은 추가적인 컴포넌트들 그리고/또는 그 도시된 컴포넌트들 중의 어느 정도를 포함할 수 있다.
II. 예시의 애셋
도 2로 돌아가면, 예시의 애셋 (200)의 간략한 블록도가 도시된다. 도 1로부터의 애셋들 (106 및 108) 중 어느 하나 또는 둘 모두는 참조번호 200의 애셋과 유사하게 구성될 수 있다. 보이는 것처럼, 상기 애셋 (200)은 하나 이상의 서브시스템들 (202), 하나 이상의 센서들 (204), 하나 이상의 액추에이터들 (205), 중앙 프로세싱 유닛 (206), 데이터 저장부 (208), 네트워크 인터페이스 (210), 사용자 인터페이스 (212), 포지션 유닛 (214) 및 아마도 로컬 분석 디바이스 (220)를 또한 포함할 수 있으며, 이것들 모두는 시스템 버스, 네트워크, 또는 다른 접속 메커니즘에 의해 통신가능하게 (직접적으로 또는 간접적으로) 링크될 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 상기 애셋 (200)이 도시되지 않은 추가의 컴포넌트들 및/또는 도시된 컴포넌트들 중의 어느 정도를 포함할 수 있다는 것을 인정할 것이다.
대략적으로 말하면, 상기 애셋 (200)은 하나 이상의 동작들을 수행하도록 구성된 하나 이상의 전기적인, 기계적인, 그리고/또는 전기기계적인 컴포넌트들을 포함할 수 있다. 몇몇의 경우들에서, 하나 이상의 컴포넌트들은 정해진 서브시스템 (202)으로 그룹화될 수 있다.
일반적으로, 서브시스템 (202)은 상기 애셋 (200)의 부품이 아닌 관련된 컴포넌트들의 그룹을 포함할 수 있다. 단일의 서브시스템 (202)은 하나 이상의 동작들을 독립적으로 수행할 수 있으며 또는 상기 단일의 서브시스템 (202)은 하나 이상의 동작들을 수행하기 위해 하나 이상의 다른 서브시스템들을 따라서 동작할 수 있다. 보통은, 상이한 유형의 애셋들, 그리고 심지어는 동일한 유형의 애셋들의 상이한 클래스들이 상이한 서브시스템들을 포함할 수 있다. 서브시스템들의 대표적인 예들은 도 1을 참조하여 위에서 설명되었다.
위에서 제시된 것처럼, 상기 애셋 (200)에는 애셋 (200)의 동작 상태들을 모니터하도록 구성된 다양한 센서들 (204) 그리고 상기 애셋 (200)이나 그 애셋의 컴포넌트와 상호작용 (interact)하고 그 애셋 (200)의 동작 상태들을 모니터하도록 구성된 다양한 액추에이터들 (205)이 장착될 수 있다. 몇몇의 경우들에서, 상기 센서들 (204) 및/또는 액추에이터들 (205) 중 몇몇은 특별한 서브시스템 (202)에 기반하여 그룹화될 수 있다. 이 방식에서, 센서들 (204) 및/또는 액추에이터들 (205)의 그룹은 특별한 서브시스템 (202)의 동작 상태들을 모니터하도록 구성될 수 있으며, 그리고 그 그룹으로부터의 액추에이터들은 이 동작 상태들에 기반하여 특별한 서브시스템의 행동을 바꿀 수 있는 몇몇의 방식으로 그 특별한 서브시스템 (202)과 상호작용하도록 구성될 수 있다.
일반적으로, 센서 (204)는 상기 애셋 (200)의 하나 이상의 동작 상태들을 나타낼 수 있는 물리적인 성질을 탐지하도록 구성될 수 있으며, 그리고 상기 탐지된 물리적 성질의 전기 신호와 같은 표시를 제공하도록 구성될 수 있다. 동작 시에, 상기 센서들 (204)은 계속적으로, (예를 들면, 샘플링 주파수에 기반하여) 주기적으로, 그리고/또는 몇몇의 트리거링 이벤트에 응답하여 측정치들을 획득하도록 구성될 수 있다. 몇몇의 예들에서, 상기 센서들 (204)은 측정들을 수행하기 위한 동작 파라미터들을 이용하여 미리 구성될 수 있으며 그리고/또는 상기 중앙 프로세싱 유닛 (206)에 의해 제공된 동작 파라미터들 (예를 들면, 상기 센서들 (204)이 측정치들을 획득하도록 지시하는 샘플링 신호들)에 따라서 측정들을 수행할 수 있다. 예들에서, 상이한 센서들 (204)은 상이한 동작 파라미터들을 가질 수 있다 (예를 들면, 몇몇의 센서들은 제1 주파수에 기반하여 샘플링할 수 있으며, 반면에 다른 센서들은 제2의 상이한 주파수에 기반하여 샘플링한다). 어떤 이벤트에서, 상기 센서들 (204)은 측정된 물리적인 성질을 표시하는 전기 신호들을 상기 중앙 프로세싱 유닛 (206)에게 전송하도록 구성될 수 있다. 상기 센서들은 그런 신호들을 중앙 프로세싱 유닛 (206)에게 계속해서 또는 주기적으로 제공할 수 있다.
예를 들면, 센서들 (204)은 애셋 (200)의 위치 및/또는 이동과 같은 물리적인 성질들을 특정하도록 구성될 수 있으며, 그 경우에 상기 센서들은 GNSS 센서들, 추측항법 (dead-reckoning) 기반 센서들, 가속도계, 자이로스코프, 보도계, 자기계 (magnetometer) 등의 모습을 취할 수 있다. 예시의 실시예들에서, 하나 이상의 그런 센서들은 아래에서 설명되는 포지션 유닛 (214)에 통합되거나 그 포지션 유닛으로부터 분리하여 위치할 수 있다.
추가로, 다양한 센서들 (204)은 애셋 (200)의 다른 동작 상태들을 측정하도록 구성될 수 있으며, 그 예들은 다른 예들 중에서도 온도, 압력, 속도, 가속도 또는 감속도, 마찰, 전력 사용, 스로틀 (throttle) 위치들, 연료 사용, 연료 레벨, 실행시간, 전압 및 전류, 자기장, 전기장, 물체 존재 및 부존재, 컴포넌트들의 위치, 및 전력 생성을 포함할 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 이것들은 센서들이 측정하도록 구성될 수 있는 아주 작은 예시의 동작 상태들이라는 것을 인정할 것이다. 추가의 또는 더 작은 수의 센서들은 산업적인 애플리케이션 또는 특정 애셋에 종속하여 사용될 수 있다.
위에서 제시된 것처럼, 액추에이터 (205)는 센서 (204)에 관한 몇몇 모습들과 유사하게 구성될 수 있다. 특히, 액추에이터 (205)는 애셋 (200)의 동작 상태를 나타내는 물리적인 성질을 탐지하고 그리고 상기 센서 (204)와 유사한 방식으로 그 물리적인 성질의 표시를 제공하도록 구성될 수 있다.
더욱이, 액추에이터 (205)는 상기 애셋 (200), 하나 이상의 서브시스템들 (202), 그리고/또는 그것들의 몇몇의 컴포넌트와 상호작용하도록 구성될 수 있다. 그처럼, 액추에이터 (205)는 기계적인 동작 (예를 들면, 이동)을 수행하거나, 또는 그렇지 않고 컴포넌트, 서브시스템, 또는 시스템을 제어하도록 구성된 모터 또는 유사한 것을 포함할 수 있다. 특별한 예에서, 액추에이터는 연료 흐름을 측정하고 그리고 그 연료 흐름을 바꾸도록 (예를 들면, 그 연료 흐름을 제지하도록) 구성될 수 있으며, 또는 액추에이터는 유압을 측정하고 그리고 그 유압을 바꾸도록 (예를 들면, 그 수압을 증가시키거나 감소시키도록) 구성될 수 있다. 액추에이터의 여러 다른 예시의 상호작용들이 또한 가능하며 여기에서 예측될 수 있다.
일반적으로 상기 중앙 프로세싱 유닛 (206)은 하나 이상의 프로세서들 및/또는 제어기들을 포함할 수 있으며, 이것들은 범용 또는 특수목적의 프로세서나 제어기의 모습을 취할 수 있다. 특히, 예시의 구현들에서, 상기 중앙 프로세싱 유닛 (206)은 마이크로프로세서들, 마이크로제어기들, 주문형 반도체들, 디지털 신호 프로세서들 등이거나 그것들을 포함할 수 있다. 다음에는, 상기 데이터 저장부 (208)는 여러 다른 예들 중에서도 광학 메모리, 자기 메모리, 유기 메모리, 또는 플래시 메모리와 같은 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체이거나 그 저장 매체를 포함할 수 있다.
상기 중앙 프로세싱 유닛 (206)은 여기에서 설명된 애셋의 동작을 수행하기 위해 상기 데이터 저장부 (208)에 저장된 컴퓨터-판독가능 프로그램 명령어들을 저장하고, 액세스하고, 그리고 실행하도록 설정될 수 있다. 예를 들면, 위에서 시사된 것처럼, 상기 중앙 프로세싱 유닛 (206)은 상기 센서들 (204) 및/또는 액튜에이트들 (205)로부터의 각 센서 신호들을 수신하도록 설정될 수 있다. 상기 중앙 프로세싱 유닛 (206)은 센서 및/또는 액추에이터 데이터를 데이터 저장부 (208)에 저장하고 그리고 그 데이터를 나중에 데이터 저장부로부터 액세스하도록 설정될 수 있다. 추가로, 상기 중앙 프로세싱 유닛 (206)은 상기 애셋의 구성을 반영하는 데이터에 액세스하고 그리고/또는 그 데이터를 생성하도록 구성될 수 있다.
상기 중앙 프로세싱 유닛 (206)은 수신된 센서 및/또는 액추에이터 신호들이, 고장 데이터의 모습인 고장 코드들과 같은 어떤 비정상-상태 표시자들을 트리거하는가의 여부를 판단하도록 또한 설정될 수 있다. 예를 들면, 상기 중앙 프로세싱 유닛 (206)은 데이터 저장부 (208)에 비정상-상태 규칙들을 저장하도록 설정될 수 있으며, 그 비정상-상태 규칙들 각각은 특별한 비정상 상태를 나타내는 정해진 비정상-상태 표시자 그리고 그 비정상-상태 표시자를 트리거하는 각자의 트리거 기준을 포함한다. 즉, 각 비정상-상태 표시자는 그 비정상-상태 표시자가 트리거되기 이전에 충족되어야만 하는 하나 이상의 센서 및/또는 액추에이터 측정 값들에 대응한다. 실제로, 상기 애셋 (200)은 상기 비정상-상태 규칙들을 이용하여 미리 프로그램될 수 있으며 그리고/또는 새로운 비정상-상태 규칙들이나 현존 규칙들에 대한 업데이트들을 상기 애셋 데이터 플랫폼 (102)과 같은 컴퓨팅 시스템으로부터 수신할 수 있다.
어떤 이벤트에서, 상기 중앙 프로세싱 유닛 (206)은 수신된 센서 및/또는 액추에이터 신호들이 어떤 비정상-상태 표시자들을 트리거하는가의 여부를 판단하도록 설정될 수 있다. 즉, 상기 중앙 프로세싱 유닛 (206)은 수신된 센서 및/또는 액추에이터 신호들이 어떤 트리거 기준을 충족시키는가의 여부를 판단한다. 그런 판단이 긍정적일 때에, 상기 중앙 프로세싱 유닛 (206)은 비정상-상태 데이터를 생성할 수 있으며 그리고 그 후에 또한 상기 애셋의 네트워크 인터페이스 (210)로 하여금 상기 비정상-상태 데이터를 애셋 데이터 플랫폼 (102)으로 전송하도록 하며 그리고/또는 상기 애셋의 사용자 인터페이스 (212)로 하여금 시각적 및/또는 청각적 경보와 같은 상기 비정상 상태의 표시를 출력하도록 한다. 추가로, 상기 중앙 프로세싱 유닛 (206)은 트리거되는 비정상-상태 표지자의 발생을 아마도 타임스탬프를 이용하여 데이터 저장부 (208)에 기록할 수 있다.
도 3은 애셋을 위한 예시의 비정상-상태 표시자들 및 각자의 트리거 기준의 개념적인 예시를 도시한다. 특히, 도 3은 예시의 고장 코드들의 개념적인 예시를 도시한다. 보이는 것처럼, 테이블 (300)은 센서 A, 액추에이터 B, 및 센서 C에 각각 대응하는 컬럼들 (302, 304, 및 306) 그리고 고장 코드들 1, 2, 및 3에 각각 대응하는 로우들 (308, 310, 및 312)을 포함한다. 기재사항들 (314)은 정해진 고장 코드들에 대응하는 센서 기준 (예를 들면, 센서 값 임계들)을 규정한다.
예를 들면, 고장 코드 1은 센서 A가 135 RPM (revolutions per minute)보다 더 큰 회전 측정을 탐지하고 그리고 센서 C가 섭씨 65도보다 더 큰 온도 측정을 탐지할 때에 트리거될 것이며, 고장 코드 2는 액추에이터 B가 1000 볼트 (V)보다 더 큰 전압 측정을 탐지하고 그리고 센서 C가 섭씨 55도보다 더 작은 온도 측정을 탐지할 때에 트리거될 것이며, 그리고 고장 코드 3은 센서 A가 100 RPM보다 더 큰 회전 측정을 탐지하고, 액추에이터 B가 750 V보다 더 큰 전압 측정을 탐지하며, 그리고 센서 C가 섭씨 60도보다 더 큰 온도 측정을 탐지할 때에 트리거될 것이다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 도 3은 예시 및 설명의 목적들을 위해 제공된 것이며 그리고 여러 다른 고장 코드들 및/또는 트리거 조건들이 가능하며 여기에서 예측된다는 것을 인정할 것이다.
도 2로 돌아가면, 상기 중앙 프로세싱 유닛 (206)은 마찬가지로 애셋 (200)의 동작들을 관리하고 그리고/또는 제어하기 위한 다양한 추가적인 기능들을 수행하도록 설정될 수 있다. 예를 들면, 상기 중앙 프로세싱 유닛 (206)은 상기 서브시스템들 (202) 및/또는 상기 액추에이터들 (205)로 명령어 신호들을 제공하여 상기 서브시스템들 (202) 및/또는 상기 액추에이터들 (205)로 하여금 트로틀 (throttle) 위치를 변경하는 것과 같은 일부 동작을 수행하게 하도록 설정될 수 있다. 추가로, 상기 중앙 프로세싱 유닛 (206)은 상기 센서들 (204) 및/또는 액추에이터들 (205)로부터의 데이터를 자신이 프로세싱하는 속도를 변경하도록 설정될 수 있으며, 또는 상기 중앙 프로세싱 유닛 (206)은 상기 센서들 (204) 및/또는 액추에이터들 (205)로 하여금, 예를 들면, 샘플링 속도를 변경하도록 하는 명령어 신호들을 상기 센서들 (204) 및/또는 액추에이터들 (205)에게 제공하도록 설정될 수 있다. 더욱이, 상기 중앙 프로세싱 유닛 (206)은 상기 서브시스템들 (202), 센서들 (204), 액추에이터들 (205), 네트워크 인터페이스들 (210), 사용자 인터페이스들 (212), 및/또는 상기 포지션 유닛 (214)으로부터 신호들을 수신하고, 그리고 그 신호들에 기반하여 동작이 발생하게 하도록 설정될 수 있다. 또한, 상기 중앙 프로세싱 유닛 (206)은 진단 디바이스와 같은 컴퓨팅 디바이스로부터 신호들을 수신하여, 상기 중앙 프로세싱 유닛 (206)으로 하여금 상기 데이터 저장부 (208)에 저장된 진단 규칙들에 따라 하나 이상의 진단 툴들을 실행하게 하도록 설정될 수 있다. 상기 중앙 프로세싱 유닛 (206)의 다른 기능들이 아래에서 설명된다.
상기 네트워크 인터페이스 (210)는 상기 통신 네트워크 (104)에 연결된 다양한 네트워크 컴포넌트들 및 상기 애셋 (200) 사이에서의 통신을 제공하도록 구성될 수 있다. 예를 들면, 상기 네트워크 인터페이스 (210)는 통신 네트워크 (104)로의 그리고 그 통신 네트워크로부터의 무선 통신을 용이하게 하도록 구성될 수 있으며, 그래서 안테나 구조 및 다양한 무선 신호들을 전송하고 수신하기 위한 연관된 장비의 모습을 취할 수 있다. 다른 예들도 마찬가지로 가능하다. 실제로, 상기 네트워크 인터페이스 (210)는 위에서 설명된 통신 프로토콜들 중 어느 하나와 같은, 그러나 그것으로 제한되지는 않는 통신 프로토콜에 따라서 구성될 수 있다.
상기 사용자 인터페이스 (212)는 애셋 (200)과의 사용자 상호작용을 용이하게 하도록 구성될 수 있으며 그리고 상기 애셋 (200)으로 하여금 사용자 상호작용에 응답한 동작을 수행토록 하는 것을 용이하게 하도록 또한 구성될 수 있다. 사용자 인터페이스들 (212)의 예들은 다른 예들 중에서도 터치-감지 인터페이스들, 기계적인 인터페이스들 (예를 들면, 레버, 버튼, 휠, 다이알, 키보드 등), 및 다른 입력 인터페이스들 (예를 들면, 마이크로폰)을 포함한다. 몇몇의 경우에서, 상기 사용자 인터페이스 (212)는 디스플레이 스크린, 스피커, 헤드폰 잭 등과 같은 출력 컴포넌트들로의 연결성을 포함하거나 제공할 수 있다.
포지션 유닛 (214)은 지리-공간적 (geo-spatial) 로케이션/위치 그리고/또는 내비게이션에 관련된 기능들을 수행하는 것을 용이하게 하도록 일반적으로 구성될 수 있다. 더 상세하게는, 상기 포지션 유닛 (214)은 GNSS 기술 (예를 들면, GPS, GLONASS, 갈릴레오 (Galileo), 베이더우 (BeiDou), 또는 유사한 것), 삼각측량 기술, 및 유사한 것과 같은 하나 이상의 포지셔닝 기술들을 경유하여 상기 애셋 (200)의 로케이션/포지션을 판별하고 그리고/또는 상기 애셋 (200)의 움직임들을 추적하는 것을 용이하게 하도록 구성될 수 있다. 그처럼, 상기 포지션 유닛 (214)은 하나 이상의 특별한 포지셔닝 기술들에 따라 구성된 하나 이상의 센서들 및/또는 수신기들을 포함할 수 있다.
예시의 실시예들에서, 상기 포지션 유닛 (214)은 상기 애셋 (200)이 다른 시스템들 및/또는 디바이스들 (예를 들면, 상기 애셋 데이터 플랫폼 (102)에게, 다른 모습들 중에서도 GPS 좌표들의 모습을 취할 수 있는 상기 애셋 (200)의 위치를 표시하는 포지션 데이터를 제공하는 것을 허용할 수 있다. 몇몇의 구현들에서, 상기 애셋 (200)은 다른 시스템들에게 포지션 데이터를 계속해서, 주기적으로, 트리거들에 기반하여, 또는 몇몇의 다른 방식으로 제공할 수 있다. 더욱이, 상기 애셋 (200)은 다른 애셋 관련 데이터와 독립적으로 또는 함께 (예를 들면, 동작 데이터와 함께) 포지션 데이터를 제공할 수 있다.
상기 로컬 분석 디바이스 (220)는 상기 애셋 (200)에 관련된 데이터를 수신하고 분석하도록 일반적으로 구성될 수 있으며 그리고 그런 분석에 기반하여 하나 이상의 동작들이 상기 애셋 (200)에서 발생하도록 할 수 있다. 예를 들면, 상기 로컬 분석 디바이스 (220)는 애셋 (200)을 위한 동작 데이터 (예를 들면, 상기 센서들 (204) 및/또는 액추에이터들 (205)에 의해 생성된 신호 데이터)를 수신할 수 있으며 그리고 그런 데이터에 기반하여, 애셋 (200)으로 하여금 어떤 동작을 수행하게 하는 명령어들을 상기 중앙 프로세싱 유닛 (206), 상기 센서들 (204), 및/또는 상기 액추에이터들 (205)에게 제공할 수 있다. 다른 예에서, 상기 로컬 분석 디바이스 (220)는 상기 포지션 유닛 (214)으로부터 로케이션 데이터를 수신하고 그리고 그런 데이터에 기반하여 상기 애셋 (200)에 대한 예측 모델들 및/또는 워크플로들을 자신이 어떻게 처리하는가를 수정할 수 있다. 다른 예시의 분석들 및 대응하는 동작들이 또한 가능하다.
이 동작들 중 일부를 용이하게 하기 위해, 상기 로컬 분석 디바이스 (220)는, 상기 로컬 분석 디바이스 (220)를 상기 애셋의 하나 이상의 온-보드 시스템들에게 결합하도록 구성된 하나 이상의 애셋 인터페이스들을 포함할 수 있다. 예를 들면, 도 2에서 보이는 것처럼, 상기 로컬 분석 디바이스 (220)는 상기 애셋의 중앙 프로세싱 유닛 (206)으로의 인터페이스를 가질 수 있으며, 이 인터페이스는 상기 로컬 분석 디바이스 (220)가 중앙 프로세싱 유닛 (206)으로부터 데이터 (예를 들면, 센서들 (204) 및/또는 액추에이터들 (205)에 의해 생성되어 중앙 프로세싱 유닛 (206)으로 송신되는 동작 데이터, 또는 상기 포지션 유닛 (214)에 의해 생성된 포지션 데이터)를 수신하는 것을 가능하게 하고 그리고 그 후에 명령어들을 상기 중앙 프로세싱 유닛 (206)에게 제공하는 것을 가능하게 할 수 있다. 이 방식에서, 상기 로컬 분석 디바이스 (220)는 중앙 프로세싱 유닛 (206)을 경유하여 애셋 (200)의 다른 온-보드 시스템들 (예를 들면, 상기 센서들 (204) 및/또는 액추에이터들 (205))과 간접적으로 인터페이스하고 그리고 그 다른 온-보드 시스템으로부터 데이터를 수신할 수 있다. 추가로 또는 대안으로, 도 2에서 보이는 것처럼, 상기 로컬 분석 디바이스 (220)는 하나 이상의 센서들 (204) 및/또는 액추에이터들 (205)로의 인터페이스를 가질 수 있으며, 이는 상기 로컬 분석 디바이스 (220)가 상기 센서들 (204) 및/또는 액추에이터들 (205)과 직접적으로 통신하는 것을 가능하게 할 수 있다. 상기 로컬 분석 디바이스 (220)는 상기 애셋 (200)의 온-보드 시스템들과 다른 방식으로 또한 인터페이스할 수 있으며, 도 2에 예시된 인터페이스들이 도시되지 않은 하나 이상의 중간 시스템들에 의해 용이하게 되는 가능성을 포함한다.
실제로, 상기 로컬 분석 디바이스 (220)는 상기 애셋 (200)이 예측 모델 및 대응 워크플로를 실행하는 것처럼 진보된 분석 및 연관된 동작들을 로컬에서 수행하는 것을 가능하게 하며, 그 진보된 분석 및 연관된 동작들은 그렇지 않은 경우에는 다른 온-애셋 컴포넌트들을 이용해서 수행되는 것이 가능하지 않을 수 있다. 그처럼, 상기 로컬 분석 디바이스 (220)는 상기 애셋 (200)에 추가의 프로세싱 능력 및/또는 인텔리전스를 제공하는 것을 도울 수 있다.
상기 로컬 분석 디바이스 (220)가 상기 애셋 (200)으로 하여금 예측 모델에 관련되지 않은 동작들을 수행하게 하도록 또한 구성될 수 있다는 것이 이해되어야 한다. 예를 들면, 상기 로컬 분석 디바이스 (220)는 상기 애셋 데이터 플랫폼 (102)이나 출력 시스템 (112)과 같은 원격 소스로부터 데이터를 수신할 수 있으며, 그리고 그 수신된 데이터에 기반하여 상기 애셋 (200)으로 하여금 하나 이상의 동작들을 수행하도록 할 수 있다. 하나의 특별한 예는 상기 로컬 분석 디바이스 (220)가 원격 소스로부터 애셋 (200)을 위한 펌웨어 업데이트를 수신하고 그리고 그 후에 애셋 (200)으로 하여금 자신의 펌웨어를 업데이트하도록 하는 것을 수반할 수 있다. 다른 특별한 예는 상기 로컬 분석 디바이스 (220)가 원격 소스로부터 진단 명령어들을 수신하고 그리고 그 후에 애셋 (200)으로 하여금 그 수신된 명령어에 따라 로컬 진단 툴을 실행하게 하는 것을 수반할 수 있다. 수많은 다른 예들이 또한 가능하다.
보이는 것처럼, 위에서 설명된 하나 이상의 애셋 인터페이스들에 추가로, 상기 로컬 분석 디바이스 (220)는 프로세싱 유닛 (222), 데이터 저장부 (224), 및 네트워크 인터페이스 (226)을 또한 포함할 수 있으며, 이것들 모두는 시스템 버스, 네트워크, 또는 다른 접속 메커니즘에 의해 통신가능하게 링크될 수 있다. 상기 프로세싱 유닛 (222)은 중앙 프로세싱 유닛 (206)에 관하여 위에서 설명된 컴포넌트들 중 어느 것도 포함할 수 있다. 차례로, 상기 데이터 저장부 (224)는 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체이거나 그 저장 매체를 포함할 수 있으며, 이는 위에서 설명된 컴퓨터-판독가능 저장 매체 모습들 중 어느 하나를 취할 수 있다.
상기 프로세싱 유닛 (222)은 여기에서 설명된 로컬 분석 디바이스의 동작들을 수행하기 위해 상기 데이터 저장부 (224)에 저장된 컴퓨터-판독가능 프로그램 명령어들을 저장하고, 액세스하고, 그리고 실행하도록 설정될 수 있다. 예를 들면, 상기 프로세싱 유닛 (222)은 센서들 (204) 및/또는 액추에이터들 (205)에 의해 생성된 각 센서 및/또는 액추에이터 신호들을 수신하도록 구성될 수 있으며 그리고 그런 신호들에 기반하여 예측 모델 및 대응 워크플로를 실행할 수 있다. 다른 기능들은 아래에서 설명된다.
상기 네트워크 인터페이스 (226)는 위에서 설명된 네트워크 인터페이스들과 동일하거나 유사할 수 있다. 실제로, 상기 네트워크 인터페이스 (226)는 상기 로컬 분석 디바이스 (220) 및 상기 애셋 데이터 플랫폼 (102) 사이에서의 통신을 용이하게 할 수 있다.
몇몇의 예시의 구현들에서, 상기 로컬 분석 디바이스 (220)는 참조번호 212의 사용자 인터페이스와 유사할 수 있는 사용자 인터페이스를 포함하고 그리고/또는 그 사용자 인터페이스와 통신할 수 있다. 실제로, 상기 사용자 인터페이스는 상기 로컬 분석 디바이스 (200) (및 상기 애셋 (200))로부터 원거리에 위치할 수 있다. 다른 예들이 또한 가능하다.
도 2가 하나 이상의 애셋 인터페이스들을 경유하여 자신의 연관된 애셋 (예를 들면, 참조번호 200의 애셋)에 물리적으로 그리고 통신가능하게 연결된 로컬 분석 디바이스 (220)를 보여주지만, 이것이 항상 그런 것은 아니라는 것이 또한 이해되어야 한다. 예를 들면, 몇몇의 구현들에서, 상기 로컬 분석 디바이스 (220)는 자신의 연관된 애셋에 물리적으로 연결되지 않을 수 있으며, 그 대신에 상기 애셋 (200)으로부터 원거리에 위치할 수 있다. 그런 구현의 한 예에서, 상기 로컬 분석 디바이스 (220)는 애셋 (200)에 무선으로, 통신가능하게 연결될 수 있다. 다른 배치들 및 구성들이 또한 가능하다.
로컬 분석 디바이스의 구성 및 동작에 관한 더 상세한 내용에 대해서는, 미국 출원 No. 14/963,207를 참조할 수 있으며, 이 출원은 그 전체가 본원에 참조로서 편입된다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 도 2에서 보이는 애셋 (200)이 애셋의 간략한 표면의 일 예일 뿐이며 그리고 수많은 다른 것들이 또한 가능하다는 것을 인정할 것이다. 예를 들면, 다른 애셋들은 도시되지 않은 추가의 컴포넌트들 및/또는 도시된 컴포넌트들 중 하나 이상을 포함할 수 있다. 더욱이, 정해진 애셋은 그 정해진 애셋의 동작들을 수행하기 위해 협력하여 작동하는 다수의, 개별적인 애셋들을 포함할 수 있다. 다른 예들이 또한 가능하다.
III. 예시의 플랫폼
도 4는 구조적인 관점으로부터 예시의 데이터 애셋 플랫폼 (400)에 포함될 수 있을 몇몇의 컴포넌트들을 도시한 간략화된 블록도이다. 상기 설명에 따라, 상기 데이터 애셋 플랫폼 (400)은 하나 이상의 컴퓨터 시스템들 (예를 들면, 하나 이상의 서버들)을 일반적으로 포함할 수 있으며, 그리고 이 하나 이상의 컴퓨터 시스템들은 적어도 하나의 프로세서 (402), 데이터 저장부 (404), 네트워크 인터페이스 (406), 및 구성에 따라서는 사용자 인터페이스 (410)를 집합적으로 포함할 수 있으며, 이것들 모두는 시스템 버스, 네트워크, 또는 다른 연결 메커니즘과 같은 통신 링크 (408)에 의해 통신 가능하게 링크될 수 있다.
상기 프로세서 (402)는 하나 이상의 프로세서들 및/또는 제어기들을 포함할 수 있으며, 이것들은 범용 또는 특수 목적 프로세서 또는 제어기의 모습을 취할 수 있다. 특히, 예시의 구현들에서, 상기 프로세싱 유닛 (402)은 마이크로프로세서들, 마이크로제어기들, 주문형 반도체 (application-specific integrated circuit)들, 디지털 신호 프로세서들 등을 포함할 수 있다.
다음에, 데이터 저장부 (404)는 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체들을 포함할 수 있으며, 그것들의 예는 랜덤 액세스 메모리, 레지스터, 캐시 등과 같은 휘발성 저장 매체들 그리고 읽기 전용 메모리, 하드디스크 드라이브, 솔리드 스테이트 드라이브, 플래시 메모리, 광학 저장 디바이스 등과 같은 비-휘발성 저장 매체들을 포함할 수 있다.
도 4에서 보이듯이, 데이터 저장부 (404)는 상기 플랫폼 (400)이 본원에서 개시된 기능들을 수행하는 것을 가능하게 하는 소프트웨어 컴포넌트들을 제공받을 수 있다. 이 소프트웨어 컴포넌트들은 상기 프로세서 (402)에 의해 실행가능한 프로그램 명령어들의 모습을 일반적으로 취할 수 있으며, 그리고 애플리케이션들, 소프트웨어 개발 키트들, 툴세트들 등으로 함께 배치될 수 있다. 추가로, 상기 데이터 저장부 (404)는 상기 플랫폼에 의해 수행되는 기능들에 관련된 데이터를 저장하도록 배치된 하나 이상의 데이터베이스들을 제공받을 수 있으며, 그 데이터베이스들의 예들은, 다른 것들 중에서도 특히, 시계열 데이터베이스들, 문헌 (document) 데이터베이스들, 관계형 데이터베이스들 (예를 들면, MySQL), 키-값 (key-value) 데이터베이스들, 및 그래프 데이터베이스들을 포함한다. 상기 하나 이상의 데이터베이스들은 다국언어 (poly-glot) 저장부를 또한 제공할 수 있다.
상기 네트워크 인터페이스 (406)는 통신 네트워크 (104)를 경유하여 상기 플랫폼 (400) 그리고 애셋들 (106 및 108), 데이터 소스 (110) 및 클라이언트 스테이션 (112)과 같은 다양한 네트워크 컴포넌트들 사이에서의 무선 및/또는 유선 통신을 용이하게 하도록 구성될 수 있다. 그처럼, 네트워크 인터페이스 (406)는 이런 기능들을 수행하기 위한 어떤 적합한 모습을 취할 수 있으며, 그 예들은 이더넷 인터페이스, 시리얼 버스 인터페이스 (예를 들면, 파이어와이어, USB 2.0 등), 무선 통신을 용이하게 하기 위한 칩셋 및 안테나, 및/또는 유선 및/또는 무선 통신을 제공하는 어떤 다른 인터페이스를 포함할 수 있다. 네트워크 인터페이스 (406)는 다양한 상이한 유형의 네트워크 접속들을 지원하는 다수의 네트워크 인터페이스들을 또한 포함할 수 있으며, 그 일부 예들은 하둡 (Hadoop), FTP, 관계형 데이터베이스, OSI PI와 같은 고주파수, XML과 같은 배치 데이터, 및 베이스64를 포함할 수 있다.
상기 예시의 데이터 애셋 플랫폼 (400)은, 상기 플랫폼 (400)과의 사용자 상호작용을 용이하게 하도록 구성된 사용자 인터페이스 (410)를 또한 지원할 수 있으며 그리고 상기 플랫폼 (400)으로 하여금 사용자 상호작용에 응답하여 동작을 수행하도록 하는 것을 용이하게 하도록 또한 구성될 수 있다. 이 사용자 인터페이스 (410)는 다양한 입력 컴포넌트들로의 접속성을 포함하거나 제공할 수 있으며, 이 입력 컴포넌트들의 예들은 터치-감지 인터페이스, 기계적인 인터페이스 (예를 들면, 레버, 버튼, 휠, 다이얼, 키보드 등), 및 다른 입력 인터페이스 (예를 들면, 마이크로폰)를 포함한다. 추가로, 상기 사용자 인터페이스 (410)는 다양한 출력 컴포넌트들로의 접속성을 포함하거나 제공할 수 있으며, 이 출력 컴포넌트들의 예들은 디스플레이 스크린, 스피커, 헤드폰 잭, 및 유사한 것을 포함할 수 있다. 다른 구성들도 마찬가지로 가능하며, 상기 예시의 플랫폼에 통신가능하게 연결된 클라이언트 스테이션 내에 상기 사용자 인터페이스 (410)가 내장되는 것이 가능하다.
이제 도 5를 참조하면, 다른 간략화된 블록도는 예시의 플랫폼 (500) 내에 포함될 수 있는 몇몇의 컴포넌트들을 기능적인 관점에서 도시하기 위해 제공된다. 예를 들면, 도시된 것처럼, 예시의 플랫폼 (500)은 데이터 수용 시스템 (502) 및 데이터 분석 시스템 (504)을 포함할 수 있으며, 이것들 각각은 특별한 기능들을 수행하도록 구성된 하드웨어 및 소프트웨어의 조합을 포함한다. 상기 플랫폼 (500)은 상기 데이터 수용 시스템 (502) 및 데이터 분석 시스템 (504) 중 하나 이상에 포함되고 그리고/또는 연결된 복수의 데이터베이스들 (506)을 또한 포함할 수 있다. 실제로, 이 기능적인 시스템들은 단일의 컴퓨터 시스템 상에 구현될 수 있으며 또는 복수의 컴퓨터 시스템들에 걸쳐서 분산될 수 있다.
상기 데이터 수용 시스템 (502)은 애셋 관련 데이터를 수신하고 그리고 그 후에 그 수신된 데이터의 적어도 일부를 상기 데이터 분석 시스템 (504)으로 제공하기 위한 기능을 보통은 포함할 수 있다. 그처럼, 상기 데이터 수용 시스템 (502)은 애셋 관련 데이터를 다양한 소스들로부터 수신하도록 구성될 수 있으며, 그 소스들의 예들은 애셋, 애셋 관련 데이터 소스, 또는 조직의 현존 플랫폼/시스템을 포함할 수 있다. 상기 데이터 수용 시스템 (502)에 의해 수신된 데이터는 다양한 모습들을 취할 수 있으며, 그 예들은 아날로그 신호, 데이터 스트림, 및/또는 네트워크 패킷을 포함할 수 있다. 또한, 몇몇의 예들에서, 상기 데이터 수용 시스템 (502)은, NiFi 수신기 또는 유사한 것과 같은 정해진 데이터흐름 기술에 따라 구성될 수 있다.
몇몇의 실시예에서, 상기 데이터 수용 시스템 (502)이 정해진 소스 (예를 들면, 애셋, 조직의 현존 플랫폼/시스템, 외부 애셋 관련 데이터 소스 등)로부터 데이터를 수신하기 이전에, 그 소스는 데이터 에이전트 (508)를 제공받을 수 있다. 일반적으로, 상기 데이터 에이전트 (508)는 상기 정해진 데이터 소스에서 애셋-관련 데이터에 액세스하고, 상기 데이터를 적절한 포맷으로 배치하며, 그리고 상기 데이터 수용 시스템 (502)에 의한 수령을 위해 그 후에 상기 데이터를 상기 플랫폼 (500)으로 전송하는 것을 용이하게 하기 위해 기능하는 소프트웨어 컴포넌트일 수 있다. 그처럼, 상기 데이터 에이전트 (508)는 상기 정해진 소스로 하여금, 다른 예들 중에서, 압축 및/또는 압축해제, 암호화 및/또는 해독, 아날로그-디지털 및/또는 디지털-아날로그 변환, 필터링, 증폭, 및/또는 데이터 매핑과 같은 동작들을 수행하도록 할 수 있다. 그러나, 다른 실시예들에서, 상기 정해진 데이터 소스는 데이터 에이전트의 도움 없이 상기 예시의 플랫폼 (500)으로의 애셋-관련 데이터 액세스, 포매팅, 및/또는 전송을 할 수 있다.
데이터 수용 시스템 (502)에 의해 수신된 애셋-관련 데이터는 다양한 모습들을 할 수 있다. 일 예로서, 애셋-관련 데이터는 동작 시 애셋의 속성들에 관련된 데이터를 포함할 수 있으며, 이는 애셋 그 자체로부터 또는 외부 소스로부터 비롯된 것일 수 있다. 이 애셋 속성 데이터는 신호 데이터 (예를 들면, 센서 및/또는 액추에이터 데이터), 고장 데이터, 애셋 로케이션 데이터, 날씨 데이터, 가열축함 (hotbox) 데이터 등과 같은 애셋 동작 데이터를 포함할 수 있다. 추가로, 애셋 속성 데이터는 애셋의 브랜드, 제조처, 모델, 연도, 소프트웨어 버전 등을 표시하는 데이터와 같은 애셋 설정 데이터를 또한 포함할 수 있다. 다른 예로서, 상기 애셋-관련 데이터는 소스 식별자, 타임스탬프 (예를 들면, 상기 정보가 획득되었던 날짜 및/또는 시각), 및 상기 정보가 획득되었던 로케이션의 식별자 (예를 들면, GPS 좌표)와 같은 애셋-관련 데이터의 기원 (origin)에 관한 특정 속성들을 포함할 수 있다. 예를 들면, 유일 식별자 (예를 들면, 컴퓨터 생성 알파벳, 숫자, 알파뉴메릭, 또는 유사한 식별자)가 각 애셋에, 그리고 아마도 각 센서 및 액추에이터에 할당될 수 있으며, 그리고 그 데이터가 비롯된 애셋, 센서, 또는 액추에이터를 식별하도록 작동 가능하다. 이 속성들은 다른 예들 중에서도 신호 시그니처들 또는 메타데이터의 모습으로 올 수 있다. 상기 데이터 수용 시스템 (502)에 의해 수신된 상기 애셋-관련 데이터는 마찬가지로 다른 모습들을 할 수 있다.
깨끗한, 최신의, 정밀한, 사용 가능한 등의 데이터를 데이터 분석 시스템 (504)에게 제공하려는 노력으로, 상기 데이터 수용 시스템 (502)은 애셋-관련 데이터에 다양한 사전-프로세싱 (pre-processing) 기능들을 수행하도록 또한 구성될 수 있다. 예를 들면, 상기 데이터 수용 시스템 (502)은 상기 수신 데이터를 정의된 데이터 구조들로 매핑하고 그리고 이 데이터 구조들로 매핑될 수 없는 데이터를 잠재적으로 버릴 수 있다. 다른 예로서, 상기 데이터 수용 시스템 (502)은 상기 수신 데이터의 신뢰성 (또는 "건강 (health)"을 평가하고 그리고 이 신뢰성에 기반하여 어떤 신뢰할 수 없는 데이터를 버리는 것과 같은 행동들을 취할 수 있다. 또 다른 예로서, 상기 데이터 수용 시스템 (502)은 수신 데이터가 상기 플랫폼에 의해 이미 수신되었다는 것을 확인하고 그리고 그 후에 그런 데이터를 무시하거나 버림으로써 상기 수신 데이터를 "중복-제거"할 수 있다. 또 다른 예로서, 상기 데이터 수용 시스템 (502)은 상기 수신 데이터가 상기 플랫폼의 데이터베이스 (506)에 이미 저장된 데이터와 관련된 (예를 들면, 동일한 데이터의 상이한 버전) 것인가를 판단하고 그리고 그 후에 상기 수신 데이터 및 저장 데이터를 하나의 데이터 구조 또는 레코드로 함께 합체시킬 수 있다. 추가의 예로서, 상기 데이터 수용 시스템 (502)은 상기 수신 데이터에 기반하여 취할 행동 (예를 들면, CRUD 행동들)을 식별하고 그리고 그 후에 그 식별된 행동을 (예를 들면, HTTP 헤더들을 경유하여) 상기 데이터 분석 시스템 (504)에게 통지할 수 있다. 또 다른 예로서, 데이터 수용 시스템 (502)은 (예를 들면, 상이한 카테고리들을 상이한 큐들로 배치함으로써) 상기 수신 데이터를 분할할 수 있다. 다른 기능들이 또한 수행될 수 있다.
몇몇의 실시예들에서, 상기 데이터 에이전트 (508)가 이 사전-프로세싱 기능들 중 특정한 것을 수행하거나 보조할 수 있다는 것이 또한 가능하다. 하나의 가능한 예로서, 상기 데이터 매핑 기능은 상기 데이터 수용 시스템 (502)이 아니라 상기 데이터 에이전트 (508)에 의해 전체적으로 또는 부분적으로 수행될 수 있을 것이다. 다른 예들이 또한 가능하다.
상기 데이터 수용 시스템 (502)은 나중의 인출을 위해서 상기 수신 애셋-관련 데이터를 하나 이상의 데이터베이스들 (506)에 저장하도록 더 구성될 수 있다. 예를 들면, 상기 데이터 수용 시스템 (502)은 데이터 에이전트 (508)로부터 수신된 미가공 데이터를 저장할 수 있으며 그리고 위에서 설명된 사전-프로세싱 기능들 중 하나 이상으로부터의 결과인 데이터를 또한 저장할 수 있다. 위에서의 설명에 따라, 상기 데이터 수용 시스템 (502)이 이 데이터를 저장하는 데이터베이스들은 다양한 모습들을 취할 수 있으며, 이 예들은, 다른 것들 중에서도, 시계열 데이터베이스, 문헌 데이터베이스, 관계형 데이터베이스 (예를 들면, MySQL), 키-값 데이터베이스들, 및 그래프 데이터베이스들을 포함한다. 또한, 상기 데이터베이스들은 다국언어 저장부를 제공할 수 있다. 예를 들면, 상기 데이터 수용 시스템 (502)은 제1 유형의 데이터베이스 (예를 들면, 시계열 또는 문헌 데이터베이스)에 수신된 애셋-관련 데이터의 페이로드를 저장할 수 있으며 그리고 수신된 애셋-관련 데이터의 연관된 메타데이터를 더욱 빠른 검색을 허용하는 제2 유형의 데이터베이스 (예를 들면, 관계형 데이터베이스)에 저장할 수 있다. 그런 예에서, 상기 메타데이터는 그 메타데이터에 관련된 다른 데이터베이스에 저장된 애셋-관련 데이터에 링크되거나 연관될 수 있다. 데이터 수용 시스템 (502)에 의해 이용되는 상기 데이터베이스들 (506)은 마찬가지로 다양한 다른 모습들을 가질 수 있다.
도시되었듯이, 상기 데이터 수용 시스템 (502)은 상기 데이터 분석 시스템 (504)에 통신 가능하게 연결될 수 있다. 상기 데이터 수용 시스템 (502) 및 상기 데이터 분석 시스템 (504) 사이의 인터페이스는 다양한 모습들을 취할 수 있다. 예를 들면, 상기 데이터 수용 시스템 (502)은 API를 경유하여 상기 데이터 분석 시스템 (504)에 통신 가능하게 연결될 수 있다. 다른 인터페이스 기술들이 또한 가능하다.
하나의 구현에서, 상기 데이터 수용 시스템 (502)은 상기 데이터 분석 시스템 (504)에게 세 개의 범용 카테고리들에 속하는 데이터를 제공할 수 있다: (1) 신호 데이터, (2) 이벤트 데이터, 및 (3) 애셋 설정 데이터. 상기 신호 데이터는 상기 애셋들에서 센서들 및/또는 액추에이터들에 의해 취해진 측정치들을 대표하는 미가공, 집성된, 또는 유도된 데이터의 모습을 보통 취할 수 있다. 상기 이벤트 데이터는 애셋으로부터 수신된 표시자들 (예를 들면, 고장 코드들 등)에 대응하는 고장들 및/또는 다른 애셋 이벤트들, 검사 이벤트들, 유지보수 이벤트들, 수리 이벤트들, 유동체 이벤트들, 날씨 이벤트들, 또는 유사한 것처럼, 애셋 동작에 관련된 이벤트들을 식별하는 데이터의 모습을 보통 취할 수 있다. 그리고 애셋 설정 정보는 애셋 식별자들 (예를 들면, 시리얼 번호, 모델 번호, 모델 연도 등), 설치된 소프트웨어 버전 등과 같은 상기 애셋의 구성게 관한 정보를 포함할 수 있다. 데이터 분석 시스템 (504)으로 제공된 데이터는 다른 데이터를 또한 포함할 수 있으며 그리고 다른 모습들을 또한 취할 수 있다.
상기 데이터 분석 시스템 (504)은 데이터 수용 시스템 (502)으로부터 데이터를 수신하고, 그 데이터를 분석하며, 그리고 그 후에 그 데이터에 기반하여 다양한 행동들을 취하도록 일반적으로 기능할 수 있다. 이 행동들은 다양한 모습들을 가질 수 있다.
일 예로, 상기 데이터 분석 시스템 (504)은 클라이언트 시스템으로 출력될 특정 데이터를 (예를 들면, 상기 클라이언트 스테이션으로부터 수신된 요청에 기반하여) 식별할 수 있고 그리고 그 후에 이 데이터를 상기 클라이언트 스테이션에게 제공할 수 있다. 다른 예로서, 상기 데이터 분석 시스템 (504)은 특정 데이터가 미리 정의된 규칙을 만족시키는가를 판단할 수 있으며 그리고 그 후에 그 판단에 응답하여 새로운 이벤트 데이터를 생성하거나 또는 상기 클라이언트 스테이션을 경유하여 사용자에게 통지를 제공하는 것과 같은 특정 행동들을 취할 수 있다. 다른 예로서, 상기 데이터 분석 시스템 (504)은 애셋 동작에 관련된 예측 모델을 트레이닝하고 그리고/또는 실행시키기 위해 상기 수신 데이터를 사용할 수 있으며, 그리고 상기 데이터 분석 시스템 (504)은 그 후에 그 예측 모델의 출력에 기반하여 특정 행동들을 취할 수 있다. 또 다른 예로서, 상기 데이터 분석 시스템 (504)은 외부 액세스를 위해 이용 가능한 특정 데이터를 API를 경유하여 만들 수 있다.
이런 기능들 중 하나 이상을 용이하게 하기 위해서, 상기 데이터 분석 시스템 (504)은 클라이언트 스테이션에 의해 액세스되고 디스플레이될 수 있는 사용자 인터페이스를 제공 (또는 "구동")하도록 구성될 수 있다. 이 사용자 인터페이스는 다양한 모습들을 취할 수 있다. 일 예로, 상기 사용자 인터페이스는 웹 애플리케이션에 의해 제공될 수 있으며, 이는 정보를 사용자에게 표현하고 사용자 입력을 또한 획득하기 위해서 상기 클라이언트 스테이션에 의해 디스플레이될 수 있는 하나 이상의 웹 페이지들을 대체적으로 포함할 수 있다. 다른 예로서, 상기 사용자 인터페이스는, 클라이언트 시스템 상에 설치되어 실행되고 있는 네티브 클라이언트 애플리케이션을 경유하여 제공될 수 있지만, 상기 데이터 분석 시스템 (504)에 의해 "구동"된다. 데이터 분석 시스템 (504)에 의해 제공된 상기 사용자 인터페이스는 다른 모습들을 또한 취할 수 있다.
그런 데이터에 기반하여 잠재적인 행동들을 취하기 위해 상기 수신 데이터를 분석하는 것에 추가로, 상기 데이터 분석 시스템 (504)은 상기 수신 데이터를 하나 이상의 데이터베이스들 (506)에 저장하도록 또한 구성될 수 있다. 예를 들면, 상기 데이터 분석 시스템 (504)은 상기 수신한 데이터를, 애셋-관련 데이터를 플랫폼 사용자들에게 제공하기 위한 주 데이터베이스로 사용되는 정해진 데이터베이스에 저장할 수 있다.
몇몇의 실시예들에서, 상기 데이터 분석 시스템 (504)은 추가적인 기능성을 구축하고, 커스텀화하고, 그리고 상기 플랫폼에 추가하기 위해 소프트웨어 개발 키트 (SDK)를 또한 지원할 수 있다. 그런 SDK는 상기 플랫폼의 하드코딩된 (hardcoded) 기능성의 제일 위에서 상기 플랫폼의 기능성의 커스텀화를 가능하게 할 수 있다.
상기 데이터 분석 시스템 (504)은 다양한 다른 기능들을 또한 수행할 수 있다. 상기 데이터 분석 시스템 (504)에 의해 수행된 몇몇의 기능들은 아래에서 더욱 상세하게 설명된다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 도 4 - 도 5에서 보이는 예시의 플랫폼이, 플랫폼 내에 포함될 수 있는 컴포넌트들의 간략화된 표현의 일 예일 뿐이며 그리고 수많은 다른 것들이 또한 가능하다는 것을 인정할 것이다. 예를 들면, 다른 플랫폼들은 도시되지 않은 추가의 컴포넌트들 및/또는 도시된 컴포넌트들 중 어느 정도를 포함할 수 있다. 더욱이, 정해진 플랫폼은, 그 정해진 플랫폼의 동작들을 수행하기 위해 협력하여 작동되는 다수의 개별적인 플랫폼들을 포함할 수 있다. 다른 예들 또한 가능하다.
IV. 예시의 동작들
도 1에서 도시된 예시의 네트워크 구성 (100)의 동작들이 아래에서 더 상세하게 이제 설명될 것이다. 이 동작들 중 몇몇을 설명하는 것을 돕기 위해, 수행될 수 있는 동작들의 조합들을 설명하기 위해 흐름도들이 참조될 수 있다. 몇몇의 경우에서, 각 블록은 프로세스 내 특정 논리적 기능들이나 단계들을 구현하기 위해 프로세서에 의해 실행가능한 명령어들을 포함하는 프로그램 코드의 일부 또는 모듈을 나타낼 수 있다. 상기 프로그램 코드는 비-일시적 컴퓨터-판독가능 매체와 같은 임의 유형의 컴퓨터-판독가능 매체 상에 저장될 수 있다. 다른 경우에서, 각 블록은 프로세스에서 특정 로직 기능들이나 단계들을 수행하기 위해 배선된 회로를 나타낼 수 있다. 더욱이, 흐름도들 내에서 보이는 블록들은 특별한 실시예에 기반하여 상이한 순서들로 배치되고, 더 적은 개수의 블록들로 결합되고, 추가의 블록들로 분리되며, 그리고/또는 제거될 수 있다.
다음의 설명은 상기 애셋 (106)과 같은 데이터 소스가 애셋 데이터 플랫폼 (102)으로 데이터를 제공하고, 그 분석 시스템은 그 후에 하나 이상의 기능들을 수행하는 경우인 예들을 참조할 수 있다. 이것은 단지 명료함 및 설명을 위해 실행되는 것이며 제한하려고 하는 것을 의미하지 않는다는 것이 이해되어야 한다. 실제로, 상기 애셋 데이터 플랫폼 (102)은 일반적으로 다수의 소스들로부터 데이터를 아마도 동시에 수신하고, 그리고 수신된 데이터의 그런 집성에 기반하여 동작들을 수행한다.
A. 동작 데이터 수집
위에서 언급되었듯이, 상기 대표적인 애셋들 (106 및 108)은 다양한 모습들을 취할 수 있으며 그리고 다수의 동작들을 수행하도록 구성될 수 있다. 비-제한적 예에서, 상기 애셋 (106)은 미국을 가로질러 화물을 운반하기에 사용가능한 기관차의 모습을 취할 수 있다. 통과하면서, 상기 애셋 (106)의 센서들 및/또는 액추에이터들은 상기 애셋 (106)의 하나 이상의 동작 상태들을 반영하는 데이터를 획득할 수 있다. 상기 센서들 및/또는 액추에이터들은 그 데이터를 애셋 (106)의 프로세싱 유닛으로 전송할 수 있다.
상기 프로세싱 유닛은 상기 센서들 및/또는 액추에이터들로부터 데이터를 수신하도록 구성될 수 있다. 실제로, 상기 프로세싱 유닛은 다수의 센서들 그리고/또는 다수의 액추에이터들로부터 신호 데이터를 동시에 또는 순차적으로 수신할 수 있다. 위에서 설명된 것처럼, 이 데이터를 수신하면, 상기 프로세싱 유닛은 그 데이터가, 고장 코드들처럼 고장으로 언급되는 어떤 비정상-상태 표시자들을 트리거하는 트리거 기준을 충족시키는가의 여부를 판단하도록 구성될 수 있으며, 이는 그 애셋 내에서 비정상 상태가 발생했다는 표시로 사용되는 고장 데이터이다. 하나 이상의 비정상-상태 표시자들이 트리거된다고 상기 프로세싱 유닛이 판단하는 경우에, 그 프로세싱 유닛은 트리거된 표시자에 대한 표시를 사용자 인터페이스를 경유하여 출력하는 것과 같은 하나 이상의 로컬 동작들을 수행하도록 구성될 수 있다. 상기 프로세싱 유닛은 상기 센서들 및/또는 액추에이터들로부터 수신된 신호 데이터로부터 다른 데이터를 유도하도록 또한 구성될 수 있으며 (예를 들면, 그런 데이터들의 집성들) 그리고 이 유도된 데이터는 상기 신호 데이터와 함게 포함될 수 있다.
상기 애셋 (106)은 - 애셋 동작 데이터 및/또는 애셋 설정 데이터와 같은 - 애셋 속성 데이터를 그 애셋 (106)의 네트워크 인터페이스 및 상기 통신 네트워크 (104)를 경유하여 애셋 데이터 플랫폼 (102)으로 그 후에 전송할 수 있다. 동작 시에, 상기 애셋 (106)은 애셋 속성 데이터를 상기 애셋 데이터 플랫폼 (102)으로 계속해서, 주기적으로, 그리고/또는 트리거 이벤트 (예를 들면, 비정상 상태들)에 응답하여 전송할 수 있다. 특히, 상기 애셋 (106)은 특별한 빈도에 기반하여 (예를 들면, 매일, 매 시간마다, 매 15분마다, 분 당 한번, 초 당 한번 등) 주기적으로 애셋 속성 데이터를 전송할 수 있으며, 또는 상기 애셋 (106)은 동작 데이터의 연속적인, 실시간 피드를 전송하도록 구성될 수 있다. 추가로 또는 대안으로, 상기 애셋 (106)은 센서 및/또는 액추에이터 측정치들이 어떤 비정상-상태 표시자들을 위한 트리거 기준을 충족시킬 때와 같은 어떤 트리거들에 기반하여 애셋 속성 데이터를 전송하도록 구성될 수 있다. 상기 애셋 (106)은 애셋 속성 데이터를 다른 방식들로 또한 전송할 수 있다.
실제로, 애셋 (106)을 위한 애셋 동작 데이터는 신호 데이터 (예를 들면, 센서 데이터 및/또는 액추에이터 데이터), 고정 데이터, 및/또는 다른 애셋 이벤트 데이터 (예를 들면, 애셋 중단, 재시작, 진단 동작들, 유동성 검사, 수리 등을 표시하는 데이터)를 포함할 수 있다. 몇몇의 구현들에서, 상기 애셋 (106)은 단일 데이터 스트림으로 상기 데이터를 제공하도록 구성될 수 있으며, 반면에 다른 구현들에서 상기 애셋 (106)은 동작 데이터를 다수의, 별개의 데이터 스트림들로 제공하도록 구성될 수 있다. 예를 들면, 상기 애셋 (106)은 상기 애셋 데이터 플랫폼 (102)에게 신호 데이터의 제1 데이터 스트림 그리고 고장 데이터의 제2 데이터 스트림을 제공할 수 있다. 다른 예로서, 상기 애셋 (106)은 상기 애셋 데이터 플랫폼 (102)에게 상기 애셋 (106) 상의 각각의 센서 및/또는 액추에이터를 위한 분리된 데이터 스트림을 제공할 수 있다. 다른 가능한 것들이 또한 존재한다.
신호 데이터는 다양한 모습들을 취할 수 있다. 예를 들면, 때때로, 센서 데이터 (또는 액추에이터 데이터)는 애셋 (106)의 센서들 (또는 액추에이터들) 각각에 이해 획득된 측정치들을 포함할 수 있다. 다른 경우들에서는, 센서 데이터 (또는 액추에이터 데이터)는 애셋 (106)의 센서들 (또는 액추에이터들)의 서브세트에 의해 획득된 측정치들을 포함할 수 있다.
특별하게는, 상기 신호 데이터는 정해진 트리거된 비정상-상태 표시자들과 연관된 센서들 및/또는 액추에이터들에 의해 획득된 측정치들을 포함할 수 있다. 예를 들면, 트리거된 고장 코드가 도 3으로부터의 고장 코드 1이라면, 센서 데이터는 센서 A 및 센서 C에 의해 획득된 미가공 측정치들을 포함할 수 있다. 추가로 또는 대안으로, 상기 데이터는 트리거된 고장 코드와 직접적으로 연관되지 안은 하나 이상의 센서들이나 액추에이터들에 의해 획득된 측정치들을 포함할 수 있다. 마지막 예로 벗어나 계속하면, 상기 데이터는 액추에이터 B 및/또는 다른 센서들이나 액추에이터들에 의해 획득된 측정치들을 추가로 포함할 수 있다. 몇몇의 예들에서, 예를 들면, 액추에이터 B가 측정하고 있는 것과 상기 고장 코드 1로 하여금 먼저 트리거되도록 하는 것 사이에 상관관계가 존재한다고 판단할 수 있는 상기 애셋 데이터 플랫폼 (102)에 의해 제공된 고장-코드 규칙 또는 명령어에 기반하여 상기 애셋 (106)은 상기 동작 데이터 내에 특별한 센서 데이터를 포함할 수 있다. 다른 예들이 또한 가능하다.
또한, 상기 데이터는 여러 팩터들에 기반하여 선택될 수 있는 관심대상인 특별한 시점에 기반하여 관심대상인 센서 및/또는 액추에이터로부터의 하나 이상의 센서 및/또는 액추에이터 측정치들을 포함할 수 있다. 몇몇의 예들에서, 상기 관심대상인 특별한 시점은 샘플링 속도에 기반할 수 있다. 다른 예들에서, 관심대상인 상기 특별한 시점은 고장이 탐지된 시점에 기반할 수 있다.
특히, 고장이 탐지된 시점에 기반하여, 상기 데이터는 관심대상인 각 센서 및/또는 액추에이터로부터의 하나 이상의 각자의 센서 및/또는 액추에이터 측정치들을 포함할 수 있다 (예를 들면, 센서들 및/또는 액추에이터들은 상기 탐지된 고장과 직접적으로 그리고 간접적으로 연관된다). 상기 하나 이상의 측정치들은 특별한 개수의 측정치들에 또는 상기 탐지된 고장 시점 근방의 시간 동안인 특별한 지속시간에 기반할 수 있다.
예를 들면, 도 3으로부터의 고장 코드 2를 트리거하는 고장을 애셋이 탐지한다면, 관심대상인 센서들 및 액추에이터들은 액추에이터 B 및 센서 C를 포함할 것이다. 상기 하나 이상의 측정치들은 상기 고장이 탐지되었던 시점, 고장 탐지 시점의 직전, 고장 탐지 시점의 직후, 및/또는 그것들의 조합일 때에 액추에이터 B 및 센서 C에 의해 획득된 각자의 세트 측정들을 포함할 수 있다.
신호 데이터와 유사하게, 상기 고장 데이터는 다양한 모습들을 취할 수 있다. 일반적으로, 상기 고장 데이터는, 애셋 (106)에서 발생할 수 있는 모든 다른 유형의 고장들로부터 상기 애셋 (106)에서 발생했던 특별한 유형의 고장을 유일하게 식별하기 위해 사용 가능한 표시자를 포함하거나 또는 그 표시자의 모습을 취할 수 있다. 고장 코드로 언급될 수 있는 이 표시자는 알파벳, 숫자, 또는 알파뉴메릭 식별자의 모습을 취할 수 있으며, 또는 다른 예들 중에서도 "과열된 엔진" 또는 "연료 부족"과 같은 고장 유형을 기술하는 단어들의 스트링의 모습을 취할 수 있다. 추가로, 상기 고장 데이터는 고장 발생에 관한 다른 정보를 포함할 수 있으며, 이는, 다른 예들 중에서도, 고장이 발생했던 때에 대한 표시들 (예를 들면, 타임스탬프) 및 고장이 발생했던 곳 (예를 들면, GPS 데이터)에 대한 표시들을 포함한다. 다른 유형의 이벤트들 (예를 들면, 유지보수 이벤트들)에 관련한 데이터는 유사한 모습을 가질 수 있다.
더욱이, 상기 애셋 설정 데이터는 마찬가지로 다양한 모습들을 가질 수 있다. 일반적으로, 상기 애셋 설정 데이터는 애셋에 "관한" 정보에 속한다. 일 예에서, 애셋 설정 데이터는, 모델 번호, 모델 연도 (예를 들면, 애셋 연령) 등과 같은 데이터 애셋 신원확인 정보를 포함할 수 있다. 반면에, 다른 예에서, 상기 애셋 데이터는 그 애셋의 특별한 과거의 그리고/또는 현재의 설정에 직접적으로 관련된다. 예를 들면, 상기 애셋 속성 정보는, 다른 가능한 것들 중에서도, 시장에서의 변화들이 애셋에서 이루어진 이후에 어느 소프트웨어 버전들이 그 애셋에 설치되고 그리고/또는 실행되고 있는가를 표시할 수 있다.
상기 애셋 데이터 플랫폼 (102) 그리고 특히 상기 애셋 데이터 플랫폼 (102)의 데이터 취득 시스템은 하나 이상의 애셋들 및/또는 데이터 소스들로부터 애셋 속성을 수신하도록 구성될 수 있다. 상기 데이터 취득 시스템은 상기 수신된 데이터의 적어도 일부를 취득하고, 그 수신된 데이터에 하나 이상의 동작들을 수행하고, 그리고 그 후에 그 데이터를 상기 애셋 데이터 플랫폼 (102)의 데이터 분석 시스템으로 중계하도록 구성될 수 있다. 그 다음에, 상기 데이터 사이언스 시스템은 그 수신된 데이터를 분석하고 그리고 그런 분석에 기반하여 하나 이상의 동작들을 수행할 수 있다.
B. 다변량 애셋 데이터에서 이형 (異形, anomaly) 탐지
위에서 언급되었듯이, 애셋 데이터 플랫폼 (102)은 이형 탐지 프로세스를 수행하도록 구성될 수 있으며, 그 이형 탐지 프로세스는 다음의 단계들을 보통 수반한다: (1) 원래의 좌표 공간 내 다변량 데이터 (예를 들면, 애셋으로부터의 신호 데이터 및/또는 다른 데이터)를 수신하는 단계로, 그 데이터는 본원에서 "관찰 데이터"로서 언급되며, 상기 원래의 좌표 공간은 그 데이터 내에 변수들의 개수와 같은 개수의 차원들을 가진다, (2) 상기 수신한 다변량 데이터를 상기 원래 좌표 공간으로부터, 상기 원래의 좌표 공간보다 더 적은 수의 차원들을 가지는 변환된 좌표 공간으로 변환 (또는 "투사 (projecting)")하는 단계, (3) 변환딘 좌표 공간에서 상기 데이터를 표준화하는 단계, (4) 상기 변환된 좌표 공간에서 상기 표준화된 데이터를, 상기 표준화된 데이터와 임계 값들의 세트 사이의 비교에 기반하여 수정하는 단계로, 임계 값들의 상기 세트는 정상적인 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의되며, (5) 상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 역으로 변환 (또는 투사)하는 단계, 그리고 (6) 이형 (anomaly)들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 후-변환 (post-transformation) 데이터를 분석하는 단계.
예시의 구현들에서, 수신한 다변량 데이터에서 이형들을 탐지하는 것을 용이하게 하기 위한 상기 설명된 프로세스는 트레이닝 데이터에 기반하여 정의된 임계값들의 세트에 종속할 수 있다. 이런 면에서, 상기 애셋 데이터 플랫폼은 트레이닝 단계를 실행하도록 구성될 수 있으며, 이 트레이닝 단계는 임계값들의 정의된 세트를 출력할 수 있다. 상기 트레이닝 단계로부터의 출력 임계값들은 수신된 다변량 데이터에서 이형들을 탐지하기 위해 상기 프로세스에서 그 후에 활용될 수 있다.
도 6으로 돌아가면, 변환된 좌표 공간을 위한 임계값들의 세트를 정의하기 위해서 정상의 애셋 동작을 반영하는 트레이닝 데이터를 사용하기 위한 하나의 가능한 예시의 방법 (600)을 도시하는 예시의 흐름도가 제공된다. 일반적으로 참조번호 600의 방법을 통해 정의된 임계값들의 세트는, 애셋 데이터 플랫폼 (102)에 의해 수신되는 애셋들로부터의 다변량 데이터에 대응하는 값들을 수정하기 위해, 아래에서 더 상세하게 설명될 예시의 방법 (100)의 수행에서 애셋 데이터 플랫폼 (102)에 의해 활용될 수 있다. 예시의 목적들을 위해, 상기 예시의 방법 (600)은 애셋 데이터 플랫폼 (102)에 의해 수행되는 것으로 설명되지만, 이 예시의 방법은 다른 디바이스들 및/또는 시스템들에 의해 수행될 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 흐름도 (600)는 명료함 및 설명을 위해 제공된 것이며 그리고 다변량 데이터에서 이형들을 식별하는 것을 용이하게 하기 위해 동작들의 여러 다른 조합들이 활용될 수 있다는 것을 또한 인정할 것이다.
블록 602에서, 상기 애셋 데이터 플랫폼 (102)은 정상적인 애셋 동작을 반영하는 (예를 들면, 이형들을 포함하지 않는) 트레이닝 데이터를 획득할 수 있다. 예를 들면, 상기 트레이닝 데이터는 애셋들의 동작에 관련된 이력적인 시계열의 다변량 데이터의 모습을 할 수 있으며, 이는 애셋-관련 데이터 소스들 (예를 들면, 필드 내의 애셋들)로부터 수신되고 그리고/또는 상기 애셋 데이터 플랫폼 (102)에 의해 생성될 수 있다. 실제, 상기 애셋 데이터 플랫폼 (102)은 상기 저장된 이력적인 데이터의 세트를 (예를 들면, 애셋 유형 및/또는 상기 이력적인 데이터가 비롯된 애셋에 기반하여) 선택하고 그리고 그 선택된 세트에 포함된 데이터 포인트들의 분포에 대한 분석을 수행함으로써 트레이닝 데이터의 정해진 세트를 결정한다. 이런 면에서, 상기 애셋 데이터 플랫폼 (102)은 정상적인 애셋 동작을 반영하는 데이터 값들의 범위를 식별하기 위해 변수 하나하나 기반으로 상기 이력적인 데이터의 세트를 분석할 수 있다. 상기 트레이닝 데이터는 다양한 다른 방식들로 획득될 수 있다.
도 7은 애셋 데이터 플랫폼 (102)에 의해 사용될 수 있는 시계열, 다변량 트레이닝 데이터의 대표적인 예를 보여주는 플롯들의 세트 (700)이다. 보이는 것처럼, 플롯들의 상기 세트 (700)는 수평축 (즉, 704) 상의 시계열 및 수직축 (즉, 706) 상의 각 측정된 값의 크기 내에서 측정된 값들의 개수를 각각이 가지는 대표적인 변수 플롯 (702)과 같은 변수 플롯들의 세트를 도시한다. 하나의 대표적인 예에서, 시계열, 애셋 데이터 플랫폼 (102)이 수신한 다변량 트레이닝 데이터는 플롯들의 세트로 생각될 수 있으며, 그 플롯들 각각은 정해진 애셋에서 각자의 센서/액추에이터의 출력에 대응한다. 예를 들면, 각 트레이닝 변수는 수직 축 상의 각 측정된 값의 크기 그리고 수평 축 상의 타임 시퀀스 내에서 각 측정된 값의 시퀀스 번호를 보여줌으로써 상기 변수의 시계열 측정치들을 나타내는 플롯 가로좌표 상에서 보일 수 있다. 이런 관점에서, 상기 트레이닝 데이터는, 각각이 특별한 시간 포인트에 대응하는 복수의 로우들 그리고 각각이 상이한 변수에 대응하는 복수의 컬럼들을 가진 측정된 값들의 매트릭스로서 또한 표현될 수 있다. 위에서 설명된 것에 따라, 그런 매트릭스 내 각 로우는 상기 매트릭스 내 각 컬럼 (즉, 상기 다변량 트레이닝 데이터 내 각 변수)을 위한 차원을 가지는 원래의 좌표 공간 내 각자의 데이터 포인트 (즉, 신호 값 측정치들의 각자 세트)로서 보일 수 있다.
상기 트레이닝 데이터를 획득한 이후에, 블록 602에서, 상기 애셋 데이터 플랫폼 (102)은 도 11의 블록 1102를 참조하여 아래에 더 상세하게 설명되는 것과 유사한 방식으로 상기 트레이닝 데이터에 대해 사전-프로세싱 기능들을 수행할 수 있다 (예를 들면, 결측치 처리 (data imputation)).
블록 604에서, 상기 애셋 데이터 플랫폼 (102)은 상기 트레이닝 데이터를 원래의 좌표 공간으로부터, 그 원래의 좌표 공간보다 더 적은 개수의 차원들을 가진 변환된 좌표 공간으로 변환할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 이 변환을 다양한 방식들로 수행할 수 있다.
일 예에 따르면, 상기 애셋 데이터 플랫폼 (102)은 주성분 분석 (Principal Component Analysis (PCA))을 사용하여 상기 트레이닝 데이터를 원래의 좌표 공간으로부터 상기 변환된 좌표 공간으로 변환할 수 있다. 일반적으로, PCA는, 상관된 변수 값들을 가진 원래 데이터의 세트로부터 새로운 상관되지 않은 변수들 (주성분들 (principal components (PCs)로 언급됨)을 산출할 수 있는 선형 변환의 프로세스에 기반한다. 다른 말로 하면, PCA는 상기 원래 좌표 공간에서 다변량 데이터의 공분산 (covariance)을, 상기 데이터를 공분산을 가지지 않은 PC들의 세트로 변환함으로써, 제거하며, 여기에서 상기 PC들 내의 분산은 원래 좌교 공간 내의 분산 및 공분산을 "설명 (explain)"한다.
이를 달성하기 위해서, 상기 선형 변환은 상기 트레이닝 데이터와 연관된 원래 좌표 공간에 속한 차원들 (예를 들면, 변수들에 대응함)을, 상기 데이터 내 변이성의 "숨겨진 (hidden)" 소스를 나타내기에 충분한 더 작은 개수의 PC들로 효과적으로 줄일 수 있다. 예를 들면, 트레이닝 데이터 포인트가 많은 개수의 차원들을 포함한다면, PCA를 원래의 트레이닝 데이터에 적용하는 것은 그 데이터를 줄어든 개수의 차원들을 포함하는 변환된 좌표 공간으로 변환할 수 있으며, 여기에서 상기 변환된 트레이닝 데이터는 위에서 설명된 PC들의 모습을 가지는 줄어든 개수의 변수 값들을 포함한다.
예를 들면, 위에서 언급되었듯이, 대표적인 트레이닝 데이터는 각 변수에 대해 각자의 차원을 가지는 원래 좌표 공간에 표현된 다변량 데이터 포인트들의 타임-시퀀스로서 생각될 수 있다. 예시의 구현들에서, PCA를 원래 좌표 공간 내에 표현된 트레이닝 데이터 포인트들에 적용하는 것은 원래의 좌표 공간보다 상대적으로 적은 개수의 차원들을 가지면서, 각각의 그런 차원이 각자의 PC에 대응하는 변환된 좌표 공간의 결과를 가져올 수 있다.
실제로, PCA 적용에 있어서 애셋 데이터 플랫폼 (102)에 의해 사용된 수학적인 변환은, 제1 PCA 차원은 상기 트레이닝 데이터 내 가장 큰 양의 분산을 나타내며, 각 연속하는 PCA 차원은 상기 제1 PCA 차원에 직교하며 그리고 상대적으로 더 작은 양의 분산을 설명하는 방식으로 정의될 수 있다. 각 연속하는 PCA 차원이 줄어드는 양의 분산을 설명한다는 사실로 인해서, PCA를 통한 상기 애셋 데이터 플랫폼 (102)은, 비-랜덤 효과들로 인한 상기 트레이닝 데이터 내 분산을 충분하게 평가하기 위해 각각이 PCA 차원에 대응하는, 제한된 개수의 결정된 PC들에 초점을 맞출 수 있다. 이런 면에서, 트레이닝 데이터의 정해진 세트에 대해 애셋 데이터 플랫폼 (102)에 의해 선택된 PCA 차원들의 개수는 사용자 세팅들 및/또는 선호도에 기반하여 자동적으로 상기 애셋 데이터 플랫폼 (102)에 의해, 그리고/또는 어떤 다른 방식으로 결정될 수 있다.
상기 변환된 좌표 공간에 대한 상기 원래 좌표 공간의 줄어든 차원의 결과, 상기 변환된 트레이닝 데이터 포인트들 각각은 원래 좌표 공간에서 트레이닝 데이터 포인트들에 비해 더 작은 개수의 변수 값들을 포함할 수 있다 (예를 들면, 매트릭스 내 더 적은 컬럼들).
위에서 설명된 예에서, 상기 애셋 데이터 플랫폼 (102)은 커널 PCA, 강건한 (robust) PCA, 및 희소 (sparse) PCA를 포함하는 이제까지 알려진 또는 나중에 개발될 PCA 관련된 임의 변형을 사용하여 상기 트레이닝 데이터를 원래 좌표 공간으로부터 변환된 좌표 공간으로 변환할 수 있다. 다른 예에서, 상기 애셋 데이터 플랫폼 (102)은, 부분적 최소자승 판별 분석, 부분적 최소자승 경로 모델링, 및 잠복 구조들에 대한 직교 투사를 포함하는 부분적 최소 자승법 (partial least squares)으로 알려진 좌표 변환 기술 및 그것의 변형들을 사용하여 상기 트레이닝 데이터를 원래 좌표 공간으로부터 변환된 좌표 공간으로 변환할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 다른 기술들을 마찬가지로 사용하여 상기 트레이닝 데이터를 원래 좌표 공간으로부터 변환된 좌표 공간으로 변환할 수 있다.
도 8은 변환된 좌표 공간으로 변환되고 있는 도 7의 획득된 트레이닝 데이터의 개념적인 예시를 보여준다. 보이는 것처럼, 도 8은 세 개의 PCA 차원들 (예를 들면, 802, 804, 806) 그리고 원점 (810)에 관하여 그려진 변환된 트레이닝 데이터 포인트들 (808)을 가지는 변환된 좌표 공간 (800)을 도시한다.
블록 606에서, 상기 애셋 데이터 플랫폼 (102)은 상기 변환된 트레이닝 데이터를 상기 변환된 좌표 공간에서 표준화할 수 있다. 도 9는 변환된 좌표 공간에서 표준화되고 있는 도 8의 변환된 트레이닝 데이터의 개념적인 예시를 도시한다. 일반적으로, 표준화 프로세스는, 데이터 세트의 평균이 그 세트의 각 값으로부터 감해져서 그 데이터를 중심으로 모으고, 그리고 차이는 상기 데이터의 표준 편차로 나누어져서 그 데이터를 다시 크기 조절 (rescale)하게 하는, 수학적인 프로세스를 기술하기 위해 사용된다. 이런 유형의 표준화는 z-스코어 (score) 표준화로 알려져 있다. 각 PCA 차원의 중앙 값 (median) 또는 최빈수 (mode)를 감해서 데이터를 중심에 모으게 하거나, 또는 데이터를 다시 크기 조절하기 위해 각 PCA 차원의 범위 또는 95번째 백분위수로 나누는 것처럼, 상기 변환된 데이터를 표준화하기 위해 다른 통계적인 특성들이 또한 사용될 수 있다. 그런 표준화의 결과, 각 변환된 트레이닝 데이터 포인트에 대한 변수 값들은 업데이트되어, 상기 변환된 트레이닝 데이터 포인트들이 상기 변환된 좌표 공간의 중심 주위에 중심을 두도록 한다.
보이는 것처럼, 도 9는 원점 (810) 주위에 중심을 두는 변환된 좌표 공간 (800)에서 표준화된 변환된 트레이닝 데이터 (902)를 도시한다.
블록 608에서, 상기 변환된 좌표 공간에서 각 변수에 대해, 상기 애셋 데이터 플랫폼 (102)은 그 변수에 대한 표준화된 트레이닝 데이터 값들의 분포를 분석하여, (예를 들면, 그 변수에 대한 표준화된 트레이닝 데이터의 표준 편차에 기반하여) 그 변환된 좌표 공간에서 상기 변수의 최대의 예상 값을 결정한다. 이런 점에서, 임계값들의 세트는 변환된 좌표 공간의 원점 주위에 중심을 둔 다중-차원의 둘러싸인 모습 (예를 들면, 원, 타원 등)의 경계를 효과적으로 한정할 수 있다.
도 10은 도 9의 표준화된 변환된 트레이닝 데이터 (902)에 기반하여 한정된 임계값들의 세트의 개념적인 예시를 도시한다. 보이는 것처럼, 임계값들의 세트는 타원 (1002)으로 표현되며, 이는 상기 변환된 좌표 공간의 원점 (810) 주위에 중심을 둔 경계를 효과적으로 한정한다.
도 6으로 돌아가면, 블록 610에서, 애셋 데이터 플랫폼 (102)은 변환된 좌표 공간 내에서 관찰 데이터와의 나중의 비교를 위해 임계값들의 상기 세트를 저장할 수 있다.
상기 애셋 데이터 플랫폼 (102)이 원래 좌표 공간에서 관찰 데이터를 사전-프로세싱의 일부로서 수정하도록 구성된 실시예들에서, 애셋 데이터 플랫폼 (102)은 블록 602에서 획득된 트레이닝 데이터에 기반하여 상기 원래 좌표 공간에서 변수들을 위한 임계값들을 정의하도록 또한 구성될 수 있다. 예를 들면, 한 구현에서, 상기 애셋 데이터 플랫폼 (102)은 원래 좌표 공간에서 각 변수에 대응하는 상기 트레이닝 데이터 값들의 분포를 분석할 수 있으며 그리고 각각의 그런 변수에 대한 최소 및/또는 최대 예상 값 (예를 들면, 임계값들)을 그 후에 결정할 수 있다. 이 결정은 상기 트레이닝 데이터 값들의 분포에 관련된 다양한 메트릭들에 기반할 수 있으며, 그 트레이닝 데이터 값들의 예들은 다른 가능한 것들 중에서도 표준 편차 및 평균 (mean)을 포함할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 상기 원래 좌표 공간에서 변수들을 위한 임계값들을 마찬가지로 다른 방식들로 정의할 수 있다.
도 11은 애셋 관련된 데이터 소스(들)로부터 수신한 다변량 데이터 내 이형들을 탐지하기 위한 하나의 가능한 예시의 방법 (1100)을 도시한 예시의 흐름도이다. 예시의 목적들을 위해, 상기 예시의 방법 (1100)은 애셋 데이터 플랫폼 (102)에 의해 수행되는 것으로 설명되지만, 이 예시의 방법은 다른 디바이스들 및/또는 시스템들에 의해 수행될 수 있다. 본 발명이 속한 기술분야에서의 통상의 지식을 가진 자는 흐름도 (1100)는 명료함 및 설명을 위해 제공되는 것이며 그리고 다변량 애셋-관련 데이터에서 이형들을 식별하는 것을 용이하게 하기 위해 동작들의 많은 다른 조합들이 활용될 수 있다는 것을 또한 인정할 것이다.
블록 1102에서, 상기 애셋 데이터 플랫폼 (102) 원래 좌표 공간에서 애셋-관련 데이터 소스로부터 다변량 데이터를 수신할 수 있으며, 그 원래 좌표 공간은 그 데이터 내에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진다. 이 수신된 데이터는 본원에서 "관찰 데이터 (observation data)"로 언급될 수 있으며, 그리고 다양한 모습들을 취할 수 있다. 예시의 구현들에서, 대표적인 애셋 (106)과 같은 애셋은 그 애셋의 동작 동안에 각각이 자신의 변수 (예를 들면, 파라미터)를 모니터하고 그리고 그 모니터된 변수에 대한 신호 값들의 타임-시퀀스를 출력하기에 소용이 되는 센서들 및/또는 액추에이터들의 세트를 포함할 수 있으며, 여기에서 각 값은 그 값이 측정되었던 시간 포인트에 대응한다. 예를 들면, 상기 센서들 및/또는 액추에이터들은 많은 다른 예들 중에서도 엔진 온도, 유체 레벨들, R.P.M. 등과 같은 변수들을 모니터할 수 있다. 그처럼, 상기 애셋의 신호 데이터는 다변량 데이터의 타임-시퀀스의 모습을 가질 수 있으며, 여기에서 상기 시퀀스 내 각각의 데이터 포인트는 각자의 시간 포인트에서 상기 애셋의 센서들 및/또는 액추에이터들에 의해 측정된 신호값들의 세트를 포함한다. (추가로, 상기 애셋 (106) 및/또는 애셋 데이터 플랫폼 (102)은 상기 애셋의 신호 데이터로부터 다른 변수들을 유도할 수 있으며, 이 경우에 이 유도된 변수들은 상기 다변량 데이터 내에 또한 포함될 수 있다.) 특히, 상기 다변량 관찰 데이터 내 각 상이한 변수들은 그 데이터 포인트들에 대한 원래 좌표 공간 내 상이한 차원으로서 생각될 수 있다.
하나의 대표적인 예에서, 상기 애셋 데이터 플랫폼 (102)이 수신한 시계열, 다변량 관찰은 플롯들의 세트로 생각될 수 있으며, 그 각각은 정해진 애셋에서 각자의 센서/액추에이터의 출력에 대응한다. 예를 들면, 각 관찰 변수는 플롯 가로좌표 상에서 보일 수 있으며, 그 플롯 가로좌표는 수평 축 상에서의 타임 시퀀스 내 각 측정된 값의 시퀀스 번호 및 수직 축 상에서 각 측정된 값의 크기를 보여줌으로써 상기 변수의 시계열 측정치들을 나타낸다. 이런 의미에서, 상기 관찰 데이터는, 각각이 타임의 특별한 포인트에 대응하는 복수의 로우들, 그리고 각각이 상이한 변수에 대응하는 복수의 컬럼들을 가지는 측정된 값들의 매트릭스로서 또한 표현될 수 있다. 위에서의 설명에 따라, 그런 매트릭스 내 각 로우는 상기 매트릭스 내 각 컬럼 (상기 다변량 데이터 내 각 변수)에 대한 차원을 가지는 원래 좌표 공간 내 각자의 데이터 포인트 (즉, 신호 값 측정치들의 각자 세트)로서 그 후에 보일 수 있다.
상기 애셋 데이터 플랫폼 (102)은 전술한 관찰 데이터를 다른 가능한 것들 중에서도, 연속해서 (예를 들면, "실시간"으로 또는 거의 실시간으로), 주기적으로, 또는 "배치 (batch)"와 같이 다양한 방식으로 수신할 수 있다. 상기 애셋 데이터 플랫폼 (102)이 애셋-관련 데이터 소스로부터 데이터를 수신하는 방식은 다른 팩터들 중에서도 그 데이터 소스의 유형 및/또는 구성에 종속할 수 있다. 어느 경우에, 상기 애셋 데이터 플랫폼 (102)은 그 수신한 데이터를, 이형 탐지를 수행하는데 있어서 사용하기 위해 데이터 저장부 (404)와 제휴한 데이터베이스와 같은 제1 데이터베이스에 저장할 수 있다.
블록 1102에서 상기 관찰 데이터를 수신한 이후에, 상기 애셋 데이터 플랫폼 (102)은 원래 좌표 공간에서 표현된 관찰 데이터 상에 특정 사전-프로세싱 기능들을 또한 수행할 수 있다. 예를 들면, 몇몇 실시예들에서, 상기 애셋 데이터 플랫폼 (102)은 원래 좌표 공간 내 변수들에 대해 정의된 임계값들에 따르지 않는 상기 원래 좌표 공간에서 특정 값들을 수정 (또는 결측 처리 (impute))할 수 있다. 그런 실시예들에 따라 그리고 위에서 설명된 것처럼, 상기 애셋 데이터 플랫폼 (102)은 정상 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 상기 원래 좌표 공간 내 각 변수에 대한 하나 이상의 임계값들 (예를 들면, 최소 및/또는 최대 예상값들)을 정의할 수 있다. 다음에, 상기 애셋 데이터 플랫폼 (102)은 (사전-프로세싱 이전에 또는 이후에) 상기 수신된 관찰 데이터의 값들을 상기 원래 좌표 공간 내 변수들에 대해 상기 정의된 임계값들과 비교하며, 그리고 정의된 임계값들에 따르지 않는 변수 값을 그 후에 수정 (또는 결측 처리)할 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼 (102)은 각자의 임계값을 넘어선 또는 밑의 변수값을 그 임계의 값으로 대체할 수 있다. 상기 애셋 데이터 플랫폼 (102)은 상기 수신한 관찰 데이터의 값들을 그 임계값들과의 비교에 기반하여 마찬가지로 다른 방식들로 수정할 수 있다. 예를 들면, 수신된 관찰 데이터의 값들 중 하나 이상이 없어졌거나 또는 '숫자가 아닌 것 (not-a-number)' 이나 NaN으로 표현된다면, 상기 애셋 데이터 플랫폼 (102)은 그 없어진 값을 대응 신호의 평균 또는 중앙값으로 채울 수 (또는 결측 처리할 수) 있다.
일반적으로, 블록 1102에서 수신되며 그리고 원래 좌표 공간에서 표현된 상기 관찰 데이터는 상관된 변수들에 대응하는 값들을 포함할 수 있으며, 이는 이형들을 탐지하는 것을 어렵다는 것을 표현할 수 있다. 상기 관찰 데이터 내 변이성을 강조하는 것을 용이하게 하기 위해, 상기 애셋 데이터 플랫폼 (102)은 원래 좌표 공간에서 표현된 상기 상관된 변수들로부터 상관되지 않은 변수들을 산출하기 위해 좌표 변환 기술들을 활용할 수 있다.
블록 1104에서, 상기 애셋 데이터 플랫폼 (102)은 도 6의 블록 604를 참조하여 위에서 설명된 차원수 감소 기술 PCA 기술들을 사용하는 것처럼 상기 관찰 데이터를 원래 좌표 공간으로부터, 상기 원래 좌표 공간보다 더 작은 수의 차원들을 가지는 변환된 좌표 공간으로 변환 (또는 "투사 (project)")할 수 있다.
상기 변환된 좌표 공간에 상대적인 상기 원래 좌표 공간의 감소된 차원수의 결과, 상기 변환된 관찰 데이터 포인트들 각각은 원래 좌표 공간에서 상기 관찰된 데이터 포인트들에 비해 더 작은 개수의 변수값들 (예를 들면, 매트릭스 내 더 작은 개수의 컬럼들)을 포함할 수 있다.
블록 1106에서, 상기 애셋 데이터 플랫폼 (102)은 상기 변환된 좌표 공간에서 상기 변환된 관찰 데이터를, 도 6의 블록 606을 참조하여 위에서 설명된 것과 유사한 방식으로 표준화할 수 있다. 즉, 상기 애셋 데이터 플랫폼은 상기 변환된 관찰 데이터에 대해 z-스코어 표준화를 실행할 수 있으며, 그래서 상기 표준화된 변환된 관찰 데이터가 상기 변환된 좌표 공간의 원점 주변에 중심을 두도록 한다.
블록 1108에서, 상기 애셋 데이터 플랫폼 (102)은 상기 표준화된 관찰 데이터를, 정상 애셋 동작을 반영한 트레이닝 데이터에 기반하여 정의된 임계값들의 세트와 비교할 수 있다. 임계값들의 이 세트는 다양한 모습들을 할 수 있으며 그리고 다양한 방식들로 정의될 수 있다.
바람직한 실시예에서, 임계값들의 이 세트는 상기 변환된 좌표 공간에서 각 선택된 변수 (예를 들면, 각 PC)에 대한 각자의 임계값을 포함할 수 있으며, 여기에서 각 변수의 임계값은 정상적인 애셋 동작 동안에 그 변수의 최대 예상값을 나타낸다. 그러나, 임계값들의 상기 세트는 마찬가지로 다른 모습들을 가질 수 있다. 예를 들면, 몇몇 예들에서, 상기 트레이닝 데이터에 기반하여 정의된 임계값들의 세트는 정해진 변환된 좌표 공간에 존재하는 선택된 변수들 모두의 미만에 대응하는 임계값들을 포함할 수 있다. 다른 예들에서, 상기 변환된 좌표 공간에서 정해진 변수(들)에 대한 임계는 최대값이 아닌 변환된 트레이닝 데이터의 측정과 연관될 수 있다. 예를 들면, 상기 임계는 상기 변환된 트레이닝 데이터 분포의 95번째 또는 99번째 백분위수와 연관될 수 있다. 다른 예로서, 상기 임계값은, 상기 변환된 트레이닝 데이터 최대값의 2배 또는 1.5배처럼, 몇몇 상수에 상기 최대값을 곱한 것으로 세팅될 수 있다.
일 예에서, 임계들의 세트는 변환된 공간의 원점 주위에 중심을 둔 경계를 효과적으로 한정하는 변환된 좌표 공간 내 다수-차원의 둘러싸인 모습 (예를 들면, 원, 타원 등)으로 보일 수 있다.
상기 애셋 데이터 플랫폼 (102)은 상기 표준화된 변환된 관찰 데이터 및 임계값들의 세트 사이의 비교를 다양한 방식들로 수행할 수 있다. 바람직한 실시예에서, 상기 애셋 데이터 플랫폼 (102)은 상기 변환된 좌표 공간 내 각각의 변수 (예를 들면, 각 PC)에 대해 정해진 표준화된 관찰 데이터 포인트의 값을 그 각각의 변수에 대해 정의된 임계값에 비교하여, 상기 데이터 포인트의 값이 상기 정의된 임계값을 초과하는가의 여부를 판단한다. 그러나, 상기 애셋 데이터 플랫폼 (102)은 그 비교를 마찬가지로 다른 방식으로 수행할 수 있다.
블록 1110에서, 상기 애셋 데이터 플랫폼 (102)은 상기 표준화된 관찰 데이터 및 임계값들의 상기 세트 사이의 비교에 기반하여 상기 변환된 좌표 공간에서 상기 표준화된 관찰 데이터를 수정할 수 있다. 예를 들면, 애셋 데이터 플랫폼 (102)이 상기 비교에 기반하여, 표준화된 변환된 관찰 데이터 포인트가 그 변수에 대해 정의된 임계값을 초과하는 상기 변환된 좌표 공간에서 적어도 하나의 변수값 (예를 들면, PC 값)을 포함한다고 판단하면, 상기 애셋 데이터 플랫폼 (102)은 그 관찰 데이터 포인트를 수정하여, 상기 적어도 하나의 변수값이 상기 정의된 임계값을 더 이상 초과하지 않도록 할 수 있다. 다른 말로 하면, 상기 애셋 데이터 플랫폼 (102)은 상기 표준화된 관찰 데이터 포인트의 값들 중 하나 이상을 "축소 (shrink)"하도록 구성될 수 있어서, 상기 데이터 포인트가 임계값들의 상기 세트에 의해 경계가 정해진 상기 다중-차수의 둘러싸인 모습에 더 가깝게 (그리고 아마도 그 모습 이내에) 위치하도록 한다.
하나의 구현에서, 상기 애셋 데이터 플랫폼 (102)은, 상기 정의된 임계값을 초과하는 변수값을 그 변수에 대해 정의된 임계값으로 대체함으로써, 표준화된 변환된 관찰 데이터 포인트를 변수 하나하나 기반 (variable-by-variable basis) (예를 들면, PC 하나하나 기반)으로 수정할 수 있다. 예를 들면, 정해진 데이터 포인트가 변환된 좌표 공간에서 정의된 임계값들을 초과하는 두 개의 변수값들을 포함하면, 상기 애셋 데이터 플랫폼 (102)은 각각의 그런 변수의 값을 그 변수에 대해 정의된 임계값으로 치환할 수 있으며, 그럼으로써 그 두 변수값들의 크기에서의 축소의 결과를 가져온다. 이 구현은 "성분 축소 (component shrinkage)"로서 언급될 수 있다.
도 12는 성분 축소 예의 개념적인 예시를 도시한다. 보이는 것처럼, 원래의 관찰된 데이터 포인트는 (Z1,obs, Z2,obs, Z3,obs)로 도시된 세 개의 PCA 변수들에 대한 값들을 포함할 수 있다. 또한, 보이는 것처럼, 이 값들 중 두 개의 값들 (Z1,obs 및 Z2,obs)은 임계값들의 세트에 의해 한정된 경계의 외부이다. 이 데이터 포인트에 성분 축소를 적용하는 것은 이 두 값들을 이 변수들에 대한 임계값들로 치환하는 것을 수반할 수 있으며, 그럼으로써, (Z1,shrink, Z2,shrink, Z3,obs) 값들을 가지는 수정된 데이터 포인트의 결과를 가져온다.
다른 구현에서, 상기 애셋 데이터 플랫폼 (102)은 복수의 데이터 포인트의 값들을 동등한 방식으로 수정함으로써 상기 변환된 좌표 공간에서 관찰 데이터 포인트를 수정할 수 있다. 예를 들면, 변환된 좌표 공간 내 정해진 데이터 포인트가 상기 변환된 좌표 공간 내 임계값들의 세트에 의해 경계가 정해진 다중-차수의 둘러싸인 모습 외부에 놓인 것으로 판단되면, 상기 애셋 데이터 플랫폼 (102)은, 상기 데이터 포인트가 상기 경계 상에 가장 가까운 포인트로 효과적으로 이동하도록 하는 방식으로, 변수값들의 상기 정해진 포인트의 세트를 수정할 수 있다. 이 구현은 "벡터 축소 (vector shrinkage)"로서 언급될 수 있다.
도 13은 벡터 축소 예의 개념적인 예시를 도시한다. 보이는 것처럼, 원래의 관찰된 데이터 포인트는 (Z1,obs, Z2,obs, Z3,obs)로 도시된 세 개의 PCA 변수들에 대한 값들을 다시 포함할 수 있다. 또한, 보이는 것처럼, 이 값들 중 두 값들 (Z1,obs 및 Z2,obs)은 임계값들의 세트에 의해 한정된 경계 외부에 있다. 이 데이터 포인트에 벡터 축소를 적용하는 것은 상기 데이터 포인트가 경계를 초과하는 경우인 PCA 차원들 (여기에서는 제1 및 제2 PCA 차원들)을 포함하는 좌표 공간을 식별하고, 상기 관찰된 데이터 포인트로부터 원점 포인트까지 상기 공간에서 직선을 그리며, 그리고 이 직선이 상기 경계와 교차하는 위치로 상기 데이터 포인트를 그 후에 이동시키는 것을 수반할 수 있으며, 그럼으로써 (Z1,shrink, Z2,shrink, Z3,obs) 값들을 가지는 수정된 데이터 포인트의 결과를 가져온다. 이 예에서, 보이는 것처럼, Z1,shrink 및 Z2,shrink 에 대한 값들은 상기 임계값들보다 더 작을 수 있다.
상기 애셋 데이터 플랫폼 (102)은 상기 변환된 좌표 공간에서 관찰 데이터 포인트를 마찬가지로 다른 방식으로 수정할 수 있다.
바람직한 실시예들에서, 상기 애셋 데이터 플랫폼 (102)이 사전-프로세싱 동안에 원래 좌표 공간에서 관찰 데이터를 수정 (또는 결측 처리)하도록 구성되는가의 여부와 관계없이, 상기 애셋 데이터 플랫폼 (102)은 상기 변환 좌표 공간에서 상기 관찰 데이터를 블록 1110에서 수정하도록 구성될 것이다. 그러나, 몇몇의 대안의 실시예들에서, 사전-프로세싱 동안에 원래 좌표 공간에서 관찰 데이터를 수정하도록 구성된 애셋 데이터 플랫폼 (102)은 블록 1110을 스킵할 수 있으며, 그래서 변환된 좌표 공간에서 상기 관찰 데이터를 또한 수정하지 않도록 할 수 있을 것이다. 다른 말로 하면, 상기 애셋 데이터 플랫폼 (102)은 원래 좌표 공간 수정 및 변환 좌표 공간 수정을 임의 조합으로 구현하도록 구성될 수 있다.
블록 1112에서, 상기 애셋 데이터 플랫폼 (102)은 상기 수정된 관찰 데이터를 상기 변환된 좌표 공간으로부터 거꾸로 상기 원래 좌표 공간으로 역으로 변환 (또는 투사)할 수 있다. 실제로, 변환된 좌표 공간에서 수정되었으며 그리고 상기 언급된 방식으로 원래 좌표 공간으로 거꾸로 투사되었던 관찰 데이터 포인트는 원래 좌표 공간에서 상기 수신된 관찰 데이터와는 의미있게 상이한 적어도 하나의 변수값을 가질 수 있다. 즉, 이형을 나타낼 수 있는 상기 원래 좌표 공간의 적어도 하나의 차원에서 상기 사전-변환 관찰 데이터 포인트 및 후(post)-변환 관찰 포인트 사이에 "간격 (gap)"이 존재할 수 있다.
상기 수정된 관찰 데이터를 역으로 변환한 이후에, 상기 애셋 데이터 플랫폼 (102)은, 몇몇의 예들에서, 상기 관찰 데이터에 관해 특정 후-프로세싱 기능들을 또한 수행할 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼 (102)은 상기 역으로 변환된 데이터를 "비-정규화 (un-normalize)"할 수 있으며, 이는 그런 데이터를 처음에 수신된 관찰 데이터와 효과적으로 비교하기 위한 것이다. 상기 애셋 데이터 플랫폼 (102)은 다양한 다른 후-프로세싱 기능들을 수행할 수 있다.
블록 1114에서, 상기 애셋 데이터 플랫폼 (102)은 이형들을 식별하기 위해 상기 원래 좌표 공간에서 상기 후-변환 관찰 데이터를 분석할 수 있다. 예를 들면, 상기 애셋 데이터 플랫폼 (102)은 상기 원래 좌표 공간에서 상기 후-변환 관찰 데이터 (예를 들면, 역변환된 수정된 관찰 데이터)를 상기 사전-변환 관찰 데이터 (예를 들면, 수신된 관찰 데이터)와 미리 정의된 시간 구간에 걸쳐서 어떻게 비교하는가를 분석하기 위해 이형 탐지 테스트들을 수행할 수 있으며, 이는 상기 관찰 데이터 내 하나 이상의 변수들이 이형인 것으로 보일 때인 사례들 (예를 들면, 상기 후-변환 관찰 데이터 및 사전-변환 관찰 데이터 사이의 적어도 하나의 변수값 에서 통계적으로-중대한 불일치들이 존재하는 때인 사례들)을 식별하기 위한 것이다.
더욱이, 상기 애셋 데이터 플랫폼 (102)은 수신된 관찰 데이터, 변환된 관찰 데이터, 및 이형 탐지 테스트 결과들을 분석하는 진단 및 예측 방법들을 활용하여, 이상한 행동이 장비 고장을 표시하는가의 여부를 판단할 수 있다. 그런 진단 및 예측 방법들은 시계열 외삽, 전문가 규칙들, 및 머신 학습 기술들을 포함하지만, 그것들로 제한되지는 않는다.
다음에, 상기 애셋 데이터 플랫폼 (102)은 이 식별에 기반하여 다양한 기능들을 수행할 수 있다. 일 예로서, 상기 애셋 데이터 플랫폼 (102)은 식별된 이형들에 대한 통지들을 생성할 수 있으며, 이는 대표적인 클라이언트 스테이션 (112)에서 시각적으로 그리고/또는 청각적으로 사용자에게 제시될 수 있다. 다른 예로서, 상기 애셋 데이터 플랫폼 (102)은 이형들이 식별된 애셋 데이터를 폐기하도록 구성될 수 있으며, 그래서 이 잠재적으로-신뢰할 수 없는 데이터가 다른 목적들을 위해 (예를 들면, 사용자에게 제시하기 위해, 모델을 트레이닝 시키거나 실행시키기 위하는 등) 상기 애셋 데이터 플랫폼 (102)에 의해 사용되지 않도록 한다. 상기 애셋 데이터 플랫폼 (102)은 자신들이 이형들을 식별한 것에 기반하여 마찬가지로 다른 기능들을 수행할 수 있다.
본원에서 개시된 기술들이 애셋-관련 데이터에서 이형들을 탐지하는 애셋 데이터 플랫폼의 환경에서 설명되었지만, 이 개시된 개념들은 다양한 다른 환경들에서 이형들을 탐지하기 위해 마찬가지로 사용될 수 있다는 것이 또한 이해되어야 한다.
V. 결론
상기 개시된 혁신들의 예시의 실시예들이 위에서 설명되었다. 그러나, 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들은 청구항들에 의해 정의될 본 발명의 진정한 범위 및 사상으로부터 벗어나지 않으면서 상기 설명된 실시예들에 대한 변경들 및 수정들이 만들어질 수 있다는 것을 이해할 것이다.
또한, 본원에서 설명된 예들이 "사람들", "오퍼레이터들", "사용자들" 또는 다른 엔티티들과 같은 관계자들에 의해 수행되거나 개시된 동작들을 수반하는 한에서는, 이는 예시 및 설명의 목적들만을 위한 것이다. 청구항 언어에서 명시적으로 선언된 것이 아니라면 상기 청구항들은 그런 관계자들에 의한 행동을 필요로 하는 것으로 해석되지 않아야 한다.
Claims (20)
- 컴퓨팅 디바이스로,
네트워크 인터페이스;
적어도 하나의 프로세서;
비-일시적 컴퓨터-판독가능 매체; 그리고
상기 비-일시적 컴퓨터-판독가능 매체 상에 저장된 프로그램 명령어들을 포함하며,
상기 프로그램 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때에 컴퓨팅 디바이스로 하여금:
다변량 (multivariate) 데이터에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진 원래 공간 좌표에서 상기 다변량 데이터를 애셋 (asset)으로부터 네트워크 인터페이스를 경유하여 수신하도록 하며;
상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하도록 하며;
상기 변환된 좌표 공간에서 상기 데이터를 표준화하도록 하며;
상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하며, 임계 값들의 상기 세트는 정상적인 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의되며;
상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 역변환하도록 하며; 그리고
이형 (異形, anomaly)들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된 데이터를 분석하도록 하는, 컴퓨팅 디바이스. - 제1항에 있어서,
상기 컴퓨팅 디바이스로 하여금, 상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하게 하도록 실행 가능한 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
상기 원래 좌표 공간에서 상기 수신된 다변량 데이터에 주성분분석 (Principal Component Analysis; PCA)을 적용하게 하도록 실행 가능한 프로그램 명령어들을 포함하며,
PCA를 적용하는 것은:
상기 수신된 다변량 데이터 내 변이성 (variability)을 기술하는 주성분 (Principal Component)들의 세트를 식별하고;
주성분의 상기 세트에 기반하여, 원래 좌표 공간에서 상기 수신된 다변량 데이터를 상기 변환된 좌교 공간으로 선형으로 변환하는 것을 포함하며,
상기 변환된 좌표 공간의 각 차원은 주성분들의 상기 세트에 속한 주성분에 대응하는, 컴퓨팅 디바이스. - 제1항에 있어서,
상기 컴퓨팅 디바이스로 하여금, 이형들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된 데이터를 분석하게 하도록 실행 가능한 임계값들의 상기 세트는 상기 컴퓨팅 디바이스로 하여금:
상기 수신된 다변량 데이터 및 상기 원래 좌표 공간에서 상기 역변환된 수정된 데이터를 비교하도록 하며; 그리고
상기 수신된 다변량 데이터 및 상기 역변환된 수정된 데이터 사이의 적어도 하나의 변수값에서 통계적으로 의미있는 불일치들을 식별하게 하도록 실행 가능한 프로그램 명령어들을 포함하는, 컴퓨팅 디바이스. - 제1항에 있어서,
상기 컴퓨팅 디바이스로 하여금, 상기 변환된 좌표 공간에서 상기 데이터를 표준화하도록 하는 실행 가능한 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
상기 변환된 좌표 공간에서 상기 데이터를 다시 크기 조절하게 하도록 실행 가능한 프로그램 명령어들을 포함하며,
상기 다시 크기 조절된 데이터는 상기 변환된 좌표 공간의 중심 주위에 중심을 두며 그리고 표준 정규 분포를 고수하는, 컴퓨팅 디바이스. - 제1항에 있어서,
상기 컴퓨팅 디바이스로 하여금, 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하는 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
상기 변환된 좌표 공간에서 각 차원에 대한 정해진 표준화된 데이터 포인트의 값을 그 차원에 대해 정의된 임계값과 비교하도록 하며;
표준화된 데이터 포인트의 값들 중 하나 이상이 그 변수에 대한 상기 정의된 임계값을 초과하는가의 여부를 판단하게 하도록, 실행 가능한 프로그램 명령어들을 포함하는, 컴퓨팅 디바이스. - 제1항에 있어서,
상기 컴퓨팅 디바이스로 하여금, 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하는 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
정의된 임계값을 초과하는 하나 이상의 차원 값들을 가진 상기 변환된 좌표 공간에서 표준화된 데이터 포인트를 식별하도록 하며;
상기 하나 이상의 차원 값들 중 적어도 하나의 크기를, 정의된 임계값과 같게 하기 위해 축소하게 하도록 실행 가능한 프로그램 명령어들을 포함하는, 컴퓨팅 디바이스. - 제6항에 있어서,
하나 이상의 차원 값들을 축소하는 것은 벡터 축소 (shrinkage) 및 성분 축소 중 적어도 하나 이상에 기반하는, 컴퓨팅 디바이스. - 명령어들을 저장한 비-일시적 컴퓨터-판독가능 매체로서, 상기 명령어들은 실행 가능하여 컴퓨팅 시스템으로 하여금:
상기 수신된 다변량 (multivariate) 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하도록 하며;
상기 변환된 좌표 공간에서 상기 데이터를 표준화하도록 하며;
상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하며, 임계 값들의 상기 세트는 정상적인 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의되며;
상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 역변환하도록 하며; 그리고
이형 (anomaly)들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된된 데이터를 분석하도록 하는, 비-일시적 컴퓨터-판독가능 매체. - 제8항에 있어서,
상기 컴퓨팅 시스템으로 하여금, 상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하게 하도록 실행 가능한 상기 프로그램 명령어들은 컴퓨팅 디바이스로 하여금:
상기 원래 좌표 공간에서 상기 수신된 다변량 데이터에 주성분분석 (Principal Component Analysis; PCA)을 적용하게 하도록 실행 가능한 프로그램 명령어들을 포함하며,
PCA를 적용하는 것은:
상기 수신된 다변량 데이터 내 변이성 (variability)을 기술하는 주성분 (Principal Component)들의 세트를 식별하고;
주성분의 상기 세트에 기반하여, 원래 좌표 공간에서 상기 수신된 다변량 데이터를 상기 변환된 좌교 공간으로 선형으로 변환하는 것을 포함하며,
상기 변환된 좌표 공간의 각 차원은 주성분들의 상기 세트에 속한 주성분에 대응하는, 비-일시적 컴퓨터-판독가능 매체. - 제8항에 있어서,
상기 컴퓨팅 시스템으로 하여금, 이형들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된 데이터를 분석하게 하도록 실행 가능한 임계값들의 상기 세트는 상기 컴퓨팅 디바이스로 하여금:
상기 수신된 다변량 데이터 및 상기 원래 좌표 공간에서 상기 역변환된 수정된 데이터를 비교하도록 하며; 그리고
상기 수신된 다변량 데이터 및 상기 역변환된 수정된 데이터 사이의 적어도 하나의 변수값에서 통계적으로 의미있는 불일치들을 식별하게 하도록, 실행 가능한 프로그램 명령어들을 포함하는, 비-일시적 컴퓨터-판독가능 매체. - 제8항에 있어서,
상기 컴퓨팅 시스템으로 하여금, 상기 변환된 좌표 공간에서 상기 데이터를 표준화하도록 하는 실행 가능한 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
상기 변환된 좌표 공간에서 상기 데이터를 다시 크기 조절하게 하도록 실행 가능한 프로그램 명령어들을 포함하며,
상기 다시 크기 조절된 데이터는 상기 변환된 좌표 공간의 중심 주위에 중심을 두며 그리고 표준 정규 분포를 고수하는, 비-일시적 컴퓨터-판독가능 매체. - 제8항에 있어서,
컴퓨팅 시스템으로 하여금, 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하는 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
상기 변환된 좌표 공간에서 각 차원에 대한 정해진 표준화된 데이터 포인트의 값을 그 차원에 대해 정의된 임계값과 비교하도록 하며;
표준화된 데이터 포인트의 값들 중 하나 이상이 그 변수에 대한 상기 정의된 임계값을 초과하는가의 여부를 판단하게 하도록, 실행 가능한 프로그램 명령어들을 포함하는, 비-일시적 컴퓨터-판독가능 매체. - 제8항에 있어서,
상기 컴퓨팅 시스템으로 하여금, 상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하도록 하는 상기 프로그램 명령어들은 상기 컴퓨팅 디바이스로 하여금:
정의된 임계값을 초과하는 하나 이상의 차원 값들을 가진 상기 변환된 좌표 공간에서 표준화된 데이터 포인트를 식별하도록 하며;
상기 하나 이상의 차원 값들 중 적어도 하나의 크기를, 정의된 임계값과 같게 하기 위해 축소하게 하도록, 실행 가능한 프로그램 명령어들을 포함하는, 비-일시적 컴퓨터-판독가능 매체. - 제13항에 있어서,
하나 이상의 차원 값들을 축소하는 것은 벡터 축소 (shrinkage) 및 성분 축소 중 적어도 하나 이상에 기반하는, 비-일시적 컴퓨터-판독가능 매체. - 컴퓨터-구현 방법으로, 상기 방법은:
다변량 (multivariate) 데이터에 포함된 변수들의 개수와 동일한 개수의 차원들을 가진 원래 공간 좌표에서 상기 다변량 데이터를 애셋 (asset)으로부터 네트워크 인터페이스를 경유하여 수신하는 단계;
상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하는 단계;
상기 변환된 좌표 공간에서 상기 데이터를 표준화하는 단계;
상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하는 단계로, 임계 값들의 상기 세트는 정상적인 애셋 동작을 반영하는 트레이닝 데이터에 기반하여 정의되는, 수정 단계;
상기 수정된 데이터를 상기 변환된 좌표 공간으로부터 상기 원래 좌표 공간으로 역변환하도록 하는 단계; 그리고
이형 (anomaly)들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된된 데이터를 분석하는 단계를 포함하는, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 수신된 다변량 데이터를 원래 좌표 공간으로부터, 그 원래 좌표 공간보다 더 작은 개수의 차원들을 가진 변환된 좌표 공간으로 변환하는 단계는:
상기 원래 좌표 공간에서 상기 수신된 다변량 데이터에 주성분분석 (Principal Component Analysis; PCA)을 적용하는 단계를 더 포함하며,
PCA를 적용하는 단계는:
상기 수신된 다변량 데이터 내 변이성 (variability)을 기술하는 주성분 (Principal Component)들의 세트를 식별하는 단계;
주성분의 상기 세트에 기반하여, 원래 좌표 공간에서 상기 수신된 다변량 데이터를 상기 변환된 좌교 공간으로 선형으로 변환하는 단계를 포함하며,
상기 변환된 좌표 공간의 각 차원은 주성분들의 상기 세트에 속한 주성분에 대응하는, 컴퓨터-구현 방법. - 제15항에 있어서,
이형들을 식별하기 위해, 상기 원래 좌표 공간에서 상기 역변환된 데이터를 분석하게 하도록 실행 가능한 임계값들의 상기 세트는:
상기 수신된 다변량 데이터 및 상기 원래 좌표 공간에서 상기 역변환된 수정된 데이터를 비교함; 그리고
상기 수신된 다변량 데이터 및 상기 역변환된 수정된 데이터 사이의 적어도 하나의 변수값에서 통계적으로 의미있는 불일치들을 식별함을 포함하는, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 변환된 좌표 공간에서 상기 데이터를 표준화하는 단계는:
상기 변환된 좌표 공간 내에서 상기 데이터를 다시 크기 조절하는 단계를 더 포함하며,
상기 다시 크기 조절된 데이터는 상기 변환된 좌표 공간의 중심 주위에 중심을 두며 그리고 표준 정규 분포를 고수하는, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하는 단계는:
상기 변환된 좌표 공간에서 각 차원에 대한 정해진 표준화된 데이터 포인트의 값을 그 차원에 대해 정의된 임계값과 비교하는 단계;
표준화된 데이터 포인트의 값들 중 하나 이상이 그 변수에 대한 상기 정의된 임계값을 초과하는가의 여부를 판단하는 단계를 포함하는, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 변환된 좌표 공간에서 상기 표준화된 데이터를 임계 값들의 세트에 기반하여 수정하는 단계는 상기 컴퓨팅 디바이스로 하여금:
정의된 임계값을 초과하는 하나 이상의 차원 값들을 가진 상기 변환된 좌표 공간에서 표준화된 데이터 포인트를 식별하도록 하며;
상기 하나 이상의 차원 값들 중 적어도 하나의 크기를, 정의된 임계값과 같게 하기 위해 축소하게 하도록 실행 가능한 프로그램 명령어들을 포함하는, 컴퓨터-구현 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662382629P | 2016-09-01 | 2016-09-01 | |
US62/382,629 | 2016-09-01 | ||
US15/367,012 | 2016-12-01 | ||
US15/367,012 US10474932B2 (en) | 2016-09-01 | 2016-12-01 | Detection of anomalies in multivariate data |
PCT/US2017/049749 WO2018045241A2 (en) | 2016-09-01 | 2017-08-31 | Detection of anomalies in multivariate data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190039299A true KR20190039299A (ko) | 2019-04-10 |
Family
ID=61242842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197008006A KR20190039299A (ko) | 2016-09-01 | 2017-08-31 | 다변량 데이터에서 이형 탐지 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10474932B2 (ko) |
EP (1) | EP3507744A4 (ko) |
JP (1) | JP2019537764A (ko) |
KR (1) | KR20190039299A (ko) |
CN (1) | CN109716356A (ko) |
AU (1) | AU2017321799A1 (ko) |
CA (1) | CA3035207A1 (ko) |
SG (1) | SG11201901668RA (ko) |
WO (1) | WO2018045241A2 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929421B2 (en) | 2017-06-08 | 2021-02-23 | Sap Se | Suggestion of views based on correlation of data |
US11250343B2 (en) * | 2017-06-08 | 2022-02-15 | Sap Se | Machine learning anomaly detection |
US10635519B1 (en) * | 2017-11-30 | 2020-04-28 | Uptake Technologies, Inc. | Systems and methods for detecting and remedying software anomalies |
DE112018006630T5 (de) | 2017-12-28 | 2020-09-24 | Intel Corporation | Visual fog |
US10607484B2 (en) | 2017-12-28 | 2020-03-31 | Intel Corporation | Privacy-preserving distributed visual data processing |
US11349753B2 (en) * | 2017-12-28 | 2022-05-31 | Intel Corporation | Converged routing for distributed computing systems |
US12099571B2 (en) * | 2018-01-18 | 2024-09-24 | Ge Infrastructure Technology Llc | Feature extractions to model large-scale complex control systems |
DE102018207791A1 (de) * | 2018-05-17 | 2019-11-21 | Continental Teves Ag & Co. Ohg | Verfahren zur Authentifizierung eines von einem Kfz-System eines Fahrzeugs erzeugten Diagnosefehlercodes |
US11181894B2 (en) * | 2018-10-15 | 2021-11-23 | Uptake Technologies, Inc. | Computer system and method of defining a set of anomaly thresholds for an anomaly detection model |
JP2020101980A (ja) * | 2018-12-21 | 2020-07-02 | トヨタ自動車株式会社 | 情報取得装置、情報取得方法、プログラム |
CN111177139A (zh) * | 2019-12-31 | 2020-05-19 | 青梧桐有限责任公司 | 基于数据质量体系的数据质量验证监控及预警方法和系统 |
US11797515B2 (en) * | 2020-03-09 | 2023-10-24 | Adobe Inc. | Determining feature contributions to data metrics utilizing a causal dependency model |
CN111352617B (zh) * | 2020-03-16 | 2023-03-31 | 山东省物化探勘查院 | 一种基于Fortran语言的磁法数据辅助整理方法 |
CN111546854B (zh) * | 2020-06-18 | 2021-08-24 | 中南大学 | 一种智能列车空调机组在途识别与诊断方法 |
CN112580022B (zh) * | 2020-12-07 | 2024-06-25 | 北京中电飞华通信有限公司 | 一种主机系统安全预警方法、装置、设备及存储介质 |
CN112883258B (zh) * | 2021-01-11 | 2024-05-21 | 北京达佳互联信息技术有限公司 | 信息推荐方法、装置、电子设备及存储介质 |
US11847111B2 (en) * | 2021-04-09 | 2023-12-19 | Bitdefender IPR Management Ltd. | Anomaly detection systems and methods |
EP4350236A4 (en) * | 2021-06-02 | 2024-06-12 | Mitsubishi Electric Corporation | SYSTEM AND METHOD FOR ASSISTING AN AIR CONDITIONING SYSTEM MAINTENANCE |
CN115865751B (zh) * | 2022-11-25 | 2024-05-14 | 南方电网数字平台科技(广东)有限公司 | 基于多态数据的故障检测方法及装置 |
Family Cites Families (120)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5633800A (en) | 1992-10-21 | 1997-05-27 | General Electric Company | Integrated model-based reasoning/expert system diagnosis for rotating machinery |
US5566092A (en) | 1993-12-30 | 1996-10-15 | Caterpillar Inc. | Machine fault diagnostics system and method |
JP3366837B2 (ja) | 1997-08-15 | 2003-01-14 | 株式会社小松製作所 | 機械の異常監視装置および方法 |
US6473659B1 (en) | 1998-04-10 | 2002-10-29 | General Electric Company | System and method for integrating a plurality of diagnostic related information |
US6336065B1 (en) | 1999-10-28 | 2002-01-01 | General Electric Company | Method and system for analyzing fault and snapshot operational parameter data for diagnostics of machine malfunctions |
US6622264B1 (en) | 1999-10-28 | 2003-09-16 | General Electric Company | Process and system for analyzing fault log data from a machine so as to identify faults predictive of machine failures |
US6947797B2 (en) | 1999-04-02 | 2005-09-20 | General Electric Company | Method and system for diagnosing machine malfunctions |
US20110208567A9 (en) | 1999-08-23 | 2011-08-25 | Roddy Nicholas E | System and method for managing a fleet of remote assets |
US6442542B1 (en) | 1999-10-08 | 2002-08-27 | General Electric Company | Diagnostic system with learning capabilities |
US6615367B1 (en) | 1999-10-28 | 2003-09-02 | General Electric Company | Method and apparatus for diagnosing difficult to diagnose faults in a complex system |
US7020595B1 (en) | 1999-11-26 | 2006-03-28 | General Electric Company | Methods and apparatus for model based diagnostics |
US6650949B1 (en) | 1999-12-30 | 2003-11-18 | General Electric Company | Method and system for sorting incident log data from a plurality of machines |
US6634000B1 (en) | 2000-02-01 | 2003-10-14 | General Electric Company | Analyzing fault logs and continuous data for diagnostics for a locomotive |
US6725398B1 (en) | 2000-02-11 | 2004-04-20 | General Electric Company | Method, system, and program product for analyzing a fault log of a malfunctioning machine |
US20030126258A1 (en) | 2000-02-22 | 2003-07-03 | Conkright Gary W. | Web based fault detection architecture |
US7739096B2 (en) | 2000-03-09 | 2010-06-15 | Smartsignal Corporation | System for extraction of representative data for training of adaptive process monitoring equipment |
CA2402631C (en) | 2000-03-09 | 2011-10-11 | Smartsignal Corporation | Generalized lensing angular similarity operator |
US6957172B2 (en) | 2000-03-09 | 2005-10-18 | Smartsignal Corporation | Complex signal decomposition and modeling |
US6952662B2 (en) | 2000-03-30 | 2005-10-04 | Smartsignal Corporation | Signal differentiation system using improved non-linear operator |
US6799154B1 (en) | 2000-05-25 | 2004-09-28 | General Electric Comapny | System and method for predicting the timing of future service events of a product |
US6760631B1 (en) | 2000-10-04 | 2004-07-06 | General Electric Company | Multivariable control method and system without detailed prediction model |
US20020091972A1 (en) | 2001-01-05 | 2002-07-11 | Harris David P. | Method for predicting machine or process faults and automated system for implementing same |
US6859739B2 (en) | 2001-01-19 | 2005-02-22 | Smartsignal Corporation | Global state change indicator for empirical modeling in condition based monitoring |
US7233886B2 (en) | 2001-01-19 | 2007-06-19 | Smartsignal Corporation | Adaptive modeling of changed states in predictive condition monitoring |
US7373283B2 (en) | 2001-02-22 | 2008-05-13 | Smartsignal Corporation | Monitoring and fault detection system and method using improved empirical model for range extrema |
US20020183971A1 (en) | 2001-04-10 | 2002-12-05 | Wegerich Stephan W. | Diagnostic systems and methods for predictive condition monitoring |
US7539597B2 (en) | 2001-04-10 | 2009-05-26 | Smartsignal Corporation | Diagnostic systems and methods for predictive condition monitoring |
US6643600B2 (en) | 2001-04-26 | 2003-11-04 | General Electric Company | Method and system for assessing adjustment factors in testing or monitoring process |
US7107491B2 (en) | 2001-05-16 | 2006-09-12 | General Electric Company | System, method and computer product for performing automated predictive reliability |
US6975962B2 (en) | 2001-06-11 | 2005-12-13 | Smartsignal Corporation | Residual signal alert generation for condition monitoring using approximated SPRT distribution |
US7457732B2 (en) | 2001-08-17 | 2008-11-25 | General Electric Company | System and method for measuring quality of baseline modeling techniques |
US7428478B2 (en) | 2001-08-17 | 2008-09-23 | General Electric Company | System and method for improving accuracy of baseline models |
US6954744B2 (en) * | 2001-08-29 | 2005-10-11 | Honeywell International, Inc. | Combinatorial approach for supervised neural network learning |
US6892163B1 (en) | 2002-03-08 | 2005-05-10 | Intellectual Assets Llc | Surveillance system and method having an adaptive sequential probability fault detection test |
US7660705B1 (en) | 2002-03-19 | 2010-02-09 | Microsoft Corporation | Bayesian approach for learning regression decision graph models and regression models for time series analysis |
PT1579288T (pt) | 2002-11-04 | 2017-06-23 | Ge Intelligent Platforms Inc | Monitorização do estado do sistema utilizando máquina de aprendizagem local recorrente |
US6823253B2 (en) | 2002-11-27 | 2004-11-23 | General Electric Company | Methods and apparatus for model predictive control of aircraft gas turbine engines |
JP4333331B2 (ja) | 2002-12-20 | 2009-09-16 | セイコーエプソン株式会社 | 故障予測システム及び故障予測プログラム並びに故障予測方法 |
WO2004081854A1 (en) * | 2003-03-06 | 2004-09-23 | Animetrics, Inc. | Viewpoint-invariant detection and identification of a three-dimensional object from two-dimensional imagery |
US20040243636A1 (en) | 2003-03-18 | 2004-12-02 | Smartsignal Corporation | Equipment health monitoring architecture for fleets of assets |
US7634384B2 (en) | 2003-03-18 | 2009-12-15 | Fisher-Rosemount Systems, Inc. | Asset optimization reporting in a process plant |
EP1494127A1 (en) * | 2003-07-01 | 2005-01-05 | Semeion | Method, computer program and computer readable means for projecting data from a multidimensional space into a space having less dimensions and to carry out a cognitive analysis on said data. |
US8645276B2 (en) | 2003-07-11 | 2014-02-04 | Ca, Inc. | Modeling of applications and business process services through auto discovery analysis |
US7127371B2 (en) | 2003-10-08 | 2006-10-24 | Ge Medical Systems Information | Customized medical equipment preventative maintenance method and system |
AU2003295301A1 (en) | 2003-12-23 | 2005-07-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for efficient routing in ad hoc networks |
EP1706850B1 (en) | 2004-01-09 | 2016-10-26 | United Parcel Service Of America, Inc. | System, method and apparatus for capturing telematics data with an active rfid tag |
US7062370B2 (en) | 2004-03-30 | 2006-06-13 | Honeywell International Inc. | Model-based detection, diagnosis of turbine engine faults |
US7447666B2 (en) | 2004-04-09 | 2008-11-04 | The Boeing Company | System and method for analyzing a pattern in a time-stamped event sequence |
US7280941B2 (en) | 2004-12-29 | 2007-10-09 | General Electric Company | Method and apparatus for in-situ detection and isolation of aircraft engine faults |
US7640145B2 (en) | 2005-04-25 | 2009-12-29 | Smartsignal Corporation | Automated model configuration and deployment system for equipment health monitoring |
US7536364B2 (en) | 2005-04-28 | 2009-05-19 | General Electric Company | Method and system for performing model-based multi-objective asset optimization and decision-making |
US7509235B2 (en) | 2005-08-31 | 2009-03-24 | General Electric Company | Method and system for forecasting reliability of assets |
JP4717579B2 (ja) | 2005-09-30 | 2011-07-06 | 株式会社小松製作所 | 作業機械のメンテナンス作業管理システム |
US7869908B2 (en) | 2006-01-20 | 2011-01-11 | General Electric Company | Method and system for data collection and analysis |
US20080059120A1 (en) | 2006-08-30 | 2008-03-06 | Fei Xiao | Using fault history to predict replacement parts |
US20080059080A1 (en) | 2006-08-31 | 2008-03-06 | Caterpillar Inc. | Method and system for selective, event-based communications |
US8275577B2 (en) | 2006-09-19 | 2012-09-25 | Smartsignal Corporation | Kernel-based method for detecting boiler tube leaks |
US7725293B2 (en) | 2006-12-07 | 2010-05-25 | General Electric Company | System and method for equipment remaining life estimation |
US8311774B2 (en) | 2006-12-15 | 2012-11-13 | Smartsignal Corporation | Robust distance measures for on-line monitoring |
US7548830B2 (en) | 2007-02-23 | 2009-06-16 | General Electric Company | System and method for equipment remaining life estimation |
US8145578B2 (en) | 2007-04-17 | 2012-03-27 | Eagel View Technologies, Inc. | Aerial roof estimation system and method |
US8229769B1 (en) | 2007-06-13 | 2012-07-24 | United Services Automobile Association | Systems and methods for processing overhead imagery |
JP5421913B2 (ja) | 2007-08-03 | 2014-02-19 | スマートシグナル・コーポレーション | 関連するアプリケーションに対する故障パターンマッチング相互参照のためのファジー分類方法 |
US8064697B2 (en) | 2007-10-12 | 2011-11-22 | Microsoft Corporation | Laplacian principal components analysis (LPCA) |
US7919940B2 (en) | 2007-10-21 | 2011-04-05 | Ge Intelligent Platforms, Inc. | System and method for jerk limited trajectory planning for a path planner |
US8050800B2 (en) | 2007-10-21 | 2011-11-01 | Ge Intelligent Platforms, Inc. | Method and system for meeting end conditions in a motion control system |
US7962240B2 (en) | 2007-12-20 | 2011-06-14 | Ge Intelligent Platforms, Inc. | Methods and systems for synchronizing a control signal of a slave follower with a master source |
US8352216B2 (en) | 2008-05-29 | 2013-01-08 | General Electric Company | System and method for advanced condition monitoring of an asset system |
US7756678B2 (en) | 2008-05-29 | 2010-07-13 | General Electric Company | System and method for advanced condition monitoring of an asset system |
US7822578B2 (en) | 2008-06-17 | 2010-10-26 | General Electric Company | Systems and methods for predicting maintenance of intelligent electronic devices |
US8285402B2 (en) | 2008-07-14 | 2012-10-09 | Ge Intelligent Platforms, Inc. | Method and system for safety monitored terminal block |
US8024069B2 (en) | 2009-01-28 | 2011-09-20 | Ge Intelligent Platforms, Inc. | System and method for path planning |
LT2499514T (lt) * | 2009-11-11 | 2021-10-11 | Australian Nuclear Science And Technology Organisation | Radiologinių žymių anomalijų aptikimas |
CN102844721B (zh) | 2010-02-26 | 2015-11-25 | 株式会社日立制作所 | 故障原因诊断系统及其方法 |
EP2375637A1 (en) | 2010-03-22 | 2011-10-12 | British Telecommunications Public Limited Company | Network routing adaptation based on failure prediction |
US8234420B2 (en) | 2010-07-14 | 2012-07-31 | Ge Intelligent Platforms, Inc. | Method, system, and apparatus for communicating using multiple controllers |
US8532795B2 (en) | 2010-10-04 | 2013-09-10 | General Electric Company | Method and system for offline code validation |
US8862938B2 (en) | 2011-04-18 | 2014-10-14 | General Electric Company | System, method, and apparatus for resolving errors in a system |
EP2700049A4 (en) | 2011-04-20 | 2015-08-19 | Cleveland Clinic Foundation | PREDICTIVE MODELING |
US8620853B2 (en) | 2011-07-19 | 2013-12-31 | Smartsignal Corporation | Monitoring method using kernel regression modeling with pattern sequences |
US9256224B2 (en) | 2011-07-19 | 2016-02-09 | GE Intelligent Platforms, Inc | Method of sequential kernel regression modeling for forecasting and prognostics |
US8660980B2 (en) | 2011-07-19 | 2014-02-25 | Smartsignal Corporation | Monitoring system using kernel regression modeling with pattern sequences |
GB2494416A (en) | 2011-09-07 | 2013-03-13 | Rolls Royce Plc | Asset Condition Monitoring Using Internal Signals Of The Controller |
US8560494B1 (en) | 2011-09-30 | 2013-10-15 | Palantir Technologies, Inc. | Visual data importer |
US8626385B2 (en) | 2012-03-15 | 2014-01-07 | Caterpillar Inc. | Systems and methods for analyzing machine performance |
US9051945B2 (en) | 2012-04-30 | 2015-06-09 | Caterpillar Inc. | System and method for identifying impending hydraulic pump failure |
US8850000B2 (en) | 2012-05-08 | 2014-09-30 | Electro-Motive Diesel, Inc. | Trigger-based data collection system |
US20130325502A1 (en) | 2012-06-05 | 2013-12-05 | Ari Robicsek | System and method for providing syndrome-specific, weighted-incidence treatment regimen recommendations |
US9234750B2 (en) | 2012-07-30 | 2016-01-12 | Caterpillar Inc. | System and method for operating a machine |
US20140060030A1 (en) | 2012-08-31 | 2014-03-06 | Caterpillar Inc. | Hydraulic accumulator health monitor |
RU2015115489A (ru) | 2012-09-24 | 2016-11-20 | Кейтерпиллар Инк. | Управление и контроль операций горных работ |
US9613413B2 (en) | 2012-10-17 | 2017-04-04 | Caterpillar Inc. | Methods and systems for determining part wear based on digital image of part |
US9139188B2 (en) | 2012-11-01 | 2015-09-22 | Caterpillar Inc. | Prediction control strategy for hybrid machinery |
US9151681B2 (en) | 2012-12-19 | 2015-10-06 | Progress Rail Services Corporation | Temperature detector having different types of independent sensors |
US20140170617A1 (en) | 2012-12-19 | 2014-06-19 | Caterpillar Inc. | Monitoring System for a Machine |
US20140184643A1 (en) | 2012-12-27 | 2014-07-03 | Caterpillar Inc. | Augmented Reality Worksite |
US8918246B2 (en) | 2012-12-27 | 2014-12-23 | Caterpillar Inc. | Augmented reality implement control |
US10001518B2 (en) | 2013-02-04 | 2018-06-19 | Abb Schweiz Ag | System and method for power transmission and distribution asset condition prediction and diagnosis |
US9547695B2 (en) | 2013-03-13 | 2017-01-17 | Abb Research Ltd. | Industrial asset event chronology |
US9535808B2 (en) | 2013-03-15 | 2017-01-03 | Mtelligence Corporation | System and methods for automated plant asset failure detection |
US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data |
US20140330609A1 (en) | 2013-05-01 | 2014-11-06 | International Business Machines Corporation | Performance Driven Municipal Asset Needs and Sustainability Analysis |
US20140330747A1 (en) | 2013-05-01 | 2014-11-06 | International Business Machines Corporation | Asset lifecycle management |
US8799799B1 (en) | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
WO2014197497A2 (en) | 2013-06-03 | 2014-12-11 | The Morey Corporation | Geospatial asset tracking systems, methods and apparatus for acquiring, manipulating and presenting telematic metadata |
US9665843B2 (en) | 2013-06-03 | 2017-05-30 | Abb Schweiz Ag | Industrial asset health profile |
US9892238B2 (en) * | 2013-06-07 | 2018-02-13 | Scientific Design Company, Inc. | System and method for monitoring a process |
US8886601B1 (en) | 2013-06-20 | 2014-11-11 | Palantir Technologies, Inc. | System and method for incrementally replicating investigative analysis data |
AU2014302023A1 (en) | 2013-06-26 | 2016-02-11 | Climate Risk Pty Ltd | Computer implemented frameworks and methodologies for enabling risk analysis for a system comprising physical assets |
US8713467B1 (en) | 2013-08-09 | 2014-04-29 | Palantir Technologies, Inc. | Context-sensitive views |
US8689108B1 (en) | 2013-09-24 | 2014-04-01 | Palantir Technologies, Inc. | Presentation and analysis of user interaction data |
US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity |
US8812960B1 (en) | 2013-10-07 | 2014-08-19 | Palantir Technologies Inc. | Cohort-based presentation of user interaction data |
US8786605B1 (en) | 2013-10-24 | 2014-07-22 | Palantir Technologies Inc. | Systems and methods for distance and congestion-aware resource deployment |
US8832594B1 (en) | 2013-11-04 | 2014-09-09 | Palantir Technologies Inc. | Space-optimized display of multi-column tables with selective text truncation based on a combined text width |
US8868537B1 (en) | 2013-11-11 | 2014-10-21 | Palantir Technologies, Inc. | Simple web search |
US10410116B2 (en) | 2014-03-11 | 2019-09-10 | SparkCognition, Inc. | System and method for calculating remaining useful time of objects |
US8935201B1 (en) | 2014-03-18 | 2015-01-13 | Palantir Technologies Inc. | Determining and extracting changed data from a data source |
-
2016
- 2016-12-01 US US15/367,012 patent/US10474932B2/en active Active
-
2017
- 2017-08-31 CN CN201780057812.1A patent/CN109716356A/zh active Pending
- 2017-08-31 KR KR1020197008006A patent/KR20190039299A/ko unknown
- 2017-08-31 WO PCT/US2017/049749 patent/WO2018045241A2/en unknown
- 2017-08-31 EP EP17847593.5A patent/EP3507744A4/en not_active Withdrawn
- 2017-08-31 SG SG11201901668RA patent/SG11201901668RA/en unknown
- 2017-08-31 CA CA3035207A patent/CA3035207A1/en active Pending
- 2017-08-31 JP JP2019512303A patent/JP2019537764A/ja active Pending
- 2017-08-31 AU AU2017321799A patent/AU2017321799A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN109716356A (zh) | 2019-05-03 |
AU2017321799A1 (en) | 2019-04-11 |
SG11201901668RA (en) | 2019-03-28 |
WO2018045241A2 (en) | 2018-03-08 |
US10474932B2 (en) | 2019-11-12 |
CA3035207A1 (en) | 2018-03-08 |
US20180060703A1 (en) | 2018-03-01 |
JP2019537764A (ja) | 2019-12-26 |
EP3507744A4 (en) | 2020-04-08 |
EP3507744A2 (en) | 2019-07-10 |
WO2018045241A3 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190039299A (ko) | 다변량 데이터에서 이형 탐지 | |
US20220398495A1 (en) | Computer System and Method for Detecting Anomalies in Multivariate Data | |
US10635095B2 (en) | Computer system and method for creating a supervised failure model | |
US10754721B2 (en) | Computer system and method for defining and using a predictive model configured to predict asset failures | |
US10210037B2 (en) | Interface tool for asset fault analysis | |
JP2019516163A (ja) | 予測モデルに基づいてアセット関連タスクを生成するコンピュータシステム及び方法 | |
KR20180010321A (ko) | 예측 모델들의 동적 실행 | |
US10579961B2 (en) | Method and system of identifying environment features for use in analyzing asset operation | |
CN108780526B (zh) | 基于资产定位的预测模型的处置 | |
KR20190028797A (ko) | 애셋 수리들을 권고하기 위한 컴퓨터 구조 및 방법 | |
US20190354914A1 (en) | Coordinating Execution of Predictive Models between Multiple Data Analytics Platforms to Predict Problems at an Asset | |
KR20180011333A (ko) | 자산에서의 로컬 분석 | |
US10379982B2 (en) | Computer system and method for performing a virtual load test | |
US10552246B1 (en) | Computer system and method for handling non-communicative assets |