KR102299158B1 - Trusted predictive analytic execution middleware - Google Patents

Trusted predictive analytic execution middleware Download PDF

Info

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
Application number
KR1020177012866A
Other languages
Korean (ko)
Other versions
KR20170093799A (en
Inventor
펑 천
옌 하오
이 양
샤오밍 천
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20170093799A publication Critical patent/KR20170093799A/en
Application granted granted Critical
Publication of KR102299158B1 publication Critical patent/KR102299158B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble 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

신뢰 예측 분석 실행 미들웨어{TRUSTED PREDICTIVE ANALYTIC EXECUTION MIDDLEWARE}TRUSTED PREDICTIVE ANALYTIC EXECUTION MIDDLEWARE

예측 분석들의 기술 분야는 전형적으로 큰 데이터 세트들에, 계산 기술들 예컨대 머신 러닝 및 데이터 마이닝의 적용을 포함한다. 이전에 공지되지 않은 패턴들, 예컨대 데이터 세트의 상이한 요소들 사이의 유사성들, 차이들, 및 관계들은 이러한 계산 기술들에 의해 발견될 수 있다. 예측 알고리즘들, 예컨대 통계 방법들은 데이터 세트에서 발견되는 패턴들에 기초하여 추세들을 식별하고 장래의 결과들을 예측하기 위해 사용될 수 있다. 많은 예측 분석 기술들은 모델 기반이다. 예를 들어, 데이터 세트 내의 요소들과 그러한 데이터 요소들에 관한 결론들 사이의 관계들을 표현하는 수학적 모델이 구성될 수 있다. 모델은 관계들이 이미 공지되어 있는 "트레이너" 데이터 세트를 사용하여 "트레이닝"될 수 있다.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 computing system 100 includes trust predictive analytics middleware or “trust middleware” 166 . Trust predictive analytics middleware 166 includes model description language 160 and trust predictive analytics middleware service or “middleware service” 164 . Illustratively, the components of predictive trust analysis middleware 166 are embodied in predictive trust analytics middleware computing device 150 ; Portions of the trust prediction analysis middleware 166 may reside on one or more other computing devices, as described in more detail below. In the computing system 100 , a user computing device 110 (eg, a mobile or wearable computing device) sometimes executes a user-level application 118 . A user-level application 118 may, from time to time, request access to a predictive analytics service or “detector” 194 . An example predictive analytics service (eg, “detector”) 194 is embodied in the predictive analytics provider computing device 180 . The user computing device 110 , the trusted predictive analytics middleware computing device 150 , and the predictive analytics provider computing device 180 are communicatively coupled by one or more networks 170 .

예시적 시나리오에서, 사용자 레벨 애플리케이션(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 predictive analytics middleware 166 in the trusted execution environment. . Trust predictive analytics middleware 166 by executing in a trusted execution environment and instantiating executable trust predictive analytics services (eg, “detectors”) 194 that are based on model descriptions generated using model description language 160 . ) provides a common trusted execution environment in which predictive analytics services (eg, “detectors”) 194 can run and sensitive data can be segregated. Exemplary predictive analytics services (eg, “detectors”) 194 provide data analytics services, such as machine learning-based data analytics services or “big data” analytics services. Some example implementations of a predictive analytics service (eg, “detector”) 194 are shown in FIGS. 3A-3D . As described in more detail below, trust predictive analytics middleware 166 protects sensitive user data from accidental exposure or misuse by predictive analytics services (eg, “detectors”) 194 and/or predictive analytics It uses cryptographic techniques and digital rights management techniques to protect the intellectual property rights associated with the service (eg, “detector”) 194 . Additionally, via model description language 160 , trust predictive analytics middleware 166 can range from smartphones, tablets, laptops and personal computers to wearable devices such as smart glasses, smart watches. , to virtual instances running “in the cloud”, and/or to provide a common interface to predictive analytics services across different device architectures to others.

모델 설명 언어(160)를 사용하여, 신뢰 미들웨어(166)는 미들웨어 플랫폼 상에 실행하는 다수의 상이한 예측 분석 서비스들(예를 들어, "검출기들")(194)을 가질 필요를 회피한다. 대신에, 미들웨어(166)는 상이한 예측 분석 서비스들(예를 들어, "검출기들")(194)을 예측 분석 서비스(예를 들어, "검출기")(194)의 상이한 인스턴스들로 대체하며, 인스턴스들 각각은 동작이 신뢰 미들웨어(166)에 의해 지원되는 실행 프리미티브로부터 생성된다. 신뢰 미들웨어(166)는 모델 설명(162)을 사용하여 예측 분석 서비스(예를 들어, "검출기")(194)를 복호화하고 인스턴스화한다. 모델 설명(162)은 모델 설명 언어(160)를 사용하여 미들웨어(166)에 의해 생성된다. 신뢰 미들웨어(166)의 디지털 권리들 관리 기능성은 예측 분석 서비스(예를 들어, "검출기")(194)의 사용에 관한 라이센스 협약 조건들 및 제한들을 집행한다. 사용자 데이터(예를 들어, 사용자 콘텐츠(124))는 신뢰 실행 환경 내에서 미들웨어 프리미티브(예를 들어, 모델 설명(162)을 사용하여 인스턴스화되는 예측 분석 서비스 또는 "검출기"(194))에 의해 액세스되기 때문에 보호되고, 따라서 사용자 데이터는 예측 분석 서비스(예를 들어, "검출기")(194)에 직접 노출되지 않는다.Using model description language 160 , trust middleware 166 avoids the need to have multiple different predictive analytics services (eg, “detectors”) 194 running on the middleware platform. Instead, middleware 166 replaces different predictive analytics services (eg, “detectors”) 194 with different instances of predictive analytics service (eg, “detectors”) 194, Each of the instances is created from an execution primitive whose operation is supported by trust middleware 166 . Trust middleware 166 uses model description 162 to decrypt and instantiate predictive analytics service (eg, “detector”) 194 . Model description 162 is generated by middleware 166 using model description language 160 . The digital rights management functionality of trust middleware 166 enforces license agreement conditions and restrictions regarding the use of predictive analytics service (eg, “detector”) 194 . User data (eg, user content 124 ) is accessed by middleware primitives (eg, predictive analytics services or “detectors” 194 , instantiated using model description 162 ) within a trusted execution environment. is protected, so user data is not exposed directly to predictive analytics services (eg, “detectors”) 194 .

이제 도 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 data storage devices 158 , 188 . ), and UI subsystems 168 and 196, respectively. Components of computing devices 150 , 180 having the same or similar name as components of user computing device 110 may be embodied in a similar manner to those components described above; Accordingly, the description is not repeated here. As noted above, the example trust predictive analytics middleware computing device 150 includes a trust predictive analytics middleware that includes a model description language 160 and a trust predictive analytics middleware subsystem 164 stored on a data storage device 158 . (166) is specified. Data storage device 158 also stores model descriptions 162 . In operation, portions of model description language 160 and/or model descriptions 162 may be copied to memory 154 for faster processing, for example. The example predictive analytics provider computing device 180 includes one or more detector models 190 and one or more model trainers (eg, training data sets) 192 stored in a data storage device 188 . , specify a predictive analytics service (eg, “detector”) 194 . In operation, portions of detector model(s) 190 and/or model trainer(s) 192 may be copied to memory 184 for faster processing, for example. Portions of any of the data and/or computer program components of computing system 100 , such as user level applications 118 , trusted execution subsystem 120 , user content 124 , trust predictive analytics middleware ( 166), and a predictive analytics service (eg, a “detector”) 194 may reside on computing devices other than those shown in FIG. 1 . Moreover, in some embodiments, such components (eg, user level application 118 , trusted execution subsystem 120 , user content 124 , trusted predictive analytics middleware 166 , and predictive analytics service) All of (eg, “detectors”) 194) are in a single computing device (eg, computing device 110 , trust predictive analytics middleware computing device 150 , or predictive analytics provider computing device 180 ). may reside on the

상기 언급된 바와 같이, 신뢰 미들웨어(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, trust middleware 166 includes model description language 160 and trust prediction analysis middleware subsystem 164 . The model description language 160 includes model specifications and parameter information. Model description language 160 is interpreted using components of middleware subsystem 164 , as described in more detail below. Referring now to FIGS. 2A and 2B , one embodiment of example architectures for portions of the trust prediction analysis middleware subsystem 164 is shown. In FIG. 2A , a high level architecture 200 is shown. In a high level abstraction, architecture 200 includes an interface layer 210 and an execution layer 216 . Within the interface layer 210 , the architecture 200 includes an application programming interface (API) service 212 and a management interface 214 . API service 212 provides an interface through which user level applications 118 (eg, A1 , A2 , A3 , A4 in FIGS. 3A-3D ) can issue predictive analytics service requests to trust middleware 166 . to provide. Management interface 214 provides an interface through which operating systems or basic system services can accomplish tasks such as provisioning, auditing, and upgrading components of trust middleware 166 . Within the execution layer 216 , the exemplary components implement, at a high level, a model execution engine 218 , a trust management subsystem 220 , and a digital rights management (DRM) subsystem 222 . include The model execution layer 216 is responsible for the entire life cycle of a predictive analytics (PA) task, which is responsible for performing activities, e.g., model descriptions using the model description assembler model 252 ( Creating a PA task based on 162 , launching PA tasks, and scheduling different PA tasks by the detector scheduler module 254 , the operation described in the model description 162 , is subjected to a wide range of types of predictive analysis. Resource management and mapping to a set of primitives subtracted from tasks, such as performing convolution of the input, populating the input into a polynomial, etc. (eg, those tasks represented by the PA execution primitive 256 ). and computing (eg, via the resource management module 258 , memory, etc.).

고도로 최적화된 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))). Trust management subsystem 220 is responsible for monitoring the implementation of framework 200 in a trusted manner. The trust management subsystem 220 can prevent modification of the framework 200 to ensure that the functioning of the framework functions as intended and cannot be modified by malfunctioning processes running on the same system. have. Trust management subsystem 220 may protect access to privacy data and prevent access to sensitive data, such as decrypted modeling descriptions, the code page of a PA operation in memory, and the like.

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 framework 200 to grant access to the content of the model 190 only in a manner authorized by the model owners, eg at fixed times, with a fixed size of input data, etc. . The DRM subsystem 222 operates to ensure that the framework 200 protects the digital rights of the model owner in the model 190 . Each of the components 218 , 220 , 222 may be embodied in computer hardware, firmware, software, or a combination thereof.

도 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 detailed illustration 230 of the components of one embodiment of the execution layer 216 is shown. Exemplary execution layer 230 includes model description assembler module 252 , detector scheduler module 254 , predictive analytics execution primitives 256 , resource management module 258 , platform specific execution backend 260 , trusted execution monitor module 262 , and a DRM manager module 264 . Each of the components 252 , 254 , 256 , 258 , 260 , 262 , 264 may be embodied in computer hardware, firmware, software, or a combination thereof.

모델 설명 어셈블러 모듈(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 description assembler module 252 receives as input a detector model 190 (eg, M1, M2, M3, or M4, described below) of a predictive analytics service (eg, a “detector”) 194 . and interpret the detector model 190 using the model description language 160 , thereby generating a model description 162 of the detector model 190 in the model description language 160 . In some embodiments, the generation of the model description 162 (eg, the conversion of the detector 194 to the model description 162 ) is performed as a one-time event, which is performed on the predictive analytics provider computing device 180 . can be Once the model description 162 is generated (eg, on the provider computing device 180 ), the detector 194 is configured (eg, by the trust prediction analysis middleware subsystem 164 ) on the trusted PA middleware computing device. 150 or other computing devices. As a result of model analysis, assembler module 252 obtains information about the structure of detector model 190 and associated parameters. For this information, the assembler module 252 provides a predictive analytics service (e.g., a “detector”) based on the model description 162 and using the predictive analytics execution primitive 256 supplied by the middleware 166 . Create an executable instance of (194). To do this, the assembler module 252 maps the nodes of the model structure to the predictive analysis execution primitives 256 (eg, by code logic) and maps the execution variables to model parameters embedded in the model description 162 . map to Assembler module 252 may apply one or more optimization algorithms (eg, to remove any redundant operations). In this way, assembler module 252 creates a "trusted" version of predictive analytics service (e.g., "detector") 194 that has common execution primitives with other predictive analytics services and uses common description language 160 . to designate the model description 162 .

모델 설명(162)은 검출기가 미들웨어 상에서 실행되는 것을 가정하면, 실행가능 검출기를 재구축하기 위해 사용될 수 있는 정보의 최소 세트를 제공한다. 모델 설명(162)은 모델에 관한 모델 구조들, 모델 파라미터들, 및 모델 메타 정보를 포함한다. 본원에서 "모델 구조"에 대한 참조들은 다른 것들 중에서, 노드들 및 네트워크 구조(예를 들어, 노드들 및 에지들의 배열)뿐만 아니라, 분석 모델들을 표현하기 위해 통상 사용되는 그래프 또는 트리 구조를 언급할 수 있다. 본원에 사용되는 바와 같이, "노드"는 다른 것들 중에서, 프리미티브 연결을 언급할 수 있다. 연결들 및 네트워크 구조는 구성 규칙을 결정하며, 구성 규칙은 모델 네트워크를 통해 제어 흐름을 설정한다. 모델 구조들의 일부 예들은 비순환 그래프들, 확률 그래픽 모델들, 베이지안 네트워크들, 다중 계층 네트워크 구조들, 및/또는 다른 것들을 포함한다. 모델 파라미터들은 계수들, 예컨대 프리미티브 계수들, 연결 계수들, 및 네트워크 계수들을 제공한다. 메타 정보는 검출기 모델에 관한 정보(예를 들어, "주석들")을 제공한다. 예를 들어, 메타 정보는 검출기가 적절한 문제 또는 응용의 종류, 검출기에 의해 요구되는 입력들, 및 검출기가 어떻게 트레이닝되는지에 관한 정보를 표시할 수 있다. 메타 정보는 전형적으로 예를 들어 디렉토리 서비스에 의해 공개적으로 해제될 수 있다. 메타 정보는 사용자 레벨 애플리케이션(118)이 특정 작업들에 적절한 검출기들(예를 들어, 메타 정보가 사용자 레벨 애플리케이션(118)에 의해 지정되는 비즈니스 요건들과 일치하는 검출기들)을 발견하기 위해 검색 엔진을 사용하여 질의들을 실행할 수 있게 한다. 모델 메타 정보의 일부 예들은 트레이닝된 데이터 크기(예를 들어, 트레이닝 데이터 세트의 크기) 및 입력 포맷(예를 들어, 필요하다면, 입력 데이터에 대한 포맷팅 요건들)을 포함한다.The model description 162 provides a minimal set of information that can be used to rebuild an executable detector, assuming the detector runs on middleware. The model description 162 includes model structures, model parameters, and model meta information about the model. References herein to “model structure” may refer to, among other things, a graph or tree structure commonly used to represent analytic models, as well as nodes and network structures (eg, an arrangement of nodes and edges). can As used herein, a “node” may refer to, among other things, a primitive connection. The connections and network structure determine the configuration rules, which establish the flow of control through the model network. Some examples of model structures include acyclic graphs, probabilistic graphical models, Bayesian networks, multi-layer network structures, and/or others. Model parameters provide coefficients, such as primitive coefficients, connection coefficients, and network coefficients. Meta information provides information about the detector model (eg, “annotations”). For example, the meta information may indicate the kind of problem or application for which the detector is suitable, the inputs required by the detector, and information about how the detector is trained. Meta information can typically be released publicly, for example by a directory service. The meta information is used by a search engine so that the user-level application 118 finds appropriate detectors for particular tasks (eg, detectors whose meta-information matches business requirements specified by the user-level application 118 ). to execute queries. Some examples of model meta information include the size of the trained data (eg, the size of the training data set) and the input format (eg, formatting requirements for the input data, if necessary).

어셈블러 모듈(252)이 예측 분석 서비스(예를 들어, "검출기")(194)의 최적화된 실행파일을 생성하면, 실행파일은 검출기 스케줄러 모듈(254)에 제출된다. 검출기 스케줄러 모듈(254)은 어셈블러 모듈(252)에 의해 인스턴스화되는 검출기들을 스케줄링하고 실행하며, 자원 관리 모듈(258), 신뢰 실행 모니터 모듈(262), 및 DRM 매니저 모듈(264)과 상호작용한다. 스케줄러 모듈(254)은 데이터 분배를 처리하며 가능하면, 중복 데이터 카피를 식별하고 제거한다. 스케줄러 모듈(254)은 인스턴스화된 검출기의 라이프 사이클을 관리하고 검출기가 실행을 완료할 때 자원을 제거한다.Once the assembler module 252 generates an optimized executable of the predictive analytics service (eg, “detector”) 194 , the executable is submitted to the detector scheduler module 254 . The detector scheduler module 254 schedules and executes the detectors instantiated by the assembler module 252 , and interacts with the resource management module 258 , the trusted execution monitor module 262 , and the DRM manager module 264 . Scheduler module 254 handles data distribution and, where possible, identifies and removes duplicate data copies. The scheduler module 254 manages the life cycle of instantiated detectors and removes resources when the detector completes execution.

예측 분석 실행 프리미티브(256)는 공통 예측 분석 작업을 효율적인 방식으로 수행하는 실행파일이다. 그와 같이, 예측 분석 실행 프리미티브(256)는 많은 타입들의 검출기들의 기초를 형성할 수 있다. 자원 관리 모듈(258)은 자원들 예컨대 데이터 저장 및 메모리 할당을 관리한다. 신뢰 실행 모니터 모듈(262) 및 DRM 매니저 모듈(264)은 표준 신뢰 실행 및 DRM 관리 구성요소들을 상술한 계층들(예를 들어, 스케줄러 모듈(254) 및/또는 관리 인터페이스(214))에 노출시킨다. 플랫폼 특정 실행 백엔드(260)는 미들웨어(166)가 많은 상이한 타입들의 디바이스들 및 컴퓨팅 플랫폼들에 걸쳐서 플랫폼 특정 능력들과 인터페이싱할 수 있게 한다.Predictive analytics execution primitives 256 are executables that perform common predictive analytics tasks in an efficient manner. As such, the predictive analysis execution primitive 256 may form the basis of many types of detectors. The resource management module 258 manages resources such as data storage and memory allocation. Trusted execution monitor module 262 and DRM manager module 264 expose standard trusted execution and DRM management components to the layers described above (eg, scheduler module 254 and/or management interface 214 ). . Platform specific execution backend 260 enables middleware 166 to interface with platform specific capabilities across many different types of devices and computing platforms.

더 상세히, 신뢰 관리 서브시스템(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. Trust middleware 166 has a native connection with the trusted computing components (eg, virtual machine monitor or VMM, or hypervisor) of the native operating system/privileged system component. In a virtualized architecture, when middleware 166 runs in trusted mode, middleware 166 runs within a privileged system component (eg, a VMM or hypervisor). As a result, sensitive data is stored on the page in a secure trust mode. Data is read from an encrypted data source or a sensitive sensor. When trust middleware 166 is launched by trust launch (eg, by trust execution subsystem 120 ), non-sensitive user content 124 (eg, grabbing by the user's web browser) is (grabbed) publicly available news pages) will be allocated in memory managed by the guest operating system, accessible to trusted middleware 166 . The underlying Trusted Execution mechanism may be embodied as a hybrid solution based, for example, on TXT (Intel's Trusted Execution Technology), such as an Intel Trusted Platform Module (TPM) based mechanism or ARM's TrustZone.

이제 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 middleware 166 , the DRM subsystem 222 instead of simply instantiating a detector instance directly , check the license agreement and/or usage restrictions for the requested middleware service. Middleware 166 is referred to as a DRM agent (eg, DRM manager module 264) to check applicable digital rights, including rights and access. If the license is valid, the middleware 166 decrypts the model description 162 into a trusted memory area established by the trust management subsystem 220 . As should be appreciated, cryptographic services such as encryption and decryption are provided by the trusted execution subsystem 120 and are available when the trusted execution environment is established.

이제 도 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 middleware 166 include environments 300 , 320 , 340 , 350 . (eg, native and/or virtual runtime or “execution” environments), respectively. The various modules shown in environments 300 , 320 , 340 , 350 may be embodied in hardware, firmware, software, or a combination thereof. Each of the implementations of the predictive analytics service (eg, “detector”) 194 is a detector (eg, detectors 310 , 322 , 342 , 352 ), a model (eg, models M1 , M2 , M3, M4)), and model trainers (eg, model trainers T1, T2, T3, T4). A detector (eg, detectors 310 , 322 , 342 , 352 ) is a predictive analytics service that may be requested by a user level application 118 (eg, applications A1 , A2 , A3 , A4 ). . For example, a detector (eg, detector 310 , 322 , 342 , 352 ) may request a service (eg, an API call) from an application (eg, application A1 , A2 , A3 , A4 ). In response, classification, tagging, or regression analysis may be performed on data supplied by an application (eg, application A1 , A2 , A3 , A4 ). Aspects of the functionality of a detector (e.g., detector 310, 322, 342, 352), including accuracy, efficiency, performance, etc., are model (e.g., model M1, M2, M3, M4), It is determined by the specific algorithm(s) used, and the training data set used by the model trainer (eg, model trainers T1, T2, T3, T4). A model (eg, model (M1, M2, M3, M4)) is trained using a model trainer (eg, model trainer (T1, T2, T3, T4)) and its associated data set. In some implementations, a detector (eg, detector 310 , 322 , 342 , 352 ) is configured either in source code ( FIG. 3A ) or as a system level (eg, native) library object ( FIGS. 3B and 3D ). released, and the application (eg, application A1 , A2 , A4 ) is placed on a detector (eg, detector 310 , 322 , 342 , 352 ) on the user platform (eg, user computing device 110 ). )) are integrated. For example, in the implementation of FIG. 3A , M1 may be an analytics service that uses data mining to provide marketing analytics (eg, an LBM service). In FIG. 3B , M2 may be a model generated by a machine learning algorithm (eg, adaptive boost or "Adaboost" algorithm), and the detector library object is a digital signal processor (DSP) may be configured for use with In FIG. 3D , M4 may be a predictive model using a dynamic Bayesian network (DBN) and is configured for use with an application-specific integrated circuit (ASIC). These and many other types of analytics services may benefit from the trust middleware 166 disclosed herein.

도 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 middleware 166, the detector ( For example, the detector 310 , 322 , 342 , 352 ) will have direct access to user data (eg, user data 312 , 324 , 344 , 354 ) and will have direct access to the user platform (eg, user computing). Device 110 may discover potentially proprietary aspects of algorithms and/or tuning parameters used by a detector (eg, detector 310 , 322 , 342 , 352 ). The implementation of Figure 3c is a "software as a service" or "SaaS" approach in which M3 and T3 are provided as web services. Hosting model M3 on a web server prevents access to proprietary aspects of model M3 by application A3 or other components of user computing device 110 . However, in environment 340, user data 344 is uploaded to web services M3, T3, thus potentially raising user privacy and data control issues.

신뢰 미들웨어(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)을 사용하여 모델을 한 번 트레이닝할 수 있고, 최종 트레이닝된 모델은 임의의 플랫폼 상에 사용될 수 있다.Trust middleware 166 addresses the issues escalated by the conventional implementations shown in Figures 3A-3D as follows. First, rather than the original models M1, M2, M3, M4, the trust middleware 166 generates the corresponding model description 162 using the model description language 160 as described above. In each case, middleware 166 deploys model description 162 within the trusted execution environment of the user computing device (eg, by trusted execution subsystem 120 ). For a common middleware interface (eg, API service 212 and management interface 214 ) provided by trust middleware 166 , the same model description 162 may be used across many different devices. Moreover, rather than providing optimized versions of models (eg, M1, M2, 3, M4) for different hardware configurations, the model trainer (eg, T1, T2, T3, T4) is a common The model description 162 can be used to train the model once, and the final trained model can be used on any platform.

이제 도 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 method 400 of providing predictive trust analysis services is shown. Portions of method 400 may be executed by hardware, firmware, and/or software of computing system 100 (eg, by trust prediction analysis middleware subsystem 164 ). Method 400 begins in response to a request for a predictive analytics service (eg, an API call made by a user level application). At block 410 , the computing system 100 launches the trusted predictive analytics middleware in the trusted execution environment. The trusted execution environment is established, for example, by the trusted execution subsystem 120 . At block 412 , the computing system 100 obtains input data associated with a request made by a user-level application for predictive analytics services. The input data can be, for example, a photograph, a data set, or any combination of text and/or non-text data. As a result of the establishment of a trusted execution environment in which the trust prediction analysis middleware is executed, input data is stored in a trusted memory area (eg, a memory area separated from other memories by hardware or software). At block 414 , the computing system 100 executes stored model descriptions (eg, model descriptions 162 ) that were previously generated by the trust middleware using, for example, the method illustrated in FIG. 5 described below. ))) to select or determine an appropriate model description. As a result of the generation of the model description by the trusted middleware in the trusted execution environment, the model description is encrypted by the components of the trusted execution environment. At block 416 , the computing system 100 checks the license agreement, usage permissions, and/or digital rights associated with the model description based on the input data selected at block 414 and associated with the user application request. . At block 418, the computing system 100 determines whether the request by the user-level application (accompanying the input data obtained at block 412) is authorized by the applicable license/permissions/digital rights management data. do. If the user request is not authorized by the applicable license/permissions/digital rights management data, it fails at block 420 .

컴퓨팅 시스템(100)은 블록(418)에서 사용자 요청이 허가되는 것을 결정하면, 컴퓨팅 시스템(100)은 블록(414)에서 선택되는 모델 설명을 (예를 들어 신뢰 실행 환경의 구성요소를 사용하여) 복호화한다. 블록(424)에서, 컴퓨팅 시스템(100)은 신뢰 메모리 영역(예를 들어, 사용자 컴퓨팅 디바이스(110)의 하드웨어 또는 소프트웨어 분리 영역)에 복호화된 모델 설명을 저장한다. 블록(426)에서, 컴퓨팅 시스템(100)은 복호화된 모델을 인스턴스화한다. 블록(428)에서, 컴퓨팅 시스템(100)은 입력 데이터를 처리하기 위해 복호화된 모델을 실행하고, 블록(430)에서, 컴퓨팅 시스템(100)은 입력 데이터에 관한 모델을 실행하는 결과들을 출력한다.If the computing system 100 determines at block 418 that the user request is granted, the computing system 100 sends the selected model description at block 414 (eg, using components of the trusted execution environment). Decrypt At block 424 , the computing system 100 stores the decrypted model description in a trusted memory area (eg, a hardware or software isolated area of the user computing device 110 ). At block 426 , the computing system 100 instantiates the decrypted model. At block 428 , the computing system 100 executes the decrypted model to process the input data, and at block 430 , the computing system 100 outputs the results of running the model on the input data.

이제 도 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 method 400 of generating a trusted executable detector from a predictive analytics service (eg, “detector”) 194 is shown. Portions of method 500 may be executed by hardware, firmware, and/or software of computing system 100 (eg, by trust prediction analysis middleware subsystem 164 ). Method 500 begins in response to submission of predictive analytics service or “detector” 194 to trust predictive analytics middleware 166 . At block 510 , the computing system 100 generates or selects a trusted execution primitive (eg, predictive analysis execution primitive 256 ) for use as an execution primitive in connection with the submitted predictive analytics service. At block 512 , the computing system 100 generates a model (eg, detector model 190 ) for the predictive analytics service using a common model description language (eg, model description language 160 ). Converts to a model description (eg, model description 162 ) for the submitted predictive analytics service. Illustratively, this conversion is performed by the PA provider computing device 180 . Once the model description 162 is generated (eg, on the computing device 180 ), the detector 194 is configured (eg, by the trust prediction analysis middleware subsystem 164 ), as discussed above. Trusted PA middleware computing device 150 or other computing device may be deployed.

블록(514)에서, 컴퓨팅 시스템(100)은 블록(512)에서 준비되는 모델 설명에 기초하여, 모델 구조(예를 들어, 노드들, 네트워크 등)를 생성한다. 블록(516)에서, 컴퓨팅 시스템(100)은 블록(510)에서 생성되거나 선택되는 실행 프리미티브를 사용하여, 모델 구조를 실행파일로 변환한다. 블록(518)에서, 컴퓨팅 시스템(100)은 필요에 따라 하나 이상의 최적화들을 블록(516)에서 생성되는 실행파일에 적용한다. 블록(520)에서, 컴퓨팅 시스템(100)은 실행파일을 신뢰 미들웨어의 스케줄 모듈(예를 들어, 검출기 스케줄러 모듈(254))에 제출한다.At block 514 , the computing system 100 generates a model structure (eg, nodes, network, etc.) based on the model description prepared at block 512 . At block 516 , the computing system 100 converts the model structure into an executable using the executable primitive created or selected at block 510 . At block 518 , the computing system 100 applies one or more optimizations as needed to the executable generated at block 516 . At block 520 , the computing system 100 submits the executable to a scheduling module of the trusted middleware (eg, the detector scheduler module 254 ).

예들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.
삭제delete 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 컴퓨팅 시스템의 사용자 컴퓨팅 디바이스에 의해, 상기 신뢰 실행 환경에서 론칭되는 컴퓨팅 시스템.The computing system of claim 1 , wherein the trust prediction analysis middleware subsystem is launched by a user computing device of the computing system in the trusted execution environment. 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청과 연관되는 입력 데이터를 획득하고, 상기 신뢰 실행 환경의 신뢰 메모리 영역에 상기 입력 데이터를 저장하는 컴퓨팅 시스템.The computing system of claim 1 , 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 area of the trusted execution environment. . 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명을 복호화하는 컴퓨팅 시스템.2. The method of claim 1, wherein the trust prediction analysis middleware subsystem is configured to: 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. , a computing system that decrypts the model description. 제5항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 신뢰 실행 환경의 신뢰 메모리 영역에 상기 복호화된 모델 설명을 저장하는 컴퓨팅 시스템.6. The computing system of claim 5, wherein the trust prediction analysis middleware subsystem stores the decrypted model description in a trusted memory area of the trusted execution environment. 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 예측 분석 실행 프리미티브 및 상기 모델 설명에 기초하여 상기 실행파일을 생성하는 컴퓨팅 시스템.The computing system of claim 1 , wherein the trust predictive analytics middleware subsystem generates the executable based on predictive analytics execution primitives and the model description. 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 예측 분석 서비스와 연관되는 디지털 권리들을 검증하기 위해 디지털 권리 관리(DRM) 서브시스템을 포함하는 컴퓨팅 시스템.The computing system of claim 1 , wherein the trust predictive analytics middleware subsystem comprises a digital rights management (DRM) subsystem for validating digital rights associated with the predictive analytics service. 제1항에 있어서, 상기 신뢰 예측 분석 미들웨어 서브시스템은 상기 모델 설명 언어를 사용하여 상기 모델 설명을 해석하고, 상기 모델 설명에 기초하여 상기 예측 분석 서비스에 대한 모델 구조를 생성하고, 예측 분석 실행 프리미티브에 기초하여 상기 모델 구조를 실행파일로 변환하기 위해 모델 설명 어셈블러 모듈을 포함하는 컴퓨팅 시스템.The predictive analytics execution primitive of claim 1, wherein the trust predictive analytics middleware subsystem interprets the model description using the model description language, generates a model structure for the predictive analytics service based on the model description, and and a model description assembler module for converting the model structure into an executable file based on 신뢰 예측 분석 서비스를 제공하는 방법으로서, 컴퓨팅 시스템에 의해:
공통 모델 설명 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하는 단계; 및
예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 상기 컴퓨팅 시스템의 신뢰 실행 환경에서,
예측 분석 모델에 대한 모델 설명을 결정하는 단계 - 상기 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되고, 상기 예측 분석 모델 설명 언어는 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함함 -;
상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하는 단계; 및
상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명과 연관되는 실행파일을 인스턴스화하는 단계
를 포함하는 방법.
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.
제10항에 있어서, 상기 신뢰 실행 환경에서 상기 신뢰 예측 분석 미들웨어 서브시스템을 론칭하는 단계를 포함하는 방법.11. The method of claim 10, comprising launching the trusted predictive analytics middleware subsystem in the trusted execution environment. 제10항에 있어서, 상기 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청과 연관되는 입력 데이터를 획득하는 단계, 및 상기 신뢰 실행 환경의 신뢰 메모리 영역에 입력 데이터를 저장하는 단계를 포함하는 방법.11. The method of claim 10, comprising: obtaining input data associated with a user level application request to the predictive analytics service; and storing the input data in a trusted memory area of the trusted execution environment. 제10항에 있어서, 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명을 복호화하는 단계를 포함하는 방법.11. The method of claim 10, further comprising: 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, then decoding the model description How to include. 제13항에 있어서, 상기 신뢰 실행 환경의 신뢰 메모리 영역에 상기 복호화된 모델 설명을 저장하는 단계를 포함하는 방법.14. The method of claim 13, comprising storing the decrypted model description in a trusted memory area of the trusted execution environment. 제10항에 있어서, 예측 분석 실행 프리미티브 및 상기 모델 설명에 기초하여 상기 실행파일을 생성하는 단계를 포함하는 방법.11. The method of claim 10, comprising generating the executable based on predictive analytics execution primitives and the model description. 제10항에 있어서, 디지털 권리 관리(DRM) 서브시스템에 의해, 상기 예측 분석 서비스와 연관되는 디지털 권리들을 검증하는 단계를 포함하는 방법.11. The method of claim 10, comprising verifying, by a digital rights management (DRM) subsystem, digital rights associated with the predictive analytics service. 제10항에 있어서, 상기 모델 설명 언어를 사용하여 상기 모델 설명을 해석하는 단계, 상기 모델 설명에 기초하여 상기 예측 분석 서비스에 대한 모델 구조를 생성하는 단계, 및 예측 분석 실행 프리미티브에 기초하여 상기 모델 구조를 실행파일로 변환하는 단계를 포함하는 방법.11. The method of claim 10, further comprising: interpreting the model description using the model description language; generating a model structure for the predictive analytics service based on the model description; and the model based on predictive analytics execution primitives. A method comprising converting the structure into an executable file. 삭제delete 저장된 복수의 명령어들을 포함하는 하나 이상의 비일시적 머신 판독가능 저장 매체로서, 상기 복수의 명령어들은 실행되는 것에 응답하여, 컴퓨팅 시스템으로 하여금,
공통 모델 설명 언어를 사용하여 복수의 상이한 예측 분석 모델들을 설명하고;
예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청에 응답하여, 상기 컴퓨팅 시스템의 신뢰 실행 환경에서,
예측 분석 모델에 대한 모델 설명을 결정하고 - 상기 모델 설명은 예측 분석 모델 설명 언어에 의해 생성되고, 상기 예측 분석 모델 설명 언어는 예측 분석 모델에 관한 예측 분석 모델 구조, 하나 이상의 모델 파라미터들, 및 메타 정보를 나타내는 데이터를 포함함 -;
상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터를 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 비교하고;
상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명과 연관되는 실행파일을 인스턴스화하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.
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.
제19항에 있어서, 상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 상기 신뢰 실행 환경에서 신뢰 예측 분석 미들웨어 서브시스템을 론칭하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.20. The one or more non-transitory machine-readable storage media of claim 19, wherein the instructions cause the computing system to launch a trust prediction analysis middleware subsystem in the trusted execution environment. 제19항에 있어서, 상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 상기 예측 분석 서비스에 대한 사용자 레벨 애플리케이션 요청과 연관되는 입력 데이터를 획득하고, 상기 신뢰 실행 환경의 신뢰 메모리 영역에 상기 입력 데이터를 저장하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.20. The method of claim 19, wherein the instructions cause the computing system to obtain input data associated with a user level application request to the predictive analytics service and store the input data in a trusted memory area of the trusted execution environment. One or more non-transitory machine-readable storage media. 제19항에 있어서, 상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 상기 모델 설명과 연관되는 디지털 권리 허가들을 나타내는 데이터와 상기 사용자 레벨 애플리케이션 요청과 연관되는 데이터의 비교에 기초하여, 상기 사용자 레벨 애플리케이션 요청이 허가되면, 상기 모델 설명을 복호화하고, 상기 신뢰 실행 환경의 신뢰 메모리 영역에 상기 복호화된 모델 설명을 저장하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.20. The method of claim 19, wherein the instructions cause the computing system to, 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, if the user-level application request is granted. , decrypt the model description and store the decrypted model description in a trusted memory area of the trusted execution environment. 제19항에 있어서, 상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 예측 분석 실행 프리미티브 및 상기 모델 설명에 기초하여 상기 실행파일을 생성하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.20. The one or more non-transitory machine-readable storage media of claim 19, wherein the instructions cause the computing system to generate the executable based on a predictive analysis execution primitive and the model description. 제19항에 있어서, 상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 상기 모델 설명 언어를 사용하여 상기 모델 설명을 해석하고, 상기 모델 설명에 기초하여 상기 예측 분석 서비스에 대한 모델 구조를 생성하고, 예측 분석 실행 프리미티브에 기초하여 상기 모델 구조를 실행파일로 변환하게 하는, 하나 이상의 비일시적 머신 판독가능 저장 매체.20. The predictive analytics execution primitive of claim 19, wherein the instructions cause the computing system to interpret the model description using the model description language, generate a model structure for the predictive analytics service based on the model description, and one or more non-transitory machine-readable storage media to convert the model structure into an executable file based on 삭제delete
KR1020177012866A 2014-12-11 2014-12-11 Trusted predictive analytic execution middleware Active KR102299158B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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