KR102299158B1 - Trusted predictive analytic execution middleware - Google Patents
Trusted predictive analytic execution middleware Download PDFInfo
- Publication number
- KR102299158B1 KR102299158B1 KR1020177012866A KR20177012866A KR102299158B1 KR 102299158 B1 KR102299158 B1 KR 102299158B1 KR 1020177012866 A KR1020177012866 A KR 1020177012866A KR 20177012866 A KR20177012866 A KR 20177012866A KR 102299158 B1 KR102299158 B1 KR 102299158B1
- Authority
- KR
- South Korea
- Prior art keywords
- predictive analytics
- model description
- model
- computing system
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 37
- 238000004458 analytical method Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012517 data analytics Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004224 protection Effects 0.000 description 2
- 208000032484 Accidental exposure to product Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 231100000818 accidental exposure Toxicity 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
- G06Q20/1235—Shopping for digital content with control of digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Economics (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
컴퓨팅 시스템은 신뢰 예측 분석 서비스들을 제공하는 기술들을 포함한다. 컴퓨팅 시스템은 예측 분석 서비스들을 위해 공통 설명 언어를 제공하고, 입력 데이터 및/또는 예측 분석 서비스들의 일부들을 보호하기 위해 암호 기술들 및 디지털 권리 관리 기술들을 사용한다.The computing system includes technologies that provide reliable predictive analytics services. The computing system provides a common description language for predictive analytics services and uses cryptographic techniques and digital rights management techniques to secure input data and/or portions of predictive analytics services.
Description
예측 분석들의 기술 분야는 전형적으로 큰 데이터 세트들에, 계산 기술들 예컨대 머신 러닝 및 데이터 마이닝의 적용을 포함한다. 이전에 공지되지 않은 패턴들, 예컨대 데이터 세트의 상이한 요소들 사이의 유사성들, 차이들, 및 관계들은 이러한 계산 기술들에 의해 발견될 수 있다. 예측 알고리즘들, 예컨대 통계 방법들은 데이터 세트에서 발견되는 패턴들에 기초하여 추세들을 식별하고 장래의 결과들을 예측하기 위해 사용될 수 있다. 많은 예측 분석 기술들은 모델 기반이다. 예를 들어, 데이터 세트 내의 요소들과 그러한 데이터 요소들에 관한 결론들 사이의 관계들을 표현하는 수학적 모델이 구성될 수 있다. 모델은 관계들이 이미 공지되어 있는 "트레이너" 데이터 세트를 사용하여 "트레이닝"될 수 있다.The art of predictive analytics typically involves the application of computational techniques such as machine learning and data mining to large data sets. Previously unknown patterns, such as similarities, differences, and relationships between different elements of a data set, can be discovered by these computational techniques. Predictive algorithms, such as statistical methods, may be used to identify trends and predict future outcomes based on patterns found in a data set. Many predictive analytics techniques are model-based. For example, a mathematical model can be constructed that expresses relationships between elements in a data set and conclusions regarding those data elements. The model can be “trained” using a “trainer” data set for which relationships are already known.
예측 분석들은 컴퓨터 네트워크 상에 실행하는 서비스로 제공될 수 있다. 얼굴 검출(예를 들어, 컴퓨터를 사용하여, 디지털 사진에서 인간 얼굴을 식별하는 능력)은 네트워크를 통해, 다수의 상이한 타입들의 컴퓨팅 디바이스들 및 애플리케이션들에 서비스로서 제공될 수 있는 예측 분석들의 응용이다. 자동화된 얼굴 검출에서, 트레이너 데이터 세트는 사진들에 나타낸 특징들을 표시하는 설명 태그들과 결합되는 인간 얼굴들의 매우 많은 수의 샘플 사진들을 포함할 수 있다. 트레이너 데이터는 모델을 트레이닝하기 위해, 예를 들어 사진들에 나타낸 특징들의 특정 조합들이 특정 타입들의 사람들(예를 들어, 남성, 여성, 젊은이, 노인)을 나타내는 확률들을 설정하기 위해 사용된다. 그 다음, 모델 및 트레이너 데이터는 새로운 입력 사진들(예를 들어, 기존 데이터 세트에 이미 있지 않은 사진들)을 분류하기 위해 사용될 수 있다.Predictive analytics may be provided as a service running on a computer network. Face detection (eg, the ability to identify a human face in a digital photograph, using a computer) is an application of predictive analytics that can be served over a network to many different types of computing devices and applications. . In automated face detection, the trainer data set may include a very large number of sample photos of human faces combined with descriptive tags indicating features represented in the photos. The trainer data is used to train the model, for example to establish probabilities that certain combinations of features shown in the photos represent certain types of people (eg, male, female, young, old). The model and trainer data can then be used to classify new input photos (eg, photos not already in the existing data set).
본원에 설명되는 개념들은 첨부 도면들에 제한이 아닌 예로서 예시된다. 예시의 단순성 및 명료성을 위해, 도면들에 예시되는 요소들은 반드시 축척에 따라 도시되는 것은 아니다. 적절한 것으로 간주되는 경우, 참조 라벨들은 대응하거나 유사한 요소들을 표시하기 위해 도면들 중에서 반복되었다.
도 1은 본원에 개시되는 바와 같이 신뢰 예측 분석 미들웨어를 포함하는 컴퓨팅 시스템의 적어도 하나의 실시예의 간략한 블록도이다.
도 2a 및 도 2b는 도 1의 신뢰 예측 분석 미들웨어의 간략한 아키텍처 도해들이다.
도 3a 내지 도 3d는 도 1의 신뢰 예측 분석 미들웨어의 간략한 환경 도해들이다.
도 4는 도 1의 컴퓨팅 시스템의 하나 이상의 구성요소들에 의해 실행될 수 있는, 본원에 개시된 바와 같은 신뢰 예측 분석들을 제공하기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
도 5는 도 1의 컴퓨팅 시스템의 하나 이상의 구성요소들에 의해 실행될 수 있는, 본원에 개시된 바와 같은 예측 분석 서비스의 신뢰 버전을 발생시키기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.The concepts described herein are illustrated by way of example and not limitation in the accompanying drawings. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where deemed appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
1 is a simplified block diagram of at least one embodiment of a computing system including trust prediction analysis middleware as disclosed herein;
2A and 2B are simplified architectural diagrams of the trust prediction analysis middleware of FIG. 1 ;
3A-3D are simplified environmental diagrams of the trust prediction analysis middleware of FIG. 1 ;
4 is a simplified flow diagram of at least one embodiment of a method for providing predictive confidence analyzes as disclosed herein, which may be executed by one or more components of the computing system of FIG. 1 ;
5 is a simplified flow diagram of at least one embodiment of a method for generating a trusted version of a predictive analytics service as disclosed herein, which may be executed by one or more components of the computing system of FIG. 1 ;
본 개시내용의 개념들이 다양한 수정들 및 대안 형태들에 민감하지만, 그것의 특정 실시예들은 도면들에서 예로서 도시되었고 본원에 상세히 설명될 것이다. 그러나, 본 개시내용의 개념들을 개시되는 특정 형태들에 제한할 의도가 없지만, 이에 반하여, 그 의도는 본 개시내용 및 첨부된 청구항들에 따른 모든 수정들, 균등물들, 및 대안들을 망라한다는 점이 이해되어야 한다.Although the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described in detail herein. It is to be understood, however, that there is no intention to limit the concepts of the present disclosure to the specific forms disclosed, on the contrary, the intention is to cover all modifications, equivalents, and alternatives in accordance with this disclosure and the appended claims. should be
본 명세서에서 "일 실시예", "하나의 실시예", "예시적 실시예" 등에 대한 참조들은 설명되는 실시예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 그러한 특정 특징, 구조, 또는 특성을 포함할 수 있거나 이들을 반드시 포함하는 것은 아닐 수 있는 것을 표시한다. 더욱이, 그러한 구들은 동일한 실시예를 반드시 언급하는 것은 아니다. 게다가, 특정 특징, 구조, 또는 특성이 일 실시예와 관련하여 설명될 때, 그것은 명시적으로 설명되든 안되든 다른 실시예들과 관련하여 그러한 특징, 구조, 또는 특성을 달성하기 위해 본 기술분야의 통상의 기술자의 지식 내에 있는 것으로 제출된다. 부가적으로, "적어도 하나의 A, B, 및 C"의 형태로 리스트에 포함되는 항목들은 (A); (B); (C); (A 및 B); (B 및 C); (A 및 C); 또는 (A, B, 및 C)를 의미할 수 있다는 점이 이해되어야 한다. 유사하게, "A, B, 또는 C 중 적어도 하나"의 형태로 열거되는 항목들은 (A); (B); (C); (A 및 B); (B 및 C); (A 및 C); 또는 (A, B, 및 C)를 의미할 수 있다.References herein to "one embodiment," "an embodiment," "an exemplary embodiment," etc., are made in that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments may include such particular feature, Indicate structures, or properties, that may or may not necessarily include them. Moreover, such phrases are not necessarily referring to the same embodiment. Moreover, when a particular feature, structure, or characteristic is described in connection with one embodiment, it is common practice in the art to achieve that feature, structure, or characteristic in connection with other embodiments, whether explicitly described or not. It is submitted as being within the knowledge of the technician of Additionally, items included in the list in the form of “at least one of A, B, and C” include (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Similarly, items listed in the form of "at least one of A, B, or C" include (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C).
개시된 실시예들은 일부 경우들에서, 하드웨어, 펌웨어, 소프트웨어, 또는 그것의 임의의 조합으로 구현될 수 있다. 개시된 실시예들은 또한 하나 이상의 프로세서들에 의해 판독되고 실행될 수 있는 일시적 또는 비일시적 머신 판독가능(예를 들어, 컴퓨터 판독가능) 저장 매체에 의해 운반되고 이 저장 매체 상에 저장되는 명령어들로 구현될 수 있다. 머신 판독가능 저장 매체는 머신에 의해 판독가능한 형태로 정보를 저장하거나 송신하는 임의의 저장 디바이스, 메커니즘, 또는 다른 물리 구조(예를 들어, 휘발성 또는 비휘발성 메모리, 미디어 디스크, 또는 다른 미디어 디바이스)로 구체화될 수 있다.The disclosed embodiments may in some cases be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented with instructions carried by and stored on a transitory or non-transitory machine-readable (eg, computer-readable) storage medium that can be read and executed by one or more processors. can A machine-readable storage medium is any storage device, mechanism, or other physical structure (eg, volatile or non-volatile memory, media disk, or other media device) that stores or transmits information in a form readable by a machine. can be materialized.
도면들에서, 일부 구조 또는 방법 특징들은 특정 배열들 및/또는 배치들에 도시될 수 있다. 그러나, 그러한 특정 배열들 및/또는 배치들이 요구되지 않을 수 있다는 점이 이해되어야 한다. 오히려, 일부 실시예들에서, 그러한 특징들은 예시적 도면들에 도시된 것과 상이한 방식 및/또는 순서로 배열될 수 있다. 부가적으로, 특정 도면에 구조 또는 방법 특징의 포함은 그러한 특징이 모든 실시예들에 요구되고, 일부 실시예들에서, 포함되지 않을 수 있거나 다른 특징들과 조합될 수 있는 것을 암시하도록 의미되지 않는다.In the drawings, some structure or method features may be shown in specific arrangements and/or arrangements. However, it should be understood that such specific arrangements and/or arrangements may not be required. Rather, in some embodiments, such features may be arranged in a different manner and/or order than shown in the illustrative figures. Additionally, the inclusion of a structural or method feature in a particular figure is not intended to imply that such feature may be required in all embodiments and, in some embodiments, may not be included or may be combined with other features. .
예측 분석 서비스들은 사용자 프라이버시 및/또는 지적 재산권 관리 문제들을 상승시키는 취약성들을 도입할 수 있다. 예를 들어, 최종 사용자의 디지털 사진이 네트워크에 업로딩될 때, 얼굴 인식 서비스는 사진과 연관되는 개인 정보에 액세스를 가질 수 있다. 동시에, 얼굴 인식 서비스에 의해 사용되는 모델 및/또는 트레이닝 데이터에 관한 독점 정보는 클라이언트 디바이스에 노출될 수 있다. 게다가, 많은 현재 예측 분석 제품들은 예측 모델들이 트레이닝 데이터와 밀착 결합되는 모놀리식 수직 소프트웨어 스택들로 설치된다. 이것은 사용자가 상이한 타입들의 예측 분석 문제들을 해결하거나, 심지어 동일한 문제를 상이한 방식들로 해결하기 위해 많은 상이한 수직 소프트웨어 스택들을 설치할 필요가 있는 것을 야기할 수 있다. 상황은 많은 상이한 타입들의 네트워킹된 컴퓨팅 디바이스들(예를 들어, 스마트폰들, 태블릿들, 웨어러블 디바이스들, 랩톱들, 데스크톱들 등)의 급증에 의해 악화되며, 그것의 각각은 모델 설명의 상이한 버전을 필요로 할 수 있거나, 특정 플랫폼에 대해 최적화되는 모델의 상이한 버전을 필요로 할 수 있다.Predictive analytics services may introduce vulnerabilities that elevate user privacy and/or intellectual property management issues. For example, when a digital photo of an end user is uploaded to a network, the facial recognition service may have access to personal information associated with the photo. At the same time, proprietary information regarding the model and/or training data used by the facial recognition service may be exposed to the client device. In addition, many current predictive analytics products are installed as monolithic vertical software stacks in which predictive models are tightly coupled with training data. This may cause the user to need to install many different vertical software stacks to solve different types of predictive analytics problems, or even solve the same problem in different ways. The situation is exacerbated by the proliferation of many different types of networked computing devices (eg, smartphones, tablets, wearable devices, laptops, desktops, etc.), each of which is a different version of a model description. may require a different version of the model that is optimized for a particular platform.
이제 도 1을 참조하면, 컴퓨팅 시스템(100)의 일 실시예는 신뢰 예측 분석 미들웨어 또는 "신뢰 미들웨어"(166)를 포함한다. 신뢰 예측 분석 미들웨어(166)는 모델 설명 언어(160) 및 신뢰 예측 분석 미들웨어 서비스 또는 "미들웨어 서비스"(164)를 포함한다. 예시적으로, 신뢰 예측 분석 미들웨어(166)의 구성요소들은 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스(150)에서 구체화되지만; 신뢰 예측 분석 미들웨어(166)의 일부들은 아래에 더 상세히 설명되는 바와 같이 하나 이상의 다른 컴퓨팅 디바이스들 상에 상주할 수 있다. 컴퓨팅 시스템(100)에서, 사용자 컴퓨팅 디바이스(110)(예컨대 이동 또는 웨어러블 컴퓨팅 디바이스)는 사용자 레벨 애플리케이션(118)을 때때로 실행한다. 사용자 레벨 애플리케이션(118)은 때때로, 예측 분석 서비스 또는 "검출기"(194)에 액세스를 요청할 수 있다. 예시적 예측 분석 서비스(예를 들어, "검출기")(194)는 예측 분석 제공자 컴퓨팅 디바이스(180)에서 구체화된다. 사용자 컴퓨팅 디바이스(110), 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스(150), 및 예측 분석 제공자 컴퓨팅 디바이스(180)는 하나 이상의 네트워크들(170)에 의해 통신 결합된다.Referring now to FIG. 1 , one embodiment of a
예시적 시나리오에서, 사용자 레벨 애플리케이션(118)은 소셜 미디어 서비스 예컨대 페이스북 또는 핀터레스트에 대한 카메라 애플리케이션, 사진 업로딩 서비스, 또는 프런트 엔드일 수 있다. 사용자 컴퓨팅 디바이스(110)는 신뢰 실행 서브시스템(120)을 가지고 구성된다. 신뢰 실행 서브시스템(120)은 예를 들어 하드웨어- 또는 소프트웨어-구현 신뢰 플랫폼 모듈(Trusted Platform Module)(TPM)로서 또는 ARM의 트러스트존을 사용하여 구체화될 수 있다. 사용자 레벨 애플리케이션(118)이 예측 분석 서비스(예를 들어, "검출기")(194)에 액세스를 요청할 때, 신뢰 실행 서브시스템(120)은 신뢰 실행 환경에서 신뢰 예측 분석 미들웨어(166)를 론칭한다. 신뢰 실행 환경에서 실행하고 모델 설명 언어(160)를 사용하여 생성되는 모델 설명에 기초하는 실행가능 신뢰 예측 분석 서비스(예를 들어, "검출기")(194)를 인스턴스화함으로써, 신뢰 예측 분석 미들웨어(166)는 예측 분석 서비스(예를 들어, "검출기")(194)가 실행될 수 있고 민감 데이터가 분리될 수 있는 공통 신뢰 실행 환경을 제공한다. 예시적 예측 분석 서비스(예를 들어, "검출기")(194)는 데이터 분석 서비스, 예컨대 머신 러닝 기반 데이터 분석 서비스 또는 "빅 데이터" 분석 서비스를 제공한다. 예측 분석 서비스(예를 들어, "검출기")(194)의 일부 예시적 구현들은 도 3a 내지 도 3d에 도시된다. 아래에 더 상세히 설명되는 바와 같이, 신뢰 예측 분석 미들웨어(166)는 예측 분석 서비스(예를 들어, "검출기")(194)에 의한 우연한 노출 또는 오용으로부터 민감 사용자 데이터를 보호하고 및/또는 예측 분석 서비스(예를 들어, "검출기")(194)와 연관되는 지적 재산권들을 보호하기 위해 암호 기술들 및 디지털 권리 관리 기술들을 사용한다. 부가적으로, 모델 설명 언어(160)를 통해, 신뢰 예측 분석 미들웨어(166)는 범위가 스마트폰들, 태블릿들, 랩톱들 및 개인용 컴퓨터들에서 웨어러블 디바이스들, 예컨대 스마트 안경들, 스마트 워치들에, "클라우드에서" 실행하는 가상 인스턴스들에, 및/또는 다른 것들에 이르는 상이한 디바이스 아키텍처들에 걸쳐서 공통 인터페이스를 예측 분석 서비스들에 제공한다.In an example scenario, the user level application 118 may be a camera application, a photo uploading service, or a front end to a social media service such as Facebook or Pinterest. The user computing device 110 is configured with a trusted execution subsystem 120 . Trusted execution subsystem 120 may be embodied, for example, as a hardware- or software-implemented Trusted Platform Module (TPM) or using an ARM's trustzone. When a user-level application 118 requests access to a predictive analytics service (eg, a “detector”) 194 , the trusted execution subsystem 120 launches the trusted
모델 설명 언어(160)를 사용하여, 신뢰 미들웨어(166)는 미들웨어 플랫폼 상에 실행하는 다수의 상이한 예측 분석 서비스들(예를 들어, "검출기들")(194)을 가질 필요를 회피한다. 대신에, 미들웨어(166)는 상이한 예측 분석 서비스들(예를 들어, "검출기들")(194)을 예측 분석 서비스(예를 들어, "검출기")(194)의 상이한 인스턴스들로 대체하며, 인스턴스들 각각은 동작이 신뢰 미들웨어(166)에 의해 지원되는 실행 프리미티브로부터 생성된다. 신뢰 미들웨어(166)는 모델 설명(162)을 사용하여 예측 분석 서비스(예를 들어, "검출기")(194)를 복호화하고 인스턴스화한다. 모델 설명(162)은 모델 설명 언어(160)를 사용하여 미들웨어(166)에 의해 생성된다. 신뢰 미들웨어(166)의 디지털 권리들 관리 기능성은 예측 분석 서비스(예를 들어, "검출기")(194)의 사용에 관한 라이센스 협약 조건들 및 제한들을 집행한다. 사용자 데이터(예를 들어, 사용자 콘텐츠(124))는 신뢰 실행 환경 내에서 미들웨어 프리미티브(예를 들어, 모델 설명(162)을 사용하여 인스턴스화되는 예측 분석 서비스 또는 "검출기"(194))에 의해 액세스되기 때문에 보호되고, 따라서 사용자 데이터는 예측 분석 서비스(예를 들어, "검출기")(194)에 직접 노출되지 않는다.Using model description language 160 ,
이제 도 1을 더 상세히 참조하면, 사용자 컴퓨팅 디바이스(110)는 본원에 설명되는 기능들을 수행하는 임의의 타입의 전자 디바이스로 구체화될 수 있다. 예를 들어, 사용자 컴퓨팅 디바이스(110)는 제한 없이, 본원에 설명되는 기능들을 수행하도록 구성되는 스마트폰, 태블릿 컴퓨터, 웨어러블 컴퓨팅 디바이스, 랩톱 컴퓨터, 노트북 컴퓨터, 이동 컴퓨팅 디바이스, 휴대 전화, 핸드셋, 메시징 디바이스, 차량 텔레매틱스 디바이스, 서버 컴퓨터, 워크스테이션, 분산 컴퓨팅 시스템, 멀티프로세서 시스템, 소비자 전자 디바이스, 및/또는 임의의 다른 컴퓨팅 디바이스로 구체화될 수 있다. 도 1에 도시된 바와 같이, 예시적 사용자 컴퓨팅 디바이스(110)는 적어도 하나의 프로세서(112)를 포함한다.Referring now in more detail to FIG. 1 , user computing device 110 may be embodied as any type of electronic device that performs the functions described herein. For example, without limitation, user computing device 110 may be a smartphone, tablet computer, wearable computing device, laptop computer, notebook computer, mobile computing device, cellular phone, handset, messaging, configured to perform the functions described herein. It may be embodied in a device, a vehicle telematics device, a server computer, a workstation, a distributed computing system, a multiprocessor system, a consumer electronic device, and/or any other computing device. 1 , example user computing device 110 includes at least one processor 112 .
사용자 컴퓨팅 디바이스(110)는 또한 메모리(114), 입력/출력 서브시스템(116), 데이터 저장 디바이스(122), 카메라(132), 하나 이상의 센서들(134), 사용자 인터페이스(user interface)(UI) 서브시스템(136), 및 통신 서브시스템(140)을 포함한다. 사용자 컴퓨팅 디바이스(110)는 다른 실시예들에서, 이동 및/또는 고정 컴퓨터에서 통상 발견되는 것들과 같은 다른 또는 부가 구성요소들을 포함할 수 있다. 부가적으로, 일부 실시예들에서, 예시적 구성요소들 중 하나 이상은 다른 구성요소에 포함되거나, 다른 구성요소의 일부를 다른 방법으로 형성할 수 있다. 사용자 컴퓨팅 디바이스(110)의 구성요소들 각각은 소프트웨어, 펌웨어, 하드웨어, 또는 소프트웨어, 펌웨어, 및/또는 하드웨어의 조합으로 구체화될 수 있다.User computing device 110 also includes memory 114 , input/output subsystem 116 , data storage device 122 , camera 132 , one or more sensors 134 , and a user interface (UI). ) subsystem 136 , and communication subsystem 140 . User computing device 110 may, in other embodiments, include other or additional components, such as those commonly found in mobile and/or stationary computers. Additionally, in some embodiments, one or more of the example components may be included in, or otherwise form part of, another component. Each of the components of the user computing device 110 may be embodied in software, firmware, hardware, or a combination of software, firmware, and/or hardware.
프로세서(112)는 본원에 설명되는 기능들을 수행할 수 있는 임의의 타입의 프로세서로 구체화될 수 있다. 예를 들어, 프로세서(112)는 멀티 코어 프로세서 또는 다른 다중 CPU 프로세서 또는 처리/제어 회로로 구체화될 수 있다. 사용자 컴퓨팅 디바이스(110)의 메모리(114)는 본원에 설명되는 기능들을 수행할 수 있는 임의의 타입의 휘발성 또는 비휘발성 메모리 또는 데이터 스토리지로 구체화될 수 있다. 동작 중에, 메모리(114)는 운영 시스템들, 애플리케이션들, 프로그램들, 라이브러리들, 및 드라이버들뿐만 아니라, 사용자 컴퓨팅 디바이스(110)의 동작 동안 사용되는 다양한 데이터 및 소프트웨어를 저장할 수 있다.Processor 112 may be embodied as any type of processor capable of performing the functions described herein. For example, processor 112 may be embodied as a multi-core processor or other multi-CPU processor or processing/control circuitry. Memory 114 of user computing device 110 may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. During operation, memory 114 may store operating systems, applications, programs, libraries, and drivers, as well as various data and software used during operation of user computing device 110 .
메모리(114)는 예를 들어 I/O 서브시스템(116)을 통해 프로세서(112)에 통신 결합된다. I/O 서브시스템(116)은 사용자 컴퓨팅 디바이스(110)의 프로세서(112), 메모리(114), 및 다른 구성요소들과 입력/출력 동작들을 용이하게 하기 위해 회로 및/또는 구성요소들로 구체화될 수 있다. 예를 들어, I/O 서브시스템(116)은 입력/출력 동작들을 용이하게 하기 위해 메모리 컨트롤러 허브들, 입력/출력 제어 허브들, 펌웨어 디바이스들, 통신 링크들(즉, 점 대 점 링크들, 버스 링크들, 와이어들, 케이블들, 광 가이드들, 인쇄 회로 보드 트레이스들 등) 및/또는 다른 구성요소들 및 서브시스템들로 구체화되거나, 이들을 다른 방법으로 포함할 수 있다. 일부 실시예들에서, I/O 서브시스템(116)은 시스템 온 어 칩(system-on-a-chip)(SoC)의 일부를 형성하고 사용자 컴퓨팅 디바이스(110)의 프로세서(112), 메모리(114), 및/또는 다른 구성요소들과 함께, 단일 집적 회로 칩 상에 포함될 수 있다.Memory 114 is communicatively coupled to processor 112 , for example, via I/O subsystem 116 . I/O subsystem 116 is embodied in circuitry and/or components to facilitate input/output operations with processor 112 , memory 114 , and other components of user computing device 110 . can be For example, I/O subsystem 116 may include memory controller hubs, input/output control hubs, firmware devices, communication links (ie, point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.) and/or other components and subsystems, or otherwise include them. In some embodiments, I/O subsystem 116 forms part of a system-on-a-chip (SoC) and includes processor 112 , memory ( 114), and/or along with other components, may be included on a single integrated circuit chip.
데이터 저장 디바이스(122)는 예를 들어 메모리 디바이스들 및 회로들, 메모리 카드들, 하드 디스크 드라이브들, 고체 상태 드라이브들, 플래시 메모리 또는 다른 판독 전용 메모리, 판독 전용 메모리 및 랜덤 액세스 메모리의 조합들인 메모리 디바이스들, 또는 다른 데이터 저장 디바이스들과 같은 데이터의 단기 또는 장기 저장을 위해 구성되는 임의의 타입의 물리 디바이스 또는 디바이스들로 구체화될 수 있다. 사용자 콘텐츠(124)(예를 들어, 디지털 콘텐츠, 예컨대 사진들, 비디오들, 음악 파일들, 및 문서들) 및 검출기 모델들(190)은 데이터 저장 디바이스(122)에 저장된다. 사용자 콘텐츠(124) 및/또는 검출기 모델들(190)의 일부들은 예를 들어 더 빠른 처리를 위해 컴퓨팅 디바이스(110)의 동작 동안 때때로 메모리(114)에 카피될 수 있다.The data storage device 122 is a memory that is, for example, combinations of memory devices and circuits, memory cards, hard disk drives, solid state drives, flash memory or other read-only memory, read-only memory, and random access memory. devices, or any type of physical device or devices configured for short-term or long-term storage of data, such as other data storage devices. User content 124 (eg, digital content such as photos, videos, music files, and documents) and detector models 190 are stored in data storage device 122 . Portions of user content 124 and/or detector models 190 may be copied to memory 114 from time to time during operation of computing device 110 , for example, for faster processing.
카메라(132)는 본원에 설명되는 기능들을 수행할 수 있는, 예를 들어 카메라 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 사용하여 스틸 및/또는 비디오 이미지들을 캡처할 수 있는 임의의 타입의 카메라로 구체화될 수 있다. 센서(들)(134)는 모션 센서들, 근접 센서들, 위치 센서들, 및 시선 추적 디바이스들 중 하나 이상을 포함하는, 본원에 설명되는 기능들을 수행할 수 있는 임의의 적절한 타입의 센서로 구체화될 수 있다.Camera 132 may be any type of camera capable of performing the functions described herein, for example, capable of capturing still and/or video images using camera hardware, software, or a combination of hardware and software. can be materialized. The sensor(s) 134 may be embodied as any suitable type of sensor capable of performing the functions described herein, including one or more of motion sensors, proximity sensors, position sensors, and eye tracking devices. can be
사용자 인터페이스 서브시스템(136)은 사용자 컴퓨팅 디바이스(110)와 사용자 상호작용을 용이하게 하기 위해, 물리 또는 가상 제어 버튼들 또는 키들, 마이크로폰, 스피커, 디스플레이 디바이스, 및/또는 다른 것들을 포함하는 다수의 부가 디바이스들을 포함할 수 있다. 예를 들어, 디스플레이 디바이스는 디지털 정보를 디스플레이할 수 있는 임의의 타입의 디스플레이 예컨대 액정 디스플레이(liquid crystal display)(LCD), 발광 다이오드(light emitting diode)(LED), 플라즈마 디스플레이, 음극선관(cathode ray tube)(CRT), 또는 다른 타입의 디스플레이 디바이스로 구체화될 수 있다. 일부 실시예들에서, 디스플레이 디바이스는 사용자 컴퓨팅 디바이스(110)와 사용자 상호작용을 허용하기 위해 터치 스크린 또는 다른 인간 컴퓨터 인터페이스 디바이스에 결합될 수 있다. 사용자 인터페이스 서브시스템(136)은 또한 사용자 컴퓨팅 디바이스(110)를 수반하는 인간 상호작용들의 여러가지 다른 형태들을 검출하고, 캡처하고, 처리하도록 구성될 수 있는, 모션 센서들, 근접 센서들, 및 시선 추적 디바이스들과 같은 다른 디바이스들을 포함할 수 있다.The user interface subsystem 136 provides a number of additional features to facilitate user interaction with the user computing device 110 , including physical or virtual control buttons or keys, a microphone, a speaker, a display device, and/or others. may include devices. For example, a display device may be any type of display capable of displaying digital information such as a liquid crystal display (LCD), a light emitting diode (LED), a plasma display, a cathode ray tube. tube) (CRT), or other types of display devices. In some embodiments, the display device may be coupled to a touch screen or other human computer interface device to allow user interaction with the user computing device 110 . The user interface subsystem 136 may also be configured to detect, capture, and process various other forms of human interactions involving the user computing device 110 , motion sensors, proximity sensors, and eye tracking. may include other devices such as devices.
사용자 컴퓨팅 디바이스(110)는 통신 서브시스템(140)을 더 포함하며, 통신 서브시스템은 사용자 컴퓨팅 디바이스(110)와 다른 전자 디바이스들 사이에서 통신들을 가능하게 할 수 있는, 임의의 통신 회로, 디바이스, 또는 그것의 집합으로 구체화될 수 있다. 통신 서브시스템(140)은 그러한 통신을 달성하기 위해 임의의 하나 이상의 통신 기술(예를 들어, 무선, 광, 또는 유선 통신들) 및 연관된 프로토콜들(예를 들어, 이더넷, Bluetooth®, Wi-Fi®, WiMAX, 3G/LTE 등)을 사용하도록 구성될 수 있다. 통신 서브시스템(140)은 무선 네트워크 어댑터를 포함하는 네트워크 어댑터로 구체화될 수 있다.The user computing device 110 further includes a communication subsystem 140 , which includes any communication circuitry, device, Or it may be embodied as a set of them. Communication subsystem 140 may include any one or more communication technologies (eg, wireless, optical, or wired communications) and associated protocols (eg, Ethernet, Bluetooth®, Wi-Fi) to achieve such communication. ®, WiMAX, 3G/LTE, etc.). Communication subsystem 140 may be embodied as a network adapter, including a wireless network adapter.
예시적 사용자 컴퓨팅 디바이스(110)는 또한 다수의 컴퓨터 프로그램 구성요소들, 예컨대 아래에 설명되는 사용자 레벨 애플리케이션(118), 신뢰 실행 서브시스템(120), 및 하나 이상의 검출기 모델들(190)을 포함한다. 사용자 레벨 애플리케이션(118)은 예를 들어 UI 서브시스템(136)의 디스플레이 디바이스 또는 다른 구성요소를 통해 최종 사용자와 직접적으로 또는 간접적으로 상호작용하는 임의의 컴퓨터 애플리케이션(예를 들어, 소프트웨어, 펌웨어, 하드웨어, 또는 그것의 조합)으로 구체화될 수 있다. 사용자 레벨 애플리케이션들(118)의 일부 예들은 워드 프로세싱 프로그램들, 문서 뷰어들/리더들, 웹 브라우저들, 전자 메일 프로그램들, 메시징 서비스들, 소셜 미디어 서비스들, 콘텐츠 공유 서비스들, 컴퓨터 게임들, 카메라 및 비디오 애플리케이션들 등을 포함한다. 구체적으로 도시되지 않지만, 사용자 컴퓨팅 디바이스(110)는 사용자 컴퓨팅 디바이스(110)의 사용자 레벨 애플리케이션들(118)과 하드웨어 구성요소들 사이의 통신을 용이하게 하는 특권 시스템 구성요소를 포함한다. 특권 시스템 구성요소(142)의 일부들은 본원에 설명되는 기능들을 수행할 수 있는 임의의 운영 시스템, 예컨대 마이크로소프트 코포레이션의 윈도우즈의 버전, 구글 인크의 안드로이드, 및/또는 다른 것들로 구체화될 수 있다. 대안적으로 또는 부가적으로, 특권 시스템 구성요소(142)의 일부는 본원에 설명되는 기능들을 수행할 수 있는 임의의 타입의 가상 머신 모니터(예를 들어, 타입 I 또는 타입 II 하이퍼바이저)로 구체화될 수 있다.Example user computing device 110 also includes a number of computer program components, such as a user level application 118 described below, a trusted execution subsystem 120 , and one or more detector models 190 . . User level application 118 may be any computer application (eg, software, firmware, hardware , or a combination thereof). Some examples of user level applications 118 include word processing programs, document viewers/readers, web browsers, electronic mail programs, messaging services, social media services, content sharing services, computer games, camera and video applications, and the like. Although not specifically shown, user computing device 110 includes a privileged system component that facilitates communication between hardware components and user level applications 118 of user computing device 110 . Portions of privileged system component 142 may be embodied in any operating system capable of performing the functions described herein, such as a version of Windows from Microsoft Corporation, Android from Google Inc, and/or others. Alternatively or additionally, some of the privileged system component 142 may be embodied in any type of virtual machine monitor (eg, a Type I or Type II hypervisor) capable of performing the functions described herein. can be
신뢰 예측 분석 미들웨어 컴퓨팅 디바이스(150) 및 예측 분석 제공자 컴퓨팅 디바이스(180)는 본원에 설명되는 기능들을 수행하는 임의의 타입의 전자 디바이스로 각각 구체화될 수 있다. 예를 들어, 컴퓨팅 디바이스들(150, 180)은 제한 없이, 본원에 설명되는 기능들을 수행하도록 구성되는 서버 컴퓨터, 워크스테이션, 분산 컴퓨팅 시스템, 멀티프로세서 시스템, 소비자 전자 디바이스, 스마트폰, 태블릿 컴퓨터, 웨어러블 컴퓨팅 디바이스, 랩톱 컴퓨터, 노트북 컴퓨터, 이동 컴퓨팅 디바이스, 휴대 전화, 핸드셋, 메시징 디바이스, 차량 텔레매틱스 디바이스, 및/또는 임의의 다른 컴퓨팅 디바이스로 구체화될 수 있다. 도 1에 도시된 바와 같이, 예시적 컴퓨팅 디바이스들(150, 180)은 적어도 하나의 프로세서(152, 182), 메모리(154), I/O 서브시스템(156), 데이터 저장 디바이스(158, 188), 및 UI 서브시스템(168, 196)을 각각 포함한다. 사용자 컴퓨팅 디바이스(110)의 구성요소들과 동일 또는 유사한 명칭을 갖는 컴퓨팅 디바이스들(150, 180)의 구성요소들은 상기 설명된 그러한 구성요소들과 유사한 방식으로 구체화될 수 있으며; 따라서, 설명은 여기서 반복되지 않는다. 상기 언급된 바와 같이, 예시적 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스(150)는 데이터 저장 디바이스(158)에 저장되는 모델 설명 언어(160) 및 신뢰 예측 분석 미들웨어 서브시스템(164)을 포함하는 신뢰 예측 분석 미들웨어(166)를 구체화한다. 데이터 저장 디바이스(158)는 또한 모델 설명들(162)을 저장한다. 동작 중에, 모델 설명 언어(160) 및/또는 모델 설명들(162)의 일부들은 예를 들어 더 빠른 처리를 위해 메모리(154)에 카피될 수 있다. 예시적 예측 분석 제공자 컴퓨팅 디바이스(180)는 데이터 저장 디바이스(188)에 저장되는 하나 이상의 검출기 모델들(190) 및 하나 이상의 모델 트레이너들(예를 들어, 트레이닝 데이터 세트들)(192)을 포함하여, 예측 분석 서비스(예를 들어, "검출기")(194)를 구체화한다. 동작 중에, 검출기 모델(들)(190) 및/또는 모델 트레이너(들)(192)의 일부들은 예를 들어 더 빠른 처리를 위해 메모리(184)에 카피될 수 있다. 컴퓨팅 시스템(100)의 데이터 및/또는 컴퓨터 프로그램 구성요소들 중 어느 것의 일부들, 예를 들어 사용자 레벨 애플리케이션(118), 신뢰 실행 서브시스템(120), 사용자 콘텐츠(124), 신뢰 예측 분석 미들웨어(166), 및 예측 분석 서비스(예를 들어, "검출기")(194)는 도 1에 도시된 것들과 다른 컴퓨팅 디바이스들 상에 상주할 수 있다. 게다가, 일부 실시예들에서, 그러한 구성요소들(예를 들어, 사용자 레벨 애플리케이션(118), 신뢰 실행 서브시스템(120), 사용자 콘텐츠(124), 신뢰 예측 분석 미들웨어(166), 및 예측 분석 서비스(예를 들어, "검출기")(194))의 모두는 단일 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(110), 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스(150), 또는 예측 분석 제공자 컴퓨팅 디바이스(180)) 상에 상주할 수 있다.Trust predictive analytics middleware computing device 150 and predictive analytics provider computing device 180 may each be embodied as any type of electronic device that performs the functions described herein. For example, computing devices 150 , 180 may include, but are not limited to, server computers, workstations, distributed computing systems, multiprocessor systems, consumer electronic devices, smartphones, tablet computers, etc. configured to perform the functions described herein; It may be embodied in a wearable computing device, a laptop computer, a notebook computer, a mobile computing device, a cellular phone, a handset, a messaging device, a vehicular telematics device, and/or any other computing device. 1 , example computing devices 150 , 180 include at least one processor 152 , 182 , memory 154 , an I/O subsystem 156 , and
상기 언급된 바와 같이, 신뢰 미들웨어(166)는 모델 설명 언어(160) 및 신뢰 예측 분석 미들웨어 서브시스템(164)을 포함한다. 모델 설명 언어(160)는 모델 사양 및 파라미터 정보를 포함한다. 모델 설명 언어(160)는 아래에 더 상세히 설명되는 바와 같이, 미들웨어 서브시스템(164)의 구성요소들을 사용하여 해석된다. 이제 도 2a 및 도 2b를 참조하면, 신뢰 예측 분석 미들웨어서브시스템(164)의 일부들에 대한 예시적 아키텍처들의 일 실시예가 도시된다. 도 2a에서, 하이 레벨 아키텍처(200)가 도시된다. 하이 레빌의 추상화에서, 아키텍처(200)는 인터페이스 계층(210) 및 실행 계층(216)을 포함한다. 인터페이스 계층(210) 내에서, 아키텍처(200)는 애플리케이션 프로그래밍 인터페이스(application programming interface)(API) 서비스(212) 및 관리 인터페이스(214)를 포함한다. API 서비스(212)는 사용자 레벨 애플리케이션들(118)(예를 들어, 도 3a 내지 도 3d의 A1, A2, A3, A4)이 예측 분석 서비스 요청들을 신뢰 미들웨어(166)에 발행할 수 있는 인터페이스를 제공한다. 관리 인터페이스(214)는 운영 시스템들 또는 기본 시스템 서비스들이 신뢰 미들웨어(166)의 구성요소들의 프로비저닝, 오디팅, 및 업그레이딩과 같은 작업들을 달성할 수 있는 인터페이스를 제공한다. 실행 계층(216) 내에서, 예시적 구성요소들은 하이 레벨에서, 모델 실행 엔진(218), 신뢰 관리 서브시스템(220), 및 디지털 권리 관리(digital rights management)(DRM) 서브시스템(222)을 포함한다. 모델 실행 계층(216)은 예측 분석(predictive analytics)(PA) 작업의 전체 라이프 사이클에 책임이 있으며, 그것은 활동들을 수행하는 것, 예를 들어 모델 설명 어셈블러 모델(252)을 사용하여 모델 설명들(162)에 기초한 PA 작업을 생성하는 것, PA 작업들을 론칭하는 것, 및 검출기 스케줄러 모듈(254)에 의해 상이한 PA 작업들을 스케줄링하는 것, 모델 설명(162)에서 기재되는 동작을 광범위한 타입의 예측 분석 작업들, 예컨대 입력의 컨벌루션을 수행하는 것, 입력을 다항식에 파퓰레이션하는 것 등(예를 들어, PA 실행 프리미티브(256)로 나타내는 그러한 작업들)으로부터 공제되는 프리미티브들의 세트에 매핑하는 것 및 자원 관리를(예를 들어, 메모리 등을 자원 관리 모듈(258)을 통해) 컴퓨팅하는 것을 포함한다.As noted above,
고도로 최적화된 PA 실행 프리미티브(256)는 하나 이상의 플랫폼 특정 실행 백엔드들(260)의 위에 구현된다(실행 백엔드들(260)은 맞춤형 프로세서(예를 들어, 인텔의 제온 프로세서)에서 플랫폼 특정 명령어 세트(예를 들어, 인텔 AVX 명령어 세트)에 기초한 특정 구현, 특정 그래픽 처리 유닛(graphics processing unit)(GPU)에 기초한 구현, 또는 플랫폼 특정 가속화 기술(예를 들어, 부동 소수점 게이트 어레이(floating point gate array)(FPGA))에 기초한 구현을 포함할 수 있음). 신뢰 관리 서브시스템(220)은 신뢰 방식으로 프레임워크(200)의 실행을 감시할 책임이 있다. 신뢰 관리 서브시스템(220)은 프레임워크의 작용이 의도된 바와 같이 역할을 하고 동일한 시스템 상에 실행하는 오작동 프로세스에 의해 수정될 수 없는 것을 보장하기 위해, 프레임워크(200)의 수정을 방지할 수 있다. 신뢰 관리 서브시스템(220)은 복호화된 모델링 설명들, 메모리 내의 PA 작업의 코드 페이지 등과 같이, 프라이버시 데이터의 액세스를 보호하고 민감 데이터의 액세스를 방지할 수 있다.A highly optimized PA execution primitive 256 is implemented on top of one or more platform-specific execution backends 260 (execution backends 260) in a custom processor (e.g., Intel's Xeon processor) with a platform-specific instruction set ( For example, a specific implementation based on the Intel AVX instruction set, an implementation based on a specific graphics processing unit (GPU), or a platform specific acceleration technology (eg, a floating point gate array). (FPGA))).
DRM 서브시스템(222)은 모델(190)의 소유자의 디지털 권리 액세스 및 보호를 관리할 책임이 있다. 예시적 DRM 서브시스템(222)은 2개의 역할들을 할 수 있다. 제1 역할은 DRM 프로토콜에 의해 정의되는 바와 같이 중요 및 암호 동작들을 관리하는 것이다. 제2 역할은 모델 소유자들에 의해 인가되는 방식으로만, 예를 들어 고정 시간들에, 입력 데이터의 고정 크기 등으로 모델(190)의 콘텐츠에 액세스를 허가하도록 프레임워크(200)를 제어하는 것이다. DRM 서브시스템(222)은 프레임워크(200)가 모델(190)에서 모델 소유자의 디지털 권리들을 보호하는 것을 보장하도록 동작한다. 구성요소들(218, 220, 222) 각각은 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 그것의 조합으로 구체화될 수 있다.The DRM subsystem 222 is responsible for managing the digital rights access and protection of the owner of the model 190 . The exemplary DRM subsystem 222 may serve two roles. The first role is to manage sensitive and cryptographic operations as defined by the DRM protocol. The second role is to control the
도 2b를 참조하면, 실행 계층(216)의 일 실시예의 구성요소들의 더 상세한 예시(230)가 도시된다. 예시적 실행 계층(230)은 모델 설명 어셈블러 모듈(252), 검출기 스케줄러 모듈(254), 예측 분석 실행 프리미티브(256), 자원 관리 모듈(258), 플랫폼 특정 실행 백엔드(260), 신뢰 실행 모니터 모듈(262), 및 DRM 매니저 모듈(264)을 포함한다. 구성요소들(252, 254, 256, 258, 260, 262, 264) 각각은 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 그것의 조합으로 구체화될 수 있다.Referring to FIG. 2B , a more
모델 설명 어셈블러 모듈(252)은 입력으로서 예측 분석 서비스(예를 들어, "검출기")(194)의 검출기 모델(190)(예를 들어, 아래에 설명되는 M1, M2, M3, 또는 M4)을 취하고, 모델 설명 언어(160)를 사용하여 검출기 모델(190)을 해석하고, 그것에 의해 모델 설명 언어(160)에서 검출기 모델(190)의 모델 설명(162)을 발생시킨다. 일부 실시예들에서, 모델 설명(162)의 발생(예를 들어, 모델 설명(162)로 검출기(194)의 변환)은 일회성 이벤트로 수행되며, 그것은 예측 분석 제공자 컴퓨팅 디바이스(180) 상에 수행될 수 있다. 모델 설명(162)이 (예를 들어, 제공자 컴퓨팅 디바이스(180) 상에) 생성되면, 검출기(194)는 (예를 들어, 신뢰 예측 분석 미들웨어 서브시스템(164)에 의해) 신뢰 PA 미들웨어 컴퓨팅 디바이스(150) 또는 다른 컴퓨팅 디바이스에 전개될 수 있다. 모델 해석의 결과로서, 어셈블러 모듈(252)은 검출기 모델(190) 및 연관된 파라미터들의 구조에 관한 정보를 획득한다. 이러한 정보의 경우, 어셈블러 모듈(252)은 모델 설명(162)에 기초하여 그리고 미들웨어(166)에 의해 공급되는 예측 분석 실행 프리미티브(256)를 사용하여 예측 분석 서비스(예를 들어, "검출기")(194)의 실행가능 인스턴스를 생성한다. 이것을 행하기 위해, 어셈블러 모듈(252)은 모델 구조의 노드를 예측 분석 실행 프리미티브(256)에 (예를 들어, 코드 로직에 의해) 매핑하고 실행 변수들을 모델 설명(162)에 내장되는 모델 파라미터들에 매핑한다. 어셈블러 모듈(252)은 (예를 들어, 임의의 중복 동작들을 제거하기 위해) 하나 이상의 최적화 알고리즘들을 적용할 수 있다. 이러한 방식으로, 어셈블러 모듈(252)은 다른 예측 분석 서비스들과 공통 실행 프리미티브를 갖는 예측 분석 서비스(예를 들어, "검출기")(194)의 "신뢰" 버전을 생성하고 공통 설명 언어(160)를 사용하여 모델 설명(162)을 지정한다.The model
모델 설명(162)은 검출기가 미들웨어 상에서 실행되는 것을 가정하면, 실행가능 검출기를 재구축하기 위해 사용될 수 있는 정보의 최소 세트를 제공한다. 모델 설명(162)은 모델에 관한 모델 구조들, 모델 파라미터들, 및 모델 메타 정보를 포함한다. 본원에서 "모델 구조"에 대한 참조들은 다른 것들 중에서, 노드들 및 네트워크 구조(예를 들어, 노드들 및 에지들의 배열)뿐만 아니라, 분석 모델들을 표현하기 위해 통상 사용되는 그래프 또는 트리 구조를 언급할 수 있다. 본원에 사용되는 바와 같이, "노드"는 다른 것들 중에서, 프리미티브 연결을 언급할 수 있다. 연결들 및 네트워크 구조는 구성 규칙을 결정하며, 구성 규칙은 모델 네트워크를 통해 제어 흐름을 설정한다. 모델 구조들의 일부 예들은 비순환 그래프들, 확률 그래픽 모델들, 베이지안 네트워크들, 다중 계층 네트워크 구조들, 및/또는 다른 것들을 포함한다. 모델 파라미터들은 계수들, 예컨대 프리미티브 계수들, 연결 계수들, 및 네트워크 계수들을 제공한다. 메타 정보는 검출기 모델에 관한 정보(예를 들어, "주석들")을 제공한다. 예를 들어, 메타 정보는 검출기가 적절한 문제 또는 응용의 종류, 검출기에 의해 요구되는 입력들, 및 검출기가 어떻게 트레이닝되는지에 관한 정보를 표시할 수 있다. 메타 정보는 전형적으로 예를 들어 디렉토리 서비스에 의해 공개적으로 해제될 수 있다. 메타 정보는 사용자 레벨 애플리케이션(118)이 특정 작업들에 적절한 검출기들(예를 들어, 메타 정보가 사용자 레벨 애플리케이션(118)에 의해 지정되는 비즈니스 요건들과 일치하는 검출기들)을 발견하기 위해 검색 엔진을 사용하여 질의들을 실행할 수 있게 한다. 모델 메타 정보의 일부 예들은 트레이닝된 데이터 크기(예를 들어, 트레이닝 데이터 세트의 크기) 및 입력 포맷(예를 들어, 필요하다면, 입력 데이터에 대한 포맷팅 요건들)을 포함한다.The
어셈블러 모듈(252)이 예측 분석 서비스(예를 들어, "검출기")(194)의 최적화된 실행파일을 생성하면, 실행파일은 검출기 스케줄러 모듈(254)에 제출된다. 검출기 스케줄러 모듈(254)은 어셈블러 모듈(252)에 의해 인스턴스화되는 검출기들을 스케줄링하고 실행하며, 자원 관리 모듈(258), 신뢰 실행 모니터 모듈(262), 및 DRM 매니저 모듈(264)과 상호작용한다. 스케줄러 모듈(254)은 데이터 분배를 처리하며 가능하면, 중복 데이터 카피를 식별하고 제거한다. 스케줄러 모듈(254)은 인스턴스화된 검출기의 라이프 사이클을 관리하고 검출기가 실행을 완료할 때 자원을 제거한다.Once the
예측 분석 실행 프리미티브(256)는 공통 예측 분석 작업을 효율적인 방식으로 수행하는 실행파일이다. 그와 같이, 예측 분석 실행 프리미티브(256)는 많은 타입들의 검출기들의 기초를 형성할 수 있다. 자원 관리 모듈(258)은 자원들 예컨대 데이터 저장 및 메모리 할당을 관리한다. 신뢰 실행 모니터 모듈(262) 및 DRM 매니저 모듈(264)은 표준 신뢰 실행 및 DRM 관리 구성요소들을 상술한 계층들(예를 들어, 스케줄러 모듈(254) 및/또는 관리 인터페이스(214))에 노출시킨다. 플랫폼 특정 실행 백엔드(260)는 미들웨어(166)가 많은 상이한 타입들의 디바이스들 및 컴퓨팅 플랫폼들에 걸쳐서 플랫폼 특정 능력들과 인터페이싱할 수 있게 한다.Predictive
더 상세히, 신뢰 관리 서브시스템(220)(도 2a)은 인스턴스화된 검출기의 DRM을 안전하게 하고 입력 데이터의 프라이버시를 보호한다. 신뢰 미들웨어(166)는 네이티브 운영 시스템/특권 시스템 구성요소의 신뢰 컴퓨팅 구성요소들(예를 들어, 가상 머신 모니터 또는 VMM, 또는 하이퍼바이저)과의 네이티브 연결을 갖는다. 가상화된 아키텍처에서, 미들웨어(166)가 신뢰 모드에서 실행될 때, 미들웨어(166)는 특권 시스템 구성요소(예를 들어, VMM 또는 하이퍼바이저) 내에서 실행된다. 그 결과, 민감 데이터는 안전한 신뢰 모드에서 페이지에 저장된다. 데이터는 암호화된 데이터 소스 또는 민감 센서로부터 판독된다. 신뢰 미들웨어(166)가 신뢰 론치에 의해(예를 들어, 신뢰 실행 서브시스템(120)에 의해) 론칭될 때, 비민감 사용자 콘텐츠(124)(예를 들어, 사용자의 웹 브라우저에 의해 그래빙되는(grabbed) 대중적으로 입수가능한 뉴스 페이지)는 신뢰 미들웨어(166)가 액세스할 수 있는, 게스트 운영 시스템에 의해 관리되는 메모리에 할당될 것이다. 기본 신뢰 실행 메커니즘은 예를 들어 TXT(인텔의 신뢰 실행 기술), 예컨대 인텔 신뢰 플랫폼 모듈(TPM) 기반 메커니즘 또는 ARM의 트러스트존에 기초한 하이브리드 솔루션으로 구체화될 수 있다.More specifically, trust management subsystem 220 (FIG. 2A) secures the DRM of the instantiated detector and protects the privacy of the input data.
이제 DRM 서브시스템(222)(도 2a)을 더 상세히 참조하면, DRM 서브시스템(222)은 검출기 모델들(190)(예를 들어, 아래에 논의되는 M1, M2, M3, M4) 및 모델 트레이너들(192)(예를 들어, 아래에 논의되는 T1, T2, T3, T4)의 지적 재산을 보호한다. 사용자 레벨 애플리케이션(118)(예를 들어, 아래에 논의되는 A1, A2, A3, A4)이 미들웨어(166)를 개시하기를 원할 때, DRM 서브시스템(222)은 검출기 인스턴스를 직접 간단히 인스턴스화하는 대신, 요청된 미들웨어 서비스에 대한 라이센스 협약 및/또는 사용 제한들을 체크한다. 미들웨어(166)는 권한 및 액세스를 포함하는, 적용가능 디지털 권리들을 체크하기 위해 DRM 에이전트(예를 들어, DRM 매니저 모듈(264))라 칭한다. 라이센스가 유효하면, 미들웨어(166)는 모델 설명(162)을 신뢰 관리 서브시스템(220)에 의해 설정되는 신뢰 메모리 영역 내로 복호화한다. 이해되어야 하는 바와 같이, 암호 서비스들 예컨대 암호화 및 복호화는 신뢰 실행 서브시스템(120)에 의해 제공되고, 신뢰 실행 환경이 설정될 때 이용가능하다.Referring now in more detail to the DRM subsystem 222 ( FIG. 2A ), the DRM subsystem 222 includes the detector models 190 (eg, M1 , M2 , M3 , M4 discussed below) and a model trainer 192 (eg, T1 , T2 , T3 , T4 discussed below). When a user level application 118 (eg, A1 , A2 , A3 , A4 discussed below) wants to launch the
이제 도 3a 내지 도 3d를 참조하면, 미들웨어(166)에 의해 처리될 수 있는 예측 분석 서비스(예를 들어, "검출기")(194)의 예시적 구현들은 환경(300, 320, 340, 350)(예를 들어, 네이티브 및/또는 가상 런타임 또는 "실행" 환경들)의 맥락에서 각각 도시된다. 환경들(300, 320, 340, 350)에서 도시되는 다양한 모듈들은 하드웨어, 펌웨어, 소프트웨어, 또는 그것의 조합으로 구체화될 수 있다. 예측 분석 서비스(예를 들어, "검출기")(194)의 구현들 각각은 검출기(예를 들어, 검출기(310, 322, 342, 352)), 모델(예를 들어, 모델(M1, M2, M3, M4)), 및 모델 트레이너(예를 들어, 모델 트레이너(T1, T2, T3, T4))를 포함한다. 검출기(예를 들어, 검출기(310, 322, 342, 352))는 사용자 레벨 애플리케이션(118)(예를 들어, 애플리케이션(A1, A2, A3, A4))에 의해 요청될 수 있는 예측 분석 서비스이다. 예를 들어, 검출기(예를 들어, 검출기(310, 322, 342, 352))는 애플리케이션(예를 들어, 애플리케이션(A1, A2, A3, A4))으로부터 서비스 요청(예를 들어, API 호출)에 응답하여 애플리케이션(예를 들어, 애플리케이션(A1, A2, A3, A4))에 의해 공급되는 데이터 상에 분류, 태깅, 또는 회귀 분석을 수행할 수 있다. 정확도, 효율, 성능 등을 포함하는, 검출기(예를 들어, 검출기(310, 322, 342, 352))의 기능성의 양태들은 모델(예를 들어, 모델(M1, M2, M3, M4)), 사용되는 특정 알고리즘(들), 및 모델 트레이너(예를 들어, 모델 트레이너(T1, T2, T3, T4))에 의해 사용되는 트레이닝 데이터 세트에 의해 결정된다. 모델(예를 들어, 모델(M1, M2, M3, M4))은 모델 트레이너(예를 들어, 모델 트레이너(T1, T2, T3, T4)) 및 그것의 연관된 데이터 세트를 사용하여 트레이닝된다. 일부 구현들에서, 검출기(예를 들어, 검출기(310, 322, 342, 352))는 소스 코드(도 3a)에서 또는 시스템 레벨(예를 들어, 네이티브) 라이브러리 객체(도 3b 및 도 3d)로 해제되고, 애플리케이션(예를 들어, 애플리케이션(A1, A2, A4))은 사용자 플랫폼(예를 들어, 사용자 컴퓨팅 디바이스(110)) 상에 검출기(예를 들어, 검출기(310, 322, 342, 352))를 통합한다. 예를 들어, 도 3a의 구현에서, M1은 마켓팅 분석(예를 들어, LBM 서비스)를 제공하기 위해 데이터 마이닝을 사용하는 분석 서비스일 수 있다. 도 3b에서, M2는 머신 러닝 알고리즘(예를 들어, 적응 부스트(adaptive boost) 또는 "Adaboost" 알고리즘)에 의해 생성되는 모델일 수 있고, 검출기 라이브러리 객체는 디지털 신호 프로세서(digital signal processor)(DSP)와의 사용을 위해 구성될 수 있다. 도 3d에서, M4는 동적 베이지안 네트워크(dynamic Bayesian network)(DBN)를 사용하는 예측 모델일 수 있고, 주문형 집적 회로(application-specific integrated circuit)(ASIC)와의 사용을 위해 구성된다. 이들 및 많은 다른 타입들의 분석 서비스들은 본원에 개시되는 신뢰 미들웨어(166)로부터 이득을 얻을 수 있다.Referring now to FIGS. 3A-3D , example implementations of a predictive analytics service (eg, a “detector”) 194 that may be processed by
도 3a, 도 3b, 및 도 3d에 도시된 방식으로 통합되는 검출기(예를 들어, 검출기(310, 322, 342, 352))의 경우, 미들웨어(166)에 의해 제공되는 보호들 없이, 검출기(예를 들어, 검출기(310, 322, 342, 352))는 사용자 데이터(예를 들어, 사용자 데이터(312, 324, 344, 354))에 직접적인 액세스를 가질 것이고 사용자 플랫폼(예를 들어, 사용자 컴퓨팅 디바이스(110))은 검출기(예를 들어, 검출기(310, 322, 342, 352))에 의해 사용되는 알고리즘들 및/또는 튜닝 파라미터들의 잠재적인 독점 양태들을 발견할 수 있다. 도 3c의 구현은 M3, T3이 웹 서비스로 제공되는 "서비스형 소프트웨어(software as a service)" 또는 "SaaS" 접근법이다. 웹 서버 상에 모델(M3)을 호스팅하는 것은 사용자 컴퓨팅 디바이스(110)의 애플리케이션(A3) 또는 다른 구성요소들에 의해 모델(M3)의 독점 양태들에 대한 액세스를 방지한다. 그러나, 환경(340)에서, 사용자 데이터(344)는 웹 서비스(M3, T3)에 업로딩되며, 따라서 사용자 프라이버시 및 데이터 제어 문제들을 잠재적으로 상승시킨다.In the case of a detector (e.g., detector 310, 322, 342, 352) integrated in the manner shown in FIGS. 3A, 3B, and 3D, without the protections provided by
신뢰 미들웨어(166)는 이하와 같이 도 3a 내지 도 3d에 도시된 종래의 구현들에 의해 상승되는 문제들을 처리한다. 우선, 원래의 모델들(M1, M2, M3, M4)보다는 오히려, 신뢰 미들웨어(166)는 상기 설명된 바와 같은 모델 설명 언어(160)를 사용하여 대응하는 모델 설명(162)을 발생시킨다. 각각의 경우에, 미들웨어(166)는 모델 설명(162)을 사용자 컴퓨팅 디바이스의 신뢰 실행 환경 내에서(예를 들어, 신뢰 실행 서브시스템(120)에 의해) 전개한다. 신뢰 미들웨어(166)에 의해 제공되는 공통 미들웨어 인터페이스(예를 들어, API 서비스(212) 및 관리 인터페이스(214))의 경우, 동일한 모델 설명(162)은 많은 상이한 디바이스들에 걸쳐서 사용될 수 있다. 더욱이, 상이한 하드웨어 구성들을 위해 모델들(예를 들어, M1, M2, 3, M4)의 최적화된 버전들을 제공하는 것보다는 오히려, 모델 트레이너(예를 들어, T1, T2, T3, T4)는 공통 모델 설명(162)을 사용하여 모델을 한 번 트레이닝할 수 있고, 최종 트레이닝된 모델은 임의의 플랫폼 상에 사용될 수 있다.
이제 도 4를 참조하면, 신뢰 예측 분석 서비스들을 제공하는 방법(400)의 일 예가 도시된다. 방법(400)의 일부들은 컴퓨팅 시스템(100)의 하드웨어, 펌웨어, 및/또는 소프트웨어에 의해(예를 들어, 신뢰 예측 분석 미들웨어 서브시스템(164)에 의해) 실행될 수 있다. 방법(400)은 예측 분석 서비스에 대한 요청(예를 들어, 사용자 레벨 애플리케이션에 의해 이루어지는 API 호출)에 응답하여 시작된다. 블록(410)에서, 컴퓨팅 시스템(100)은 신뢰 실행 환경에서 신뢰 예측 분석 미들웨어를 론칭한다. 신뢰 실행 환경은 예를 들어 신뢰 실행 서브시스템(120)에 의해 설정된다. 블록(412)에서, 컴퓨팅 시스템(100)은 예측 분석 서비스에 대한 사용자 레벨 애플리케이션에 의해 이루어지는 요청과 연관되는 입력 데이터를 획득한다. 입력 데이터는 예를 들어 사진, 데이터 세트, 또는 텍스트 및/또는 비-텍스트 데이터의 임의의 조합일 수 있다. 신뢰 예측 분석 미들웨어가 실행되는 신뢰 실행 환경의 설정의 결과로서, 입력 데이터는 신뢰 메모리 영역(예를 들어, 하드웨어 또는 소프트웨어에 의해 다른 메모리로부터 분리되는 메모리 영역)에 저장된다. 블록(414)에서, 컴퓨팅 시스템(100)은 예를 들어 아래에 설명되는 도 5에 도시된 방법을 사용하여 신뢰 미들웨어에 의해 이전에 생성되었던 저장된 모델 설명들(예를 들어, 모델 설명들(162))로부터 적절한 모델 설명을 선택하거나 결정한다. 신뢰 실행 환경에서 신뢰 미들웨어에 의한 모델 설명의 생성의 결과로서, 모델 설명은 신뢰 실행 환경의 구성요소에 의해 암호화된다. 블록(416)에서, 컴퓨팅 시스템(100)은 블록(414)에서 선택되고 사용자 애플리케이션 요청과 연관되는 입력 데이터에 기초하는 모델 설명과 연관되는 라이센스 협약, 사용 허가들, 및/또는 디지털 권리들을 체크한다. 블록(418)에서, 컴퓨팅 시스템(100)은 사용자 레벨 애플리케이션에 의한 요청(블록(412)에서 획득되는 입력 데이터를 수반함)이 적용가능 라이센스/허가들/디지털 권리 관리 데이터에 의해 허가되는지를 판단한다. 사용자 요청은 적용가능 라이센스/허가들/디지털 권리 관리 데이터에 의해 허가되지 않으면, 블록(420)에서 실패한다.Referring now to FIG. 4 , an example of a
컴퓨팅 시스템(100)은 블록(418)에서 사용자 요청이 허가되는 것을 결정하면, 컴퓨팅 시스템(100)은 블록(414)에서 선택되는 모델 설명을 (예를 들어 신뢰 실행 환경의 구성요소를 사용하여) 복호화한다. 블록(424)에서, 컴퓨팅 시스템(100)은 신뢰 메모리 영역(예를 들어, 사용자 컴퓨팅 디바이스(110)의 하드웨어 또는 소프트웨어 분리 영역)에 복호화된 모델 설명을 저장한다. 블록(426)에서, 컴퓨팅 시스템(100)은 복호화된 모델을 인스턴스화한다. 블록(428)에서, 컴퓨팅 시스템(100)은 입력 데이터를 처리하기 위해 복호화된 모델을 실행하고, 블록(430)에서, 컴퓨팅 시스템(100)은 입력 데이터에 관한 모델을 실행하는 결과들을 출력한다.If the
이제 도 5를 참조하면, 예측 분석 서비스(예를 들어, "검출기")(194)로부터 신뢰 실행가능 검출기를 생성하는 방법(400)의 일 예가 도시된다. 방법(500)의 일부들은 컴퓨팅 시스템(100)의 하드웨어, 펌웨어, 및/또는 소프트웨어에 의해(예를 들어, 신뢰 예측 분석 미들웨어 서브시스템(164)에 의해) 실행될 수 있다. 방법(500)은 신뢰 예측 분석 미들웨어(166)에 예측 분석 서비스 또는 "검출기"(194)의 제출에 응답하여 시작된다. 블록(510)에서, 컴퓨팅 시스템(100)은 제출된 예측 분석 서비스와 관련하여 실행 프리미티브로서 사용하기 위해 신뢰 실행 프리미티브(예를 들어, 예측 분석 실행 프리미티브(256))를 생성하거나 선택한다. 블록(512)에서, 컴퓨팅 시스템(100)은 공통 모델 설명 언어(예를 들어, 모델 설명 언어(160))를 사용하여, 예측 분석 서비스에 대한 모델(예를 들어, 검출기 모델(190))을 제출된 예측 분석 서비스에 대한 모델 설명(예를 들어, 모델 설명(162))으로 변환한다. 예시적으로, 이러한 변환은 PA 제공자 컴퓨팅 디바이스(180)에 의해 수행된다. 모델 설명(162)이 (예를 들어, 컴퓨팅 디바이스(180) 상에) 생성되면, 검출기(194)는 상기 논의된 바와 같이, (예를 들어, 신뢰 예측 분석 미들웨어 서브시스템(164)에 의해) 신뢰 PA 미들웨어 컴퓨팅 디바이스(150) 또는 다른 컴퓨팅 디바이스에 전개될 수 있다.Referring now to FIG. 5 , an example of a
블록(514)에서, 컴퓨팅 시스템(100)은 블록(512)에서 준비되는 모델 설명에 기초하여, 모델 구조(예를 들어, 노드들, 네트워크 등)를 생성한다. 블록(516)에서, 컴퓨팅 시스템(100)은 블록(510)에서 생성되거나 선택되는 실행 프리미티브를 사용하여, 모델 구조를 실행파일로 변환한다. 블록(518)에서, 컴퓨팅 시스템(100)은 필요에 따라 하나 이상의 최적화들을 블록(516)에서 생성되는 실행파일에 적용한다. 블록(520)에서, 컴퓨팅 시스템(100)은 실행파일을 신뢰 미들웨어의 스케줄 모듈(예를 들어, 검출기 스케줄러 모듈(254))에 제출한다.At
예들examples
본원에 개시되는 기술들의 예시적 예들은 아래에 제공된다. 기술들의 일 실시예는 아래에 설명되는 예들 중 임의의 하나 이상, 및 임의의 조합을 포함할 수 있다.Illustrative examples of the techniques disclosed herein are provided below. An embodiment of the techniques may include any one or more, and any combination, of the examples described below.
예 1은 하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템을 포함하며, 컴퓨팅 시스템은 신뢰 예측 분석 서비스를 제공하고, 컴퓨팅 시스템은 신뢰 예측 분석 미들웨어 서브시스템을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 컴퓨팅 시스템의 신뢰 실행 환경에서, 컴퓨팅 시스템으로 하여금, 예측 분석 모델에 대한 모델 설명을 결정하게 하고 - 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되며, 예측 분석 모델 설명 언어는 공통 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명함 -; 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하게 하고; 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 사용자 레벨 애플리케이션 요청이 허가되면, 모델 설명과 연관되는 실행파일을 인스턴스화하게 한다.Example 1 includes a computing system comprising one or more computing devices, the computing system to provide a predictive trust analytics service, the computing system to include a predictive trust analytics middleware subsystem, and the predictive trust analytics middleware subsystem to provide a predictive analytics service. responsive to a user-level application request for: in a trusted execution environment of the computing system, cause the computing system to determine a model description for the predictive analytics model, wherein the model description is generated by the predictive analytics model description language; the model description language describes a plurality of different predictive analytics models using a common language; compare data associated with the user level application request to data representing digital rights grants associated with the model description; If the user level application request is granted, based on a comparison of data indicative of digital rights grants associated with the model description and data associated with the user level application request, instantiate an executable associated with the model description.
예 2는 예 1의 발명 대상을 포함하며, 예측 분석 모델 설명 언어는 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함한다.Example 2 includes the subject matter of Example 1, wherein the predictive analytics model description language includes data representing a predictive analytics model structure, one or more model parameters, and meta information about the predictive analytics model.
예 3은 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 컴퓨팅 시스템의 사용자 컴퓨팅 디바이스에 의해, 신뢰 실행 환경에서 론칭된다.Example 3 includes the subject matter of Example 1 or Example 2, wherein the trust predictive analytics middleware subsystem is launched by a user computing device of the computing system in the trusted execution environment.
예 4는 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청과 연관되는 입력 데이터를 획득하고, 신뢰 실행 환경의 신뢰 메모리 영역에 입력 데이터를 저장한다.Example 4 includes the subject matter of Examples 1 or 2, wherein the trusted predictive analytics middleware subsystem obtains input data associated with a user-level application request to the predictive analytics service, and stores the input data in a trusted memory region of the trusted execution environment. save the
예 5는 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 사용자 레벨 애플리케이션 요청이 허가되면, 모델 설명을 복호화한다.Example 5 includes the subject matter of Examples 1 or 2, wherein the predictive trust analysis middleware subsystem is configured to: based on a comparison of data indicative of digital rights grants associated with the model description and data associated with a user-level application request, If the application request is granted, decrypt the model description.
예 6은 예 5의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 신뢰 실행 환경의 신뢰 메모리 영역에 복호화된 모델 설명을 저장한다.Example 6 includes the subject matter of Example 5, wherein the trust prediction analysis middleware subsystem stores the decrypted model description in a trusted memory area of the trusted execution environment.
예 7은 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 실행 프리미티브 및 모델 설명에 기초하여 실행파일을 생성한다.Example 7 includes the subject matter of Examples 1 or 2, wherein the trust predictive analytics middleware subsystem generates the executable based on the predictive analytics execution primitives and the model description.
예 8은 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 서비스와 연관되는 디지털 권리들을 검증하기 위해 디지털 권리 관리(DRM) 서브시스템을 포함한다.Example 8 includes the subject matter of Examples 1 or 2, wherein the trust predictive analytics middleware subsystem includes a digital rights management (DRM) subsystem to verify digital rights associated with the predictive analytics service.
예 9는 예 1 또는 예 2의 발명 대상을 포함하며, 신뢰 예측 분석 미들웨어 서브시스템은 모델 설명 언어를 사용하여 모델 설명을 해석하고, 모델 설명에 기초하여 예측 분석 서비스에 대한 모델 구조를 생성하고, 예측 분석 실행 프리미티브에 기초하여 모델 구조를 실행파일로 변환하기 위해 모델 설명 어셈블러 모듈을 포함한다.Example 9 includes the subject matter of Examples 1 or 2, wherein the trust predictive analytics middleware subsystem interprets the model description using the model description language, and generates a model structure for the predictive analytics service based on the model description; It includes a model description assembler module to transform the model structure into an executable based on the predictive analysis execution primitives.
예 10은 신뢰 예측 분석 서비스를 제공하는 방법을 포함하며, 방법은 컴퓨팅 시스템에 의해, 공통 모델 설명 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하는 단계; 및 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 컴퓨팅 시스템의 신뢰 실행 환경에서, 예측 분석 모델에 대한 모델 설명을 결정하는 단계 - 모델 설명은 예측 분석 모델 설명 언어에 의해 생성됨 -; 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하는 단계; 및 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 사용자 레벨 애플리케이션 요청이 허가되면, 모델 설명과 연관되는 실행파일을 인스턴스화하는 단계를 포함한다.Example 10 includes a method of providing a trusted predictive analytics service, the method comprising: describing, by a computing system, a plurality of different predictive analytics models using a common model description language; and in response to the user-level application request for the predictive analytics service, determining, in a trusted execution environment of the computing system, a model description for the predictive analytics model, the model description being generated by the predictive analytics model description language; comparing data associated with the user level application request to data representing digital rights grants associated with the model description; and instantiating an executable associated with the model description if the user level application request is granted based on a comparison of the data indicative of digital rights grants associated with the model description and the data associated with the user level application request.
예 11은 예 10의 발명 대상을 포함하며, 신뢰 실행 환경에서 신뢰 예측 분석 미들웨어 서브시스템을 론칭하는 단계를 포함한다.Example 11 includes the subject matter of Example 10, comprising launching a trust predictive analytics middleware subsystem in a trusted execution environment.
예 12는 예 10의 발명 대상을 포함하며, 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청과 연관되는 입력 데이터를 획득하는 단계, 및 신뢰 실행 환경의 신뢰 메모리 영역에 입력 데이터를 저장하는 단계를 포함한다.Example 12 includes the subject matter of Example 10, comprising obtaining input data associated with a user-level application request for a predictive analytics service, and storing the input data in a trusted memory area of the trusted execution environment.
예 13은 예 10의 발명 대상을 포함하며, 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 사용자 레벨 애플리케이션 요청이 허가되면, 모델 설명을 복호화하는 단계를 포함한다.Example 13 includes the subject matter of Example 10, wherein, based on a comparison of data representing digital rights grants associated with the model description and data associated with the user level application request, if the user level application request is granted, decrypt the model description including the steps of
예 14는 예 13의 발명 대상을 포함하며, 신뢰 실행 환경의 신뢰 메모리 영역에 복호화된 모델 설명을 저장하는 단계를 포함한다.Example 14 includes the subject matter of Example 13, comprising storing the decrypted model description in a trusted memory area of the trusted execution environment.
예 15는 예 10의 발명 대상을 포함하며, 예측 분석 실행 프리미티브 및 모델 설명에 기초하여 실행파일을 생성하는 단계를 포함한다.Example 15 includes the subject matter of Example 10, comprising generating the executable based on the predictive analysis execution primitive and the model description.
예 16은 예 10의 발명 대상을 포함하며, 디지털 권리 관리(DRM) 서브시스템에 의해, 예측 분석 서비스와 연관되는 디지털 권리들을 검증하는 단계를 포함한다.Example 16 includes the subject matter of Example 10, comprising verifying, by a digital rights management (DRM) subsystem, digital rights associated with the predictive analytics service.
예 17은 예 10의 발명 대상을 포함하며, 모델 설명 언어를 사용하여 모델 설명을 해석하는 단계, 모델 설명에 기초하여 예측 분석 서비스에 대한 모델 구조를 생성하는 단계, 및 예측 분석 실행 프리미티브에 기초하여 모델 구조를 실행파일로 변환하는 단계를 포함한다.Example 17 includes the subject matter of Example 10, interpreting a model description using a model description language, generating a model structure for a predictive analytics service based on the model description, and based on the predictive analytics execution primitives. converting the model structure into an executable file.
예 18은 예 10의 발명 대상을 포함하며, 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함하는 설명 언어를 사용하여 예측 분석 모델들을 설명하는 단계를 포함한다.Example 18 includes the subject matter of Example 10, comprising describing predictive analytics models using a description language comprising data representing a predictive analytics model structure, one or more model parameters, and meta information about the predictive analytics model. include
예 19는 저장된 복수의 명령어들을 포함하는 하나 이상의 비일시적 머신 판독가능 저장 매체들을 포함하며, 복수의 명령어들은 실행되는 것에 응답하여, 컴퓨팅 디바이스가 예 10 내지 예 18 중 어느 하나의 방법을 수행하게 한다.Example 19 includes one or more non-transitory machine-readable storage media comprising a plurality of stored instructions, wherein in response to being executed, cause the computing device to perform the method of any of Examples 10-18. .
예 20은 신뢰 예측 분석 서비스들을 제공하는 컴퓨팅 시스템을 포함하며, 시스템은 청구항 10 내지 18 중 어느 하나의 방법을 수행하는 수단을 포함한다.Example 20 includes a computing system that provides predictive trust analysis services, the system comprising means for performing the method of any one of claims 10-18.
Claims (25)
사용자 레벨 애플리케이션을 포함하는 사용자 컴퓨팅 디바이스; 및
신뢰 예측 분석 미들웨어 컴퓨팅 디바이스 - 상기 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스는 네트워크를 통해 상기 사용자 컴퓨팅 디바이스로부터 사용자 레벨 애플리케이션 요청들을 수신하도록 적응됨 -
를 포함하고,
상기 신뢰 예측 분석 미들웨어 컴퓨팅 디바이스는 신뢰 예측 분석 미들웨어 서브시스템을 포함하며, 상기 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 상기 컴퓨팅 시스템의 신뢰 실행 환경에서, 상기 컴퓨팅 시스템으로 하여금,
예측 분석 모델에 대한 모델 설명을 결정하게 하고 - 상기 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되며, 상기 예측 분석 모델 설명 언어는 공통 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하고, 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함함 -;
상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하게 하고;
상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 상기 신뢰 예측 분석 미들웨어 서브시스템에 의해 허가되면, 상기 모델 설명과 연관되는 실행파일(executable)을 인스턴스화하게 하도록 적응되는
컴퓨팅 시스템.A computing system comprising one or more computing devices, the computing system providing a predictive trust analysis service, the computing system comprising:
a user computing device comprising a user-level application; and
a trust predictive analytics middleware computing device, wherein the trust predictive analytics middleware computing device is adapted to receive user level application requests from the user computing device via a network;
including,
The trust predictive analytics middleware computing device includes a trust predictive analytics middleware subsystem, the trust predictive analytics middleware subsystem responsive to a user level application request for predictive analytics service, in the trust execution environment of the computing system, the computing make the system
determine a model description for the predictive analytics model, wherein the model description is generated by a predictive analytics model description language, the predictive analytics model description language describing a plurality of different predictive analytics models using a common language; including data representing the predictive analytics model structure, one or more model parameters, and meta information about the model;
compare data associated with the user level application request to data representing digital rights grants associated with the model description;
If the user level application request is granted by the trust prediction analysis middleware subsystem based on a comparison of data indicative of digital rights grants associated with the model description and data associated with the user level application request, the model description and adapted to instantiate the associated executable
computing system.
공통 모델 설명 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하는 단계; 및
예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 상기 컴퓨팅 시스템의 신뢰 실행 환경에서,
예측 분석 모델에 대한 모델 설명을 결정하는 단계 - 상기 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되고, 상기 예측 분석 모델 설명 언어는 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함함 -;
상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하는 단계; 및
상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명과 연관되는 실행파일을 인스턴스화하는 단계
를 포함하는 방법.A method of providing a reliable predictive analytics service, comprising: a computing system:
describing a plurality of different predictive analytics models using a common model description language; and
In response to a user-level application request for a predictive analytics service, in the trusted execution environment of the computing system,
determining a model description for the predictive analytics model, wherein the model description is generated by a predictive analytics model description language, the predictive analytics model description language comprising: a predictive analytics model structure for the predictive analytics model; one or more model parameters; and Contains data representing meta information -;
comparing data associated with the user level application request to data representing digital rights grants associated with the model description; and
instantiating an executable associated with the model description if the user level application request is granted based on a comparison of data indicative of digital rights grants associated with the model description and data associated with the user level application request;
How to include.
공통 모델 설명 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하고;
예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 상기 컴퓨팅 시스템의 신뢰 실행 환경에서,
예측 분석 모델에 대한 모델 설명을 결정하고 - 상기 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되고, 상기 예측 분석 모델 설명 언어는 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함함 -;
상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하고;
상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명과 연관되는 실행파일을 인스턴스화하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.One or more non-transitory machine-readable storage media having stored thereon a plurality of instructions, the plurality of instructions, in response to being executed, causing a computing system to:
describe a plurality of different predictive analytics models using a common model description language;
In response to a user-level application request for a predictive analytics service, in the trusted execution environment of the computing system,
determine a model description for the predictive analytics model, wherein the model description is generated by a predictive analytics model description language, the predictive analytics model description language comprising: a predictive analytics model structure, one or more model parameters, and a meta for the predictive analytics model; contains data representing information;
compare data associated with the user level application request to data representing digital rights grants associated with the model description;
instantiate an executable associated with the model description if the user level application request is granted based on a comparison of data indicative of digital rights grants associated with the model description and data associated with the user level application request; One or more non-transitory machine-readable storage media.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/093600 WO2016090606A1 (en) | 2014-12-11 | 2014-12-11 | Trusted predictive analytic execution middleware |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170093799A KR20170093799A (en) | 2017-08-16 |
KR102299158B1 true KR102299158B1 (en) | 2021-09-07 |
Family
ID=56106475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177012866A Active KR102299158B1 (en) | 2014-12-11 | 2014-12-11 | Trusted predictive analytic execution middleware |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220147837A1 (en) |
EP (1) | EP3230913B1 (en) |
KR (1) | KR102299158B1 (en) |
CN (1) | CN107430651B8 (en) |
WO (1) | WO2016090606A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309652B (en) | 2017-07-28 | 2020-06-09 | 创新先进技术有限公司 | Method and device for training model |
CN108595983B (en) * | 2018-04-24 | 2021-08-06 | 许昌学院 | A hardware architecture and application context integrity measurement method based on hardware security isolation execution environment |
US10924377B2 (en) * | 2018-09-11 | 2021-02-16 | Citrix Systems, Inc. | Systems and methods for application scripts for cross-domain applications |
CN109582861B (en) * | 2018-10-29 | 2023-04-07 | 复旦大学 | Data privacy information detection system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8311967B1 (en) | 2010-05-14 | 2012-11-13 | Google Inc. | Predictive analytical model matching |
CN102916929A (en) | 2011-08-01 | 2013-02-06 | 杭州信雅达数码科技有限公司 | Trust evaluating method based on fuzzy Petri net |
US20130096943A1 (en) * | 2011-10-17 | 2013-04-18 | Intertrust Technologies Corporation | Systems and methods for protecting and governing genomic and other information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710626B2 (en) * | 2012-07-06 | 2017-07-18 | International Business Machines Corporation | Security model for network information service |
US9189644B2 (en) * | 2012-12-20 | 2015-11-17 | Bank Of America Corporation | Access requests at IAM system implementing IAM data model |
CN103152179A (en) * | 2013-02-07 | 2013-06-12 | 江苏意源科技有限公司 | Uniform identity authentication method suitable for multiple application systems |
-
2014
- 2014-12-11 KR KR1020177012866A patent/KR102299158B1/en active Active
- 2014-12-11 CN CN201480083315.5A patent/CN107430651B8/en active Active
- 2014-12-11 WO PCT/CN2014/093600 patent/WO2016090606A1/en active Application Filing
- 2014-12-11 EP EP14907903.0A patent/EP3230913B1/en active Active
-
2022
- 2022-01-28 US US17/587,407 patent/US20220147837A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8311967B1 (en) | 2010-05-14 | 2012-11-13 | Google Inc. | Predictive analytical model matching |
CN102916929A (en) | 2011-08-01 | 2013-02-06 | 杭州信雅达数码科技有限公司 | Trust evaluating method based on fuzzy Petri net |
US20130096943A1 (en) * | 2011-10-17 | 2013-04-18 | Intertrust Technologies Corporation | Systems and methods for protecting and governing genomic and other information |
Non-Patent Citations (1)
Title |
---|
□ M. Henze et al. ‘Maintaining User Control While Storing and Processing Sensor Data in the Cloud’, International Journal of Grid and High Performance Computing’ vol. 5 no. 4 2013.10.01. |
Also Published As
Publication number | Publication date |
---|---|
WO2016090606A1 (en) | 2016-06-16 |
EP3230913A4 (en) | 2018-05-16 |
CN107430651B8 (en) | 2021-08-17 |
KR20170093799A (en) | 2017-08-16 |
CN107430651B (en) | 2021-07-06 |
US20220147837A1 (en) | 2022-05-12 |
CN107430651A (en) | 2017-12-01 |
EP3230913B1 (en) | 2020-11-04 |
EP3230913A1 (en) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160321543A1 (en) | Trusted predictive analytic execution middleware | |
US12159155B1 (en) | Edge computing system | |
US20220147837A1 (en) | Trusted predictive analytic execution middleware | |
EP3472707B1 (en) | Update coordination in a multi-tenant cloud computing environment | |
US20200145463A1 (en) | De Novo Sensitivity Metadata Generation for Cloud Security | |
US20210027136A1 (en) | Feedback loop learning between artificial intelligence systems | |
US10073966B2 (en) | Operating system-independent integrity verification | |
CN110199271B (en) | Method and apparatus for field programmable gate array virtualization | |
CN107113183B (en) | System and method for controlled sharing of big data | |
US11270226B2 (en) | Hybrid learning-based ticket classification and response | |
US20190108355A1 (en) | Systems and methods for identifying potential misuse or exfiltration of data | |
US9805115B1 (en) | Systems and methods for updating generic file-classification definitions | |
US11568183B2 (en) | Generating saliency masks for inputs of models using saliency metric | |
US10303388B1 (en) | Storage filtering using container images | |
CN119895418A (en) | Building software development, security and operation environments | |
US10678917B1 (en) | Systems and methods for evaluating unfamiliar executables | |
US11573785B2 (en) | Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states | |
US20200225942A1 (en) | Method for creating run-time executables for data analysis functions | |
US20230027902A1 (en) | Creating Product Orchestration Engines | |
TWI512486B (en) | Portable electronic apparatus and portable cloud computing system | |
US12010145B2 (en) | Certification of computer pipeline results | |
US12254393B2 (en) | Risk assessment of a container build | |
US20240171403A1 (en) | Integrity-based implementation of content using digitally signed secure quick response code | |
Ju et al. | Design and research of monitoring system for station control layer based on safe container | |
US12189722B2 (en) | Content based on-device image adjustment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20170512 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20191211 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20210106 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210602 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210901 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210902 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |