KR20220091367A - 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법 - Google Patents

하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR20220091367A
KR20220091367A KR1020210162396A KR20210162396A KR20220091367A KR 20220091367 A KR20220091367 A KR 20220091367A KR 1020210162396 A KR1020210162396 A KR 1020210162396A KR 20210162396 A KR20210162396 A KR 20210162396A KR 20220091367 A KR20220091367 A KR 20220091367A
Authority
KR
South Korea
Prior art keywords
circuit
interface
edge
exemplary
computing
Prior art date
Application number
KR1020210162396A
Other languages
English (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 KR20220091367A publication Critical patent/KR20220091367A/ko

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]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

하드웨어 및 소프트웨어 내의 독점 기능 및/또는 다른 콘텐츠를 보호하기 위한 방법, 장치, 시스템 및 제품이 개시된다. 예시적인 장치는, 제1 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 제1 토큰을 사용하여 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하여, 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 칩 관리자를 포함한다.

Description

하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법{APPARATUS, SYSTEMS, AND METHODS TO PROTECT HARDWARE AND SOFTWARE}
본 개시는 일반적으로 하드웨어 및 소프트웨어를 보호하는 것에 관한 것으로, 보다 구체적으로는 하드웨어 및 소프트웨어 지적 재산을 보호하기 위한 장치, 시스템 및 방법에 관한 것이다.
에지 컴퓨팅 리소스는 다양한 테넌트를 대신하여 서비스 및 기타 애플리케이션을 실행하는 데 사용될 수 있다. 사물 인터넷(IoT) 환경과 같은 특정 상황에서 서로 다른 테넌트가 함께 작업하여 기능을 실행하고, 데이터를 분석하고, 결과를 도출하는 등의 작업을 수행할 수 있다. 테넌트들은 흔히 자신의 기술 및/또는 정보 중 적어도 일부를 분리하여 비밀로 유지하고 싶어하거나 또는 그렇게 해야할 수 있다. 에지 기반 IoT 플랫폼과 같은 공유 환경에서, 공동 실행에 참여하면서 한 테넌트의 지적 재산을 다른 테넌트의 지적 재산과 분리하는 것은 불가능하지는 않더라도 비현실적일 수 있다.
도 1은 독점 콘텐츠를 표현하거나 구현하는 복수의 모델을 포함하는 예시적인 파이프라인이다.
도 2는 복수의 소스로부터의 독점 모델 및 콘텐츠를 통합하는 예시적인 아키텍처를 도시한 것이다.
도 3a는 복수의 벤더에 의해 제공된 복수의 칩렛을 포함하는 예시적인 시스템 온 칩(system on a chip) 회로를 도시한 것이다.
도 3b는 도 3a의 예의 칩렛들 사이의 데이터 및 신호 상호접속을 보여주는 예시적인 그래프를 도시한 것이다.
도 4a는 도 3a의 예시적인 시스템을 벤더에 기초하여 개별 도메인으로 분할한 것을 도시한 것이다.
도 4b는 도 3a의 예시적인 시스템의 동일 도메인 내와 도메인들 사이의 예시적인 신호 흐름을 도시한 것이다.
도 5는 본 명세서에 설명된 보안 정책 및 기술이 구현될 수 있는 칩 상의 예시적인 다중 칩렛 시스템의 예이다.
도 6은 본 명세서에 설명된 보안 정책 및 기술이 구현될 수 있는 예시적인 컴퓨팅 장치이다.
도 7은 독점 콘텐츠를 보호하면서 도메인 경계를 넘어 프로그램 코드 및/또는 다른 명령어를 실행하기 위해 도 6의 예시적인 장치에 의해 실행되는 예시적인 주소 레졸루션(address resolution) 실행 시퀀스를 도시한 것이다.
도 8은 도 7의 예의 주소 레졸루션을 용이하게 하는 예시적인 동적 링커를 도시한 것이다.
도 9는 독점 콘텐츠를 표현하거나 구현하는 복수의 모델을 포함하는 예시적인 샌드박스 파이프라인이다.
도 10은 컴퓨팅 장치 또는 장치 또는 디바이스를 복수의 요소로 분해한 예를 도시한 것이다.
도 11은 무결성 검사 및 보안을 제공하기 위한 매니페스트를 포함하는 예시적인 다중서명(multi-endorser) 매니페스트 구조를 도시한 것이다.
도 12 내지 도 14는 도 1 내지 도 11의 예시적인 컴퓨팅 장치의 전부 또는 일부를 구현하기 위해 실행될 수 있는 예시적인 기계 판독가능 명령어를 나타내는 흐름도이다.
도 15는 도 1 내지 11의 예시적인 컴퓨팅 장치를 구현하기 위해 도 12 내지 14의 명령어를 실행하도록 구성된 예시적인 처리 플랫폼의 블록도이다.
도 16은 에지 컴퓨팅을 위한 에지 클라우드 구성의 개요를 도시한 것이다.
도 17은 엔드포인트, 에지 클라우드 및 클라우드 컴퓨팅 환경 사이의 운영 계층을 도시한 것이다.
도 18은 에지 컴퓨팅 시스템에서 네트워킹 및 서비스에 대한 예시적인 접근 방식을 도시한 것이다.
도 19는 다중 에지 노드 및 다중 테넌트 사이에서 작동하는 에지 컴퓨팅 시스템에서의 가상 에지 구성의 배치를 예시한다.
도 20은 에지 컴퓨팅 시스템에서 컨테이너를 배치하는 다양한 컴퓨팅 구성을 도시한 것이다.
도 21은 에지 컴퓨팅 시스템에서 애플리케이션에 대한 모바일 액세스를 포함하는 컴퓨팅 및 통신 사용 사례를 도시한 것이다.
도 22는 ETSI MEC(Multi-Access Edge Computing) 사양에 따라 구성된 예시적인 모바일 에지 시스템 참조 아키텍처를 도시한 것이다.
도 23a는 에지 컴퓨팅 시스템의 컴퓨팅 노드에 배치된 컴퓨팅을 위한 예시적인 구성요소의 개요를 제공한다.
도 23b는 에지 컴퓨팅 시스템에서 컴퓨팅 장치 내의 예시적인 구성요소의 추가 개요를 제공한다.
도 24는 일 예에 따른, 링크를 통해 제각기의 게이트웨이에 연결된 각 사물 인터넷(IoT) 네트워크에 대한 도메인 토폴로지를 도시한 것이다.
도 25는 일 예에 따른, 클라우드 컴퓨팅 네트워크의 에지에서 포그 장치로서 동작하는 IoT 장치의 메시 네트워크와 통신하는 클라우드 컴퓨팅 네트워크를 도시한 것이다.
도 26은 일 예에 따른, 다수의 사물 인터넷(IoT) 장치와 통신하는 클라우드 컴퓨팅 네트워크 또는 클라우드를 도시한 것이다.
도 27은 일 예에 따른, 본 명세서에서 논의되는 기술(예컨대, 동작, 프로세스, 방법 및 방법론) 중 임의의 하나 이상이 수행될 수 있는 예시적인 IoT 처리 시스템 아키텍처에 대한 블록도이다.
도 28은 일 예에 따른, 에지 컴퓨팅 시스템 사이에 배치된 분산 컴퓨팅 계층의 개요를 도시한 것이다.
도면들은 축척으로 도시되어 있지 않다. 일반적으로, 도면(들) 및 첨부된 상세한 설명 전체에 걸쳐 동일하거나 유사한 부분을 지칭하기 위해 동일한 참조 번호가 사용될 것이다. 연결 관련어(예컨대, 부착, 결합, 접속 및 연결)는 광범위하게 해석되어야 하며, 달리 언급하지 않는 한 요소들의 집합 사이의 중간 부재 및 요소들 사이의 상대적 이동을 포함할 수 있다. 따라서, 연결 관련어는 두 요소가 반드시 직접 연결되고 서로 고정된 관계에 있다고 추론하지 않는다.
"제1", "제2", "제3" 등의 용어는 본 명세서에서 별개로 참조될 수 있는 다수 요소들 또는 구성요소들을 식별할 때 사용된다. 사용 맥락에 기초하여 달리 지정되거나 이해되지 않는 한, 이러한 용어는 목록의 우선 순위, 물리적 순서 또는 배열 또는 시간 순서의 의미를 나타내고자 하는 것이 아니며, 단지 개시된 예들을 쉽게 이해할 수 있도록 다수의 요소들 또는 구성 요소들을 구별하여 지칭하기 위한 표시로 사용된다. 일부 예에서, "제1"이란 용어는 상세한 설명에서 한 요소를 나타내는 데 사용될 수 있지만, 동일한 요소가 청구범위에서는 "제2" 또는 "제3"과 같은 다른 용어로 지칭될 수도 있다. 이 경우, 그러한 용어는 단지 다수의 요소들 또는 구성요소들을 쉽게 지칭하기 위해 사용될 뿐이라는 것을 이해해야 한다. 본 명세서에 사용된 바와 같이, "대략" 및 "약"이라는 표현은 제조 공차 및/또는 기타 실제 세계의 불완전성으로 인해 정확하지 않을 수 있는 치수를 나타낸다. 본 명세서에 사용된 "실질적으로 실시간"이란 표현은 현실 세계에서 계산 시간이나 전송 등에서 있을 수 있는 지연을 느낄 수 있는 정도의 거의 순간적으로 일어나는 것을 나타낸다. 따라서 달리 지정되지 않는 한 "실질적으로 실시간"은 실시간 +/- 1초를 나타낸다.
일반적인 수준에서 에지 컴퓨팅은, 총 소유 비용을 최적화하고 애플리케이션 지연을 줄이며, 서비스 기능을 개선하고 보안 또는 데이터 개인 정보 보호 요구 사항에 대한 규정 준수를 개선하기 위해, 컴퓨팅 및 저장 리소스를 엔드포인트 장치(예컨대, 소비자 컴퓨팅 장치, 사용자 장비 등)에 더 가까이로 이동시키는 것을 의미한다. 일부 시나리오에서, 에지 컴퓨팅은 다양한 유형의 저장 및 컴퓨팅 리소스 사이에서 애플리케이션을 조율하고 관리하는 클라우드같은 분산 서비스를 제공한다. 그 결과, 이전에 대규모 원격 데이터 센터에서만 사용할 수 있었던 강력한 컴퓨팅 리소스가 엔드포인트에 더 가깝게 이동해서 네트워크의 "에지"에서 소비자가 사용할 수 있게 되었으므로, 에지 컴퓨팅의 일부 구현을 "에지 클라우드" 또는 "포그(fog)"라고도 한다.
모바일 네트워크 설정에서의 에지 컴퓨팅 사용 사례는 "모바일 에지 컴퓨팅"이라고도 하는 다중 액세스 에지 컴퓨팅(Multi-access Edge Computing: MEC) 접근 방식과의 통합을 위해 개발되었다. MEC 접근 방식은 애플리케이션 개발자와 콘텐츠 제공자가 네트워크 에지의 동적 모바일 네트워크 설정에서 컴퓨팅 기능과 정보 기술(IT) 서비스 환경에 액세스할 수 있도록 설계되었다. MEC 시스템, 플랫폼, 호스트, 서비스 및 애플리케이션의 작동을 위한 공통 인터페이스를 정의하기 위해 ETSI(European Telecommunications Standards Institute) ISG(industry specification group)에 의해 제한된 표준이 개발되었다.
에지 컴퓨팅, 위성 에지 컴퓨팅(예컨대, 위성을 통해 인터넷에 연결된 에지 노드), MEC 및 관련 기술은 기존 클라우드 네트워크 서비스 및 광역 네트워크 접속에서 제공되는 것보다 감소된 지연, 증가된 응답성 및 더 많은 가용 컴퓨팅 성능을 제공하려고 시도한다. 그러나, 이동성 및 동적 론칭 서비스를 일부 모바일 사용 및 장치 처리 사용 사례에 통합하면, 오케스트레이션(orchestration), 기능 조정 및 리소스 관리와 관련하여, 특히 많은 참가자(예컨대, 장치, 호스트, 세입자, 서비스 제공자, 운영자 등)가 참여하는 복잡한 이동성 설정과 관련하여 한계나 문제가 발생했다.
유사한 방식으로, 사물 인터넷(IoT) 네트워크 및 장치는 다양한 엔드포인트로부터 분산 컴퓨팅 구성을 제공하도록 설계된다. IoT 장치는 네트워크에서 통신할 수 있는 물리적 또는 가상화된 객체일 수 있으며, 실제 환경에서 데이터를 수집하거나 작업을 수행하는 데 사용될 수 있는 센서, 액추에이터 및 기타 입력/출력 컴포넌트를 포함할 수 있다. 예를 들어, IoT 장치는 건물, 차량, 패키지 등과 같은 일상적인 사물에 내장되거나 부착되어 사물에 대한 추가적인 수준의 인공적인 감각 인식을 제공하는 저전력 엔드포인트 장치를 포함할 수 있다. IoT 장치가 대중화되면서 이러한 장치를 사용하는 애플리케이션이 확산되었다.
일부 예들에서, 에지 환경은 엔터프라이즈 에지와의 통신 및/또는 엔터프라이즈 에지 내의 통신이 무선 및/또는 유선 연결을 통해 촉진될 수 있는 엔터프라이즈 에지를 포함할 수 있다. 다양한 에지(Edge), 포그(Fog), MEC 및 IoT 네트워크, 장치 및 서비스의 배치로, 네트워크 에지에서 발생하는 다양한 고급 사용 사례 및 시나리오가 도입되었다. 그러나, 이러한 고급 사용 사례는 다른 많은 문제 중에서도 보안, 처리 및 네트워크 리소스, 서비스 가용성 및 효율성과 관련된 대응하는 다수의 기술적인 과제가 생겨났다. 이러한 과제 중 하나는 데이터 무결성 및/또는 데이터 제한을 결정하기 위한 출처 설정을 비롯하여 엔드포인트 장치를 대신하여 워크로드를 실행하는 에지(Edge), 포그(Fog), MEC 및 IoT 네트워크, 장치 및 서비스와 관련이 있다.
본 기술 및 구성은 현재 네트워킹 시스템의 많은 양태와 관련하여 활용될 수 있지만, 에지 클라우드, IoT, MEC 및 기타 분산 컴퓨팅 배치를 참조하여 제공된다. 다음 시스템 및 기술은 다양한 분산, 가상화 또는 관리 에지 컴퓨팅 시스템에서 구현되거나 확장될 수 있다. 이들은, MEC, 4세대(4G) 또는 5세대(5G) 무선 네트워크 구성을 사용하여 네트워크 서비스를 구현하거나 관리하는 환경, 또는 광섬유, 구리 및/또는 다른 접속을 포함하는 유선 네트워크 구성의 환경을 포함한다. 또한, 각각의 컴퓨팅 구성요소에 의한 처리 양태는 사용자 장비 또는 스마트폰, 차량 통신 구성요소, IoT 장치 등과 같은 다른 엔드포인트 위치에 지리적으로 근접한 계산 요소를 포함할 수 있다. 또한, 현재 개시된 기술은 다른 Edge/MEC/IoT 네트워크 통신 표준 및 구성, 기타 중간 처리 엔티티 및 아키텍처와 관련될 수 있다.
에지 컴퓨팅은 일반적으로 데이터를 생성하고 소비하는 엔드포인트 장치에 훨씬 더 가까이에 있는 기지국, 게이트웨이, 네트워크 라우터 또는 기타 장치에서 구현되는 컴퓨팅 플랫폼의 사용을 통해 네트워크의 "에지"에서 또는 에지에 더 가까이에서 컴퓨팅이 수행되는 개발 패러다임이다. 예를 들어, 에지 게이트웨이 서버는 접속된 클라이언트 장치에 대한 저지연 사용 사례(예컨대, 자율 주행 또는 비디오 감시)에 대해 실시간으로 계산을 수행하기 위해 메모리 및 저장 리소스의 풀을 구비할 수 있다. 또는 예를 들어, 기지국은 더 이상 백홀 네트워크를 통해 데이터를 통신하지 않고, 접속된 사용자 장비에 대한 서비스 워크로드를 직접 처리하기 위해 컴퓨팅 및 가속 리소스로 보강될 수 있다. 또는 다른 예로서, 중앙국 네트워크 관리 하드웨어는, 가상화된 네트워크 기능을 수행하고 접속된 장치에 대한 서비스 및 소비자 기능 실행을 위한 컴퓨팅 리소스를 제공하는 컴퓨팅 하드웨어로 대체될 수 있다.
에지 환경은 클라우드 환경과 엔드포인트 환경 사이에 위치하는 네트워크 및/또는 네트워크의 일부를 포함한다. 에지 환경은 네트워크의 에지에서 워크로드의 계산을 할 수 있게 한다. 예를 들어, 엔드포인트 장치(예컨대, 사용자 장치)는 클라우드 환경에서 중앙 서버가 아닌 주변 기지국에 워크로드를 계산하도록 요청할 수 있다. 에지 환경은 메모리 풀, 저장 리소스 및 처리 리소스를 포함하는 에지 서비스(예컨대, EPH(edge platform for hire))를 포함한다. 일부 예에서, 에지 환경은 하나 이상의 에지 서비스를 포함할 수 있는 EaaS(Edge as a Service)를 포함할 수 있다. 에지 서비스는 다른 에지 서비스, 에지 노드(예컨대, EPH 노드), 엔드포인트 장치 등을 대신하여 워크로드 실행과 같은 계산을 수행한다. 에지 환경은 생산자(예컨대, 워크로드 실행자, 에지 서비스)와 소비자(예컨대, 기타 에지 서비스, 엔드포인트 장치) 사이의 접속을 용이하게 한다.
에지 서비스는 클라우드 환경의 중앙 집중식 서버보다 엔드포인트 장치에 더 가깝기 때문에, 에지 서비스는 클라우드 환경보다 더 낮은 지연(예컨대, 응답 시간)으로 워크로드의 계산을 가능하게 한다. 에지 서비스는 지리적 위치 또는 네트워크 지형에 기초하여 워크로드의 로컬 실행을 가능하게 할 수도 있다. 예를 들어, 엔드포인트 장치는 워크로드가 제1 지역에서 실행되도록 요구할 수 있지만, 중앙 집중식 서버는 제2 지역에 위치할 수 있다. 엔드포인트 장치는 기업 또는 규제 제한을 준수하기 위해 제1 지역에 위치한 에지 서비스에 의해 워크로드 실행을 요청할 수 있다.
에지 환경에서(예컨대, EaaS를 통해, 에지 서비스를 통해, EPH 노드에서 등) 실행되는 워크로드의 예는 자율 주행 계산, 비디오 감시 모니터링, 기계 학습 모델 실행 및 실시간 데이터 분석을 포함한다. 워크로드의 추가적인 예는 미디어 스트림 전달 및/또는 인코딩, 광고 노출률 측정, 미디어 스트림의 객체 감지, 음성 분석, 자산 및/또는 인벤토리 관리, 및 증강 현실 처리를 포함한다.
일부 예에서, 에지 서비스는 클라우드 환경에서 서버의 응답 시간보다 낮은 응답 시간으로 워크로드의 실행 및 실행된 워크로드의 결과를 엔드포인트 장치로 반환하는 것을 모두 가능하게 한다. 예를 들어, 에지 서비스가 클라우드 서버보다 네트워크 상에서 엔드포인트 장치에 더 가까운 위치에 있는 경우, 에지 서비스는 엔드포인트 장치로부터의 워크로드 실행 요청에 대해 클라우드 서버보다 더 빠르게 응답할 수 있다. 엔드포인트 장치는 클라우드 서버보다 에지 서비스에서 시간이 제한된 워크로드의 실행을 요청할 수 있다.
또한, 에지 서비스는 워크로드 실행의 분산 및 탈중앙화를 가능하게 한다. 예를 들어, 엔드포인트 장치는 제1 워크로드 실행 및 제2 워크로드 실행을 요청할 수 있다. 일부 예에서, 클라우드 서버는 두 워크로드 실행 요청 모두에 응답할 수 있다. 그러나, 에지 환경에서는 제1 에지 서비스가 제1 워크로드 실행 요청을 실행할 수 있고, 제2 에지 서비스가 제2 워크로드 실행 요청을 실행할 수 있다.
엔드포인트 장치를 대신하여 워크로드의 실행을 용이하게 하기 위해 에지 환경에 추가적인 처인프라스트럭이 포함될 수 있다. 예를 들어, 오케스트레이터는 엔드포인트 장치로부터의 워크로드 실행 요청에 액세스하고 복수의 에지 노드에 제안(offers)을 제공할 수 있다. 제안은 실행할 워크로드에 대한 설명과 에너지 및 리소스 제약 조건에 대한 용어를 포함할 수 있다. 에지 노드(예컨대, EPH 노드)는 제안을 수락하고, 워크로드를 실행하며, 에지 환경의 인프라스트럭처 및/또는 엔드포인트 장치에 실행 결과를 제공할 수 있다.
EaaS(Edge as a Service) 생태계에서(예컨대, 에지 환경에서, EPH를 통해, 에지 인프라스트럭처 요소 등을 통해) 서비스의 전달은 EaaS 서비스 구독자(예컨대, 엔드포인트 장치, 사용자 장치 등)가 에지 서비스에 대한 액세스 비용을 지불하는 비지니스 모델을 포함할 수 있다. 일부 예에서, 엔드포인트 장치는 소액 결제, 크레딧, 토큰, 전자 화폐 등을 통해 에지 서비스(예컨대, 워크로드 실행)에 대해 비용을 지불할 수 있다. 일부 예에서, 수익 모델은, SLA(service-level agreement) 계약을 체결하여 에지 서비스에 대한 비용을 지불하는 방법으로 가입자 기반(예컨대, 하나 이상의 네트워크)의 구독을 유지하는 모바일 네트워크 운영자(MNO)를 포함할 수 있다. 예를 들어, SLA는 하나 이상의 SLO(service level objective)를 포함할 수 있다. SLO는 가동 시간, 응답 시간 등과 같은 메트릭을 포함할 수 있다. 어떤 예에서는, SLA가 일종의 SLO를 달성하는 데 사용되는 리소스에 해당한다. 예를 들어, SLA는 인공 지능 모델 등의 초당 30프레임의 SLO를 달성하기 위해 코어 수, 메모리 대역폭 등을 지정한다. MNO에 의해 실행 및/또는 관리되는 계정은 이후 구독자 계정에 적용되는 청구 가능한 서비스를 결정할 수 있다.
특정 예에서, 단일 리소스 또는 엔티티는 하나 이상의 SLO를 사용하여 리소스를 관리하면서 에지 환경에서 다수의 SLA를 협상하고 관리할 수 있다. 예를 들어, SLO는 에지 클라우드 환경을 기반으로 한다. SLO는 서비스 내에서 인스턴스화될 수 있다. SLA는 관련 리소스 내에서 인스턴스화된다. 다수 SLA가 특정 리소스에 대해 경쟁할 수 있다. 특정 예에서, SLA는 연관된 신뢰 수준으로 그룹화될 수 있다. SLA의 그룹화는 요건, 신뢰, 사용자/장치 유형 등에 따라 동적일 수 있다. 예를 들어, 그룹 키는 SLA와 연관될 수 있다. 특정 예에서, 서로 다른 테넌트, 엔티티, 리소스 및/또는 기타 행위자가 함께 작업하여 하나 이상의 SLO, SLA 등을 추진할 수 있다.
따라서, 에지 및 IoT 아키텍처는 독점 콘텐츠 또는 지적 재산(IP)을 나타내는 명령 및/또는 회로 블록을 포함하는 파이프라인에 크게 의존할 수 있다. 이러한 IP 블록은, 예를 들어, 가속기(예컨대, 그래픽 처리 장치(GPU), 뉴로모픽 컴퓨터, 코프로세서, TEE(Trusted Execution Environment) 등)에서 실행되는 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 회로(예컨대, 하드웨어, 펌웨어 등)의 설계에 포함될 수 있다. 특정 예들은 동일한 플랫폼 및/또는 다른 플랫폼(예컨대, 가속기들 간의 피어 투 피어 링크를 포함)에 걸쳐 실행되는 상이한 IP 블록 집합들 간의 접속을 제공한다. 특정 예에서, 공급망은 상이한 공급자(예컨대, ODM(original design manufacturer), OEM(Original Equipment Manufacturer), OCM(Original component Manufacturer) 등)로부터의 칩렛, 시스템 온 칩(SoC), 라인 카드 등으로 소싱되는 IP 블록들 사이의 복수의 이러한 접속의 통합을 포함할 수 있다. 솔루션 제공자 공급망 엔티티는 플랫폼, 마더보드, SoC 등에 추가로 통합될 수 있다. 이러한 다양한 구성에서 공급자들 간의 신뢰 관계는 다양할 수 있다. 따라서, 상이한 제공자들 간에 공유되는 블록의 IP는 관련 칩렛, SoC, 라인 카드 등의 라이프사이클 동안 보호되어야 한다.
에지 컴퓨팅 및 관련 IoT 기술의 급속한 성장은 독점 기술, 명령 및/또는 데이터의 신뢰할 수 있는 통합 및/또는 상호 연결에 대한 과제와 기회를 제시한다. 컴퓨팅 인프라스트럭처가 이기종이고, 상이한 시스템들이 상이한 위치에서 유지되고 상이한 장애 프로파일에 영향을 받으며, 불균일한 통신 및 지역화되지 않은 배치로 인해 타이밍 이상이 발생할 가능성이 더 높고, 전력 제약 및 대역폭 제약이 있는 작업 분배와 같은 기타 난제가 존재하는 네트워크 에지에서 문제가 더욱 복잡해질 수 있다. 이들 복잡성에 더하여, 서로 다른 에지 위치는 서로 다른 신뢰 경계에 속할 수 있다는 문제가 있다. 따라서, 예를 들어, 느슨하게 결합된 상호 작용에서 서로 다른 마이크로서비스에 걸쳐 있는 일련의 작업은 소프트웨어 실행과 관련하여 투명하거나, 반투명하거나, 불투명할 수도 있다. 본 명세서에서 사용된 바와 같이, "마이크로서비스", "서비스", "작업", "동작" 및 "기능"이라는 용어는 에지 컴퓨팅 및/또는 기타 IoT 환경과 같은 컴퓨팅 인프라스트럭처를 사용하여 실행하기 위한 애플리케이션, 프로세스 및/또는 기타 소프트웨어 코드(프로그램 코드라고도 함)를 나타내기 위해 상호 교환적으로 사용될 수 있다.
본 명세서에 개시된 예들은 상호접속된 플랫폼에서 독점 기능 블록의 분리를 제공한다. 특정 예는, 칩렛, IP 블록, SoC, 다중 칩 패키지(MCP) 등과 같은 회로 또는 프로세서 요소들 사이의 통신 인터페이스의 도메인 간 스크램블링이 벤더 또는 IP 소유자 도메인을 교차하는 각 인터페이스 쌍 사이에서 협상되게 하는 상호 작용을 가능하게 하는 통합기를 제공한다. 각 도메인(예컨대, 각 독점 또는 IP 기여자)은 자체 스크램블을 제어하는 독점 IP의 노출을 효과적으로 제어한다. 예를 들어, SoC 라이프사이클의 여러 단계들(예컨대, 개발 및 테스트 단계, 생산 환경에서의 사용, 제어된 폐기 지점)에서, 도메인에 의해 사용된 솔트 값은 플랫폼 상의 다른 행위자가 SoC 라이프사이클의 다른 지점에서 사용된 독점 명령 또는 값을 중계하지 못하게 한다. 따라서, 가상 머신 관리자로부터 입력/출력 격리, 암호화된 이미지, 플랫폼 입력/출력 링크의 보호 등을 할 수 있게 하기 위해 요소들 간의 분리 또는 선택적으로 활성화된 상호 작용이 사용될 수 있다.
특정 예는 모델 내에서 독점 콘텐츠 또는 IP의 손실 또는 무단 공개의 위험 없이 머신 러닝(ML) 모델, 딥 러닝(DL) 모델 등과 같은 인공 지능(AI) 모델의 배치를 가능하게 한다. 따라서, 여러 독점 모델 간의 상호 작용을 통해 제공되는 이점이, 예를 들어, 플랫폼 내(또는 플랫폼 간) 권한 없는 엔티티에 독점 콘텐츠를 노출하지 않고도 얻어질 수 있다.
본 명세서에 기술되고 개시되는 예들은 다양한 처리 플랫폼, 회로, 컴퓨팅 아키텍처 등에 적용가능하지만, 특정 예들은 복수의 칩렛으로 형성된 예시적인 SoC의 맥락에서 기술된다. 본 명세서에 사용된 바와 같이, 칩렛은 특정 기능(들)을 수행하고 더 큰 칩 또는 회로를 형성하기 위해 다른 칩렛과 함께 작동하도록 설계된 모듈식 집적 회로 블록이다. 예를 들어, SoC가 단일 프로세스 노드 크기의 단일 실리콘 조각에 모든 기능이 설계된 모놀리식 칩으로 구현되기보다는, SoC의 칩렛 아키텍처는 기판을 통해 상호접속된 물리적으로 분리된 조각으로 분할된 칩 기능을 포함한다. 회로 또는 칩렛을 분리하면, 다양한 노드 크기를 사용할 수 있으므로 별도의 칩렛에서 상이한 기능을 개별적으로 최적화할 수 있다. 또한, IP 블록은, 예를 들어, 기존 기능 블록이 새로운 목적을 제공하도록 조정될 수 있도록 칩렛 아키텍처에서 교환되거나 조정될 수 있다.
도 1은 독점 IP를 표현하거나 구현하는 복수의 AI 모델(110 내지 140)을 포함하는 예시적인 파이프라인(100)이다. 도 1의 예에 도시된 바와 같이, 예시적인 모델 중 일부(110-120)는 병렬로 실행되고, 예시적인 모델 중 일부(130-140)는 직렬로 실행된다. 따라서, 예시적인 모델(110)은 입력(150)을 수신하고, 예시적인 모델(120)은 입력(160)을 수신한다. 두 모델(110, 120)의 출력은 예시적인 모델(130)에 입력을 제공하고, 예시적인 모델(130)의 출력은 예시적인 모델(140)에 입력을 제공한다. 예시적인 모델(140)의 출력(170)은 SoC, 에지 장치, 칩렛 등과 같은 시스템의 다른 요소에 의해 사용될 수 있다. 도 1의 예시적인 파이프라인(100)의 예시적인 모델들(110 내지 140) 사이에 하나 이상의 제어 신호가 교환될 수 있다.
모델(110-140)의 독점 콘텐츠는 각 모델(110-140)과 연관된 정책 매니페스트(115-145)를 사용하여 침입, 절도, 노출 등으로부터 보호될 수 있다. 정책 매니페스트(115-145)는, 예를 들어, 모델(110-140)에서 발견된 벤더 IP를 보호하기 위해 허용 및 불허되는 작업, 교환, 마스크, 증명 규칙 등을 특정한다. 정책 매니페스트(115-145)는 모델의 라이프사이클의 여러 단계(예컨대, 저장, 실행, 폐기 등)를 관리하는 규칙을 포함할 수 있다. 예시적인 매니페스트(115-145)는, 하나 이상의 모델(110-140)을 식별하고 주어진 모델(110-140)이 하나 이상의 다른 모델(110-140)에 대해 이용가능한 것을 지정하는 메타데이터(예컨대, 토큰 등)를 포함할 수 있다. 증명 규칙은, 예를 들어, 모델(110-140)의 특정 양태에 액세스하기 위해 모델(110-140)이 다른 엔티티를 인증/검증할 수 있는 사람 및 방법을 지정할 수 있다. 특정 예들에서, 매니페스트(115-145)는 입력을 가져오고, 출력을 제공하는 등을 위해 관련 모델들(110-140) 간의 상호작용을 관리하도록 애플리케이션 프로그래밍 인터페이스(API)를 정의하는 데 사용될 수 있다.
특정 예들에서, 예시적인 파이프라인(100)은 공급망 생태계에서 구현될 수 있다. 모델(들)(110-140)은 다른 벤더에서 제공될 수 있으며, 벤더는, 예컨대 최종 고객/사용자에게 부과될 수 있는 금전적 책임, 형사적 책임 등을 포함하여 제각기의 모델(들)(110-140)의 무단 사용에 대한 책임을 부과할 수 있다. 모델들(110-140) 사이의 노출 또는 상호접속은 유용한 출력(170)을 구동하기 위한 통합을 제공하지만, 모델(110-140) 콘텐츠의 완전한 투명성 또는 공유를 가능하게 하는 신뢰 수준이 존재하지 않을 수 있다.
도 2는 복수의 소스로부터의 독점 모델 및 콘텐츠를 통합하는 예시적인 아키텍처(200)를 도시한 것이다. 도 2의 예에 도시된 바와 같이, 복수의 AI 모델(210-240)이 음성을 처리하고 화자를 식별하도록 통합된다. 도 2의 예에 도시된 바와 같이, 제1 음성 신경망 모델(210)은 제2 음성 신경망 모델(220)에 생체 측정 검증(0)을 제공하는데, 이는 개인 생체 측정(2)을 제1 모델(210)과 매칭하고 음성 정보(1)를 음성 가속기(230)로 오프로드한다. 음성 가속기(230)는 검증 및 매칭을 돕기 위해 제2 모델(220)에 피드백을 제공한다. 제1 모델(210)은 또한 비디오 신경망 모델(240)과 상호작용하여 음성과 연관된 사람을 검증(3) 및 식별(4)한다.
도 2의 예에서, 제1 모델(210) 및 제2 모델(220)은 제공자 A에 의해 제공되는 반면, 음성 가속기(230)는 제공자 B에 의해 제공된다. 도 2의 예에서, 비디오 모델(240)은 제공자 C에 의해 제공된다. 따라서, 제공자 A로부터의 독점 정보는 모델(210, 220)에 포함된다. 제공자 B로부터의 독점 정보는 음성 가속기(230)에 포함된다. 제공자 C로부터의 독점 정보는 비디오 모델(240)에 포함된다. 또한, 도 2의 예에 도시된 바와 같이, 제1 모델(210)은 중앙 처리 장치(CPU), GPU 등과 같은 프로세서(250)를 사용하여 구현될 수 있다. 예시적인 제2 모델(220), 음성 가속기(230), 및 비디오 신경망 모델(240)은 FPGA(260) 등과 같은 별개의 칩 상에 구현될 수 있다. CPU(250)는 제1 도메인을 형성하고, FPGA(260)는 제2 도메인을 형성한다. 예시적인 아키텍처(200)는, 모델(210-240) 및 처리 회로(250-260)의 조합을 사용하여, 신뢰를 제한하고, 감소된 신뢰 수준에서 동작하는 등에 사용될 수 있으며, 클라우드 서비스 제공자(CSP), 통신 서비스 제공자(CoSP) 등을 통해 CPU(250)의 제1 도메인과 FPGA(260)의 제2 도메인 모두에 걸쳐 여전히 통합 서비스를 제공한다. 각 모델(210-240)에 의해 및/또는 이와 함께 저장된 규칙 및/또는 기타 인터페이스 사양은 모델들(210-240) 사이, 도메인들(250-260) 사이 등의 상호 작용을 관리하는 데 사용될 수 있다.
이러한 환경에서, 다수의 제공자 A, B, 및 C는, 여전히 예시적인 아키텍처(200)의 기능(들)을 수행하며 서로 분리될 수 없는 모델(210-240)을 제공한다. 그러나, 경쟁 제공자는 모델(210-240)에서 제공된 다른 제공자의 IP를 리버스 엔지니어링하려고 할 수 있다. 예를 들어, 시스템 버스 트래픽 등의 분석을 통해 제공자는 다른 제공자의 IP에 대한 인사이트를 얻을 수 있다.
회로 생산(예컨대, SoC 생산 등)은 공동 테스트 및 디버깅, 사이드 채널 분석에 대한 취약성 및/또는 지연이 최소로 추가된 여러 당사자의 여러 로직 모듈 사이에 교환되는 타이밍 임계 신호와 같은 효율적인 통신 및 품질 보증을 포함한다. 그러나, 서로로부터 칩렛을 방화벽으로 보호하거나 칩렛 간의 신호를 암호화하는 것은 바람직하지도 실용적이지도 않는다. 이들 제약을 해결하기 위해 특정 예는 칩, 칩렛 및/또는 기타 회로의 폐기를 위한 안전한 방법과 함께 공동 제조 및 테스트/디버깅을 방해하지 않는 반투명성 조치를 제공한다.
특정 예에서, 칩렛, IP 블록 또는 모델, SoC, MCP(예컨대, 논리 신호) 등과 같은 통신 인터페이스의 도메인 간 스크램블링이 벤더 도메인 양쪽의 가로지르는 인터페이스 쌍 사이에서 협상된다. 예를 들어, 각 도메인(예컨대, 각 IP 벤더 등)은 모델의 독점 정보를 스크램블, 암호화 또는 난독화하기 위한 값(예컨대, 키, 난수, 솔트 값, 기타 콘텐츠 등)을 사용하여 해당 모델 내 독점 정보의 노출을 제어한다. 예를 들어, 개발 및 테스트 단계, 생산 환경 사용 단계, 및 제어된 폐기 단계와 같은 회로의 라이프사이클의 여러 단계에서, 도메인에서 사용하는 솔트 값 및/또는 기타 시드는 다른 당사자가 액세스하는 것 또는 라이프사이클의 다른 지점에서 사용된 독점 콘텐츠를 노출하는 것을 방지한다. 따라서, 독점 콘텐츠의 손실 또는 무단 공개의 위험 없이 플랫폼의 라이프사이클 동안 하나 이상의 모델을 통해 독점 콘텐츠가 활용될 수 있다.
전통적인 데이터 흐름 채널 보호(예컨대, 암호화-복호화)는, 공급망의 당사자들 간의 더욱 긴밀한 협력은 값을 전달할 때 신뢰를 수반하기 때문에, 바람직하지 않거나 효과적이지 않다. 따라서, 당사자들은 제한된 정도로 서로를 신뢰할 수 있어야 하며, 회로 테스트 및 디버깅 중에 공유 기판을 파괴하여 발생할 수 있는 신뢰의 악용을 방지할 수 있어야 한다. 즉, 주요 거래/설계 비밀에 대해 리버스 엔지니어링이 엄청나게 번거롭도록 라이프사이클의 여러 단계에서 통신을 관리하는 규칙을 변경할 수 있어야 한다. 특정 예는 회로 또는 처리 플랫폼 라이프사이클의 단계들을 통해 적응형 보안 제어를 제공한다.
흔히, 데이터로부터 트레이닝된 공급망 AI 모델 컴포넌트는 시스템의 다른 컴포넌트들에 대한 블랙 박스로 나타난다. 이러한 모델에 입력이 제공되면, 타겟 모델은 인위적인 테스트 시나리오에서 독점 콘텐츠를 드러내기 위한 게임 또는 공격(예컨대, 데이 제로 공격, 부적절하게 트레이닝된 모델 등 사용)을 감지하지 못할 것이다. 특정 예는 모델의 독점 콘텐츠 및/또는 기능에 대한 액세스를 규제하기 위해 솔트 값 또는 기타 시드에 의존한다. 특정 예는 회로 라이프사이클 전반에 걸쳐 그리고 진화하는 조건(예컨대, 도메인/회로 요소 간의 상호접속 및/또는 통신 변경, 활성화/비활성화 네트워크 AI 모델 등) 하에 규제된 액세스를 가능하게 한다. 규제된 액세스는, 예를 들어, 성능 전달이나 회로 효율성을 희생하지 않으면서 보호 기능을 제공한다.
도 3a는 벤더 A, B, 및 C에 의해 제공되는 복수의 칩렛(310-390)을 포함하는 예시적인 SoC(300)를 도시한 것이다. 칩렛들(310-390)은 도 3a의 예에 도시된 신호 흐름에 따라 연결될 수 있다. 도 3b는 칩렛들(310-390) 사이의 데이터 및 신호 상호접속을 보여주는 예시적인 그래프(395)를 도시한 것이다. 도 4a-4b는 동일 도메인 내 및 도메인들 사이의 예시적인 신호 흐름을 도시한 것이다. 예를 들어, 칩렛(310 및 370)의 포트들 사이, 칩렛(340 및 350)의 포트들 사이 등의 신호 상호 연결은 도메인을 가로질러 발생하며, 이러한 신호는 신호가 도메인을 가로지르기 때문에 어느 당사자도 쉽게 해석하거나 조사할 수 없다. 동일 도메인(예컨대, 칩렛(310 및 360)의 포트들 사이, 칩렛(350 및 370)의 포트들 사이 등) 내에서 발생하는 신호 상호접속은 동일한 도메인 내에 있기 때문에 더 쉽게 해석할 수 있다. 이러한 도메인내 신호 상호접속은, 예를 들어, 칩렛(310, 360)이 포트들의 연결없이 인라인되는 2개의 분리할 수 없는 논리 엔티티로서 나타나도록 최적화될 수 있게 처리될 수 있다. 이러한 최적화 또는 인라이닝은 도메인들 사이에 제공될 수 없다.
도 4a의 예에 도시된 바와 같이, 예시적인 칩렛(310-390)은 칩렛(310-390)을 제공한 벤더 A, B, 또는 C에 기초하여 여러 도메인(410-430)으로 분할된다. 도 4B의 예는 도메인간 트레이스에 따른 도메인(410-430)을 나타낸다. 예를 들어, 도메인(410-430) 내 동작(도메인 내 동작)은 도메인(410-430)(도메인간 동작) 간의 동작과 다른 액세스 규칙 및 관계를 갖는다. 벤더(A, B, 및/또는 C)는 서로 신뢰하지 않을 수 있지만, 벤더 도메인(410-430)은 칩렛(310-390)이 구현되는 플랫폼(예컨대, SoC 등)(440)을 신뢰한다. 플랫폼(440)은, 예를 들어, 칩렛(310-390) 사이의 신호 흐름을 인코딩-디코딩할 수 있다.
특정 예들에서, 물리적 공격을 완화하기 위해 물리적 보호(예컨대, 캡슐화, 패키징 계층에서의 대응책, 변조 탐지 및 대응 방안(예컨대, 테르밋 차지, 비밀 소거 등을 통해) 등)가 플랫폼(440)에 통합될 수 있다. 이러한 물리적 보호는 본 명세서에 개시된 소프트웨어 및/또는 AI 모델 인터페이스 보호와 결합될 수 있다. 이러한 보호 조합을 사용하면, 테스트 인터페이스, 재제조 프로토콜, 제조 라인 테스터, 검증, 재제조 등과 같은 손상된 장비가 기밀 정보의 침입, 악용 및 도난으로부터 보호될 수 있다.
보안 및 보호는 컴퓨팅 플랫폼(예컨대, SoC, 가속기, FPGA, 기타 프로세서 등)의 라이프사이클의 다양한 단계에서 다양한 형태로 제공될 수 있다. 예를 들어, 코드 또는 토큰을 사용하여 다른 모델 또는 회로에서 모델 또는 회로의 독점 정보에 대한 액세스 수준을 결정할 수 있다. 이에 더하여 또는 이에 갈음하여, 동적 연결(dynamic linkage)을 통해 각각의 요소의 구조 또는 콘텐츠의 세부 사항에 대한 인사이트 없이 요소들 간의 명령어, 데이터, 신호 등의 교환을 할 수 있다. 회로 및/또는 모델은 암호화, 물리적 변조 방지 등을 통해 침입에 대해 더욱 강해질 수 있다.
특정 예는 복수의 도메인에 걸쳐 복수의 회로(예컨대, 칩렛, ASIC, FPGA 등)를 처리 플랫폼(예컨대, SOC 등)에 통합하기 위한 관리자를 제공한다. 예시적인 관리자는 도메인에 걸쳐 모델(예컨대, 칩렛 기반 IP 블록 등)에 대한 투명성을 숨기거나 방지하면서 도메인에 걸쳐 회로 간 통신을 용이하게 한다. 예를 들어, 이러한 반투명성(anti-transparency)은 리버스 엔지니어링을 방해하고 모델의 IP를 보호한다. 예를 들어, 엔티티들 사이에 격리 계층을 도입하면, 테스트 작업으로 위장한 불법적인 탐색 작업 등을 물리칠 수 있다.
특정 예들에서, 신뢰를 확립하기 위해, 예시적인 관리자는 신뢰 기반 기능을 포함하도록 구성된 다른 플랫폼 회로(예컨대, 칩렛 등)와 통신한다. 특정 예에서, 관리자는 기능, 콘텐츠 등에 대한 액세스를 규제하기 위해 도 1의 예에 도시된 것과 같은 모델(110-140)의 매니페스트(115-145)와 상호작용할 수 있다. 매니페스트(115-145)는 각 모델(110-140)에 대한 신뢰점(RoT)을 포함할 수 있다.
예를 들어, IoT 신뢰점(예컨대, 장치 식별자 구성 엔진(device identifier composition engine)(DICE) 신뢰점 등)은 예시 컴퓨팅 플랫폼의 관리자, 회로 및 운영 체제에 의해 신뢰되는 신뢰 컴퓨팅 모듈의 기능 세트이다. 신뢰점은, 예를 들어, 제조시 신뢰 앵커를 포함시킴으로써 칩렛 및/또는 기타 회로에 구축되거나 포함될 수 있다. 회로가 플랫폼에 통합되면(예컨대, 칩렛이 SoC 패키지에 배치되는 경우 등) 인증 토큰 값이 협상된다. 인증 토큰 값은, 예를 들어 다른 회로가 인터페이스 핀 뒤에 있는 각 회로 또는 모델 내부의 세부 사항에 액세스하는 것을 방지하기 위해 (논리적으로) 인터페이스 핀을 스크램블하는 데 사용된다. 그러나, 칩 관리자는 인증 토큰(AT[0])을 적용하여 인터페이스를 정정 디코딩할 수 있다. 예를 들어, 주어진 인터페이스 I = 핀(p0, p1, …, pN)에 대해, 인증된 인터페이스(AI[0])는 다음과 같이 일방향 함수(OWF)를 사용하여 결정될 수 있다.
[수학식 1]
AI[0] = OWF(AT[0], I[0])
수학식 1을 사용하여, 인터페이스(I)의 핀이 인증된 인터페이스(AI[0])의 핀에 논리적으로 매핑되면, 매핑된 핀은 통과 매핑(passthrough mappings)이 허용되지 않도록 후속 매핑을 위해 제거된다. 즉, 각각의 x에 대해, OWF는 x를 다른 x가 매핑되지 않은 인터페이스 I의 핀에 매핑한다. 또한 OWF는 핀 x를 자체에 매핑하지 않는다(예컨대, I에 x가 없는 경우, OWF는 통과이다).
특정 예들에서, 회로는 I 및 AI[0]에서 그 요소의 로직에 의해 실제로 요구되는 것보다 더 많은 수의 가능한 핀을 나타내도록 구성될 수 있다. 따라서, 실제 핀 수는 인위적으로 확장된 N 뒤에 마스킹될 수 있다.
이에 더하여 또는 이에 갈음하여, 회로(예컨대, 칩렛, FPGA, SoC, 기타 프로세서 등)는 그 회로에 대한 인터페이스 및 상호작용을 구동하기 위해 회로에 특정한 AT[1]를 협상할 수 있다. 마찬가지로, 다른 서로의 상호작용(pairwise interactions)은 관련 인증 토큰을 가질 수 있다. 예를 들어, 서로의 상호작용은 M개의 서로 다른 도메인-도메인 상호작용에 대한 인증 토큰 AT[2], …, AT[M]과 연관될 수 있다. 이들 인증 토큰과 비교하여, 공격 테스터가 제조 중에 피어 회로(예컨대, 칩렛 등)에서 공격 로직을 프로그래밍하는 데 성공하면, 공격 로직은, 예를 들어 인증 토큰의 DICE AT 값과 다른 DICE AT 값을 초래한다.
또한, 관리자는 인증 토큰의 발행을 중개하여 신뢰할 수 있는 벤더가 가능한 모든 허용가능한 컴포넌트(예컨대, 모든 허용 가능한 SoC 패키지 칩렛 등)를 예상하지 않고 회로 플랫폼 또는 패키지(예컨대, SoC 패키지 등) 내의 공간을 점유하도록 허용하는 정책을 보장하는 것을 도울 수 있다. 배치 후, 회로(예컨대, SoC 등)는 인증 토큰(AT*) 계산에 솔트 값과 같은 랜덤 또는 시드 값을 추가함으로써 가능한 공격으로부터 자신을 분리하거나 격리할 수 있다. 예를 들어, 솔트 값은, 제조 후에 SoC의 소유권을 갖는 고객에 의해 공급될 수 있다. 인증 토큰은 다음과 같이 계산할 수 있다.
[수학식 2]
AI[..] = OWF(AT[..], salt, pins) | (p0→AI[..](0), p1→AI[..] (1), …,
pN→AI[..](N) )
여기서 위 첨자 [..]는 다양한 출하 후(post-shipment) 인증 인터페이스 및 인증 토큰을 나타낸다. 따라서, 회로의 테스트 및 검증 동안 생성된 이전에 획득한 인증 토큰(AT)은, 공격자가 배치된 출하 후 회로 장치와 함께 이들을 사용하려고 할 때, 쓸모가 없게 된다. 따라서, 올바른 인증 인터페이스를 생성하는 효과적인 AT는 조정된 AT 및 고객 또는 다른 최종 사용자가 제공한 솔트 값의 조합이다.
솔트 및/또는 다른 랜덤 시드 값으로 맞춤형 AT의 생성을 가능하게 함으로써, 고객 또는 사용자는 재제조를 위해 제조업체 또는 벤더에게 회로를 반환하기 전에 제조 디폴트 상태로 회로를 재설정할 수 있다. 디폴트 상태에서, 테스트 또는 동작(예컨대, JTAG(Joint Test Access Group) 동작 등)은 배치 상태 또는 모드에서 허용되지 않는다. 또한, 솔트 값 또는 시드 값은, 예를 들어, 솔트를 올바르게 공유하는 도메인만이 올바른 AT 값을 생성할 수 있도록 도메인 특이적일 수 있다.
특정 예에서, 공급망을 통한 AI 모델 및/또는 관련 회로의 예상 흐름을 캡처하기 위해 일련의 솔트 값이 적용될 수 있다. 예를 들어, 도메인 A의 제1 벤더가 제1 솔트(s0)를 생성하고 제2 벤더가 제2 솔트(s1)를 생성하는 경우, 도메인 A가 회로 및/또는 모델을 제한하는 시퀀스는 고유한 솔트 값을 생성할 수 있다. 예를 들어, 도메인 특정 염 값(SDA)은 다음과 같이 계산할 수 있다.
[수학식 3]
Domain-A Salt: SDA = OWF(s0, s1,…,sn)
도메인 A 솔트 값(SDA)은, 전체 프로세서 플랫폼 또는 회로(예컨대, SoC 등)가 다른 도메인의 회로 또는 블록(예컨대, 칩렛 등)을 포함하더라도, 도메인 A 회로의 제어 및 검증이 도메인 A에서만 발생할 수 있도록 관리자 및/또는 다른 회로(예컨대, 칩렛 등)와 공유될 수 있다. 도메인을 결합하는 생산 솔트(SP)는 다음과 같이 추가로 계산할 수 있다.
[수학식 4]
생산 솔트: SP = OWF(SDA, SDB,…, SDn)
고객 특정, 생산 수준 인증 인터페이스는 다음과 같은 적절한 솔트 값을 계산함으로써 결정될 수 있다.
[수학식 5]
고객 솔트: SC = OWF(sC, SP)
그러면 공격자는 인터페이스를 성공적으로 디스크램블링하기 위해 모든 솔트 값을 재생성해야 한다. 이것이 발생한다는 것은 공격자가 공급망의 모든 계층에 침투할 수 있음을 의미한다. 또는, 공격자가 스크램블된 인터페이스를 리버스 엔지니어링하려고 시도할 수 있다. 그러나, 인터페이스 동작을 샘플링하고 샘플을 예상 인터페이스 패턴과 매칭시킴으로써 리버스 엔지니어링을 검출할 수 있다. 따라서, 침입 시도 및/또는 기타 간섭을 감지할 수 있다.
도 5는 SoC(500)에 대한 다양한 기능을 수행하도록 구성된 복수의 칩렛(510-560)을 포함하는 예시적인 다중 칩렛 SoC(500)이다. 예를 들어, 도 5의 예에 도시된 바와 같이, 칩렛들(510-570)의 세트는 칩 관리자(510), 테스트 칩렛(520), 통신 서브시스템(530), 자율 주행 제어기 서브시스템(540), 하나 이상의 프로세서 코어(550-560), 공유 캐시(570) 등을 포함할 수 있다. 예시적인 칩렛(510, 530, 540, 550, 560, 570)은 SoC(500) 내에서 통신을 가능하게 하는 인터페이스(515, 535, 545, 555, 565)를 포함한다. 예시적인 SoC(500)는 또한 SoC(500) 외부의 회로(예컨대, 오프-SoC 로직 등)와 통신하기 위한 외부 인터페이스(580, 590)를 포함한다. 외부 인터페이스(580, 590)는, 예를 들어, 내부 인터페이스(585, 595)를 사용하여 SoC(500) 내에서 통신한다.
예시적인 칩 관리자(510)는 예를 들어, 다른 칩렛(520-570)과의 1차-2차 상호작용을 위한 1차 제어를 제공한다. 예시적인 테스트 칩렛(520)은 SoC(500)의 요소들(530-590)을 테스트하기 위해 복수의 검증 워크로드를 구현한다. 예시적인 칩 관리자(510) 및 예시적인 테스트 칩렛(520)은 공격 기도를 방지하기 위해 사용될 수 있다. 이와 같이, 칩 관리자(510) 및 테스트 칩렛(520)은 통신 서브시스템 칩렛(530), 자율 주행 제어기 서브시스템 칩렛(540), 프로세서 코어(들)(550-560) 등에게 신뢰를 받아야 한다. 배치 시에, 테스트 칩렛(520)은, 예컨대 비활성화될 수 있다. 테스트 칩렛(520)은, 예를 들어, 테스트 후 및 배치 시, 허용되지 않는 특정 자극-반응 패턴을 유도하는 것이 금지될 수 있다. 칩렛(530-570)은, 단독으로 또는 칩 관리자(510) 및/또는 테스트 칩렛(520)과 함께 인증된 토큰을 계산할 수 있다.
특정 예들에서, 칩 관리자(510)는 개별 칩렛들(530-570)이 예시적인 SoC(500) 내에 설정된 도메인들에 대한 액세스를 관리하도록 돕거나 관리할 수 있다. 예시적인 칩 관리자(510)는 칩렛들(530-570)과 인증 토큰 값을 협상하고, 전술한 바와 같이, AT 값은 칩렛 인터페이스 핀을 논리적으로 스크램블하고 칩렛(530-570) 기능에 대한 액세스를 조절하는 데 사용할 수 있다. 예시적인 칩 관리자(510)는 수학식 1과 관련하여 위에서 설명된 바와 같이, AT를 적용함으로써 인터페이스(515-595)를 디코딩할 수 있다. 특정 예들에서, 칩 관리자(510)는 신뢰할 수 있는 칩렛이 SoC 패키지(500) 내의 공간을 점유하는 것을 돕도록 인증 토큰의 발행을 중개할 수 있다. 예시적인 테스트 칩렛(520)은 또한 SoC 플랫폼(500)의 인터페이스(515-595)와의 상호작용을 위해 테스트 칩렛(520)에 특정한 AT를 협상할 수 있다.
특정 예에서, 칩렛(530-570)은 식 2-5와 관련하여 위에서 설명한 바와 같이, AI[0]를 맞춤화하기 위한 솔트 및/또는 다른 시드 값을 도입할 수 있다. 따라서, 테스트 후에, SoC(500)는 테스트 칩렛(520)을 비활성화할 수 있고, 테스트 칩렛(520)과 협상된 이전 AT 값이 SoC(500)의 예시적인 인터페이스(515-595)에 대한 액세스를 더 이상 제공하지 않도록 새로운 값이 생성될 수 있다. 칩 관리자(510)는 칩렛(530-570) 및 인터페이스(580-590)와 상호작용하여 업데이트된 맞춤형 AI[0]에 따라 인터페이스(535-595)와 통신할 수 있다.
도 5는 특정 SoC(500) 구현예를 도시하지만, 전술한 토큰을 사용하는 AT 및 AI[0] 인터페이스 인코딩 및 보안 예는 도 6의 예에 도시된 예시적인 컴퓨팅 또는 처리 장치(600)에 반영될 수 있다. 도 6의 예시적인 컴퓨팅 장치(600)는 예시적인 관리자(610), 예시적인 회로(620-630), 및 예시적인 통신 인터페이스(640)를 포함한다. 예시적인 관리자(610)는 예시적인 프로세서(611), 예시적인 메모리(613)(또한 메모리 회로라고도 함), 및 예시적인 인터페이스(615)를 포함한다. 예시적인 회로(620-630)는 예시적인 프로세서(621-631), 예시적인 메모리(623-633), 관리자(610)와 그리고 서로 통신하기 위한 예시적인 인터페이스(625-635)를 포함한다. 예시적인 통신 인터페이스(640)는 컴퓨팅 장치(600) 내의 예시적인 관리자(610) 및 회로(620-630)와 통신하기 위한 내부 통신 인터페이스(645)와, 예시적인 컴퓨팅 장치(600) 외부의 회로 및 기타 요소들과 통신하기 위한 외부 통신 인터페이스(647)를 포함한다.
예시적인 회로(620-630)는 예시적인 회로(620-630)의 AI 모델 및/또는 다른 독점 콘텐츠, 기능 등을 나타내는 예시적인 모델(627-637)을 더 포함한다. 예시적인 모델(627-637)은 예시적인 메모리(623-633)에 저장될 수 있고/있거나 예시적인 프로세서(621-631)를 사용하여 구현될 수 있다. 예시적인 모델(627-637)은 예시적인 회로(620-630)의 제각기의 인터페이스(625-635)를 통해(예컨대, 인증된 토큰을 사용하거나, 인증된 인터페이스를 통하거나 하여) 액세스된다. 따라서, 상이한 도메인(예컨대, 상이한 공급자, 벤더, 소스 등으로부터)의 회로(620-630)는 자신의 인터페이스(625-635)를 통해 통신을 협상(예컨대, 직접 또는 예시 관리자(610)를 통해)하여, 제각기의 회로(620-630)의 기능을 활용하여 독점 콘텐츠가 노출되는 것을 보호하면서 컴퓨팅 장치(300)에서 컴퓨팅 기능을 실행 및/또는 인스턴스화할 수 있다.
특정 예에서, 독점 콘텐츠/정보를 반영하는 모델 파라미터도 공개되지 않도록 보호되어야 한다. 민감한 IP의 교환을 금지하는 도메인 간의 인증된 인터페이스가 있더라도, 모델 파라미터가 현장에서 미세 조정되어야 하거나 SoC(500) 및/또는 기타 컴퓨팅 장치(600)로 유선 업데이트 또는 무선 업데이트되어야 한다면, 이러한 기회 업데이트(opportunity update)는 보호해야 할 잠재적인 공격 면(attack surface)을 제공한다. SoC(500) 및/또는 다른 컴퓨팅 장치(600)까지의 통신이 암호화되더라도, 모델 파라미터 및/또는 기타 민감한 값의 온칩 저장은 보호되는 것이 바람직하다.
특정 예에서, 관리자(610)는 암호화된 값 저장소의 역할을 하는 메모리(613)를 제공하는데, 이 메모리는 암호화 및 동작 비밀(예컨대, 솔트 값, 증명 키 등)도 저장한다. 메모리(613)의 암호화된 값 저장소에 액세스하는 각 도메인은, 예를 들어, 암호화된 값 저장소에 액세스하기 위해 컴포넌트 자체의 전자 서명에 연결된(따라서 복제 또는 위조가 불가능한) 인증 토큰을 제공한다. SoC(500) 및/또는 다른 컴퓨팅 장치(600)의 오프라인 물리적 변조는, 적어도 파라미터가 SoC(500)/컴퓨팅 장치(600)의 작동 동안에만 실현되기 때문에 메모리(613)에서 이들 파라미터를 노출하는 데 실패한다. SoC(500)/컴퓨팅 장치(600)의 라이브 동작에서 복호되고 사용되면, 민감한 값은 인터페이스(515-595, 615-645)가 스크램블되는지 여부에 관계없이 각 컴포넌트의 내부에 남아 있고 인터페이스 동작을 통해 해독할 수 없다.
특정 예는 회로(620-630) 및/또는 이들의 모델(627-637)에 의해 실행되는 애플리케이션들 사이를 분리한다(예컨대, 소프트웨어 가드 확장, 다중 키 총 메모리 암호화, 컨테이너 암호화 기술, 신뢰 도메인 확장 등을 사용하여). 이에 더하여 또는 이에 갈음하여, 주소 공간 내에서의 소프트웨어 액세스 제어를 시행하는 것을 돕기 위한 주소 공간 내 보호를 위해 스레드 레벨 메모리 보호가 적용될 수 있다.
특정 예에서, IP에 대한 제어된 노출은, 특히 서로 다른 벤더의 서로 다른 유형의 IP가 뒤얽혀 있는 경우(예컨대, 캡슐화되지 않은 인터페이스, 메모리 변수를 통한 통신 등에서), IP의 개발, 테스트, 조정, 배치, 사용 중지 및 리셋을 포함하는 복수의 라이프사이클 스테이지를 통해 용이해진다. 제어된 노출은 소프트웨어 IP의 통합, 배치 또는 폐기의 다양한 단계에서 부적절한 액세스를 실행하기 어렵게 만들고 숨기기가 매우 어렵게 만든다.
특정 예는 모듈 수준 소프트웨어 보호를 제공한다. 동일한 IP 도메인에 속하는 모듈들은 직접 연결을 위해 로드 시간 또는 그 이전에 사전 링크(pre-linked) 및 리졸빙될(resolved) 수 있다. 이들 모듈은 도메인 내에서 서로를 효율적으로 호출할 수 있는 여러 내부 모듈을 포함하는 단일 가상 모듈이 된다. 도메인 외부의 모듈의 경우, 트램펄린 메커니즘(예컨대, 간접 점프 벡터)을 사용하여, 예를 들어, 단일 가상 모듈을 호출할 수 있다. 동일한 IP 벤더/공급자에 속하는 모듈들(Ma 및 Mb) 사이의 함수 호출 또는 액세스는 민감한 경계(예컨대, 동일한 도메인에 있음)를 넘지 않으며, 정적 연결 기능이 제대로 작동한다. 동적 로딩 방식에서도, 도메인 내 호출이 사전 리졸빙되고(pre-resolved) 최적화될 수 있다. 그러나, 동일한 주소 공간 내에 있음을 의미하는 모듈들 사이의 도메인 간 호출 및 액세스는 간접 액세스 레졸루션(resolution)을 포함한다.
상호작용(예컨대, 서로 호출)하는 상이한 도메인의 모듈들은 동적으로 로드 가능한 라이브러리로 취급될 수 있다. 라이브러리/모듈은 재배치 가능성(예컨대, -fPIC 옵션 등)을 위해 컴파일되는 것으로 추정되거나 할당된 주소 공간에서 모듈 간 액세스를 리졸빙하기 위해 리링킹 로더(relinking loader)를 사용하여 로드 시간에 리베이스된다. 주소 레졸루션은 사전 링크 중에 가능해지거나, 로드 시 리졸빙되거나, 런타임 시 리졸빙되거나 할 수 있다.
도 7은 모델/회로 IP를 보호하면서 도메인 경계를 가로질러 프로그램 코드 및/또는 다른 명령어를 실행하기 위해 예시적인 관리자(610) 및/또는 회로 프로세서(들)(621-631)에 의해 실행되는 예시적인 주소 레졸루션 실행 시퀀스(700)를 예시한다. 블록(705)은 제1 함수 F 호출 전 도메인 A(710) 및 도메인 B(715)에서의 프로그램 명령어의 예시적인 시퀀스를 나타낸다. 도 7의 예에 도시된 바와 같이, 함수 F에 대한 호출은 도메인 A(710)에서 오는 반면, 함수 F에 대한 프로그램 코드는 도메인 B(715)에 있다. 따라서, 함수 F에 대한 호출은, 실행될 때 도메인 A에서 B로 넘어간다.
함수 F의 제1 호출 동안, 명령어 흐름은 블록(720)에 따라 진행한다. 블록(720)의 예에 도시된 바와 같이, 도메인 A(710)로부터의 함수 F에 대한 호출은 프로시저 연결 테이블(PLT)(730)에 대한 액세스(725)를 트리거한다. PLT(730)는 글로벌 오프셋 테이블(GOT)(740)로의 점프(735)를 포함한다. PLT(730)와 GOT(740) 사이의 상호작용은, 예를 들어, 주소 공간에 걸쳐 코드 페이지의 공유를 허용하면서 동적 재배치/레졸루션을 허용한다. GOT(740)로의 점프(735)는 피호출자(타겟)의 실제 주소(750)를 결정하고 GOT(740)에 제공하는(745) 동적 링커를 트리거한다. 그 다음에, 블록(755)에 나타낸 바와 같이, 후속 호출은 그 피호출에 대한 PLT(730) 스텁의 나머지를 우회하고, GOT(740)를 통해 기능 F에 대한 코드가 도메인 B(715)에 있는 피호출자 주소로 간접적으로 점프(760)한다.
따라서, 특정 예는 함수가 처음 호출될 때, 호출 도메인의 함수 또는 회로가 타겟 도메인에 대해 검증 및/또는 승인된 경우 그 타겟 주소를 리졸빙하기 위해 신뢰할 수 있는 리링킹 스텁(예컨대, 동적 링커에 포함된)에 의해 타겟 주소의 레졸루션을 호출한다. 동적 주소 레졸루션이 전술한 인증 토큰 및 인증된 인터페이스 회로 보호와 함께 또는 그 대신에 사용될 수 있다. 예를 들어, 회로 또는 모델에 대한 액세스를 규제하기 위해 인증 토큰이 있는 인증된 인터페이스가 사용될 수 있으며, 예를 들어, 회로 또는 모델 내에서, 모델의 소스, 기타 코드 기능, 기타 콘텐츠 등을 가리기 위해 동적 주소 간접 지정을 사용할 수 있다.
도 8은 도메인 A(710)로부터의 함수 호출의 라우팅을 위해 GOT(740)에 배치될 도메인 B(715)의 함수 F에 대한 주소를 동적으로 생성하기 위한 동적 링커(800)의 예시적인 구현이다. 예시적인 동적 링커(800)는 액세스 유효성 검사기 접점(AVJ)(810) 및 주소 기록기(820)를 포함하는 신뢰할 수 있는 리링킹 스텁이다. 예시적인 동적 링커(800)는 함수 호출의 각 타겟에 대한 제1 실행에서 재지정된 요청을 수신한다. 예시적인 AVJ(810)는 호출자 도메인(예컨대, 도 7의 예에서 도메인 A 등)이 피호출자 도메인(예컨대, 도 7의 예시에서 도메인 B 등)을 호출하도록 허용되는지 확인한다. 피호출자 도메인에 대한 호출자 도메인의 호출이 허용되면, AVJ(810)는 호출된 함수 F에 대한 주소의 순방향 레졸루션을 허용한다. 피호출자 도메인에 대한 호출자 도메인의 호출이 허용되지 않으면, AVJ(810)는 주소 레졸루션을 거부하고, 코드 실행을 트랩(예컨대, 중지, 오류, 플래그 등)한다.
특정 예들에서, AVJ(810)는 호출자 도메인(및 피호출자 도메인)을 검증하기 위해 특권 호스트 기능에 대해 원거리 호출을 함으로써 액세스 허가(예컨대, 예 또는 아니오, 1 또는 0 등)를 결정한다. 특정 예에서, AVJ(810)는 관리자(610), 회로(들)(620-630) 등을 위한 운영 체제의 가상 동적 공유 객체(VDSO) 진입점으로 구현될 수 있다. 내부적으로 AVJ(810)는 운영 체제 외부에서 실행하기 전에 호출되거나 조작될 수 없는 특권 함수를 호출한다. AVJ(810)는, 하나의 도메인이 호출이 허용되지 않은 다른 도메인에 대해 호출 할 수 없도록, 변경 불가능할 수 있다. 따라서, 제1 함수 호출에 대한 검사는, 액세스 권한을 검증하고 다른 도메인의 타겟 함수 위치를 불명확하게 하기 위한 위조 불가능한 검사를 제공한다.
유사하게, 도메인 경계를 넘는 주소 공간 내에서 액세스할 수 있는 변수는 AVJ(810)에 의한 중재 후 GOT(740)를 통해 리졸빙될 수 있다. 허가가 내려지거나 승인되면, 예시적인 주소 작성기(820)는 결정된 피호출자 주소를 GOT(740)에 제공하여 GOT 스텁에 삽입하고 코드 실행을 타겟 함수, 변수 등(715)으로 라우팅(760)하는 데 사용한다.
특정 예들에서, 간접 주소 레졸루션은 ASLR(Address Space Layout Randomization)과 결합될 수 있다. ASLR과 동적 연결을 결합하면 한 도메인의 IP의 공급업체가 진입점 주소를 완벽하게 추측하지 않고 의도적으로 다른 도메인에 대한 허용되지 않은 액세스를 수행하기가 어렵다. 한 경우에 추출된 정보는 다른 곳에서 재생할 수 없다. 특정 예에서, ASLR 메커니즘은 런타임 시 서로 다른 세션에 대해 시간에 따라 변하는 임의의 솔트 값으로 강화된다. PLT(730)는, 예를 들어, PLT(730)에서 허용된 수정이 예를 들어, 신뢰된 리링킹 로더(800)로부터 오는 것과 같이 사용자 수준에서 배선 및 쓰기 방지될 수 있다.
특정 예에서, 구성 가능한 플랫폼에 대한 공급망은 전술한 칩렛의 구성 및 동작과 유사한 신뢰점을 가진 증명 가능한 하위 구성요소를 나타내는 다중 칩 패키지(MCP)를 구성하도록 협력할 수 있다. 예를 들어, 분해 가능한 아키텍처에서 IP 블록, 다이 등은 이기종 벤더 소스에서 제공할 수 있으며, IP 블록은 공급망의 다른 제조업체에서 다른 제조/프로세스로 생산할 수 있다. IoT/에지 컴퓨팅 라이프사이클은, 예를 들어, 장치의 다양한 하위 구성요소의 형성을 추적함으로써 보안을 보장한다. 이러한 형성은 전술한 바와 같이 관리되고 증명될 수 있다.
도 9는 예시적인 파이프라인 또는 도 1의 예시적인 파이프라인(100)과 유사한 IP 모델들의 조합(900)이다. 그러나, 예시적인 파이프라인(900)은, 보안 노드 및 샌드박스를 사용하여 공급망 증명, 변조 방지 및 추적을 제공하기 위해 MCP, 칩렛 및/또는 기타 회로와 함께 사용될 수 있는 안전한 샌드박스형 파이프라인이다. 도 9의 예에 도시된 바와 같이, 각 모델(110-140)은 모델(110-140) 및 모델(110-140) 액세스의 증명, 변조 방지 및 추적을 용이하게 하는 매니페스트(115-145)를 갖는다. 또한, 예시적인 파이프라인(900)은 규제되지 않은 액세스로부터 각각의 모델(110-140)을 격리하기 위해 각각의 모델(110-140)에 대한 샌드박스(910-940)를 포함한다. 대신, 각 샌드박스(910-940) 및 관련 모델(110-140)에 대한 액세스는 예시적인 샌드박스(910-940)와 연관된 보안 노드(SN)(950-958)에 의해 규제된다. SN(950-958)은, 예를 들어 샌드박스(910-940) 내부의 모델(110-140)에 액세스하려는 요청자의 증명을 용이하게 할 수 있다.
도 10은 컴퓨팅 장치 또는 디바이스(1000)를 복수의 요소(1010-1090)로 분해한 예를 도시한 것이다. 예시적인 분해(1000)는 MCP, 칩렛, 및 기타 하드웨어를 포함한다. 도 10의 예는 요소들의 혼합을 보여주지만, 특정 예는 모두 동일한 유형이거나, 몇 가지 유형만 있는 요소 등을 제공한다. 요소들의 정확한 유형은 다를 수 있다. 도 10의 예에서, 각 요소(1010-1090)는 레이블, 연관된 벤더의 식별, 모델 문자열, 모델 유형, 계층 및 위치를 포함하는 요소 설명자를 사용하여 논리적으로 설명된다. 예를 들어, 모델 유형은 IP 블록의 유형, 구성요소, 개별 로직, 퓨즈, 펌웨어, 소프트웨어, 디자인 또는 IP 블록에 통합할 수 있는 기타 구조을 인코딩하는 숫자이다. 레이어 및 위치 값은 예시적인 장치(1000)에서 다양한 요소(1010-1090)를 다른 요소(1010-1090)에 관련시키는 그래프 좌표로서 사용된다.
도 10의 예에서, 장치(1000)는 복수의 소스/제조업체에 의해 제공되는 복수의 요소(1010-1090)를 포함한다. 예를 들어, 요소 E0(1010) 및 E1(1020)은 제1 소스에 의해 제공되고, 요소 E2(1030)는 제2 소스에 의해 제공되며, 요소 E3(1040) 및 E4(1050)는 제3 소스에 의해 제공되고, 요소 E5(1060) 및 E6(1070)은 제4 소스에 의해 제공되며, 요소 E7(1080)은 제5 소스에 의해 제공되고, 요소 E8(1090)은 제6 소스에 의해 제공된다. 도 10의 예는 RoT(Root of Trust) 요소(1010) 및 다른 회사에서 제조한 다중 하위 구성요소(1020-1090)를 갖는 MCP의 가능한 구성을 예시한다. 예시적인 장치(1000)의 요소들(1010-1090)은 도 10의 예에 도시된 바와 같이 논리적으로 구성되어 기능, 데이터, 기타 콘텐츠 등의 승인된 액세스 및/또는 마스킹을 위한 탐색 및 드릴다운을 위한 특정 보안 구성을 제공할 수 있다.
도 11은 MCP 또는 기타 컴퓨팅 장치 구축에 관련된 엔티티(예컨대, 공급망 엔티티 등)가 증명 프로토콜(예컨대, 증명 규칙 등) 및/또는 기타 공급망 무결성 검사 메커니즘을 통해 무결성 검사를 제공하는 매니페스트(1110-1160)를 발행할 수 있는 예시적인 다중 서명 매니페스트 구조(1100)를 보여준다. 도 11의 예에 도시된 바와 같이, 최상위 장치 제조업체는 9개의 요소(E1-E8)를 포함하는 플랫폼의 컴퓨팅 디바이스, 장치를 생성한다. 하나 이상의 요소는 자신의 소스/공급자/벤더에 기초하여 각 매니페스트(1110-1160)와 연관된다. 도 11의 예에 도시된 바와 같이, 매니페스트(1110-1160)는 하나 이상의 참조 무결성 측정치(예컨대, 증명 등을 위해 네트워크 접속을 통해 다른 엔티티에 접근하기보다 로컬 증명을 위한 저장된 레지스터 값)를 사용하여 증명을 위해 폐 루프를 제공하는 참조 무결성 매니페스트(RIM)로 구현된다.
도 11의 예에서, Acme의 매니페스트(1110)는 증명 참조 측정치를 갖는 두 개의 요소(E0, E1)를 포함한다. MegaSys의 매니페스트(1120)는 3개의 요소(E2 - E4)를 포함하며, 여기서 E2는 MegaSys 및 E3에 의해 생산되고 E4는 협력사 Widgets Inc.에 의해 생산된다. MegaSys는 Widgets사의 E3 및 E4 요소를 포함하는 공급망 무결성 관리에 대한 책임을 수락하므로, 예시적인 매니페스트(RIM1)(1120)는 E2뿐만 아니라 요소(E3 및 E4)에 대한 참조 값을 포함한다. Wayne Enterprises는 요소(E5 및 E6)를 갖는 매니페스트(RIM2)(1130)를 생성하는 반면 Stark Industries는 요소(E7 및 E8)에 대한 매니페스트(RIM3)(1140)을 생성한다. E8은 협력사인 Alpha Corporation에서 생산하지만, 매니페스트 RIM3(1140)에 E7 및 E8 요소가 포함되어 있다.
장치 작성기 매니페스트(RIM4)(1150)는 다양한 '컴포넌트' 제공자로부터 매니페스트(1110-1140)에 대한 링크(예컨대, URI(Uniform Resource Indicator) 등)를 포함하는 합성 매니페스트(1150)를 제공한다. 합성 매니페스트(1150)는, 예를 들어, 개별 컴포넌트 매니페스트(1110-1140)에 대한 링크 집합을 구성하고 형성하도록 (예컨대, 관리자(510, 610), 다른 프로세서 등에 의해) 조립될 수 있다. 매니페스트(1150)는 "COMPONENT"를 사용하여 부모 장치와 그 하위 구성 요소 간의 관계 유형을 식별한다. 이에 더하여 또는 이에 갈음하여, 링크의 소비자가 링크된 매니페스트(1110-1140)가 현재 장치에 대한 추가 세부사항을 설명하는지 여부 또는 장치에 대한 하위 구성요소가 있는지 예상할 수 있도록, 다른 라벨링이 하나 이상의 종속 매니페스트(1110-1140)에 대한 하나 이상의 링크와 연관된다. 하위 구성요소는 하드웨어, 칩렛, 펌웨어, 소프트웨어 등일 수 있다. 각 요소(E0-E8)에 대한 계층 및 위치 정보는 장치(예컨대, 장치 1000 등) 레이아웃 정보를 제공한다. 증명자(1160)는 매니페스트(1110-1150) 발견 및 증명 검증을 제공한다. 예시적인 증명자(1160)는 어셈블된 매니페스트 세트(1110-1150)를 파싱하여, 예를 들어, 장치의 의도된 논리적 구조 및 구성을 발견할 수 있다.
도 11의 예에 도시된 바와 같이, 벤더는 이전에 릴리스된 컴포넌트를 업데이트하고(펌웨어 업데이트 등) 해당 컴포넌트/요소에 대한 업데이트된 매니페스트(RIM5)(1170)를 발행할 수 있다. 업데이트된 매니페스트(1170)는 원본 요소와 연결된 업데이트된 구성 요소에 대한 참조(예컨대, 도 11의 예에서 조상(ancestor)으로 연결된 원본 요소(E8) 및 업데이트된 요소(E8`) 등)를 포함한다. 특정 예들에서, 업데이트된 요소는 조상, 패치, 업데이트 등일 수 있다. 특정 예에서, 조상은 버전을 업데이트하지 않고 이전 매니페스트를 대체하는 반면, 패치는 버전을 수정하지 않고 매니페스트 내의 요소를 변경하거나 대체하고, 업데이트는 매니페스트의 요소를 대체/변경하고 버전을 수정한다.
특정 예들에서, 예시적인 증명자(1160)는 테스트, 온보딩, 및/또는 MCP 부분/장치가 활성인 다른 공급망 프로세스 동안 MCP 및/또는 다른 컴퓨팅 장치로부터 정보를 수집한다. 매니페스트(1110-1150, 1170)는 증명자(1160)에 의해 획득된다. 예시적인 증명자(1160)는 예시적인 매니페스트(1110-1150, 1170)를 사용하여 컴퓨팅 장치(예컨대, 예시적인 컴퓨팅 디바이스 또는 장치(1000), 다른 MCP 등)에 대한 분해 맵을 구성하는 데 사용한다. 맵 및 매니페스트(1110-1150, 1170)를 사용하여, 증명자(1160)는 예시적인 컴퓨팅 장치 또는 디바이스에서 요소(E0-E8)를 증명하기 위해 증거의 값과 비교될 알려진 양호한 보안 요소 값을 식별할 수 있다.
요소 및 관계의 맵을 컴파일함으로써, 맵 및 관련 매니페스트(1110-1150, 1170)는 BOM(bills of material), 다른 공급망 데이터 세트 등과 비교하여 공급망 라우팅 및 잘못된 방향을 감지하는 데 사용될 수 있다. 매니페스트(1110-1150, 1170) 및 관련 매핑은 추가 소프트웨어의 사전 구성 또는 설치를 초래할 수 있는 공급망 처리 동안 장치에 대한 부가 가치 조정을 알리는 데 사용될 수 있다. 부가 가치 공급자는, 예를 들어, 제1 작성자 매니페스트(1150)를 참조하는 제2 작성자 매니페스트를 발행할 수 있다.
예시적인 모델(110-140), 예시적인 매니페스트(115-145), 예시적인 입력(150-160), 예시적인 출력(170), 및/또는 보다 일반적으로는 예시적인 파이프라인(100); 예시적인 모델(210-240), 예시적인 CPU(250), 예시적인 FPGA(260), 및/또는 더 일반적으로는 예시적인 아키텍처(200); 예시적인 칩렛(310-390) 및/또는 더 일반적으로는 예시적인 SoC(300); 예시적인 도메인(410-430) 및/또는 더 일반적으로는 예시적인 SoC(440); 예시적인 칩렛(510-560), 예시적인 공유 캐시(570), 예시적인 외부 인터페이스(580-590), 예시적인 인터페이스(515-595), 및/또는 더 일반적으로는 예시적인 SoC(500); 예시적인 관리자(610), 예시적인 회로(620-630), 예시적인 통신 인터페이스(640), 예시적인 프로세서(611-631), 예시적인 메모리(613-633), 예시적인 인터페이스(615-635), 예시적인 모델(627-637), 예시적인 내부 통신 인터페이스(645), 예시적인 외부 통신 인터페이스(647), 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치(600); 예시적인 절차 연결 테이블(730), 예시적인 글로벌 오프셋 테이블(740), 예시적인 동적 링커(800), 예시적인 액세스 유효성 검사기 접점(810), 예시적인 주소 기록기(820), 예시적인 샌드박스(910-940), 예시적인 보안 노드(950-958); 예시적인 요소들(1010-1090) 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치 또는 디바이스(1000); 예시적인 매니페스트 구조(1100), 예시적인 매니페스트(1110-1150, 1170), 및/또는 도 1-11의 도시된 예에서 예시적인 증명자(1160)는 하드웨어 프로세서와 같은 논리 회로에 의해 구현된다. 그러나, 하나 이상의 아날로그 또는 디지털 회로(들), 논리 회로(들), 프로그래머블 프로세서(들), ASIC(s)(application specific integrated circuit(s)), PLD(s)(programmable logic device(s)), FPLD(s)(field programmable logic device(s)), DSP(s)(digital signal processor(s)), CGRA(s)(Coarse Grained Reduced Precision Architecture), ISP(s)(image signal processor(s)) 등과 같은 임의의 다른 유형의 회로가 추가적으로 또는 대안으로 사용될 수 있다. 일부 예들에서, 예시적인 모델(110-140), 예시적인 매니페스트(115-145), 예시적인 입력(150-160), 예시적인 출력(170), 및/또는, 더 일반적으로, 예시적인 파이프라인(100); 예시적인 모델(210-240), 예시적인 CPU(250), 예시 FPGA(260), 및/또는 더 일반적으로는 예시적인 아키텍처(200); 예시적인 칩렛(310-390) 및/또는 더 일반적으로 예시적인 SoC(300); 예시적인 도메인(410-430) 및/또는 더 일반적으로 예시적인 SoC(440); 예시적인 칩렛(510-560), 예시적인 공유 캐시(570), 예시적인 외부 인터페이스(580-590), 예시적인 인터페이스(515-595), 및/또는 더 일반적으로 예시적인 SoC(500); 예시적인 관리자(610), 예시적인 회로(620-630), 예시적인 통신 인터페이스(640), 예시적인 프로세서(611-631), 예시적인 메모리(613-633), 예시적인 인터페이스(615-635), 예시적인 모델 627-637, 예시적인 내부 통신 인터페이스(645), 예시적인 외부 통신 인터페이스(647), 및/또는 더 일반적으로 예시적인 컴퓨팅 장치(600); 예시적인 절차 연결 테이블(730), 예시적인 글로벌 오프셋 테이블(740), 예시적인 동적 링커(800), 예시적인 액세스 유효성 검사기 접점(810), 예시적인 주소 기록기(820), 예시적인 샌드박스(910-940), 예시적인 보안 노드(950-958); 예시적인 요소들(1010-1090) 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치 또는 디바이스(1000); 예시적인 매니페스트 구조(1100), 예시적인 매니페스트(1110-1150, 1170), 및/또는 도 1-11의 예시된 예에서 예시적인 증명자(1160)는 개별 논리 회로에 의해 구현된다. 일부 예들에서, 예시적인 관리자(510) 및/또는 예시적인 관리자(610)(및/또는 포함된 프로세서(611) 등)는 생성 수단을 구현한다. 일부 예에서, 예시적인 프로세서(들)(611-631)는 생성 수단을 구현한다. 일부 예들에서, 예시적인 인터페이스(들)(515-595, 615-635, 645)는 통신을 가능하게 하는 수단을 구현한다.
컴퓨팅 아키텍처/장치(100, 200, 300, 440, 500, 600, 1000)의 예시적인 구현이 도 1-11에 도시되어 있지만, 도 1-11에 도시된 요소, 프로세스 및/또는 장치 중 하나 이상이 결합, 분할, 재배열, 생략, 제거 및/또는 임의의 다른 방식으로 구현될 수 있다. 또한, 예시적인 모델(110-140), 예시적인 매니페스트(115-145), 예시적인 입력(150-160), 예시적인 출력(170), 및/또는 보다 일반적으로는 예시적인 파이프라인(100); 예시적인 모델(210-240), 예시적인 CPU(250), 예시적인 FPGA(260), 및/또는 더 일반적으로는 예시적인 아키텍처(200); 예시적인 칩렛(310-390) 및/또는 더 일반적으로는 예시적인 SoC(300); 예시적인 도메인(410-430) 및/또는 더 일반적으로는 예시적인 SoC(440); 예시적인 칩렛(510-560), 예시적인 공유 캐시(570), 예시적인 외부 인터페이스(580-590), 예시적인 인터페이스(515-595), 및/또는 더 일반적으로는 예시적인 SoC(500); 예시적인 관리자(610), 예시적인 회로(620-630), 예시적인 통신 인터페이스(640), 예시적인 프로세서(611-631), 예시적인 메모리(613-633), 예시적인 인터페이스(615-635), 예시적인 모델(627-637), 예시적인 내부 통신 인터페이스(645), 예시적인 외부 통신 인터페이스(647), 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치(600); 예시적인 절차 연결 테이블(730), 예시적인 글로벌 오프셋 테이블(740), 예시적인 동적 링커(800), 예시적인 액세스 유효성 검사기 접점(810), 예시적인 주소 기록기(820), 예시적인 샌드박스(910-940), 예시적인 보안 노드(950-958); 예시적인 요소들(1010-1090) 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치 또는 디바이스(1000); 예시적인 매니페스트 구조(1100), 예시적인 매니페스트(1110-1150, 1170), 및/또는 예시적인 증명자(1160)는 하드웨어, 소프트웨어, 펌웨어 및/또는 하드웨어, 소프트웨어 및/또는 펌웨어의 임의의 조합에 의해 구현될 수 있다. 따라서, 예를 들어, 예시적인 모델(110-140), 예시적인 매니페스트(115-145), 예시적인 입력(150-160), 예시적인 출력(170), 및/또는 보다 일반적으로는 예시적인 파이프라인(100); 예시적인 모델(210-240), 예시적인 CPU(250), 예시적인 FPGA(260), 및/또는 더 일반적으로는 예시적인 아키텍처(200); 예시적인 칩렛(310-390) 및/또는 더 일반적으로는 예시적인 SoC(300); 예시적인 도메인(410-430) 및/또는 더 일반적으로는 예시적인 SoC(440); 예시적인 칩렛(510-560), 예시적인 공유 캐시(570), 예시적인 외부 인터페이스(580-590), 예시적인 인터페이스(515-595), 및/또는 더 일반적으로는 예시적인 SoC(500); 예시적인 관리자(610), 예시적인 회로(620-630), 예시적인 통신 인터페이스(640), 예시적인 프로세서(611-631), 예시적인 메모리(613-633), 예시적인 인터페이스(615-635), 예시적인 모델(627-637), 예시적인 내부 통신 인터페이스(645), 예시적인 외부 통신 인터페이스(647), 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치(600); 예시적인 절차 연결 테이블(730), 예시적인 글로벌 오프셋 테이블(740), 예시적인 동적 링커(800), 예시적인 액세스 유효성 검사기 접점(810), 예시적인 주소 기록기(820), 예시적인 샌드박스(910-940), 예시적인 보안 노드(950-958); 예시적인 요소들(1010-1090) 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치 또는 디바이스(1000); 예시적인 매니페스트 구조(1100), 예시적인 매니페스트(1110-1150, 1170), 및/또는 예시적인 증명자(1160)는 하나 이상의 아날로그 또는 디지털 회로(들), 논리 회로(들), 프로그래머블 프로세서(들), GPU(s)(graphics processing unit(s)), DSP(s)(digital signal processor(s)), ASIC(s)(application specific integrated circuit(s)), PLD(s)(programmable logic device(s)), 및/또는 FPLD(s)(field programmable logic device(s))에 의해 구현될 수 있다. 소프트웨어 및/또는 펌웨어 구현을 완전하게 커버하기 위한 것으로 본 특허의 장치 또는 시스템 청구항을 해석하는 경우, 예시적인 모델(110-140), 예시적인 매니페스트(115-145), 예시적인 입력(150-160), 예시적인 출력(170), 및/또는 보다 일반적으로는 예시적인 파이프라인(100); 예시적인 모델(210-240), 예시적인 CPU(250), 예시적인 FPGA(260), 및/또는 더 일반적으로는 예시적인 아키텍처(200); 예시적인 칩렛(310-390) 및/또는 더 일반적으로는 예시적인 SoC(300); 예시적인 도메인(410-430) 및/또는 더 일반적으로는 예시적인 SoC(440); 예시적인 칩렛(510-560), 예시적인 공유 캐시(570), 예시적인 외부 인터페이스(580-590), 예시적인 인터페이스(515-595), 및/또는 더 일반적으로는 예시적인 SoC(500); 예시적인 관리자(610), 예시적인 회로(620-630), 예시적인 통신 인터페이스(640), 예시적인 프로세서(611-631), 예시적인 메모리(613-633), 예시적인 인터페이스(615-635), 예시적인 모델(627-637), 예시적인 내부 통신 인터페이스(645), 예시적인 외부 통신 인터페이스(647), 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치(600); 예시적인 절차 연결 테이블(730), 예시적인 글로벌 오프셋 테이블(740), 예시적인 동적 링커(800), 예시적인 액세스 유효성 검사기 접점(810), 예시적인 주소 기록기(820), 예시적인 샌드박스(910-940), 예시적인 보안 노드(950-958); 예시적인 요소들(1010-1090) 및/또는 더 일반적으로는 예시적인 컴퓨팅 장치 또는 디바이스(1000); 예시적인 매니페스트 구조(1100), 예시적인 매니페스트(1110-1150, 1170), 및/또는 예시적인 증명자(1160) 중 적어도 하나는 이에 소프트웨어 및/또는 펌웨어를 포함하는 메모리, 디지털 다목적 디스크(DVD), 컴팩트 디스크(CD), 블루레이 디스크 등과 같은 비일시적 컴퓨터 판독 가능 저장 장치 또는 저장 디스크를 포함하도록 명시적으로 정의된다. 또한, 도 1 내지 도 11의 예시적인 컴퓨팅 아키텍처/장치(100, 200, 300, 440, 500, 600, 100)는 도 1 내지 도 11에 도시된 것에 더하여 또는 그 대신에 도시된 요소, 프로세스 및 장치 전부 또는 임의의 것 중 둘 이상을 포함할 수 있다. 본 명세서에 사용된 바와 같이, "통신 중"이라는 문구는 그 변형을 포함하여 하나 이상의 중간 구성요소를 통한 직접 통신 및/또는 간접 통신을 포함하며, 직접적인 물리적(예컨대, 유선) 통신 및/또는 지속적인 통신을 요구하지 않고, 오히려 주기적 간격, 예정된 간격, 비주기적 간격 및/또는 일회성 이벤트에서의 선택적 통신을 추가로 포함한다.
예시적인 컴퓨팅 아키텍처/장치(100, 200, 300, 440, 500, 600, 및/또는1000)를 구현하기 위한 예시적인 하드웨어 로직, 머신 판독 가능 명령어, 하드웨어 구현 상태 머신, 및/또는 이들의 임의의 조합을 나타내는 흐름도가 도 12 내지 도 14에 도시되어 있다. 머신 판독 가능 명령어는 도 15와 관련하여 아래에서 논의되는 예시적인 프로세서 플랫폼(1500)에서 보여지는 프로세서(1512)와 같은 컴퓨터 프로세서 및/또는 프로세서 회로에 의해 실행하기 위한 하나 이상의 실행 가능한 프로그램 또는 실행 가능한 프로그램의 부분(들)일 수 있다. 프로그램은 CD-ROM, 플로피 디스크, 하드 드라이브, DVD, 블루레이 디스크, 또는 프로세서(1512)와 연관된 메모리/메모리 회로와 같은 비일시적 컴퓨터 판독가능 저장 매체에 저장된 소프트웨어로 구현될 수 있지만, 전체 프로그램 및/또는 그 일부는 대안적으로 프로세서(1512) 이외의 장치에 의해 실행될 수 있고/있거나 펌웨어 또는 전용 하드웨어로 구현될 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체에 저장된 명령어는 적어도 하나의 프로세서로 하여금 적어도 하나의 액션 또는 동작을 수행하거나, 적어도 하나의 기능을 구현하거나 하도록 할 수 있다. 또한, 비록 예시적인 프로그램이 도 12 내지 14에 도시된 흐름도를 참조하여 설명되지만, 예시적인 컴퓨팅 아키텍처/장치(100, 200, 300, 440, 500, 600, 및/또는 1000)를 구현하는 많은 다른 방법이 대안적으로 사용될 수 있다. 예를 들어, 블록의 실행 순서는 변경될 수 있고/있거나 설명된 블록의 일부가 변경, 제거 또는 결합될 수 있다. 이에 더하여 또는 이에 갈음하여, 블록의 일부 또는 전부는 소프트웨어나 펌웨어를 실행하지 않고 대응하는 동작을 수행하도록 구성된 하나 이상의 하드웨어 회로(예컨대, 별개의 및/또는 통합된 아날로그 및/또는 디지털 회로, FPGA, ASIC, 비교기, 연산 증폭기(op-amp), 논리 회로 등)에 의해 구현될 수 있다. 프로세서 회로는 서로 다른 네트워크 위치에 및/또는 하나 이상의 장치(예컨대, 단일 기계의 다중 코어 프로세서, 서버 랙에 분산된 다중 프로세서 등)에 로컬로 분산될 수 있다.
본 명세서에 설명된 머신 판독 가능 명령어는 압축 포맷, 암호화된 포맷, 단편화된 포맷, 컴파일된 포맷, 실행 가능 포맷, 패키지 포맷 등 중에서 하나 이상으로 저장될 수 있다. 본 명세서에 설명된 머신 판독 가능 명령어는 머신 실행 가능 명령어를 생성, 제조 및/또는 생산하는 데 사용될 수 있는 데이터 또는 데이터 구조(예컨대, 명령어의 일부, 코드, 코드 표현 등)로 저장된다. 예를 들어, 머신 판독 가능 명령어는 네트워크 또는 네트워크 집합(예컨대, 클라우드, 에지 장치 등)의 동일하거나 다른 위치에 위치한 하나 이상의 저장 장치 및/또는 컴퓨팅 장치(예컨대, 서버)에 단편화되어 저장될 수 있다. 머신 판독 가능 명령어는, 이들을 컴퓨팅 장치 및/또는 다른 머신에 의해 직접 판독 가능, 해석 가능, 및/또는 실행 가능하도록 하기 위해, 설치, 수정, 적응, 업데이트, 결합, 보완, 구성, 암호 해독, 압축 해제, 엊패킹, 배포, 재할당, 컴파일 등 중 하나 이상을 포함할 수 있다. 예를 들어, 머신 판독 가능 명령어는 개별적으로 압축, 암호화 및 별도의 컴퓨팅 장치에 저장되는 다수 부분으로 저장될 수 있으며, 여기서 이들 부분은 해독, 압축 해제 및 결합될 때 본 명세서에 설명되는 것과 같은 프로그램을 함께 형성할 수 있는 하나 이상의 기능을 구현하는 실행 가능한 명령어 세트를 형성한다.
다른 예에서, 머신 판독 가능 명령어는 프로세서 회로에 의해 판독될 수 있는 상태로 저장될 수 있지만, 특정 컴퓨팅 장치 또는 기타 장치에서 명령어를 실행하기 위해 라이브러리(예컨대, 동적 링크 라이브러리(DLL)), 소프트웨어 개발 키트(SDK), 애플리케이션 프로그래밍 인터페이스(API) 등)의 추가를 요구한다. 다른 예에서, 머신 판독 가능 명령어 및/또는 대응하는 프로그램(들)이 전체적으로 또는 부분적으로 실행될 수 있기 전에 머신 판독 가능 명령어가 구성될 필요가 있을 수 있다(예컨대, 설정 저장, 데이터 입력, 네트워크 주소 기록 등). 따라서, 본 명세서에 사용된 머신 판독 가능 매체는, 정지 상태 또는 전송 중일 때, 머신 판독 가능 명령어 및/또는 프로그램(들)의 특정 형식 또는 상태에 관계없이 머신 판독 가능 명령어 및/또는 프로그램(들)을 포함할 수 있다.
본 명세서에 설명된 머신 판독 가능 명령어는 임의의 과거, 현재 또는 미래의 명령어, 스크립팅 언어, 프로그래밍 언어 등으로 표현될 수 있다. 예를 들어, 머신 판독 가능 명령어는 다음 언어, 즉, C, C++, Java, C#, Perl, Python, JavaScript, HTML(HyperText Markup Language), SQL(Structured Query Language), Swift 등 중 임의의 것을 사용하여 표현될 수 있다.
전술한 바와 같이, 도 12, 13,및/또는 14의 예시적인 프로세스는, 하드 디스크 드라이브, 플래시 메모리, 읽기 전용 메모리, 컴팩트 디스크, 디지털 다목적 디스크, 캐시, 랜덤 액세스 메모리 및/또는 정보가 임의의 기간 동안(예컨대, 장기간, 영구적으로, 짧은 순단, 임시 버퍼링 및/또는 정보 캐싱 동안) 저장되는 임의의 다른 저장 장치 또는 저장 디스크와 같은 비일시적 컴퓨터 및/또는 머신 판독 가능 매체에 저장된 실행가능 명령어(예컨대, 컴퓨터 및/또는 머신 판독가능 명령어)를 사용하여 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 비일시적 컴퓨터 판독 가능 매체라는 용어는 임의의 유형의 컴퓨터 판독 가능 저장 장치 및/또는 저장 디스크를 포함하고 전파 신호를 배제하고 전송 매체를 배제하도록 명시적으로 정의된다.
"포함" 및 "포괄"(및 이들의 모든 형태 및 시제)은 본 명세서에서 개방형 용어로 사용된다. 따라서, 청구항의 전문에 또는 모든 종류의 청구항 인용에서 임의의 형태의 "포함" 또는 "포괄"(예컨대, 포함하다, 포함하는, 갖는, 포괄하는 등)을 사용할 경우, 대응 청구항 또는 인용의 범위를 벗어나지 않고 추가적인 요소, 용어 등이 존재할 수 있는 것으로 이해해야 한다. 본 명세서에서 사용되는 바와 같이, "적어도"라는 용어는, 예를 들어, 청구항의 전문에서 전환 용어로 사용되는 경우, "포함하는" 및 "포함하는"이라는 용어가 개방형으로 끝나는 것과 동일한 방식으로 개방형이다. "및/또는"이라는 용어는, 예를 들어 A, B 및/또는 C와 같은 형태로 사용될 경우, (1) A 단독, (2) B 단독, (3) C 단독, (4) A와 B, (5) A와 C, (6) B와 C, 및 (7) A와 B 및 C와 같이 A, B, C의 임의의 조합 또는 부분집합을 나타낸다. 구조를 설명하는 맥락에서 본 명세서에 사용되는 바와 같이, 구성요소, 항목, 객체 및/또는 사물, "A 및 B 중 적어도 하나"라는 문구는 (1) 적어도 하나의 A, (2) 적어도 하나의 B, 및 (3) 적어도 하나의 A와 적어도 하나의 B 중 어느 하나를 포함하는 구현을 나타내고자 한다. 유사하게, 구조, 구성요소, 항목, 객체 및/또는 사물을 설명하는 맥락에서 본 명세서에서 사용되는 바와 같이, "A 또는 B 중 적어도 하나"라는 문구는 (1) 적어도 하나의 A, (2) 적어도 하나의 B, 및 (3) 적어도 하나의 A와 적어도 하나의 B 중 임의의 것을 나타내고자 한다. 프로세스, 명령어, 동작, 활동 및/또는 단계의 수행 또는 실행을 설명하는 맥락에서 사용되는 바와 같이, "A 및 B 중 적어도 하나"라는 문구는 (1) 적어도 하나의 A, (2) 적어도 하나의 B, 및 (3) 적어도 하나의 A와 적어도 하나의 B 중 임의의 것을 포함하는 구현을 나타내고자 한다. 유사하게, 프로세스, 명령어, 동작, 활동 및/또는 단계의 수행 또는 실행을 설명하는 맥락에서 사용되는 바와 같이, "A 또는 B 중 적어도 하나"라는 문구는 (1) 적어도 하나의 A, (2) 적어도 하나의 B, 및 (3) 적어도 하나의 A와 적어도 하나의 B 중 임의의 것을 포함하는 구현을 나타내고자 한다.
본 명세서에 사용된 바와 같이, 단수형(예컨대, "하나" "제1", "제2" 등)은 복수를 배제하지 않는다. 본 명세서에 사용된 단수형의 개체는 하나 이상의 개체를 지칭한다. 단수 용어, "하나 이상" 및 "적어도 하나"는 본 명세서에서 상호교환가능하게 사용될 수 있다. 또한, 개별적으로 나열되어 있더라도, 복수의 수단, 요소 또는 방법 동작이 예를 들어 단일 유닛 또는 프로세서에 의해 구현될 수 있다. 또한, 개별 특징이 상이한 예 또는 청구범위에 포함될 수 있지만, 이들은 결합될 수도 있으며, 상이한 예 또는 청구범위에 포함된다고 해서 특징들의 조합이 실현가능하지 않다거나 유리하지 않다는 것을 의미하지는 않는다.
도 12는 도 1 내지 도 11의 예시적인 컴퓨팅 아키텍처/장치(100, 200, 300, 440, 500, 600, 및/또는 1000)를 구현하기 위해 실행될 수 있는 예시적인 기계 판독가능 명령어를 나타내는 흐름도이다. 도 12의 도시된 예의 예시적인 프로세스(1200)는 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 및/또는 1000)에 대한 예시적인 회로의 개발로 시작한다(블록 1210). 예를 들어, 하나 이상의 칩렛, MCP, 프로세서, 메모리, 인터페이스 등이 SoC, MCP 및/또는 기타 회로에 배치된다.
그 다음에, 보안 프로토콜(들)이 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 대해 구성된다(블록 1220). 예를 들어, 하나 이상의 인증 토큰이 생성되고 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)의 회로와 연관될 수 있다. 이에 더하여 또는 이에 갈음하여, 토큰 및/또는 기타 식별 정보, 액세스 규칙(들) 등을 포함하는 매니페스트(115-145, 1110-1150, 1170)가 생성되고, 예컨대, 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)의 회로(예컨대, 샌드박스(910-940), 회로(620-630), 칩렛(310-390, 510-560), 도메인(250, 260) 등)와 연관된 IP 모델(110-140, 210-240, 627-637) 내에 또는 이와 함께 저장된다. 이에 더하여 또는 이에 갈음하여, 예시적인 PLT(730) 및 GOT(740)는 독점 콘텐츠, 기능 등의 과도한 노출 없이 기능의 교차 도메인 교환을 가능하게 하기 위해 하나 이상의 기능에 대한 점프 주소를 동적으로 링크하거나 리졸빙하도록 구성될 수 있다.
특정 예들에서, 단일 보안 프로토콜이 선택되고 구성된다. 다른 예들에서, 복수의 보안 프로토콜들이 선택되고 구성된다. 일부 예에서는, 사용 가능한 보안 프로토콜이 자동으로 구성된다. 따라서, 인터페이스가 보호될 수 있고, 내부 AI 모델이 보호될 수 있으며, 다른 하드웨어, 소프트웨어 및/또는 데이터가 회로 내부에서 보호될 수 있으며, 여전히 다수 회로 및/또는 다수의 소프트웨어 프로그램이 함께 동작하여 SoC, MCP, 칩렛 모음, 기타 프로세서 등과 같은 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 대한 결과를 생성할 수 있다.
그 다음에, 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)가 배치를 위해 준비된다(블록 1230). 예를 들어, 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 대한 회로 패키지가, 하나 이상의 보안 프로토콜 및/또는 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 프로그래밍, 하드와이어링 및/또는 구성된 기타 보호 장치에 의해 보호되는 기능을 실행하기 위해 배포 및 설치될 준비가 된다. 예를 들어, 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치, 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)는 저장된 토큰을 사용하여 하나 이상의 인터페이스(515-595, 580-590, 615-635, 645, 647)를 인증하고 활성화할 수 있다. 매니페스트의 콘텐츠(115- 145, 1110-1150, 1170)는, 예를 들어, 액세스를 허용하거나 거부하는 것과 비교될 수 있다. 회로(예컨대, 관리자(510, 610) 등)는, 예를 들어, 함수 호출로부터 확인, 증명 및/또는 기타 승인에 기초한 함수까지 도메인들에 걸쳐 동적으로 링크할 수 있다.
도 13은 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 대한 보안 프로토콜(들)을 구성하는 것에 관한 추가 예시적인 세부사항을 제공하는 흐름도이다(도 12의 예의 블록 1220). (예컨대, 예시적인 회로(250, 260, 310-390, 510-560, 620-630) 또는 관리자(510, 610)에 의해 신뢰점, 기타 신뢰 앵커 등을 사용하여)예시적인 인증 토큰이 생성된다(블록 1310). 인증 토큰을 사용하여, 인터페이스(515-595, 580-590, 615-635, 645, 647)의 하나 이상의 핀에 대해 인증 인터페이스가 생성된다(블록 1320). 인증된 인터페이스는, 예를 들어, 복수의 인증된 인터페이스가 각각의 요청 회로에 대해 생성될 수 있도록 인터페이스에 액세스하는 특정 회로에 특유할 수 있다(블록 1330). 예를 들어, 수학식 1 및 2는 회로에 대한 인증된 인터페이스를 생성하는 데 사용될 수 있다.
특정 예에서, 회로는 인증된 인터페이스를 맞춤화할 수 있다(블록 1340). 그러면, 인증된 인터페이스는, 관련 회로에서 생성되거나 제공되는 솔트 또는 다른 시드 값을 사용하여 수정할 수 있다(블록 1350). 예를 들어, 수학식 3-5는 인증된 인터페이스를 생성하거나 수정하기 위해 도메인, 고객 및/또는 회로별 솔트 값을 생성하는 데 사용될 수 있다.
도 14는 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)에 대한 보안 프로토콜(들)을 구성하는 것에 관한 추가적인 예시적인 세부사항을 제공하는 흐름도이다(도 12의 예의 블록 1220). 도 14의 예에서, 함수들은 소프트웨어 코드 모듈들 사이에 링크된다. 주어진 함수 호출 및 함수 정의에 대해, 함수 호출의 주소 및 함수를 정의하는 프로그램 코드를 비교하여 이들이 동일 도메인 또는 상이한 도메인(예컨대, 도메인 A 및 도메인 B 등)에 있는지 판단한다(블록 1410). 호출 및 정의가 동일한 도메인에 있는 경우, 호출 및 정의에 대한 소프트웨어 코드 모듈은 실행 전에 미리 링크되어 단일 유효 모듈로 리졸빙될 수 있다(블록 1420). 그러나 함수 호출과 정의가 상이한 도메인에 있는 경우 주소 연결은 도메인들 간에 동적으로 리졸빙된다(블록 1430).
도메인(B)의 함수(F)에 대한 도메인(A)에서의 함수 호출은 PLT(730)를 통해 동적 링커(800)로의 점프를 트리거한다(블록 1440). AVJ(810)는 액세스가 허가 또는 거부되었는지 여부를 판정하기 위해 쿼리된다(블록 1450). 예를 들어, AVJ(810)는 발신자 도메인 A가 피호출자 도메인 B로 전화를 걸 수 있는지 여부를 확인한다. AVJ(810)는, 예를 들어 특권 호스트 함수에 대해 원거리 호출을 함으로써 응답(예컨대, 예/아니오)을 얻는다. 허가가 거부되면, 함수 호출이 트랩되고 계속될 수 없다(블록 1460). 허가가 승인되면, 도메인 B의 함수(F)의 주소가 GOT(740) 스텁에 기록되어 도메인 A에서 도메인 B의 함수 코드로 점프할 수 있다(블록 1470).
도 14의 예시적인 방법은 함수 호출과 관련하여 위에서 설명되었다. 특정 예들에서, 도 14의 예시적인 방법은 또한, 그 사용 및 정의가 도메인 경계를 넘는 변수 등을 리졸빙하는 데 적용될 수도 있다.
도 15는 도 1 내지 11의 예시적인 컴퓨팅 아키텍처, 플랫폼, 장치 또는 디바이스(100, 200, 300, 440, 500, 600, 1000)를 구현하기 위해 도 12 내지 14의 명령어를 실행하도록 구성된 예시적인 처리 플랫폼의 블록도이다. 프로세서 플랫폼(1500)은, 예를 들어, 서버, 개인용 컴퓨터, 워크스테이션, 셀프러닝 머신(예컨대, 신경망), 모바일 장치(예컨대, 휴대폰, 스마트 폰, iPadTM와 같은 태블릿), 인터넷 기기, 게임 콘솔, 헤드셋 또는 기타 웨어러블 장치, 또는 다른 유형의 컴퓨팅 장치일 수 있다.
도시된 예의 프로세서 플랫폼(1500)은 프로세서(1512)를 포함한다. 도시된 예의 프로세서(1512)는 하드웨어이다. 예를 들어, 프로세서(1512)는 임의의 원하는 제품군 또는 제조업체의 하나 이상의 집적 회로, 논리 회로, 마이크로프로세서, GPU, DSP, 또는 제어기에 의해 구현될 수 있다. 하드웨어 프로세서는 반도체 기반(예컨대, 실리콘 기반) 장치일 수 있다. 이 예에서, 프로세서(1512)는 예시적인 관리자(610)를 구현한다. 유사하게 예시적인 프로세서(1512)는 예시적인 CPU(20), 예시적인 칩렛(310-390, 520-570), 예시적인 칩 관리자(510), 예시적인 회로(620-630), 예시적인 동적 링커(800), 예시적인 증명자(1160) 등을 구현할 수 있다.
도시된 예의 프로세서(1512)는 로컬 메모리(1513)(예컨대, 캐시)를 포함한다. 도시된 예의 프로세서(1512)는 버스(1518)를 통해 휘발성 메모리(1514) 및 비휘발성 메모리(1516)를 포함하는 메인 메모리와 통신한다. 휘발성 메모리(1514)는 SDRAM(Synchronous Dynamic Random Access Memory), DRAM(Dynamic Random Access Memory), RDRAM®(RAMBUS® Dynamic Random Access Memory) 및/또는 임의의 다른 유형의 액세스 메모리 장치에 의해 구현될 수 있다. 비휘발성 메모리(1516)는 플래시 메모리 및/또는 임의의 다른 원하는 유형의 메모리 장치에 의해 구현될 수 있다. 메인 메모리(1514, 1516)에 대한 액세스는 메모리 제어기에 의해 제어된다.
도시된 예의 프로세서 플랫폼(1500)은 또한 인터페이스 회로(1520)를 포함한다. 인터페이스 회로(1520)는 이더넷 인터페이스, USB(Universal Serial Bus), 블루투스(Bluetooth®) 인터페이스, 근거리 통신(NFC) 인터페이스, 및/또는 PCI 익스프레스 인터페이스와 같은 임의의 유형의 인터페이스 표준에 의해 구현될 수 있다.
도시된 예에서, 하나 이상의 입력 장치(1522)가 인터페이스 회로(1520)에 접속된다. 입력 장치(들)(1522)는 사용자가 데이터 및/또는 명령어를 프로세서(1512)에 입력할 수 있게 한다. 입력 장치(들)은, 예를 들어 오디오 센서, 마이크로폰, 카메라(스틸 또는 비디오), 키보드, 버튼, 마우스, 터치스크린, 트랙 패드, 트랙볼 및/또는 음성 인식 시스템에 의해 구현될 수 있다.
하나 이상의 출력 장치(1524) 또한 도시된 예의 인터페이스 회로(1520)에 접속된다. 출력 장치(1524)는, 예를 들어, 디스플레이 장치(예컨대, 발광 다이오드(LED), 유기 발광 다이오드(OLED), 액정 디스플레이(LCD), 음극선관 디스플레이(CRT), IPS(In-Place Switching) 디스플레이, 터치스크린 등), 촉각 출력 장치 및/또는 스피커에 의해 구현될 수 있다. 따라서, 도시된 예의 인터페이스 회로(1520)는 일반적으로 그래픽 드라이버 카드, 그래픽 드라이버 칩 및/또는 그래픽 드라이버 프로세서를 포함한다.
도시된 예의 인터페이스 회로(1520)는 또한, 네트워크(1526)를 통해 외부 머신(예컨대, 임의의 종류의 컴퓨팅 장치)과 데이터의 교환을 용이하게 하기 위해 송신기, 수신기, 트랜시버, 모뎀, 주거용 게이트웨이, 무선 액세스 포인트, 및/또는 네트워크 인터페이스와 같은 통신 장치를 포함한다. 통신은, 예를 들면 이더넷 접속, DSL(디지털 가입자 회선) 접속, 전화선 접속, 동축 케이블 시스템, 위성 시스템, 현장 무선 시스템, 셀룰러 전화 시스템 등을 통해 이루어질 수 있다.
도시된 예의 프로세서 플랫폼(1500)은 또한 소프트웨어 및/또는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치(1528)를 포함한다. 이러한 대용량 저장 장치(1528)의 예는 플로피 디스크 드라이브, 하드 디스크 드라이브, 컴팩트 디스크 드라이브, 블루레이 디스크 드라이브, 독립 디스크의 중복 어레이(RAID) 시스템, 및 디지털 다목적 디스크(DVD) 드라이브를 포함한다.
도 12 내지 14의 머신 실행가능 명령어(1532)는 대용량 저장 장치(1528), 휘발성 메모리(1514), 비휘발성 메모리(1516), 및/또는 CD 또는 DVD와 같은 제거 가능한 비일시적 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
특정 예들에서, 도 1 내지 도 11의 예시적인 컴퓨팅 장치(100, 200, 300, 440, 500, 600, 1000 등)는 에지 네트워크의 에지 노드 상에서 구현될 수 있다. 에지 노드는, 예를 들어, 타워 베이스에 통합된 컴퓨팅 랙이 있는 기지국 또는, 휴대폰, 스마트 자동차, 드론 등과 같은 모바일 에지 노드뿐만 아니라 서버 랙이 있을 수 있는 지방국(regional office)과 같은 에지 컴퓨팅 환경에 의해 배치되는 컴퓨팅 엔드포인트이다. IoT 네트워크에서, 모바일 에지 노드는 에지 네트워크의 일부일 뿐만 아니라 IoT 네트워크의 일부로 간주될 수 있다. IoT 및 산업용 사물 인터넷(IIoT) 노드는, IoT 노드의 주요 초점이 특정 유형의 감지 기술 또는 공장 자동화, 로봇 공학, 자율신경 등과 같은 사이버-물리적 자동화 기술을 호스팅하는 것인, IoT 네트워크를 포함하는 고정 IoT 노드를 포함할 수 있다.
특정 예에서, 칩렛은 칩렛 레이아웃 기하구조 내에서 유연한 구성을 제공하기 위해 IoT 또는 다른 에지 노드에서 ASIC, FPGA, SoC 등에서 다양한 조합으로 구성될 수 있다. 그 다음에, 구성, 작업, 기타 용도, 위치 등에 따라 보안 증명 및 액세스 규정이 동적으로 결정될 수 있다.
도 16은 에지 컴퓨팅에 대한 구성의 개요를 보여주는 블록도(1600)이며, 이는 다음의 많은 예에서 "에지 클라우드"로 지칭되는 처리 계층을 포함한다. 도시된 바와 같이, 에지 클라우드(1610)는 액세스 포인트 또는 기지국(1640), 로컬 프로세싱 허브(1650), 또는 중앙국(1620)과 같은 에지 위치에 함께 위치하며, 따라서 다수의 엔티티, 장치 및 장비 인스턴스를 포함할 수 있다. 에지 클라우드(1610)는 클라우드 데이터 센터(1630)보다 엔드포인트(소비자 및 생산자) 데이터 소스(1660)(예컨대, 자율 차량(1661), 사용자 장비(1662), 비즈니스 및 산업 장비(1663), 비디오 캡처 장치(1664), 드론(1665), 스마트 도시 및 빌딩 장치(1666), 센서 및 IoT 장치(1667) 등)에 훨씬 더 가깝게 위치한다. 에지 클라우드(1610)의 에지에서 제공되는 컴퓨팅, 메모리 및 저장 리소스는 엔드포인트 데이터 소스(1660)에 의해 사용되는 서비스 및 기능에 대한 초저지연 응답 시간을 제공하는 데 중요하며, 뿐만 아니라 에지 클라우드(1610)에서 클라우드 데이터 센터(1630)로 향하는 네트워크 백홀 트래픽을 감소시켜 다른 이점들 중에서 에너지 소비 및 전체 네트워크 사용을 개선한다.
컴퓨팅, 메모리 및 저장부는 희소한 리소스이며, 일반적으로 에지 위치에 따라 감소한다(예컨대, 중앙국에서보다, 기지국에서보다 소비자 엔드포인트 장치에서 사용 가능한 프로세싱 리소스가 더 적음). 그러나, 에지 위치가 엔드포인트(예컨대, 사용자 장비(UE))에 더 가까울수록 공간 및 전력이 더 많이 제한된다. 따라서, 에지 컴퓨팅은 지리적으로나 네트워크 액세스 시간 면에서나 더 가까이 위치하는 리소스를 더 많이 분산시킴으로써, 네트워크 서비스에 필요한 리소스의 양을 줄이려고 시도한다. 이런 방식으로, 에지 컴퓨팅은 적절한 경우, 컴퓨팅 리소스를 워크로드 데이터로 가져오거나 워크로드 데이터를 컴퓨팅 리소스로 가져오려고 시도한다.
다음은 다수의 잠재적 배포를 커버하고 일부 네트워크 운영자 또는 서비스 제공자가 자체 인프라스트럭처에서 가질 수 있는 제한을 해결하는 에지 클라우드 아키텍처의 양태들을 설명한다. 이들은 에지 위치에 따른 구성의 변형(예를 들어 기지국 수준의 에지는, 예컨대, 다중 테넌트 시나리오에서 더 제한적인 성능 및 기능을 가질 수 있기 때문에); 에지 위치, 위치 계층 또는 위치 그룹에 사용할 수 있는 컴퓨팅, 메모리, 저장부, 패브릭, 가속 또는 이와 유사한 리소스 유형에 기초한 구성; 서비스, 보안, 관리 및 오케스트레이션 기능; 및 엔드 서비스의 사용성 및 성능을 달성하기 위한 관련 목표를 포함한다. 이들 배포는 지연, 거리 및 타이밍 특성에 따라 "니어 에지(near edge)", "클로즈 에지(close edge)", "로컬 에지(local edge)", "중간 에지(middle edge)" 또는 "파 에지(far edge)" 계층으로 간주될 수 있는 네트워크 계층에서 처리를 수행할 수 있다.
에지 컴퓨팅은 일반적으로 기지국, 게이트웨이, 네트워크 라우터 또는 데이터를 생성하고 소비하는 엔드포인트 장치에 훨씬 더 가까운 기타 장치에서 구현되는 컴퓨팅 플랫폼(예컨대, x86 또는 ARM 컴퓨팅 하드웨어 아키텍처)의 사용을 통해 네트워크의 "에지"에서 또는 더 가까이에서 컴퓨팅이 수행되는 개발 패러다임이다. 예를 들어, 에지 게이트웨이 서버는 접속된 클라이언트 장치에 대한 저지연 사용 사례(예컨대, 자율 주행 또는 비디오 감시)를 위해 실시간으로 계산을 수행하기 위해 메모리 및 저장 리소스의 풀을 구비할 수 있다. 또는 예를 들어, 기지국은 더 이상 백홀 네트워크를 통해 데이터를 통신하지 않고, 접속된 사용자 장비에 대한 서비스 워크로드를 직접 처리하기 위해 컴퓨팅 및 가속 리소스로 보강될 수 있다. 또는 다른 예로서, 중앙국 네트워크 관리 하드웨어는, 가상화된 네트워크 기능을 수행하고 접속된 장치에 대한 서비스 및 소비자 기능 실행을 위한 컴퓨팅 리소스를 제공하는 표준화된 컴퓨팅 하드웨어로 대체될 수 있다. 에지 컴퓨팅 네트워크 내에는, 컴퓨팅 리소스가 데이터로 "이동"되는 서비스 시나리오와 데이터가 컴퓨팅 리소스로 "이동"되는 시나리오가 있을 수 있다. 또는, 예를 들어 기지국 컴퓨팅, 가속 및 네트워크 리소스는, 코너 케이스, 긴급 상황을 관리하거나 훨씬 더 긴 구현 라이프사이클에 대한 배포된 리소스의 라이프사이클을 제공하기 위해 휴면 용량(가입, 주문형 용량)을 활성화하여 필요에 따라 워크로드 수요에 맞게 확장하기 위해 서비스를 제공할 수 있다.
도 17은 엔드포인트, 에지 클라우드 및 클라우드 컴퓨팅 환경 사이의 운영 계층을 도시한 것이다. 구체적으로, 도 17은 네트워크 컴퓨팅의 다수의 예시적인 계층들 사이에 에지 클라우드(1610)를 활용하는 컴퓨팅 사용 사례(1705)의 예를 도시한다. 이들 계층은 데이터 생성, 분석 및 데이터 소비 활동을 수행하기 위해 에지 클라우드(1610)에 액세스하는 엔드포인트(장치 및 사물) 계층(1700)에서 시작한다. 에지 클라우드(1610)는 물리적으로 근접한 에지 시스템에 위치한 게이트웨이, 온프레미스 서버 또는 네트워크 장비(노드(1715))를 갖는 에지 장치 층(1710); 기지국, 무선 처리 장치, 네트워크 허브, 지역 데이터 센터(DC) 또는 로컬 네트워크 장비(장비(1725))를 포함하는 네트워크 액세스 계층(1720); 및 그 사이에 위치하는 (상세하게 도시되어 있지 않지만 층(1712) 내의) 임의의 장비, 장치 또는 노드와 같은 다수의 네트워크 층에 걸쳐 있을 수 있다. 에지 클라우드(1610) 내의 그리고 다양한 계층들 사이의 네트워크 통신은 도시되지 않은 접속 아키텍처 및 기술을 비롯한 임의의 수의 유선 또는 무선 매체를 통해 발생할 수 있다.
네트워크 통신 거리 및 처리 시간 제약으로 인한 지연의 예는, 그 범위가 엔드포인트 계층(1700) 사이에서 밀리초(ms) 미만에서부터, 에지 장치 계층(1710)에서는 5ms 이하, 네트워크 액세스 계층(1720)에서의 노드들과 통신할 때에는 10 내지 40ms에 이른다. 에지 클라우드(1610) 너머에는 코어 네트워크(1730) 및 클라우드 데이터 센터(1740) 층이 있으며, 이들 각각은 증가된 지연 시간을 갖는다(예컨대, 코어 네트워크 계층(1730)에서 50-60ms 사이이고, 클라우드 데이터 센터 계층에서는 100ms 이상에 이른다). 그 결과, 코어 네트워크 데이터 센터(1735) 또는 클라우드 데이터 센터(1745)에서의 동작은 지연이 최소 50~100ms 이상이며, 사용 사례(1705)의 많은 시간 임계적(time-critical) 기능을 수행하지 못할 것이다. 이러한 지연 값들 각각은 설명 및 대비를 위해 제공되며, 다른 액세스 네트워크 매체 및 기술을 사용하면 대기 시간을 더욱 줄일 수 있다는 것을 이해할 수 있을 것이다. 일부 예들에서, 네트워크의 제각기의 부분들은 네트워크 소스 및 목적지에 대해 "클로즈 에지", "로컬 에지", "니어 에지", "중간 에지", 또는 "파 에지" 계층들로 분류될 수 있다. 예를 들어, 코어 네트워크 데이터 센터(1735) 또는 클라우드 데이터 센터(1745)의 관점에서, 중앙국 또는 콘텐츠 데이터 네트워크는 (사용 사례(1705)의 장치 및 엔드포인트와 통신할 때 높은 지연 값을 갖는, 클라우드에 "근접한")"니어 에지" 계층 내에 위치하는 것으로 고려될 수 있는 반면, 액세스 포인트, 기지국, 온프레미스 서버 또는 네트워크 게이트웨이는 (사용 사례(1705)의 장치 및 엔드포인트와 통신할 때 낮은 지연 값을 갖는 클라우드로부터 "먼") "파 에지" 계층 내에 있는 것으로 고려될 수 있다. "클로즈(close)", "로컬(local)", "니어(near)", "중간(middle)" 또는 "파(far)" 에지를 구성하는 특정 네트워크 계층의 다른 분류는 지연, 거리, 네트워크 홉 수 또는 네트워크 계층(1700-1740) 중 어느 하나의 소스에서 측정된 다른 측정 가능한 특성에 기초할 수 있다.
다양한 사용 사례(1705)는 에지 클라우드를 활용하는 다수 서비스로 인한, 인입 스트림으로부터의 사용 압력 하에 리소스에 액세스할 수 있다. 짧은 지연 결과를 달성하기 위해, 에지 클라우드(1610) 내에서 실행되는 서비스는 (a) 우선 순위(처리량 또는 지연) 및 서비스 품질(QoS)(예컨대, 자율 차량의 트래픽이 응답 시간 요건의 측면에서 온도 센서보다 더 높은 우선 순위를 가질 수도 있고, 또는 성능 감도/병목 현상이 애플리케이션에 따라 컴퓨팅/가속기, 메모리, 저장 또는 네트워크 리소스에 존재할 수 있음); (b) 신뢰성 및 탄력성(예컨대, 일부 입력 스트림은 작업을 수행해야 하고 트래픽은 미션 크리티컬 신뢰성으로 라우팅되어야 하며, 반면에 다른 일부 입력 스트림은 애플리케이션에 따라 간헐적인 오류를 허용할 수 있음) 및 (c) 물리적 제약(예컨대, 전력, 냉각 및 폼 팩터) 측면에서 다양한 요건의 균형을 유지한다.
이들 사용 사례에 대한 엔드투엔드 서비스 뷰는 서비스 흐름의 개념을 포함하고 트랜잭션과 연관된다. 트랜잭션은 리소스, 워크로드, 워크플로, 및 비즈니스 기능 및 비즈니스 수준 요건에 대한 관련 서비스뿐만 아니라 서비스를 이용하는 엔터티에 대한 전체 서비스 요구 사항을 자세히 설명한다. 설명된 "조건"에 따라 실행되는 서비스는 서비스 라이프사이클 동안 트랜잭션에 대한 실시간 및 런타임 계약 준수를 보장하는 방식으로 각 계층에서 관리될 수 있다. 트랜잭션의 구성 요소가 SLA에 대한 동의를 누락한 경우, 시스템 전체(트랜잭션의 구성 요소)는 (1) SLA 위반의 영향을 이해하고 (2) 시스템의 다른 구성 요소를 보강하여 전체 트랜잭션 SLA를 재개하는 기능을 제공할 수 있으며, (3) 수정 단계를 구현할 수 있다.
따라서, 이러한 변형 및 서비스 특징을 염두에 두고, 에지 클라우드(1610) 내의 에지 컴퓨팅은 사용 사례(1705)의 다수 애플리케이션(예컨대, 객체 추적, 비디오 감시, 연결된 차량 등)을 제공하고 이에 응답하는 능력을 실시간 또는 거의 실시간으로 제공할 수 있으며, 이들 다수의 애플리케이션에 대한 초저지연 요건을 만족한다. 이들 이점은 지연이나 다른 제한으로 인해 기존 클라우드 컴퓨팅을 활용할 수 없는 완전히 새로운 종류의 애플리케이션(가상 네트워크 기능(VNF), FaaS(Function as a Service), EaaS(Edge as a Service), 표준 프로세스 등)을 가능하게 한다.
그러나, 에지 컴퓨팅의 장점에는 다음과 같은 주의 사항이 있다. 에지에 위치한 장치는 종종 리소스가 제한되어 있으므로 에지 리소스 사용에 대한 압박이 있다. 일반적으로 이 문제는 여러 사용자(테넌트) 및 장치에서 사용할 메모리 및 저장 리소스의 풀링을 통해 해결된다. 에지는 전력 및 냉각이 제한될 수 있으므로 전력 사용량은 가장 많은 전력을 소비하는 애플리케이션에서 고려해야 한다. 이들 풀링된 메모리 리소스에는 고유한 전원-성능 트레이드오프가 있을 수 있는데, 이들 중 다수가 더 많은 전력이 더 큰 메모리 대역폭을 필요로 하는 새로운 메모리 기술을 사용할 가능성이 높기 때문이다. 마찬가지로, 에지 위치가 무인일 수 있고 허가된 액세스가 필요할 수도 있기 때문에(예컨대, 제3자(third-party) 위치에 있는 경우), 하드웨어의 향상된 보안 및 신뢰 기반 기능도 필요하다. 이러한 문제는 다중 테넌트, 다중 소유자 또는 다중 액세스 설정의 에지 클라우드(1610)에서 확대되는데, 여기서 특히 네트워크 사용량이 동적으로 변동하고 여러 이해 관계자, 사용 사례 및 서비스의 구성이 변경됨에 따라 서비스 및 애플리케이션이 많은 사용자에 의해 요청된다.
보다 일반적인 수준에서, 에지 컴퓨팅 시스템은 클라이언트 및 분산 컴퓨팅 장치로부터의 조정을 제공하는 에지 클라우드(1610)(네트워크 계층(1700-1740))에서 작동하는 전술한 계층에서 임의의 수의 배치를 포함하는 것으로 설명될 수 있다. 하나 이상의 에지 게이트웨이 노드, 하나 이상의 에지 집선 노드(edge aggregation node) 및 하나 이상의 코어 데이터 센터는, 통신 서비스 제공자("telco " 또는 "TSP"), 사물 인터넷 서비스 제공자, 클라우드 서비스 제공자(CSP), 엔터프라이즈 엔티티 또는 기타 여러 엔티티에 의해 또는 이를 대신하여 에지 컴퓨팅 시스템의 구현을 제공하기 위해 네트워크의 계층들에 걸쳐 분산될 수 있다. 에지 컴퓨팅 시스템의 다양한 구현 및 구성은 서비스 목표를 만족하도록 조정될 때와 같이 동적으로 제공될 수 있다.
본 명세서에 제공된 예들에 맞게, 클라이언트 컴퓨팅 노드는 데이터의 생산자 또는 소비자로서 통신할 수 있는 임의의 유형의 엔드포인트 컴포넌트, 장치, 기기, 또는 다른 사물로서 구현될 수 있다. 또한, 에지 컴퓨팅 시스템(2800)에서 사용되는 "노드" 또는 "장치"라는 표시가 반드시 그러한 노드 또는 장치가 클라이언트 또는 에이전트/미니언/팔로워 역할로 동작한다는 것을 의미하는 것은 아니며, 오히려, 에지 컴퓨팅 시스템(2800)의 임의의 노드 또는 장치는 에지 클라우드(1610)를 용이하게 하거나 사용하기 위해 개별 또는 연결된 하드웨어 또는 소프트웨어 구성을 포함하는 개별 엔티티, 노드 또는 서브시스템을 지칭한다.
따라서, 에지 클라우드(1610)는 네트워크 계층들(1710-1730) 사이의 에지 게이트웨이 노드, 에지 집선 노드, 또는 다른 에지 컴퓨팅 노드에 의해 그리고 그 내에서 동작되는 네트워크 구성요소 및 기능적 특징으로부터 형성된다. 따라서, 에지 클라우드(1610)는 본 명세서에서 논의되는 무선 액세스 네트워크(RAN) 가능 엔드포인트 장치(예컨대, 모바일 컴퓨팅 장치, IoT 장치, 스마트 장치 등)에 근접하게 위치하는 에지 컴퓨팅 및/또는 저장 리소스를 제공하는 임의의 유형의 네트워크로 구현될 수 있다. 즉, 에지 클라우드(1610)는 모바일 캐리어 네트워크(예컨대, GSM(Global System for Mobile Communications) 네트워크, LTE(Long-Term Evolution) 네트워크, 5G/6G 네트워크 등)를 포함하는 서비스 제공자 코어 네트워크로의 진입점 역할을 하는 전통적인 네트워크 액세스 포인트와 엔드포인트 장치를 연결하면서, 저장부 및/또는 컴퓨팅 기능도 제공하는 "에지"로 구상될 수 있다. 다른 유형 및 형태의 네트워크 액세스(예컨대, Wi-Fi, 장거리 무선, 광 네트워크를 포함하는 유선 네트워크)도 이러한 3GPP 캐리어 네트워크 대신에 또는 이와 함께 사용될 수 있다.
에지 클라우드(1610)의 네트워크 컴포넌트는 서버, 멀티-테넌트 서버, 어플라이언스 컴퓨팅 장치, 및/또는 임의의 다른 유형의 컴퓨팅 장치일 수 있다. 예를 들어, 에지 클라우드(1610)는 하우징, 섀시, 케이스 또는 쉘을 포함하는 독립형 전자 장치인 어플라이언스 컴퓨팅 장치를 포함할 수 있다. 일부 상황에서 하우징은 사람이 운반 및/또는 운송할 수 있도록 휴대가능한 크기일 수 있다. 예시적인 하우징은 기기의 내용물을 부분적으로 또는 완전히 보호하는 하나 이상의 외부 표면을 형성하는 재료를 포함할 수 있으며, 여기서 보호는 날씨로부터의 보호, 위험한 환경으로부터의 보호(예컨대, EMI, 진동, 극한 온도) 및/또는 잠수 가능을 포함할 수 있다. 예시적인 하우징은 AC 전원 입력, DC 전원 입력, AC/DC 또는 DC/AC 컨버터(들), 전원 조절기, 변압기, 충전 회로, 배터리, 유선 입력 및/또는 무선 전원 입력과 같은 고정식 및/또는 휴대용 구현에 전력을 제공하는 전원 회로를 포함할 수 있다. 예시적인 하우징 및/또는 그 표면은 건물, 통신 구조(예컨대, 기둥, 안테나 구조 등) 및/또는 랙(예컨대, 서버 랙, 블레이드 마운트 등)과 같은 구조물에 부착할 수 있도록 장착 하드웨어를 포함하거나 이에 연결될 수 있다.). 예시적인 하우징 및/또는 그 표면은 하나 이상의 센서(예컨대, 온도 센서, 진동 센서, 광 센서, 음향 센서, 용량 센서, 근접 센서 등)를 지원할 수 있다. 하나 이상의 그러한 센서는 기기의 표면에 포함되거나, 운반되거나, 그렇지 않으면 표면에 내장되거나 및/또는 기기의 표면에 장착될 수 있다. 예시적인 하우징 및/또는 그 표면은 추진 하드웨어(예컨대, 바퀴, 프로펠러 등) 및/또는 관절식 하드웨어(예컨대, 로봇 팔, 회전 가능한 부속 장치 등)와 같은 기계적 연결을 지원할 수 있다. 일부 상황에서, 센서는 사용자 인터페이스 하드웨어(예컨대, 버튼, 스위치, 다이얼, 슬라이더 등)와 같은 모든 유형의 입력 장치를 포함할 수 있다. 일부 상황에서, 예시적인 하우징은 그 안에 포함, 운반, 내장되고/되거나 부착된 출력 장치를 포함한다. 출력 장치는 디스플레이, 터치스크린, 조명, LED, 스피커, I/O 포트(예컨대, USB) 등을 포함할 수 있다. 일부 상황에서, 에지 장치는 특정 목적(예컨대, 신호등)을 위해 네트워크에 제공되는 장치이지만, 다른 목적으로 활용될 수 있는 처리 및/또는 다른 기능이 있을 수 있다. 이러한 에지 장치는 다른 네트워크 장치와 독립적일 수 있으며 주 목적에 적합한 폼 팩터를 갖는 하우징을 구비할 수 있지만, 기본 작업을 방해하지 않는 다른 컴퓨팅 작업에도 사용할 수 있다. 에지 장치는 사물 인터넷 장치를 포함한다. 어플라이언스 컴퓨팅 장치는 장치 온도, 진동, 리소스 활용, 업데이트, 전원 문제, 물리적 및 네트워크 보안 등과 같은 로컬 문제를 관리하기 위한 하드웨어 및 소프트웨어 컴포넌트를 포함할 수 있다. 어플라이언스 컴퓨팅 장치를 구현하기 위한 예시적인 하드웨어는 도 23b와 관련하여 설명한다. 에지 클라우드(1610)는 또한 하나 이상의 서버 및/또는 하나 이상의 멀티-테넌트 서버를 포함할 수 있다. 이러한 서버는 운영 체제를 포함하고 가상 컴퓨팅 환경을 구현할 수 있다. 가상 컴퓨팅 환경은 하나 이상의 가상 머신, 하나 이상의 컨테이너 등을 관리(예컨대, 생성, 배포, 파괴 등)하는 하이퍼바이저를 포함할 수 있다. 이러한 가상 컴퓨팅 환경은 하나 이상의 애플리케이션 및/또는 또는 다른 소프트웨어, 코드 또는 스크립트가 하나 이상의 다른 애플리케이션, 소프트웨어, 코드 또는 스크립트와 격리된 상태에서 실행될 수 있는 실행 환경을 제공한다.
도 18에서, 다양한 클라이언트 엔드포인트(1810)(모바일 장치, 컴퓨터, 자율 차량, 비즈니스 컴퓨팅 장비, 산업 처리 장비 형태)는 엔드포인트 네트워크 집선의 유형에 특정한 요청 및 응답을 교환한다. 예를 들어, 클라이언트 엔드포인트(1810)는 온프레미스 네트워크 시스템(1832)을 통해 요청 및 응답(1822)을 교환함으로써 유선 광대역 네트워크를 통해 네트워크 액세스를 얻을 수 있다. 모바일 컴퓨팅 장치와 같은 일부 클라이언트 엔드포인트(1810)는 액세스 포인트(예컨대, 셀룰러 네트워크 타워)(1834)를 통해 요청 및 응답(1824)을 교환함으로써 무선 광대역 네트워크를 통해 네트워크 액세스를 얻을 수 있다. 자율 차량과 같은 일부 클라이언트 엔드포인트(1810)는 거리에 위치한 네트워크 시스템(1836)을 통해, 무선 차량 네트워크를 통해 요청 및 응답(1826)에 대한 네트워크 액세스를 얻을 수 있다. 그러나, 네트워크 액세스의 유형에 관계없이, TSP는 트래픽 및 요청을 모으기 위해 에지 클라우드(1610) 내에 집선 포인트(1842, 1844)를 배치할 수 있다. 따라서, 에지 클라우드(1610) 내에서, TSP는 요청된 콘텐츠를 제공하기 위해 에지 집선 노드(1840)에서와 같이 다양한 컴퓨팅 및 저장 리소스를 배치할 수 있다. 에지 집선 노드(1840) 및 에지 클라우드(1610)의 다른 시스템은, 웹사이트, 애플리케이션, 데이터베이스 서버 등에 대한 클라우드/데이터 센터로부터의 지연이 긴 요청을 수행하기 위해 백홀 네트워크(1850)를 사용하는 클라우드 또는 데이터 센터(1860)에 접속된다. 단일 서버 프레임워크에 배치된 것을 포함하여 에지 집선 노드(1840) 및 집선 포인트(1842, 1844)의 추가적인 또는 통합된 인스턴스가 또한 에지 클라우드(1610) 또는 TSP 인프라스트럭처의 다른 영역 내에 존재할 수 있다.
도 19는 다중 에지 노드와 이러한 에지 노드를 사용하는 다중 테넌트(예컨대, 사용자, 제공자) 사이에서 작동되는 에지 컴퓨팅 시스템에 걸친 가상화 및 컨테이너 기반 에지 구성을 위한 배치 및 오케스트레이션을 도시한다. 예를 들어, 샌드박스(910-940) 및/또는 다른 모델(110-140) 등은 컨테이너를 사용하여 구현될 수 있다. 구체적으로, 도 19는 다양한 가상 에지 인스턴스에 액세스하는 다양한 클라이언트 엔드포인트(1910)(예컨대, 스마트 도시/빌딩 시스템, 모바일 장치, 컴퓨팅 장치, 비즈니스/물류 시스템, 산업 시스템 등)에 대한 요청 및 응답을 실행하는, 에지 컴퓨팅 시스템(1900) 내의 제1 에지 노드(1922) 및 제2 에지 노드(1924)의 조직을 나타낸다. 여기서, 가상 에지 인스턴스(1932, 1934)는 웹사이트, 애플리케이션, 데이터베이스 서버 등에 대한 지연이 긴 요청에 대해 클라우드/데이터 센터(1940)에 액세스하여 에지 클라우드에서 에지 컴퓨팅 기능 및 처리를 제공한다. 그러나, 에지 클라우드에 의해 여러 테넌트 또는 엔티티에 대한 여러 에지 노드 간의 처리가 조정될 수 있다.
도 19의 예에서, 이들 가상 에지 인스턴스는 에지 저장, 컴퓨팅 및 서비스의 제1 조합을 제공하는 제1 테넌트(테넌트 1)에게 제공되는 제1 가상 에지(1932)와, 및 에지 저장, 컴퓨팅 및 서비스의 제2 조합을 제공하는 제2 가상 에지(1934)를 포함한다. 가상 에지 인스턴스(1932, 1934)는 에지 노드들(1922, 1924) 사이에 분산되며, 요청 및 응답이 동일하거나 상이한 에지 노드로부터 이행되는 시나리오를 포함할 수 있다. 분산되어 있지만 조직된 방식으로 작동하는 에지 노드(1922, 1924)의 구성은 에지 프로비저닝 기능(1950)에 기초하여 발생한다. 다중 테넌트 사이에 애플리케이션 및 서비스에 대한 조정된 동작을 제공하기 위한 에지 노드(1922, 1924)의 기능은 오케스트레이션 기능(1960)에 기초하여 발생한다.
장치들(1910) 중 일부는, 테넌트 1이 테넌트 1 '슬라이스' 내에서 기능할 수 있는 반면 테넌트 2는 테넌트 2 슬라이스 내에서 기능할 수 있는 다중 테넌트 장치이다(다른 예에서는 추가적인 또는 하위 테넌트가 존재할 수 있고, 각 테넌트는 특정 하드웨어 기능에 대해 하루 종일 특정 기능 세트를 특별히 부여받고 이와 업무상 관련될 수도 있다. 신뢰할 수 있는 다중 테넌트 장치는, 키와 슬라이스의 조합이 "신뢰점"(RoT) 또는 테넌트 특정 RoT로 간주될 수 있도록 테넌트별 암호화 키를 추가로 포함할 수 있다. RoT는 또한, 단일 DICE 하드웨어 빌딩 블록을 사용하여 장치 기능(예컨대, Field Programmable Gate Array(FPGA))의 계층화를 위해 계층화된 신뢰할 수 있는 컴퓨팅 기반 컨텍스트를 구축할 수 있도록, DICE(Device Identity Composition Engine) 아키텍처를 사용하여 동적으로 구성될 수 있다. RoT는 또한, 다중 테넌시를 지원하는 데 유용한 "팬아웃"을 활성화하기 위해 신뢰할 수 있는 컴퓨팅 컨텍스트에 사용될 수 있다. 다중 테넌트 환경 내에서, 각각의 에지 노드(1922, 1924)는 노드당 다중 테넌트에 할당된 로컬 리소스에 대한 보안 기능 시행 지점으로 동작할 수 있다. 또한, 테넌트 런타임 및 애플리케이션 실행(예컨대, 인스턴스(1932, 1934))은 잠재적으로 다수의 물리적 호스팅 플랫폼에 걸쳐 있는 리소스의 가상 에지 추상화를 생성하는 보안 기능에 대한 시행 지점 역할을 할 수 있다. 마지막으로, 오케스트레이션 엔티티의 오케스트레이션 기능(1960)은 테넌트 경계를 따라 리소스를 마샬링하기 위한 보안 기능 시행 지점으로 동작할 수 있다.
에지 컴퓨팅 노드는 리소스(메모리, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 인터럽트 제어기, 입/출력(I/O) 제어기, 메모리 제어기, 버스 제어기 등)를 분할할 수 있으며, 여기서 제각기의 분할은 RoT 기능을 포함할 수 있고, DICE 모델에 따른 팬아웃 및 계층화가 에지 노드에 추가로 적용될 수 있다. 클라우드 컴퓨팅 노드는 흔히 컨테이너, FaaS 엔진, 서블릿, 서버 또는 각각에 대한 RoT 컨텍스트를 지원하기 위해 DICE 계층화 및 팬아웃 구조에 따라 분할될 수 있는 기타 계산 추상화를 사용한다. 따라서, 장치(1910, 1922, 1940)에 걸쳐 있는 각각의 RoT는 모든 요소를 종단 간 연결하는 테넌트별 가상 신뢰 보안 채널이 설정될 수 있도록 분산된 신뢰 컴퓨팅 기반(DTCB)의 설정을 조정할 수 있다.
또한, 컨테이너는 이전 에지 노드로부터 자신의 콘텐츠를 보호하는 데이터 또는 워크로드 특정 키를 가질 수 있다는 것을 이해할 수 있을 것이다. 컨테이너 마이그레이션의 일부로서, 소스 에지 노드의 포드 제어기는 마이그레이션 키가 컨테이너 특정 키를 래핑하는 데 사용되는 타겟 에지 노드 포드 제어기로부터 마이그레이션 키를 획득할 수 있다. 컨테이너/포드가 타겟 에지 노드로 마이그레이션되면, 래핑 해제 키가 포드 제어기에 노출되며, 이 후에 포드 제어기가 래핑된 키를 해독한다. 이제 키를 사용하여 컨테이너 특정 데이터에 대한 작업을 수행할 수 있다. 마이그레이션 기능은 (전술한 바와 같이) 적절하게 증명된 에지 노드 및 포드 관리자에 의해 제어될 수 있다.
다른 예에서, 다중 소유자 다중 테넌트 환경에서 컨테이너(코드 및 필요한 종속성을 제공하는 포함된 배포 가능한 소프트웨어 단위)의 사용을 통해 다중 애플리케이션의 오케스트레이션을 제공하도록 에지 컴퓨팅 시스템이 확장된다. 다중 테넌트 오케스트레이터는 키 관리, 신뢰 앵커 관리 및 도 19의 신뢰 '슬라이스' 개념의 프로비저닝 및 라이프사이클과 관련된 기타 보안 기능을 수행하는 데 사용될 수 있다. 예를 들어, 에지 컴퓨팅 시스템은 다수의 가상 에지 인스턴스(및 클라우드 또는 원격 데이터 센터)의 다양한 클라이언트 엔드포인트에 대한 요청 및 응답을 수행하도록 구성될 수 있다. 이들 가상 에지 인스턴스를 사용하면, 여러 테넌트와 여러 애플리케이션(예컨대, 증강 현실(AR)/가상 현실(VR), 엔터프라이즈 애플리케이션, 콘텐츠 전달, 게이밍, 컴퓨팅 오프로드)을 동시에 지원할 수 있다. 또한, 가상 에지 인스턴스 내에 여러 유형의 애플리케이션(예컨대, 일반 애플리케이션, 지연에 민감한 애플리케이션, 지연 임계 애플리케이션, 사용자 평면 애플리케이션, 네트워킹 애플리케이션 등)이 있을 수 있다. 가상 에지 인스턴스는 또한 서로 다른 지리적 위치(또는 여러 소유자가 공동 소유하거나 또는 공동 관리하는 각 컴퓨팅 시스템 및 리소스)에 있는 여러 소유자의 시스템에 걸쳐 있을 수 있다.
예를 들어, 각각의 에지 노드(1922, 1924)는 하나 이상의 컨테이너의 그룹을 제공하는 컨테이너 "포드"(1926, 1928)의 사용과 같이 컨테이너의 사용을 구현할 수 있다. 하나 이상의 컨테이너 포드를 사용하는 설정에서, 포드 제어기 또는 오케스트레이터는 포드에 있는 컨테이너의 로컬 제어 및 오케스트레이션을 담당한다. 각 에지 슬라이스(1932, 1934)에 제공되는 다양한 에지 노드 리소스(예컨대, 육각형으로 표시된 저장, 컴퓨팅, 서비스)는 각 컨테이너의 필요에 따라 분할된다.
포드 제어기는 컨테이너 포드를 사용하여 컨테이너 및 리소스의 분할 및 할당을 감독한다. 포드 제어기는 SLA 계약을 기반으로 핵심 성과 지표(KPI) 목표를 수신하는 것과 같이 물리적 리소스를 가장 잘 분할하는 방법과 기간에 대해 제어기에 지시하는 오케스트레이터(예컨대, 오케스트레이터 1960)로부터의 지침을 수신한다. 포드 제어기는 워크로드를 완료하고 SLA를 충족하기 위해 어떤 컨테이너에 어떤 리소스가 필요한지, 얼마나 오래 필요한지 판단한다. 포드 제어기는 또한, 컨테이너 생성, 이것을 리소스 및 애플리케이션으로 프로비저닝, 분산 애플리케이션에서 함께 작업하는 여러 컨테이너들 사이의 중간 결과 조정, 워크로드 완료시 컨테이너 해체 등과 같은 컨테이너 라이프사이클 동작을 관리한다. 또한, 포드 제어기는 올바른 테넌트가 인증할 때까지 리소스 할당을 방지하거나 증명 결과가 만족될 때까지 컨테이너에 대한 데이터 또는 워크로드 프로비저닝을 방지하는 보안 역할을 수행할 수 있다.
또한, 컨테이너 포드를 사용하면, 테넌트 경계가 여전히 그러나 컨테이너의 각 포드의 컨텍스트 내에 존재할 수 있다. 각 테넌트별 포드가 테넌트별 포드 제어기를 가지면, 일반적인 리소스 고갈 상황을 피하기 위해 리소스 할당 요청을 통합하는 공유 포드 제어기가 있을 것이다. 포드 및 포드 제어기의 증명 및 신뢰성을 보장하기 위해 추가 제어가 제공될 수 있다. 예를 들어, 오케스트레이터(1960)는 증명 검증을 수행하는 로컬 포드 제어기에 증명 검증 정책을 제공할 수 있다. 증명이 제1 테넌트 포드 제어기에 대한 정책을 충족하지만 제2 테넌트 포드 제어기에 대한 정책은 충족하지 않는 경우, 제2 포드는 이를 충족하는 다른 에지 노드로 마이그레이션될 수 있다. 또는, 제1 포드가 실행되도록 허용될 수 있고, 다른 공유 포드 제어기가 설치되고 제2 포드가 실행되기 전에 호출된다.
도 20은 에지 컴퓨팅 시스템에서 컨테이너를 배치하는 다양한 컴퓨팅 구성을 도시한 것이다. 간단한 예로, 시스템 구성(2010, 2020)은 포드 제어기(예컨대, 컨테이너 관리자(2011, 2021) 및 컨테이너 오케스트레이터(2031))가 컴퓨팅 노드(배열(2010)의 2015)를 통한 실행을 통해 컨테이너화된 포드, 기능 및 서비스로서의 기능 인스턴스를 론칭하거나, 또는 컴퓨팅 노드(배열(2020)의 2023)를 통한 실행을 통해 컨테이너화된 가상화 네트워크 기능을 개별적으로 실행하도록 적응되는 설정을 나타낸다. 이 구성은, 컨테이너화된 포드(예컨대, 포드(2012), 기능(예컨대, 기능(2013), VNF(2022, 2036)), 및 서비스로서의 기능 인스턴스(예컨대, FaaS 인스턴스(2014))가 (가상화된 네트워크 기능의 실행을 제외하고) 제각기의 테넌트에 특유한 가상 머신(예컨대, 테넌트(2032, 2033)용 VM(2034, 2035)) 내에서 론칭되는, 시스템 구성(2030)(컴퓨팅 노드(2037) 사용)에서 다중 테넌트의 사용에 적합하다. 이 구성은 또한 컨테이너 기반 오케스트레이션 시스템(2041)에 의해 조정되는 바와 같이, 컨테이너(2042, 2043), 또는 컴퓨팅 노드(2044) 상의 다양한 기능, 애플리케이션 및 기능의 실행을 제공하는 시스템 구성(2040)에서의 사용에 적합하다.
도 20에 도시된 시스템 구성은, VM, 컨테이너 및 기능을 애플리케이션 구성의 관점에서 동등하게 취급하는 아키텍처를 제공한다(결과의 애플리케이션은 이러한 세 가지 구성요소의 조합이다). 각 구성요소는 하나 이상의 가속기(FPGA, ASIC) 컴포넌트를 로컬 백엔드로 사용할 수 있다. 이런 방식으로 애플리케이션은 오케스트레이터에 의해 조정되는 여러 에지 소유자에 걸쳐 분할될 수 있다.
도 20의 맥락에서, 포드 제어기/컨테이너 관리자, 컨테이너 오케스트레이터, 및 개별 노드는 보안 시행 포인트(security enforcement point)를 제공할 수 있다. 그러나, 테넌트에 할당된 리소스가 제2 테넌트에 할당된 리소스와 다른 경우 테넌트 격리가 조율될 수 있지만, 에지 소유자는 리소스 할당이 테넌트 경계를 넘어 공유되지 않도록 협력한다. 또는, 테넌트는 구독 또는 트랜잭션/계약을 통해 "사용"할 수 있으므로, 리소스 할당은 테넌트 경계를 넘어 분리될 수 있다. 이들 컨텍스트에서, 에지 소유자는 가상화, 컨테이너화, 엔클레이브 및 하드웨어 파티셔닝 체계를 사용하여 테넌시를 시행할 수 있다. 기타 격리 환경은 베어 메탈(전용) 장비, 가상 머신, 컨테이너, 컨테이너의 가상 머신 또는 이들의 조합을 포함할 수 있다.
다른 예에서, 소프트웨어 정의 또는 제어된 실리콘 하드웨어 및 기타 구성 가능한 하드웨어의 양태는 에지 컴퓨팅 시스템의 애플리케이션, 기능 및 서비스와 통합될 수 있다. 소프트웨어 정의 실리콘(SDSi)은, 구성요소가 (예컨대, 업그레이드, 재구성, 또는 하드웨어 구성 자체 내에서의 새로운 기능의 제공을 통해)그 자체 또는 워크로드의 일부분을 수정할 수 있는 능력에 기초하여, 일부 리소스 또는 하드웨어 구성요소가 계약 또는 서비스 수준 계약을 이행할 수 있는 능력을 보장하는 데 사용될 수 있다.
본 명세서에서 논의된 에지 컴퓨팅 시스템 및 장치는 이동성을 포함하는 다양한 솔루션, 서비스 및/또는 사용 사례에 적용될 수 있음을 이해해야 한다. 예를 들어, 도 21은 에지 클라우드(1610)를 구현하는 에지 컴퓨팅 시스템(2100)의 애플리케이션에 대한 모바일 액세스를 포함하는 간단한 차량 컴퓨팅 및 통신 사용 사례를 보여준다. 이 사용 사례에서, 각각의 클라이언트 컴퓨팅 노드(2110)는, 도로를 달리는 동안 에지 게이트웨이 노드(2120)와 통신하는 대응하는 차량에 위치한 차량 내 컴퓨팅 시스템(예컨대, 차량 내 내비게이션 및/또는 인포테인먼트 시스템)으로 구현될 수 있다. 예를 들어, 에지 게이트웨이 노드(2120)는 도로를 따라, 도로의 교차점 또는 도로 근처의 다른 위치에 배치될 수 있는 별도의 기계적 유틸리티를 갖는 구조물에 내장된 노변 캐비닛 또는 다른 인클로저에 위치할 수 있다. 각각의 차량이 도로를 따라 진행함에 따라, 클라이언트 컴퓨팅 노드(2110)와 특정 에지 게이트웨이 장치(2120) 사이의 접속은 클라이언트 컴퓨팅 노드(2110)에 대한 일관된 접속 및 컨텍스트를 유지하기 위해 전파될 수 있다. 마찬가지로, 모바일 에지 노드는 높은 우선 순위 서비스에서 또는 기본 서비스(예컨대, 드론의 경우)에 대한 처리량 또는 지연 해결 요건에 따라 모일 수 있다. 각각의 에지 게이트웨이 장치(2120)는 처리 및 저장 능력을 가지며, 따라서 클라이언트 컴퓨팅 노드(2110)에 대한 데이터의 일부 처리 및/또는 저장이 에지 게이트웨이 장치들(2120) 중 하나 이상에서 수행될 수 있다.
에지 게이트웨이 장치(2120)는, 통신 기지국(2142)(예컨대, 셀룰러 네트워크의 기지국)에 위치하거나 그 안에 위치하는 컴퓨팅 서버, 기기 또는 구성요소로서 예시적으로 구현되는 하나 이상의 에지 리소스 노드(2140)와 통신할 수 있다. 위에서 논의된 바와 같이, 각각의 에지 리소스 노드(2140)는 처리 및 저장 능력을 가지며, 따라서 클라이언트 컴퓨팅 노드(2110)에 대한 데이터의 일부 처리 및/또는 저장이 에지 리소스 노드(2140)에서 수행될 수 있다. 예를 들어, 덜 긴급하거나 덜 중요한 데이터의 처리는 에지 리소스 노드(2140)에 의해 수행될 수 있는 반면, (예컨대, 각 구성요소의 기능이나 긴급성 또는 중요성을 나타내는 요청의 정보에 따라) 긴급성 또는 중요성이 높은 데이터의 처리는 에지 게이트웨이 장치(2120)에 의해 수행될 수 있다. 데이터 액세스, 데이터 위치 또는 지연에 기초하여, 처리 활동 중에 처리 우선 순위가 변경될 때 에지 리소스 노드에서 작업이 계속될 수 있다. 마찬가지로, 구성 가능한 시스템 또는 하드웨어 리소스 자체를 활성화하여(예컨대, 로컬 오케스트레이터를 통해) 새로운 수요를 충족하기 위한 추가 리소스를 제공할 수 있다(예컨대, 컴퓨팅 리소스를 워크로드 데이터에 맞춤).
에지 리소스 노드(들)(2140)는 또한 중앙 위치(예컨대, 셀룰러 통신 네트워크의 중앙국)에 위치한 컴퓨팅 서버, 어플라이언스, 및/또는 다른 구성요소를 포함할 수 있는 코어 데이터 센터(2150)와 통신한다. 코어 데이터 센터(2150)는 에지 리소스 노드(들)(2140) 및 에지 게이트웨이 장치(2120)에 의해 형성된 에지 클라우드(1610) 동작을 위해 글로벌 네트워크 클라우드(2160)(예컨대, 인터넷)에 게이트웨이를 제공할 수 있다. 또한, 일부 예에서, 코어 데이터 센터(2150)는 상당한 양의 처리 및 저장 능력을 가질 수 있고, 따라서 클라이언트 컴퓨팅 장치에 대한 데이터의 일부 처리 및/또는 저장이 코어 데이터 센터(2150) 상에서 수행될 수 있다(예컨대, 긴급성이나 중요도가 낮거나 또는 복잡도가 높은 처리).
에지 게이트웨이 노드(2120) 또는 에지 리소스 노드(2140)는 스테이트풀 애플리케이션(stateful application)(2132) 및 지리적으로 분산된 데이터베이스(2134)의 사용을 제안할 수 있다. 애플리케이션(2132) 및 데이터베이스(2134)가 에지 클라우드(1610)의 계층에서 수평으로 분산된 것으로 도시되어 있지만, 리소스, 서비스, 또는 애플리케이션의 다른 구성요소는 에지 클라우드(클라이언트 컴퓨팅 노드(2110)에서 실행되는 애플리케이션의 일부, 에지 게이트웨이 노드(2120) 또는 에지 리소스 노드(2140)의 다른 부분 등을 포함함) 전역에 수직으로 분산될 수 있음을 이해할 수 있을 것이다. 또한, 이전에 언급한 바와 같이, 서비스 목표 및 책임을 충족하기 위해 임의의 수준에서 피어 관계가 있을 수 있다. 또한, 특정 클라이언트 또는 애플리케이션에 대한 데이터는 변화하는 조건(예컨대, 가속 리소스 가용성, 차량 이동 등)에 따라 에지에서 에지로 이동할 수 있다. 예를 들어, 액세스의 "감쇠율(rate of decay)"에 기초하여, 다음 소유자, 또는 데이터 또는 컴퓨팅 액세스가 더 이상 실행 가능하지 않을 때를 식별하기 위한 예측이 계속될 수 있다. 이들 및 다른 서비스는 트랜재션을 계속 무손실로 준수하는데 필요한 작업을 완료하는 데 이용될 수 있다.
다른 시나리오에서, 컨테이너(2136)(또는 컨테이너의 포드)는 에지 노드(2120)에서부터 다른 에지 노드(예컨대, 2120 등)로 유연하게 마이그레이션될 수 있어, 애플리케이션 및 워크로드가 있는 컨테이너는 마이그레이션이 동작하도록 재구성, 재컴파일, 재해석될 필요가 없다. 그러나, 이러한 설정에서, 일부 수정 또는 "스위즐링(swizzling)" 번역 작업이 적용될 수 있다. 예를 들어, 노드(2140)의 물리적 하드웨어는 에지 게이트웨이 노드(2120)와 다를 수 있으므로, 컨테이너의 하단 에지를 구성하는 하드웨어 추상화 계층(HAL)이 타겟 에지 노드의 물리적 계층에 재매핑될 것이다. 이것은 컨테이너 기본 포맷으로부터 물리 하드웨어 포맷으로 HAL의 이진 변환과 같은 일부 형태의 후기 바인딩(late-binding) 기법을 포함할 수도 있고, 또는 매핑 인터페이스 및 동작을 포함할 수도 있다. 포드 제어기는, 다른 하드웨어 환경으로/으로부터의 마이그레이션을 포함하는 컨테이너 라이프사이클의 일부로서 인터페이스 매핑을 구동하는 데 사용될 수 있다.
에지 노드는 자신을 호스팅하는 플랫폼을 따라 다른 지리적 위치로 이동하므로, 도 21에 포함된 시나리오는 차량(자동차/트럭/트램/기차) 또는 다른 모바일 장치에서 호스팅되는 에지 노드와 같은 다양한 유형의 모바일 에지 노드를 활용할 수 있다. 차량 대 차량 통신을 사용하면, 개별 차량이 다른 차량의 네트워크 에지 노드 역할을 할 수도 있다(예컨대, 캐싱, 보고, 데이터 수집 등을 수행할 수 있다). 따라서, 다양한 에지 노드에서 제공되는 애플리케이션 컴포넌트는 개별 엔드포인트 장치 또는 에지 게이트웨이 노드(2120)에서의 일부 기능 또는 동작, 에지 리소스 노드(2140)에서의 다른 일부 기능 또는 동작, 및 코어 데이터 센터(2150) 또는 글로벌 네트워크 클라우드(2160)에서의 다른 기능 또는 동작 간의 조정을 포함하는 정적 또는 모바일 설정으로 분산될 수 있음을 이해할 것이다.
다른 구성에서, 에지 컴퓨팅 시스템은 각각의 실행 가능한 애플리케이션 및 기능의 사용을 통해 FaaS 컴퓨팅 능력을 구현할 수 있다. 일 예에서, 개발자는 하나 이상의 컴퓨터 기능을 나타내는 기능 코드(예컨대, 여기서 "컴퓨터 코드")를 작성하며, 기능 코드는, 예컨대, 에지 노드 또는 데이터 센터에서 제공하는 FaaS 플랫폼에 업로드된다. 예를 들어, 서비스 사용 사례 또는 에지 처리 이벤트와 같은 트리거는 FaaS 플랫폼으로 기능 코드의 실행을 시작한다.
FaaS의 한 예에서, 컨테이너는 기능 코드(예컨대, 제3자에 의해 제공될 수 있는 애플리케이션)가 실행되는 환경을 제공하기 위해 사용된다. 컨테이너는 프로세스, 도커(Docker) 또는 쿠버네티스(Kubernetes) 컨테이너, 가상 머신 등과 같은 격리된 실행 개체일 수 있다. 에지 컴퓨팅 시스템 내에서, 다양한 데이터 센터, 에지 및 엔드포인트(모바일 포함) 장치가 필요에 따라 조정되는 기능(예컨대, 기능 동작 활성화 및/또는 할당)을 "스핀 업"하기 위해 사용된다. 기능 코드는 물리적 인프라스트럭처(예컨대, 에지 컴퓨팅 노드) 장치 및 기본 가상화 컨테이너에서 실행된다. 마지막으로, 컨테이너는 실행 완료에 대한 응답으로 인프라스트럭처에서 "스핀다운"(예컨대, 비활성화 및/또는 할당 해제)된다.
FaaS의 추가 양태는 서비스로서의 에지 컴퓨팅(Edge-as-a-Service 또는 "EaaS")을 지원하는 각 기능의 지원을 포함하여, 서비스 방식으로 에지 기능의 배치를 가능하게 할 수 있다. FaaS의 추가 기능은 고객(예컨대, 컴퓨터 코드 개발자)이 코드가 실행될 때만 지불할 수 있게 하는 세분화된 청구 컴포넌트; 하나 이상의 기능에 의한 재사용을 위해 데이터를 저장하는 공통 데이터 저장소; 개별 기능들 간의 오케스트레이션 및 관리; 기능 실행 관리, 병렬 처리 및 통합; 컨테이너 및 기능 메모리 공간의 관리; 기능에 사용할 수 있는 가속 리소스의 조정; 및 컨테이너 간의 기능 배포(이미 배치 또는 동작 중인 "웜" 컨테이너와 초기화, 배포 또는 구성이 필요한 "콜드" 컨테이너 포함)를 포함할 수 있다.
에지 컴퓨팅 시스템(2100)은 에지 프로비저닝 노드(2144)를 포함하거나 이와 통신할 수 있다. 에지 프로비저닝 노드(2144)는 도 23b의 예시적인 컴퓨터 판독 가능 명령어(2382)와 같은 소프트웨어를 본 명세서에 설명된 방법들 중 어느 하나를 수행하는 다양한 수신측에게 배포할 수 있다. 예시적인 에지 프로비저닝 노드(2144)는, 소프트웨어 명령(예컨대, 코드, 스크립트, 실행 가능한 바이너리, 컨테이너, 패키지, 압축 파일, 및/또는 이들의 파생물)을 다른 컴퓨팅 장치로 저장 및/또는 전송할 수 있는 임의의 컴퓨터 서버, 홈 서버, 콘텐츠 전달 네트워크, 가상 서버, 소프트웨어 배포 시스템, 중앙 설비, 저장 장치, 저장 노드, 데이터 설비, 클라우드 서비스 등에 의해 구현될 수 있다. 예시적인 에지 프로비저닝 노드(644)의 컴포넌트(들)는 클라우드, 근거리 통신망, 에지 네트워크, 광역 네트워크, 인터넷, 및/또는 수신측(들)과 통신 가능하게 연결된 임의의 다른 위치에 위치할 수 있다. 수신측은 에지 프로비저닝 노드(2144)를 소유 및/또는 운영하는 엔티티의 고객, 클라이언트, 동료, 사용자 등일 수 있다. 예를 들어, 에지 프로비저닝 노드(2144)를 소유 및/또는 운영하는 엔티티는 도 23b의 예시적인 컴퓨터 판독 가능 명령어(2382)와 같은 소프트웨어 명령어의 개발자, 판매자 및/또는 라이선스 제공자(또는 그 고객 및/또는 소비자)일 수 있다. 수신측은 사용 및/또는 재판매 및/또는 하위 라이선스를 위해 소프트웨어 명령어를 구매 및/또는 라이선스하는 소비자, 서비스 제공자, 사용자, 소매업체, OEM 등일 수 있다.
일 예에서, 에지 프로비저닝 노드(2144)는 하나 이상의 서버 및 하나 이상의 저장 장치를 포함한다. 저장 장치는, 후술하는 바와 같이, 도 23b의 예시적인 컴퓨터 판독 가능 명령어(2382)와 같은 컴퓨터 판독 가능 명령어를 호스트한다. 전술한 에지 게이트웨이 장치(2120)와 유사하게, 에지 프로비저닝 노드(2144)의 하나 이상의 서버는 기지국(2142) 또는 다른 네트워크 통신 엔티티와 통신한다. 일부 예에서, 하나 이상의 서버는 상거래의 일부로서 요청 당사자에게 소프트웨어 명령어를 전송하라는 요청에 응답한다. 소프트웨어 명령어의 배송, 판매 및/또는 라이선스에 대한 지불은 소프트웨어 배포 플랫폼의 하나 이상의 서버에 의해 및/또는 제3자 지불 엔티티를 통해 처리될 수 있다. 서버는 구매자 및/또는 라이선서가 에지 프로비저닝 노드(2144)로부터 컴퓨터 판독가능 명령어(2382)를 다운로드할 수 있게 한다. 예를 들어, 도 23b의 예시적인 컴퓨터 판독 가능 명령어(2382)에 대응할 수 있는 소프트웨어 명령어가, 본 명세서에 개시된 방법을 구현하기 위해 컴퓨터 판독가능 명령어(2382)를 실행하는, 예시적인 프로세서 플랫폼으로 다운로드될 수 있다.
일부 예에서, 컴퓨터 판독 가능 명령어(2382)를 실행하는 프로세서 플랫폼(들)은 물리적으로 상이한 지리적 위치, 법적 관할 구역 등에 위치할 수 있다. 일부 예에서, 에지 프로비저닝 노드(2144)의 하나 이상의 서버는 소프트웨어 명령어(예컨대, 도 23b의 예시적인 컴퓨터 판독 가능 명령(2382))에 대한 업데이트를 주기적으로 제공, 전송 및/또는 실행하여, 개선, 패치, 업데이트 등이 최종 사용자 장치에서 구현된 소프트웨어 명령어에 배치 및 적용될 수 있도록 한다. 일부 예들에서, 컴퓨터 판독가능 명령어(2382)의 상이한 컴포넌트들은 상이한 소스들로부터 및/또는 상이한 프로세서 플랫폼들로 배포될 수 있는데; 예를 들어, 상이한 라이브러리, 플러그인, 컴포넌트 및 다른 유형의 컴퓨팅 모듈이 컴파일 또는 해석 여부에 관계없이 상이한 소스로부터 그리고/또는 상이한 프로세서 플랫폼으로 배포될 수 있다. 예를 들어, 소프트웨어 명령어의 일부분(예컨대, 그 자체로 실행 가능하지 않은 스크립트)은 제1 소스로부터 배포될 수 있는 반면에, 인터프리터(스크립트를 실행할 수 있음)는 제2 소스로부터 배포될 수 있다.
도 22는 ETSI MEC 사양에 의해 표시된 것과 같은, 모바일 에지 시스템 참조 아키텍처(또는 MEC 아키텍처)(2200)를 도시한 것이다. 도 22는 ETSI GS MEC-003 사양에 따른 기능을 제공하는 MEC 호스트(2202, 2204)를 갖는 MEC 아키텍처(2200)를 구체적으로 도시한 것이다. 일부 양태들에서, MEC 플랫폼(2232) 및 MEC 플랫폼 관리자(2206)에 대한 향상들은 MEC 아키텍처(2200) 내에서 특정 컴퓨팅 기능들을 제공하기 위해 사용될 수 있다. 예를 들어, 보델(110-140), 칩렛(310-390, 520-570), 관리자(510, 610), 회로(620-630), 인터페이스(570-580, 640), 및/또는 전술한 다른 회로 컴포넌트는 예시적인 MEC 아키텍처(2200)를 사용하여 구현될 수 있다.
도 22를 참조하면, MEC 네트워크 아키텍처(2200)는 MEC 호스트(2202, 2204), 가상화 인프라스트럭처 관리자(VIM)(2208), MEC 플랫폼 관리자(2206), MEC 오케스트레이터(2210), 운영 지원 시스템(2212), 사용자 앱 프록시(2214), UE(2220)에서 실행되는 UE 앱(2218), 및 CFS 포털(2216)을 포함할 수 있다. MEC 호스트(2202)는 필터링 규칙 제어 컴포넌트(2240), DNS 처리 컴포넌트(2242), 서비스 레지스트리(2238), 및 MEC 서비스(2236)를 갖는 MEC 플랫폼(2232)을 포함할 수 있다. MEC 서비스(2236)는 가상화 인프라스트럭처(2222)에서 MEC 앱(또는 NFV)(2226, 2227, 2228)을 인스턴스화하기 위한 리소스를 선택하는 데 사용될 수 있는 적어도 하나의 스케줄러를 포함할 수 있다. MEC 앱(2226 및 2228)은 서비스(2230 및 2231)를 제공하도록 구성될 수 있고, 이 서비스는 하나 이상의 무선 접속(예컨대, 하나 이상의 RAN 또는 텔레콤 코어 네트워크 엔티티에 대한 접속)과 연관된 상이한 유형의 네트워크 통신 트래픽을 처리하는 것을 포함할 수 있다. MEC 호스트(2204) 내에서 인스턴스화된 MEC 앱(2205)은 MEC 호스트(2202) 내에서 인스턴스화된 MEC 앱(2226-2228)과 유사할 수 있다. 가상화 인프라스트럭처(2222)는 MP2 인터페이스를 통해 MEC 플랫폼에 결합된 데이터 평면(2224)을 포함한다. MEC 아키텍처(2200)의 다양한 네트워크 엔티티들 간의 추가 인터페이스가 도 22에 도시되어 있다.
MEC 플랫폼 관리자(2206)는 MEC 플랫폼 요소 관리 컴포넌트(2244), MEC 앱 규칙 및 요구사항 관리 컴포넌트(2246), 및 MEC 앱 라이프사이클 관리 컴포넌트(2248)를 포함할 수 있다. MEC 아키텍처(2200) 내의 다양한 엔티티는 ETSI GS MEC-003 사양에 의해 개시된 기능을 수행할 수 있다.
일부 양태들에서, 원격 애플리케이션(또는 앱)(2250)은 MEC 오케스트레이터(2210) 및 MEC 플랫폼 관리자(2206)를 통해 MEC 호스트(2202)(예컨대, MEC 앱들(2226-2228))와 통신하도록 구성된다.
다른 예에서, 본 에지 컴퓨팅 시스템 및 환경을 참조하여 논의되는 컴퓨팅 노드 또는 장치 중 임의의 것은 도 23a 및 도 23b에 도시된 컴포넌트들에 기초하여 달성될 수 있다. 각 에지 컴퓨팅 노드는 다른 에지, 네트워킹 또는 엔드포인트 컴포넌트와 통신할 수 있는 장치, 기기, 컴퓨터 또는 기타 "사물"의 유형으로 구현될 수 있다. 예를 들어, 에지 컴퓨팅 장치는 개인용 컴퓨터, 서버, 스마트폰, 모바일 컴퓨팅 장치, 스마트 기기, 차량 내 컴퓨팅 시스템(예컨대, 내비게이션 시스템), 외부 케이스, 쉘 등을 갖는 내장형 장치, 또는 설명된 기능을 수행할 수 있는 기타 장치 또는 시스템으로 구현될 수 있다.
도 23a에 도시된 단순화된 예에서, 에지 컴퓨팅 노드(2300)는 컴퓨팅 엔진(여기에서 "컴퓨팅 회로"라고도 함)(2302), 입력/출력(I/O) 서브시스템(2308), 데이터 저장부(2310), 통신 회로 서브시스템(2312), 및 선택적으로, 하나 이상의 주변 장치(2314)를 포함한다. 다른 예에서, 각각의 컴퓨팅 장치는 컴퓨터에서 일반적으로 발견되는 것과 같은 다른 또는 추가 컴포넌트(예컨대, 디스플레이, 주변 장치 등)를 포함할 수 있다. 또한, 일부 예에서, 예시적인 컴포넌트 중 하나 이상은 다른 컴포넌트에 통합되거나 그렇지 않으면 다른 컴포넌트의 일부를 형성할 수 있다.
컴퓨팅 노드(2300)는 다양한 컴퓨팅 기능을 수행할 수 있는 임의의 유형의 엔진, 장치, 또는 장치의 집합체로 구현될 수 있다. 일부 예들에서, 컴퓨팅 노드(2300)는 집적 회로, 임베디드 시스템, FPGA(field-programmable gate array), SOC(system-on-a-chip), 또는 다른 집적 시스템 또는 장치와 같은 단일 장치로서 구현될 수 있다. 예시적인 예에서, 컴퓨팅 노드(2300)는 프로세서(2304) 및 메모리(2306)를 포함하거나 이들로 구현된다. 프로세서(2304)는 본 명세서에 설명된 기능을 수행할 수 있는(예컨대, 애플리케이션을 실행하는) 임의의 유형의 프로세서로서 구현될 수 있다. 예를 들어, 프로세서(2304)는 멀티 코어 프로세서(들), 마이크로컨트롤러, 프로세싱 유닛, 특화된 또는 특수 목적 프로세싱 유닛, 또는 다른 프로세서 또는 프로세싱/제어 회로로서 구현될 수 있다.
일부 예에서, 프로세서(2304)는 설명된 기능의 성능을 용이하게 하기 위해 FPGA, ASIC(application specific integrated circuit), 재구성 가능한 하드웨어 또는 하드웨어 회로, 또는 기타 특화된 하드웨어로서 구현되거나 이들에 포함되거나 결합될 수 있다. 또한 일부 예들에서, 프로세서(704)는 데이터 프로세싱 유닛(DPU), 인프라스트럭처 프로세싱 유닛(IPU), 또는 네트워크 프로세싱 유닛(NPU)으로도 알려진 특화된 x-프로세싱 유닛(xPU)으로서 구현될 수 있다. 이러한 xPU는, 독립형 회로 또는 회로 패키지로 구현되거나, SOC 내에 통합되거나, 네트워킹 회로(예컨대, SmartNIC 또는 향상된 SmartNIC에서), 가속 회로, 저장 장치 또는 AI 하드웨어(예컨대, GPU 또는 프로그래밍된 FPGA)와 통합될 수 있다. 이러한 xPU는 CPU 또는 범용 처리 하드웨어 외부에서 하나 이상의 데이터 스트림을 처리하고 데이터 스트림에 대한 특정 작업 및 동작(예컨대, 마이크로서비스 호스팅, 서비스 관리 또는 오케스트레이션 수행, 서버 또는 데이터 센터 하드웨어 구성 또는 관리, 서비스 메시 관리, 또는 원격 측정 수집 및 배포 등)을 수행하기 위한 프로그래밍을 수신하도록 설계될 수 있다. 그러나, xPU, SOC, CPU, 및 프로세서(2304)의 다른 변형이 서로 협력하여 컴퓨팅 노드(2300) 내에서 그리고 컴퓨팅 노드(2300)를 대신하여 많은 유형의 동작 및 명령어를 실행할 수 있다는 것을 이해할 수 있을 것이다.
메모리(2306)는 임의의 유형의 휘발성(예컨대, 동적 랜덤 액세스 메모리(DRAM) 등) 또는 비휘발성 메모리 또는 여기에 설명된 기능을 수행할 수 있는 데이터 저장부로 구현될 수 있다. 휘발성 메모리는 매체에 의해 저장된 데이터의 상태를 유지하기 위해 전력을 요구하는 저장 매체일 수 있다. 휘발성 메모리의 비제한적인 예는 DRAM 또는 정적 랜덤 액세스 메모리(SRAM)와 같은 다양한 유형의 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 메모리 모듈에 사용될 수 있는 특정 유형의 DRAM이 SDRAM(synchronous dynamic random access memory)이다.
일 예에서, 메모리 장치는 NAND 또는 NOR 기술에 기반한 것과 같은 블록 주소 지정 가능한 메모리 장치이다. 메모리 장치는 또한 3차원 크로스포인트 메모리 장치(예컨대, Intel® 3D XPoint?? 메모리), 또는 기타 바이트 주소 지정 가능한 제자리 쓰기(write-in-place) 비휘발성 메모리 장치를 포함할 수 있다. 메모리 장치는 다이 자체 및/또는 패키지된 메모리 제품을 지칭할 수도 있다. 일부 예에서, 3D 크로스포인트 메모리(예컨대, Intel® 3D XPoint?? 메모리)는 메모리 셀이 워드 라인과 비트 라인의 교차점에 위치하고 개별적으로 주소 지정이 가능하고 벌크 저항의 변화에 기초하여 비트 저장이 이루어지는, 트랜지스터가 없는 스택가능 크로스포인트 아키텍처를 포함할 수 있다. 일부 예에서, 메모리(2306)의 전부 또는 일부는 프로세서(2304)에 통합될 수 있다. 메모리(2306)는, 하나 이상의 애플리케이션, 애플리케이션(들)에 의해 운영되는 데이터, 라이브러리, 및 드라이버와 같이, 동작 동안 사용되는 다양한 소프트웨어 및 데이터를 저장할 수 있다.
컴퓨팅 회로(2302)는 I/O 서브시스템(2308)을 통해 컴퓨팅 노드(2300)의 다른 컴포넌트에 통신가능하게 결합되며, I/O 서브시스템(2308)은 컴퓨팅 회로(2302)(예컨대, 프로세서(2304) 및/또는 메인 메모리(2306)) 및 컴퓨팅 회로(2302)의 다른 컴포넌트와의 입력/출력 동작을 용이하게 하기 위한 회로 및/또는 컴포넌트로 구현될 수 있다. 예를 들어, I/O 서브시스템(2308)은 메모리 제어기 허브, 입력/출력 제어 허브, 집적 센서 허브, 펌웨어 장치, 통신 링크(예컨대, 포인트-투-포인트 링크, 버스 링크, 유선, 케이블, 광 도파관, 인쇄 회로 기판 트레이스 등), 및/또는 입력/출력 동작을 용이하게 하기 위한 다른 컴포넌트 및 서브시스템으로 구현되거나 또는 이들을 포함할 수 있다. 일부 예에서, I/O 서브시스템(2308)은 SoC(system-on-a-chip)의 일부를 형성할 수 있고, 컴퓨팅 회로(2302)의 프로세서(2304), 메모리(2306), 및 기타 컴포넌트 중 하나 이상과 함게 컴퓨팅 회로(2302)에 포함될 수 있다.
하나 이상의 예시적인 데이터 저장 장치(2310)는, 예를 들어 메모리 장치 및 회로, 메모리 카드, 하드 디스크 드라이브, 솔리드 스테이트 드라이브 또는 기타 데이터 저장 장치와 같이 데이터의 단기간 또는 장기간 저장을 위해 구성된 임의의 유형의 장치로서 구현될 수 있다. 개별 데이터 저장 장치(2310)는 데이터 저장 장치(2310)에 대한 데이터 및 펌웨어 코드를 저장하는 시스템 파티션을 포함할 수 있다. 개별 데이터 저장 장치(2310)는 또한 예를 들어 컴퓨팅 노드(2300)의 유형에 따라 운영 체제에 대한 데이터 파일 및 실행 파일을 저장하는 하나 이상의 운영 체제 파티션을 포함할 수 있다.
통신 회로(2312)는 컴퓨팅 회로(2302)와 다른 컴퓨팅 장치(예컨대, 구현 에지 컴퓨팅 시스템의 에지 게이트웨이) 사이의 네트워크를 통해 통신을 가능하게 할 수 있는 임의의 통신 회로, 장치, 또는 이들의 집합으로서 구현될 수 있다. 통신 회로(2312)는 이러한 통신을 수행하기 위해, 임의의 하나 이상의 통신 기술(예컨대, 유선 또는 무선 통신) 및 관련 프로토콜(예컨대, 3GPP 4G 또는 5G 표준과 같은 셀룰러 네트워킹 프로토콜, IEEE 802.11/Wi-Fi®와 같은 무선 근거리 통신망 프로토콜, 무선 광역 네트워크 프로토콜, 이더넷, Bluetooth®, Bluetooth Low Energy, IEEE 802.15.4 또는 ZigBee®와 같은 IoT 프로토콜, 저전력 광역 네트워크(LPWAN) 또는 저전력 광역(LPWA) 프로토콜 등)을 사용하도록 구성될 수 있다.
예시적인 통신 회로(2312)는 네트워크 인터페이스 컨트롤러(NIC)(2320)를 포함하며, 이는 호스트 패브릭 인터페이스(HFI)로도 지칭될 수 있다. NIC(2320)는 하나 이상의 애드인 보드, 도터 카드, 네트워크 인터페이스 카드, 컨트롤러 칩, 칩셋, 또는 다른 컴퓨팅 장치(예컨대, 에지 게이트웨이 노드)와 접속하기 위해 컴퓨터 노드(2300)에 의해 사용될 수 있는 다른 장치로서 구현될 수 있다. 일부 예들에서, NIC(2320)는 하나 이상의 프로세서를 포함하는 SoC(system-on-a-chip)의 일부로서 구현되거나, 하나 이상의 프로세서를 또한 포함하는 멀티칩 패키지에 포함될 수 있다. 일부 예에서, NIC(2320)는 NIC(2320)에 로컬인 로컬 프로세서(도시되어 있지 않음) 및/또는 로컬 메모리(도시되어 있지 않음)를 포함할 수 있다. 이러한 예에서, NIC(2320)의 로컬 프로세서는 여기에 설명된 컴퓨팅 회로(2302)의 기능들 중 하나 이상을 수행할 수 있다. 이에 더하여 또는 이에 갈음하여, 이러한 예들에서, NIC(2320)의 로컬 메모리는 보드 레벨, 소켓 레벨, 칩 레벨, 및/또는 다른 레벨에서 클라이언트 컴퓨팅 노드의 하나 이상의 컴포넌트에 통합될 수 있다.
또한, 일부 예에서, 각 컴퓨팅 노드(2300)는 하나 이상의 주변 장치(2314)를 포함할 수 있다. 이러한 주변 장치(2314)는 컴퓨팅 노드(2300)의 특정 유형에 따라 오디오 입력 장치, 디스플레이, 다른 입력/출력 장치, 인터페이스 장치, 및/또는 기타 주변 장치와 같은 컴퓨팅 장치 또는 서버에서 볼 수 있는 임의의 유형의 주변 장치를 포함할 수 있다. 다른 예에서, 컴퓨팅 노드(2300)는 에지 컴퓨팅 시스템 또는 유사한 형태의 기기, 컴퓨터, 서브시스템, 회로 또는 다른 컴포넌트 내 제각기의 에지 컴퓨팅 노드(클라이언트, 게이트웨이 또는 집선 노드)에 의해 구현될 수 있다.
보다 상세한 예에서, 도 23b는 본 명세서에 설명된 기법(예컨대, 동작, 프로세스, 방법 및 방법론)을 구현하기 위해 에지 컴퓨팅 노드(2350)에 존재할 수 있는 컴포넌트의 예의 블록도이다. 이 에지 컴퓨팅 노드(2350)는 컴퓨팅 장치(예컨대, 모바일 장치, 기지국, 서버, 게이트웨이 등) 또는 그 일부로서 구현될 때 노드(2300)의 각 컴포넌트에 대한 보다 근접 뷰를 제공한다. 에지 컴퓨팅 노드(2350)는 본 명세서에 언급된 하드웨어 또는 논리적 컴포넌트의 임의의 조합을 포함할 수 있고, 에지 통신 네트워크 또는 이러한 네트워크의 조합과 함께 사용 가능한 임의의 장치를 포함하거나 이와 결합될 수 있다. 컴포넌트는 집적 회로(IC), 그 일부, 개별 전자 장치, 또는 다른 모듈, 명령어 세트, 프로그래밍 가능한 논리 또는 알고리즘, 하드웨어, 하드웨어 가속기, 소프트웨어, 펌웨어, 또는 에지 컴퓨팅 노드(2350)에서 적응된 이들의 조합으로서, 또는 더 큰 시스템의 섀시 내에 통합된 컴포넌트로서 구현될 수 있다.
에지 컴퓨팅 장치(2350)는, 마이크로프로세서, 멀티코어 프로세서, 멀티스레드 프로세서, 초저전압 프로세서, 임베디드 프로세서, xPU/DPU/IPU/NPU, 특수 목적 처리 장치, 특수 처리 장치 또는 기타 알려진 처리 요소일 수 있는 프로세서(2352) 형태의 처리 회로를 포함할 수 있다. 프로세서(2352)는 프로세서(2352) 및 기타 컴포넌트가 단일 집적 회로, 또는 캘리포니아 산타클라라에 위치한 인텔사(Intel Corporation)의 Edison?? 또는 Galileo?? SoC 보드와 같이 단일 패키지에 형성되는 SoC(시스템 온 칩)의 일부일 수 있다. 예를 들어, 프로세서(2352)는 Quark??, Atom??, i3, i5, i7, i9 또는 MCU급 프로세서와 같은 Intel® Architecture Core?? 기반 CPU 프로세서, 또는 인텔사의 다른 그러한 프로세서를 포함할 수 있다. 그러나, 캘리포니아 서니베일에 위치한 어드밴스드 마이크로 디바이스사(AMD®), 캘리포니아 서니베일에 위치한 MIPS 테크놀로지스사의 MIPS® 기반 설계, ARM 홀딩스사 또는 그 고객의 ARM® 기반 설계, 또는 이들의 사용권자 또는 사용자들로부터의 임의의 수의 다른 프로세서가 사용될 수 있다. 프로세서는 애플사의 A5-A13 프로세서, 퀄컴사의 Snapdragon?? 프로세서, 또는 텍사스 인스트루먼트사의 OMAP?? 프로세서와 같은 유닛을 포함할 수 있다. 프로세서(2352) 및 수반되는 회로는 단일 소켓 폼 팩터, 다중 소켓 폼 팩터, 또는 도 23b에 도시된 모든 요소들보다 적은 수의 요소를 포함하는 제한된 하드웨어 구성 또는 구성을 포함하는 다양한 다른 형식으로 제공될 수 있다.
프로세서(2352)는 상호접속부(2356)(예컨대, 버스)를 통해 시스템 메모리(2354)와 통신할 수 있다. 주어진 양의 시스템 메모리를 제공하기 위해 임의의 수의 메모리 장치가 사용될 수 있다. 예로서, 메모리(754)는 DDR 또는 모바일 DDR 표준(예컨대, LPDDR, LPDDR2, LPDDR3, 또는 LPDDR4)과 같은 JEDEC(Joint Electron Devices Engineering Council) 설계에 따른 랜덤 액세스 메모리(RAM)일 수 있다. 특정 예에서, 메모리 컴포넌트는 DDR SDRAM용 JESD79F, DDR2 SDRAM용 JESD79-2F, DDR3 SDRAM용 JESD79-3F, DDR4 SDRAM용 JESD79-4A, 저전력 DDR(LPDDR)용 JESD209, LPDDR2용 JESD209-2, LPDDR3용 JESD209-3, LPDDR4용 JESD209-4와 같은 JEDEC에 의해 보급된 DRAM 표준을 따를 수 있다. 이러한 표준(및 유사한 표준)은 DDR 기반 표준으로 지칭될 수 있고 이러한 표준을 구현하는 저장 장치의 통신 인터페이스는 DDR 기반 인터페이스로 지칭될 수 있다. 다양한 구현에서, 개별 메모리 장치는 단일 다이 패키지(SDP), 듀얼 다이 패키지(DDP) 또는 쿼드 다이 패키지(Q17P)와 같은 임의의 수의 상이한 패키지 유형일 수 있다. 이들 장치는, 일부 예에서 마더보드에 직접 납땜되어 더 낮은 프로파일 솔루션을 제공할 수 있는 반면, 다른 예에서 장치는 주어진 커넥터에 의해 마더보드에 차례로 결합되는 하나 이상의 메모리 모듈로 구성된다. 다른 유형의 메모리 모듈, 예를 들어 microDIMM 또는 MiniDIMM을 포함하지만 이에 국한되지 않는 다양한 종류의 듀얼 인라인 메모리 모듈(DIMM)과 같은 임의의 수의 다른 메모리 구현이 사용될 수 있다.
데이터, 애플리케이션, 운영 체제 등과 같은 정보의 지속적인 저장을 제공하기 위해, 저장 장치(2358)는 또한 상호접속부(2356)를 통해 프로세서(2352)에 결합될 수 있다. 일 예에서, 저장 장치(2358)는 솔리드-상태 디스크 드라이브(SSDD)를 통해 구현될 수 있다. 저장 장치(2358)에 사용될 수 있는 다른 장치는 SD(Secure Digital) 카드, microSD 카드, XD(eXtreme Digital) 사진 카드 등과 같은 플래시 메모리 카드, 및 USB(Universal Serial Bus) 플래시 드라이브를 포함한다. 일 예에서, 메모리 장치는 칼코겐화물 글라스(chalcogenide glass), 다중 임계값 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 다중 레벨 PCM(Phase Change Memory), 저항성 메모리, 나노와이어 메모리, 강유전성 트랜지스터 랜덤 액세스 메모리(FeTRAM), 반강유전성 메모리, 멤리스터 기술을 통합한 자기저항 랜덤 액세스 메모리(MRAM), 금속 산화물 베이스를 포함하는 저항 메모리, 산소 결손 베이스 및 전도성 브리지 랜덤 액세스 메모리(CB-RAM), 또는 스핀 전달 토크(STT)-MRAM, 스핀트로닉 자기 접합 메모리 기반 장치, 자기 터널링 접합(MTJ) 기반 장치, DW(Domain Wall) 및 SOT(Spin Orbit Transfer) 기반 장치, 사이리스터 기반 메모리 장치, 또는 이들의 임의의 조합 또는 기타 메모리이거나 이들을 포함할 수 있다.
저전력 구현에서, 저장 장치(2358)는 프로세서(2352)와 연관된 온-다이 메모리 또는 레지스터일 수 있다. 그러나, 일부 예에서, 저장 장치(2358)는 마이크로 하드 디스크 드라이브(HDD)를 사용하여 구현될 수 있다. 또한, 설명된 기술에 더하여 또는 이에 갈음하여, 저항 변화 메모리, 상 변화 메모리, 홀로그램 메모리 또는 화학적 메모리와 같은 임의의 수의 새로운 기술이 저장부(2358)에 대해 사용될 수 있다.
컴포넌트들은 상호접속부(2356)를 통해 통신할 수 있다. 상호접속부(2356)는 산업 표준 아키텍처(ISA), 확장된 ISA(EISA), 주변 컴포넌트 상호접속부(PCI), 확장된 주변 컴포넌트 상호접속부(PCIx), PCI 익스프레스(PCIe) 또는 임의의 수의 다른 기술들을 포함하는 임의의 수의 기술을 포함할 수 있다. 상호접속부(2356)는, 예를 들어 SoC 기반 시스템에서 사용되는 독점 버스일 수 있다. I2C(Inter-Integrated Circuit) 인터페이스, SPI(Serial Peripheral Interface) 인터페이스, 포인트 투 포인트 인터페이스 및 전원 버스와 같은 다른 버스 시스템이 포함될 수 있다.
상호접속부(2356)는 접속된 에지 장치(2362)와의 통신을 위해 프로세서(2352)를 트랜시버(2366)에 연결할 수 있다. 트랜시버(2366)는 Bluetooth® Special Interest Group에 의해정의된 Bluetooth® 저에너지(BLE) 표준 또는 ZigBee® 표준을 사용하여 IEEE 802.15.4 표준 하에서 2.4GHz 전송과 같은 임의의 수의 주파수 및 프로토콜을 사용할 수 있다. 특정 무선 통신 프로토콜에 대해 구성된 임의의 수의 라디오가, 연결된 에지 장치(2362)에 대한 접속에 사용될 수 있다. 예를 들어, 무선 근거리 통신망(WLAN) 장치는 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준에 따라 Wi-Fi® 통신을 구현하는데 사용될 수 있다. 또한, 예를 들어, 셀룰러 또는 다른 무선 광역 프로토콜에 따른 무선 광역 통신은 무선 광역 네트워크(WWAN) 유닛을 통해 발생할 수 있다.
무선 네트워크 트랜시버(2366)(또는 다중 트랜시버)는 다른 범위에서의 통신을 위해 다중 표준 또는 라디오를 사용하여 통신할 수 있다. 예를 들어, 에지 컴퓨팅 노드(2350)는 전력을 절약하기 위해 BLE(Bluetooth Low Energy) 또는 다른 저전력 무선에 기반한 로컬 트랜시버를 사용하여, 예를 들어 약 10미터 이내에서 가까운 장치와 통신할 수 있다. 예를 들어, 약 50미터 이내의 보다 멀리서 연결된 에지 장치(2362)는 ZigBee® 또는 다른 중간 전력 라디오를 통해 도달될 수 있다. 두 통신 기술은 상이한 전력 수준에서 단일 라디오를 통해 이루어질 수도 있고 또는 별개의 트랜시버(예컨대, BLE를 사용하는 별개의 로컬 트랜시버 및 ZigBee®를 사용하는 별개의 메시 트랜시버)를 통해 이루어질 수 있다.
로컬 또는 광역 네트워크 프로토콜을 통해 클라우드(예컨대, 에지 클라우드(2395))의 장치 또는 서비스와 통신하기 위해 무선 네트워크 트랜시버(2366)(예컨대, 무선 트랜시버)가 포함될 수 있다. 무선 네트워크 트랜시버(2366)는 특히 IEEE 802.15.4 또는 IEEE 802.15.4g 표준을 따르는 저전력 광역(LPWA) 트랜시버일 수 있다. 에지 컴퓨팅 노드(2350)는 Semtech 및 LoRa Alliance에 의해 개발된 LoRaWAN??(Long Range Wide Area Network)을 사용하여 넓은 영역에서 통신할 수 있다. 본 명세서에 설명된 기술들은 이들 기술에 제한되지 않고 Sigfox와 같은 장거리, 저대역폭 통신을 구현하는 임의의 수의 다른 클라우드 트랜시버 및 다른 기술과 함께 사용될 수 있다. 또한, IEEE 802.15.4e 사양에 설명된 시간 슬롯 채널 호핑과 같은 다른 통신 기술이 사용될 수 있다.
본 명세서에 설명된 바와 같이, 무선 네트워크 트랜시버(2366)에 대해 언급된 시스템에 더하여 임의의 수의 다른 무선 통신 및 프로토콜이 사용될 수 있다. 예를 들어, 트랜시버(2366)는 고속 통신을 구현하기 위해 확산 스펙트럼(SPA/SAS) 통신을 사용하는 셀룰러 트랜시버를 포함할 수 있다. 또한, 중간 속도 통신 및 네트워크 통신 제공을 위한 Wi-Fi® 네트워크와 같은 임의의 수의 다른 프로토콜이 사용될 수 있다. 트랜시버(2366)는 LTE(Long Term Evolution) 및 5G(5세대) 통신 시스템과 같은 임의의 수의 3GPP(Third Generation Partnership Project) 사양과 호환되는 라디오를 포함할 수 있으며, 이는 본 개시의 말미에서 더 자세히 논의된다. 에지 클라우드(2395)의 노드 또는 접속된 에지 장치(2362)(예컨대, 메시에서 동작)와 같은 다른 장치에 유선 통신을 제공하기 위해 네트워크 인터페이스 컨트롤러(NIC)(2368)가 포함될 수 있다. 유선 통신은 이더넷 접속을 제공할 수도 있고 무엇보다도 CAN(Controller Area Network), LIN(Local Interconnect Network), DeviceNet, ControlNet, Data Highway+, PROFIBUS 또는 PROFINET과 같은 다른 유형의 네트워크에 기반할 수 있다. 제2 네트워크에 대한 접속을 가능하게 하기 위해 추가적인 NIC(2368)가 포함될 수 있는데, 예를 들면 이더넷을 통해 클라우드에 통신을 제공하는 제1 NIC(2368) 및 다른 유형의 네트워크를 통해 다른 장치에 통신을 제공하는 제2 NIC(2368)가 포함될 수 있다.
장치로부터 다른 컴포넌트 또는 네트워크로의 다양한 유형의 적용 가능한 통신이 주어지면, 장치에 의해 사용되는 적용 가능한 통신 회로는 컴포넌트(2364, 2366, 2368 또는 2370) 중 임의의 하나 이상을 포함하거나 이에 의해 구현될 수 있다. 따라서, 다양한 예들에서, 통신(예컨대, 수신, 송신 등)을 위한 적용 가능한 수단은 이러한 통신 회로에 의해 구현될 수 있다.
에지 컴퓨팅 노드(2350)는, 하나 이상의 인공 지능(AI) 가속기, 신경 컴퓨팅 스틱, 뉴로모픽 하드웨어, FPGA, GPU 배열, xPU/DPU/IPU/NPU, 하나 이상의 SoC, 하나 이상의 CPU, 하나 이상의 디지털 신호 프로세서, 전용 ASIC 또는 하나 이상의 특화된 작업을 수행하도록 설계된 기타 형태의 특수 프로세서 또는 회로의 배열에 의해 구현될 수 있는 가속 회로(2364)를 포함하거나 이에 결합될 수 있다. 이들 작업은 AI 처리(머신 러닝, 트레이닝, 추론 및 분류 작업을 포함함), 시각적 데이터 처리, 네트워크 데이터 처리, 객체 검출, 규칙 분석 등을 포함할 수 있다. 이들 작업은 또한 본 문서의 다른 곳에서 논의되는 서비스 관리 및 서비스 운영을 위한 특정 에지 컴퓨팅 작업을 포함할 수 있다.
상호접속부(2356)는 프로세서(2352)를 추가 장치 또는 서브시스템을 연결하는 데 사용되는 센서 허브 또는 외부 인터페이스(2370)에 연결할 수 있다. 장치는 가속도계, 레벨 센서, 흐름 센서, 광학 광 센서, 카메라 센서, 온도 센서, 글로벌 내비게이션 시스템(예컨대, GPS) 센서, 압력 센서, 기압 센서 등과 같은 센서(2372)를 포함할 수 있다. 허브 또는 인터페이스(2370)는 또한 에지 컴퓨팅 노드(2350)를 전원 스위치, 밸브 액츄에이터, 가청 사운드 생성기, 시각적 경고 장치 등과 같은 액츄에이터(2374)에 접속하는 데 사용될 수 있다.
일부 선택적인 예에서, 다양한 입/출력(I/O) 장치가 에지 컴퓨팅 노드(2350) 내에 존재하거나 이에 접속될 수 있다. 예를 들어, 센서 판독값 또는 액추에이터 위치와 같은 정보를 보여주기 위해 디스플레이 또는 다른 출력 장치(2384)가 포함될 수 있다. 입력을 받기 위해 터치 스크린 또는 키패드와 같은 입력 장치(2386)가 포함될 수 있다. 출력 장치(2384)는 이진 상태 표시기(예컨대, 발광 다이오드(LED)) 및 다중 문자 시각적 출력과 같은 단순한 시각적 출력, 또는 에지 컴퓨팅 노드(2350)의 동작으로부터 발생되거나 생성되는 문자, 그래픽, 멀티미디어 객체 등의 출력을 갖는 디스플레이 스크린(예컨대, 액정 디스플레이(LCD) 스크린)과 같은 보다 복잡한 출력을 포함하는 임의의 수의 형태의 오디오 또는 시각적 디스플레이를 포함할 수 있다. 본 시스템의 문맥에서 디스플레이 또는 콘솔 하드웨어는, 출력을 제공하고 에지 컴퓨팅 시스템의 입력을 수신하거나, 에지 컴퓨팅 시스템의 컴포넌트 또는 서비스를 관리하거나, 에지 컴퓨팅 컴포넌트 또는 서비스의 상태를 식별하거나, 또는 임의의 다른 수의 관리 또는 운영 기능 또는 서비스 사용 사례를 수행하는 데 사용될 수 있다.
배터리(2376)는 에지 컴퓨팅 노드(2350)에 전력을 공급할 수 있는데, 에지 컴퓨팅 노드(2350)가 고정된 위치에 장착되는 예에서는, 전기 그리드에 연결된 전원 공급 장치를 가질 수도 있고, 배터리가 백업 또는 임시 기능으로 사용될 수도 있다. 배터리(2376)는 리튬 이온 배터리, 또는 아연-공기 배터리, 알루미늄-공기 배터리, 리튬-공기 배터리 등과 같은 금속-공기 배터리일 수 있다.
배터리 모니터/충전기(2378)는 에지 컴퓨팅 노드(2350)에 포함되어 배터리(2376)의 충전 상태(SoCh)를 추적할 수 있다. 배터리 모니터/충전기(2378)는 배터리(2376)의 건강 상태(SoH) 및 기능 상태(SoF)와 같은 고장 예측을 제공하기 위해 배터리(2376)의 다른 파라미터를 모니터링하는 데 사용될 수 있다. 배터리 모니터/충전기(2378)는 리니어 테크놀로지(Linear Technologies)의 LTC4020 또는 LTC2990, 애리조나주 피닉스의 온 세미콘덕터(ON Semiconductor)의 ADT7488A 또는 텍사스주 댈러스의 텍사스 인스트루먼트(Texas Instruments)의 UCD90xxx 제품군의 IC와 같은 배터리 모니터링 집적 회로를 포함할 수 있다. 배터리 모니터/충전기(2378)는 배터리(2376)에 대한 정보를 상호접속부(2356)를 통해 프로세서(2352)에 전달할 수 있다. 배터리 모니터/충전기(2378)는 또한 프로세서(2352)가 배터리(2376)의 전압 또는 배터리(2376)로부터의 전류 흐름을 직접 모니터링할 수 있게 하는 아날로그-디지털(ADC) 변환기를 포함할 수 있다. 배터리 파라미터는 송신 주파수, 메시 네트워크 동작, 감지 주파수 등과 같은 에지 컴퓨팅 노드(2350)가 수행할 수 있는 동작을 판정하는 데 사용될 수 있다.
전력 블록(2380), 또는 그리드에 결합된 다른 전원은 배터리(2376)를 충전하기 위해 배터리 모니터/충전기(2378)와 결합될 수 있다. 일부 예에서, 전력 블록(2380)은 무선 전력 수신기로 대체되어, 예를 들어 에지 컴퓨팅 노드(2350)의 루프 안테나를 통해 무선으로 전력을 얻을 수 있다. 특히 캘리포니아주 밀피타스의 리니어 테크놀로지의 LTC4020 칩과 같은 무선 배터리 충전 회로가 배터리 모니터/충전기(2378)에 포함될 수 있다. 특정 충전 회로는 배터리(2376)의 크기 및 이에 따른 필요한 전류에 따라 선택될 수 있다. 충전은 에어퓨얼 얼라이언스(Airfuel Alliance)에서 발표한 에어퓨얼(Airfuel) 표준, 무선 전력 위원회(Wireless Power Consortium)에서 발표한 Qi 무선 충전 표준 또는 무선 충전 연합(Alliance for Wireless Power)에서 발표한 리젠스(Rezence) 충전 표준 등을 사용하여 수행될 수 있다.
저장부(2358)는 본 명세서에 설명된 기술을 구현하기 위한 소프트웨어, 펌웨어 또는 하드웨어 명령 형태의 명령어(2382)를 포함할 수 있다. 이러한 명령어(2382)는 메모리(2354) 및 저장부(2358)에 포함된 코드 블록으로 나타나지만, 임의의 코드 블록이, 예를 들어 주문형 집적 회로(ASIC)에 내장된 배선 회로로 대체될 수 있다는 것을 이해할 수 있다.
일 예에서, 메모리(2354), 저장부(2358), 또는 프로세서(2352)를 통해 제공되는 명령어(2382)는 프로세서(2352)가 에지 컴퓨팅 노드(2350)에서 전자 연산을 수행하도록 지시하는 코드를 포함하는 비일시적, 머신 판독가능 매체(2360)로서 구현될 수 있다. 프로세서(2352)는 상호접속부(2356)를 통해 비일시적 머신 판독 가능 매체(2360)에 액세스할 수 있다. 예를 들어, 비일시적 머신 판독 가능 매체(2360)는 저장부(2358)에 대해 설명된 장치에 의해 구현될 수도 있고, 또는 광 디스크, 플래시 드라이브 또는 임의의 수의 기타 하드웨어 장치와 같은 특정 저장 장치를 포함할 수도 있다. 비일시적 머신 판독 가능 매체(2360)는 프로세서(2352)가, 예를 들어 전술한 기능 및 동작의 흐름도(들) 및 블록도(들)과 관련하여 설명된, 동작들의 특정 시퀀스 또는 흐름을 수행하도록 지시하는 명령어를 포함할 수 있다. 본 명세서에 사용된 바와 같이, "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어는 상호교환가능하다.
또한 특정 예에서, 프로세서(2352) 상의 명령어(2382)(개별적으로, 또는 머신 판독가능 매체(2360)의 명령어(2382)와 조합하여)는 신뢰 실행 환경(TEE)(2390)의 실행 또는 동작을 구성할 수 있다. 예를 들어, TEE(2390)는 명령어의 보안 실행 및 데이터에 대한 보안 액세스를 위해 프로세서(2352)에 액세스할 수 있는 보호 영역으로 동작한다. TEE(2390)의 다양한 구현, 및 프로세서(2352) 또는 메모리(2354)의 수반되는 보안 영역은, 예를 들면 Intel® Software Guard Extensions(SGX) 또는 ARM® TrustZone® 하드웨어 보안 확장, Intel® Management Engine (ME) 또는 Intel® Converged Security Manageability Engine (CSME)의 사용을 통해 제공될 수 있다. 보안 강화, 하드웨어 신뢰 기반, 및 신뢰 또는 보호 동작의 다른 측면은 TEE(2390) 및 프로세서(2352)를 통해 장치(2350)에서 구현될 수 있다.
도 24는 링크를 통해 제각기의 게이트웨이에 연결된 제각기 사물 인터넷(IoT) 네트워크에 대한 예시적인 도메인 토폴로지를 도시한 것이다. 사물 인터넷(IoT)은 매우 낮은 레벨에서의 기능성 및 데이터 취득을 제공하기 위해 많은 수의 컴퓨팅 디바이스가 서로 그리고 인터넷에 상호접속되는 개념이다. 따라서, 본 명세서에서 사용되는 바와 같이, IoT 장치는 다른 IoT 장치들 및, 인터넷과 같은, 보다 넓은 네트워크와 통신하는, 그 중에서도 특히, 감지 또는 제어와 같은, 기능을 수행하는 반자율 장치(semiautonomous device)를 포함할 수 있다.
흔히, IoT 장치는 메모리, 크기, 또는 기능성이 제한되어 있어, 더 적은 수의 더 큰 장치와 유사한 비용으로 더 많은 수가 배치될 수 있게 해준다. 그러나, IoT 장치는 스마트 폰, 랩톱, 태블릿, 또는 PC, 또는 다른 더 큰 장치일 수 있다. 또한, IoT 장치는, 스마트 폰 또는 다른 컴퓨팅 장치 상의 애플리케이션과 같은, 가상 장치일 수 있다. IoT 장치는, 데이터 저장, 프로세스 제어 등을 위해, IoT 장치를 다른 IoT 장치에 그리고 클라우드 애플리케이션에 연결하는 데 사용되는 IoT 게이트웨이를 포함할 수 있다.
IoT 장치의 네트워크는, 배수 시스템, 전력 분배 시스템, 파이프라인 제어 시스템, 플랜트 제어 시스템, 조명 스위치, 서모스탯, 자물쇠, 카메라, 경보기, 모션 센서 등과 같은, 상용 및 홈 자동화 장치를 포함할 수 있다. IoT 장치는, 예를 들어, 시스템을 제어하거나 데이터에 액세스하기 위해, 원격 컴퓨터, 서버, 및 다른 시스템을 통해 액세스가능할 수 있다.
인터넷 및 비슷한 네트워크의 미래의 성장은 매우 많은 수의 IoT 장치를 수반할 수 있다. 그에 따라, 본 명세서에서 논의된 기술의 맥락에서, 그러한 미래의 네트워킹을 위한 다수의 혁신은 이들 계층 전부가 방해받지 않고 성장하는 것, 접속된 리소스를 발견하고 액세스가능하게 만드는 것, 및 접속된 리소스를 숨기고 구획화(compartmentalize)하는 능력을 지원하는 것의 필요성을 해결할 것이다. 임의의 수의 네트워크 프로토콜 및 통신 표준이 사용될 수 있으며, 여기서 각각의 프로토콜 및 표준은 특정 목적을 해결하도록 설계되어 있다. 게다가, 프로토콜은 위치, 시간 또는 공간에 관계없이 동작하는 인간 액세스가능 서비스(human accessible services)를 지원하는 패브릭의 일부이다. 혁신은, 하드웨어 및 소프트웨어와 같은, 서비스 전달 (service delivery) 및 연관된 인프라스트럭처; 보안 강화; 및 서비스 레벨 및 서비스 전달 협약에 명시된 서비스 품질(QoS) 조건에 기초한 서비스의 제공을 포함한다. 이해할 수 있듯이, 도 24 및 25에서 소개된 것과 같은, IoT 장치 및 네트워크의 사용은 유선 및 무선 기술의 조합을 포함하는 이종 접속성 네트워크(heterogeneous network of connectivity)에 많은 새로운 과제를 제시한다.
도 24는 구체적으로는, 백본 링크(2402)를 통해 각자의 게이트웨이(2454)에 연결된 IoT 네트워크(2456, 2458, 2460, 2462)와 함께, IoT 장치(2404)를 포함하는 다수의 사물 인터넷(IoT) 네트워크에 대해 사용될 수 있는 도메인 토폴로지의 간략화된 도면을 제공한다. 예를 들어, 다수의 IoT 장치(2404)는 게이트웨이(2454)와, 그리고 게이트웨이(2454)를 통해 서로 통신할 수 있다. 도면을 간략화하기 위해, 모든 IoT 장치(2404) 또는 통신 링크(예를 들어, 링크(2416, 2422, 2428 또는 2432))가 라벨링되어 있지는 않다. 백본 링크(2402)는 광학 네트워크를 포함한, 임의의 수의 유선 또는 무선 기술을 포함할 수 있으며, LAN(local area network), WAN(wide area network), 또는 인터넷의 일부일 수 있다. 또한, 그러한 통신 링크는 다양 한 장치의 상호접속을 용이하게 하는 다중화/역다중화(MUXing/deMUXing) 컴포넌트의 사용을 포함한, IoT 장치(2404)와 게이트웨이(2454) 둘 다 사이의 광학 신호 경로를 용이하게 한다.
네트워크 토폴로지는 BLE(Bluetooth low energy) 링크(2422)를 사용하는 네트워크(2456)와 함께 제공되는 메시 네트워크와 같은, 임의의 수의 유형의 IoT 네트워크를 포함할 수 있다. 존재할 수 있는 다른 유형의 IoT 네트워크는 IEEE 802.11(Wi-Fi ®) 링크(2428)를 통해 IoT 장치(2404)와 통신하는 데 사용되는 WLAN(wireless local area network) 네트워크(2458), LTE/LTE-A(4G) 또는 5G 셀룰러 네트워크를 통해 IoT 장치(2404)와 통신하는 데 사용되는 셀룰러 네트워크(2460), 및 LPWA(low-power wide area) 네트워크(2462), 예를 들어, LoRa alliance에 의해 공표된 LoRaWan 규격과 호환되는 LPWA 네트워크, 또는 IETF(Internet Engineering Task Force)에 의해 공표된 규격과 호환되는 IPv6 over LPWAN(Low Power Wide-Area Network) 네트워크를 포함한다. 또한, 각자의 IoT 네트워크는, LTE 셀룰러 링크, LPWA 링크, 또는 ZigBee ®와 같은, IEEE 802.15.4 표준에 기초한 링크와 같은, 임의의 수의 통신 링크를 사용하여 외부 네트워크 제공자(예를 들어, 티어 2 또는 티어 3 제공자)와 통신할 수 있다. 각자의 IoT 네트워크는 또한 CoAP(Constrained Application Protocol)와 같은 다양한 네트워크 및 인터넷 애플리케이션 프로토콜을 사용하여 동작할 수 있다. 각자의 IoT 네트워크는 또한 링크된 장치 및 네트워크의 클러스터 트리를 형성하는 링크의 체인을 제공하는 코디네이터 장치(coordinator devices)와 통합될 수 있다.
이러한 IoT 네트워크 각각은 본 명세서에 설명된 것과 같은, 새로운 기술적 특징을 위한 기회를 제공할 수 있다. 개선된 기술 및 네트워크는, IoT 네트워크를 "포그(fog)" 장치 또는 "에지" 컴퓨팅 시스템으로 사용하는 것을 포함한, 장치 및 네트워크의 기하급수적 성장을 가능하게 해줄 수 있다. 그러한 개선된 기술의 사용이 증가함에 따라, 직접적인 인간 개입을 필요로 함이 없이, IoT 네트워크가 자기 관리(selfmanagement), 기능 진화(functional evolution), 및 협업(collaboration)을 위해 발전될 수 있다. 개선된 기술은 심지어 IoT 네트워크가 중앙집중식 제어 시스템 없이도 기능할 수 있게 해줄 수 있다. 그에 따라, 본 명세서에서 설명된 개선된 기술은 현재의 구현을 훨씬 넘어서 네트워크 관리 및 동작 기능을 자동화하고 향상시키는 데 사용될 수 있다.
일 예에서, 백본 링크(2402)을 통해서와 같은, IoT 장치(2404) 사이의 통신은 AAA(authentication, authorization, and accounting)를 위한 탈중앙화된 시스템에 의해 보호될 수 있다. 탈중앙화된 AAA 시스템에서, 분산 지불, 신용, 감사, 인가, 및 인증 시스템은 상호접속된 이종 네트워크 인프라스트럭처에 걸쳐 구현될 수 있다. 이것은 시스템 및 네트워크가 자율 동작을 향해 갈 수 있게 해준다. 이러한 유형의 자율 동작에서, 머신은 심지어 인적 리소스를 위한 계약을 체결하고 다른 머신 네트워크와 파트너쉽을 협상할 수 있다. 이것은 상호 목적의 달성 및 개략적으로 기술된 계획된 서비스 레벨 협약에 대비한 균형잡힌 서비스 전달을 가능하게 해줄 수 있는 것은 물론, 계량, 측정, 트레이싱 능력(traceability) 및 트래킹 능력(trackability)을 제공하는 솔루션을 달성할 수 있게 해줄 수 있다. 새로운 공급망 구조 및 방법의 생성은 임의의 인간 개입 없이 다수의 서비스가 생성되고(created), 가치 창출되며(mined for value), 소멸되게(collapsed)할 수 있다.
이러한 IoT 네트워크는 사운드, 조명, 전자 트래픽, 얼굴 및 패턴 인식, 냄새, 진동과 같은 감지 기술을 IoT 장치 사이의 자율 조직화에 통합함으로써 더욱 향상될 수 있다. 감각 시스템의 통합은 계약서 비스 목적에 대비한 체계적이고 자율적인 통신 및 서비스 전달 코디네이션, 리소스의 오케스트레이션 및 QoS(Quality of Service) 기반 스워밍(swarming) 및 융합을 가능하게 해줄 수 있다. 네트워크 기반 리소스 프로세싱의 개별 예 중 일부는 다음과 같은 것을 포함한다.
예를 들어, 메시 네트워크(2456)는 인라인 데이터-정보 변환(inline data-to-information transforms)을 수행하는 시스템에 의해 향상될 수 있다. 예를 들어, 다중 링크 네트워크(multi-link network)를 포함하는 프로세싱 리소스의 자기 형성 체인(self-forming chains)은 효율적인 방식으로 원시 데이터를 정보로 변환하는 것, 그리고 자산 및 리소스과 각각의 연관된 관리를 구별하는 능력을 분배할 수 있다. 게다가, 데이터 무결성, 품질, 보증을 개선시키고 데이터 신뢰의 척도를 전달하기 위해 인프라스트럭처 및 리소스 기반 신뢰 및 서비스 지표의 적절한 컴포넌트가 삽입될 수 있다.
WLAN 네트워크(2458)는, 예를 들어, 다중 표준 접속성을 제공하기 위해 표준 변환을 수행하는 시스템을 사용하여, 상이한 프로토콜을 사용하는 IoT 장치들(2404)이 통신할 수 있게 해줄 수 있다. 추가의 시스템은 가시적 인터넷 리소스 및 숨겨진 인터넷 리소스를 포함하는 다중 표준 인프라스트럭처에 걸쳐 심리스 상호접속성(seamless interconnectivity)을 제공할 수 있다.
셀룰러 네트워크(2460)에서의 통신은, 예를 들어, 데이터를 오프로드(offload)하거나, 더 많은 원격 장치로 통신을 확장하거나, 둘 다를 하는 시스템에 의해 향상될 수 있다. LPWA 네트워크(2462)는 비-인터넷 프로토콜(IP) 대 IP 상호접속, 어드레싱, 및 라우팅을 수행하는 시스템을 포함할 수 있다. 또한, IoT 디바이스(2404) 각각은 그 장치와의 광역 통신을 위한 적절한 트랜시버를 포함할 수 있다. 또한, 각각의 IoT 장치(2404)는 부가의 프로토콜 및 주파수를 사용하는 통신을 위한 다른 트랜시버를 포함할 수 있다. 이는 도 26 및 27에 도시된 IoT 처리 장치의 하드웨어 및 통신 환경과 관련하여 더 논의된다.
마지막으로, IoT 장치의 클러스터는 다른 IoT 장치와는 물론 클라우드 네트워크와 통신하도록 장비될 수 있다. 이것은 IoT 장치들이 이들 장치 사이에 애드혹 네트워크를 형성할 수 있게 해줄 수 있어, 이들이, 포그 장치라고 지칭될 수 있는, 단일 장치로서 기능할 수 있게 해줄 수 있다. 이 구성은 아래의 도 25와 관련하여 추가로 논의된다.
도 25는, 네트워킹된 시나리오에서 포그 플랫폼으로서 동작하는 IoT 장치(장치(2502))의 메시 네트워크와 통신하는 클라우드 컴퓨팅 네트워크를 예시한다. IoT 장치의 메시 네트워크는, 클라우드(2500)의 에지에서 동작하는 장치들의 네트워크로 확립된, 포그 네트워크(2520)로 지칭될 수 있다. 다이어그램을 간략화하기 위해, 모든 IoT 장치(2502)가 라벨링되지는 않는다.
포그 네트워크(2520)는 다수의 IoT 장치(2502)가, 예를 들어, 라디오 링크(2522)에 의해, 서로 통신하는 대규모로 상호접속된 네트워크(massively interconnected network)인 것으로 간주될 수 있다. 포그 네트워크(2520)는 IoT 에지 장치와 클라우드 또는 데이터 센터 사이에 있는 것으로 간주될 수 있는 수평, 물리 또는 가상 리소스를 확립할 수 있다. 포그 네트워크는, 일부 예에서, 계층화, 연합 또는 분산 컴퓨팅, 저장 및 네트워크 접속 동작을 통해 수직으로 격리되고 지연에 민감한 애플리케이션을 지원할 수 있다. 그러나 포그 네트워크는 에지 및 클라우드에서 그리고 이들 사이에 리소스와 서비스를 배포하는 데 사용될 수도 있다. 따라서, 본 문서에서 "에지", "포그" 및 "클라우드"에 대한 참조는 반드시 서로 분리되거나 배타적이지 않다.
일 예로서, 포그 네트워크(2520)는 OCF(Open Connectivity Foundation??)에 의해 발표된 상호접속 규격(interconnect specification)을 사용하여 용이하게 될 수 있다. 이 표준은 장치들이 서로를 발견하고 상호접속을 위한 통신을 확립할 수 있게 해준다. 그 중에서도, 예를 들어, OLSR(optimized link state routing) 프로토콜, B.A.T.M.A.N.(better approach to mobile ad-hoc networking) 라우팅 프로토콜, 또는 OMA LWM2M(Lightweight M2M) 프로토콜을 포함한, 다른 상호접속 프로토콜이 또한 사용될 수 있다.
3가지 유형의 IoT 장치(2502), 이 예에서, 게이트웨이(2504), 데이터 수집기(data aggregators)(2526), 및 센서(2528)가 도시되어 있지만, IoT 장치(2502) 및 기능성의 임의의 조합이 사용될 수 있다. 게이트웨이(2504)는 클라우드(2500)와 포그 (2520) 사이의 통신을 제공하는 에지 장치일 수 있고, 모션 데이터, 흐름 데이터(flow data), 온도 데이터 등과 같은, 센서(2528)로부터 획득되는 데이터에 대한 백엔드 프로세스 기능을 또한 제공할 수 있다. 데이터 수집기(2526)는 임의의 수의 센서(2528)로부터 데이터를 수집할 수 있고, 분석을 위해 백엔드 프로세싱 기능을 수행할 수 있다. 결과, 원시 데이터, 또는 둘 다는 게이트웨이(2504)을 통해 클라우드(2500)로 전달될 수 있다. 센서(2528)은, 예를 들어, 데이터를 수집하기도 하고 데이터를 처리하기도 할 수 있는, 완전 IoT 장치(full IoT devices)(2502)일 수 있다. 일부 경우에, 센서(2528)는 기능성, 예를 들어, 데이터를 수집하는 것 및 데이터 수집기(2526) 또는 게이트웨이(2504)가 데이터를 프로세싱할 수 있게 해주는 것에서 더 제한될 수 있다.
임의의 IoT 장치(2502)로부터의 통신은 게이트웨이(2504)에 도달하기 위해 IoT 장치(2502) 중 임의의 것과의 사이의 편리한 경로(예를 들어, 가장 편리한 경로)를 따라 전달될 수 있다. 이들 네트워크에서, 상호접속의 횟수는 상당한 중복성(redundancy)을 제공하여, 다수의 IoT 장치(2502)의 손실에도, 통신이 유지될 수 있게 해준다. 또한, 메시 네트워크의 사용은, 다른 IoT 장치(2502)에 접속하기 위한 범위(range)가 게이트웨이(2504)에 접속하기 위한 범위보다 훨씬 더 작을 수 있기 때문에, 매우 낮은 전력이거나 인프라 스트럭처로부터의 멀리 떨어져 위치하는 IoT 장치(2502)가 사용될 수 있게 해줄 수 있다.
이들 IoT 장치(2502)로부터 제공되는 포그(2520)는 클라우드(2500)의 에지에 위치하는 단일 장치, 예를 들어, 장치 또는 플랫폼으로서 동작하는 포그 네트워크로서, 서버(2506)와 같은, 클라우드(2500) 내의 장치에 제시될 수 있다. 이 예에서, 포그 플랫폼으로부터 오는 경보는 포그 네트워크(2520) 내의 특정 IoT 장치(2502)로부터 오는 것으로 식별되지 않고 송신될 수 있다. 이러한 방식으로, 포그 네트워크(2520)는, 그 중에서도, 데이터 애널리틱스(data analytics), 데이터 수집, 및 머신 러닝과 같은 프로세싱 또는 데이터 집약적인 태스크를 수행하기 위한 컴퓨팅 및 저장 리소스를 제공하는 분산 플랫폼인 것으로 간주될 수 있다.
일부 예에서, IoT 장치(2502)는 명령형 프로그래밍 스타일(imperative programming style)을 사용하여 구성될 수 있으며, 예를 들어, 각각의 IoT 장치(2502)는 특정 기능 및 통신 파트너를 갖는다. 그러나, 포그 장치를 형성하는 IoT 장치(2502)는 선언적 프로그래밍 스타일(declarative programming style)로 구성될 수 있어, IoT 장치(2502)가, 조건, 질의, 및 장치 고장에 응답하여 필요한 리소스를 결정하는 것과 같이, 그의 동작 및 통신을 재구성할 수 있게 해준다. 예로서, IoT 장치(2502)에 의해 모니터링되는 장비의 서브세트의 동작에 관한 서버(2506)에 위치하는 사용자로부터의 질의는 포그 네트워크(2520) 장치가 질의에 답변하는 데 필요한, 특정의 센서(2528)와 같은, IoT 장치(2502)를 선택할 수 있다. 이들 센서(2528)로부터의 데이터는 이어서, 질의에 답변하기 위해 포그 네트워크(2520)에 의해 서버(2506)에게 송신되기 전에, 센서(2528), 데이터 수집기(2526), 또는 게이트웨이(2504)의 임의의 조합에 의해 수집되고 분석될 수 있다. 이 예에서, 포그 네트워크(2520) 내의 IoT 장치(2502)는, 흐름 센서 또는 온도 센서로부터의 데이터를 추가하는 것과 같이, 질의에 기초하여 사용되는 센서(2528)를 선택할 수 있다. 게다가, IoT 장치(2502) 중 일부가 동작하지 않는 경우, 포그 네트워크(2520) 장치 내의 다른 IoT 장치(2502)는, 이용가능한 경우, 유사한 데이터를 제공할 수 있다.
다른 예에서, 본 명세서에 설명된 동작 및 기능은 전자 처리 시스템의 예시적인 형태로 IoT 또는 에지 컴퓨팅 장치에 의해 구현될 수 있으며, 그 안에서 전자 처리 시스템으로 하여금 일 실시예에 따른, 본 명세서에 논의된 방법들 중 어느 하나를 수행하게 하는 명령어 세트 또는 시퀀스가 실행될 수 있다. 장치는 개인용 컴퓨터(PC), 태블릿 PC, 개인 휴대 정보 단말기(PDA), 휴대 전화 또는 스마트폰, 또는 취해야 할 조치를 지정하는 명령어(순차적이든 아니든)를 실행할 수 있는 임의의 머신의 형태로 구현된 머신을 포함하는 IoT 장치 또는 IoT 게이트웨이일 수 있다.
또한, 위의 예에서는 단일 머신만 묘사하고 참조하였지만, 이러한 머신은 명령어들의 한 세트(또는 여러 세트)를 개별적으로 또는 함께 실행하여 본 명세서에서 논의한 방법들 중 하나 이상을 수행하는 머신의 집합을 포함하는 것으로 간주되어야 한다. 또한, 프로세서 기반 시스템에 대한 이들 예 및 유사한 예는, 본 명세서에 논의된 방법들 중 어느 하나 이상을 수행하기 위한 명령어를 개별적으로 또는 공동으로 실행하는 프로세서, 프로세서 세트 또는 처리 회로(예컨대, 컴퓨터)에 의해 제어되거나 작동되는 하나 이상의 머신의 임의의 세트를 포함한다. 따라서, 다양한 예에서, 처리(예컨대, 처리, 제어, 생성, 평가 등)를 위한 적용 가능한 수단이 이러한 처리 회로에 의해 구현될 수 있다.
도 26은 다수의 사물 인터넷(IoT) 장치와 통신하는 클라우드 컴퓨팅 네트워크, 또는 클라우드(2600)를 도시한 도면이다. 클라우드(2600)는 인터넷을 나타낼 수도 있고, LAN(local area network) 또는, 회사의 독점 네트워크와 같은, WAN(wide area network)일 수도 있다. IoT 장치는, 다양한 조합으로 그룹화된, 임의의 수의 상이한 유형의 장치를 포함할 수 있다. 예를 들어, 교통 제어 그룹(2606)은 도시에서 거리를 따라 있는 IoT 장치를 포함할 수 있다. 이러한 IoT 장치는 정지 신호등, 교통 흐름 모니터, 카메라, 기상 센서 등을 포함할 수 있다. 교통 제어 그룹(2606) 또는 다른 서브그룹은, LPWA 링크 등과 같은, 유선 또는 무선 링크(2608)을 통해 클라우드(2600)와 통신할 수 있다. 또한, 유선 또는 무선 서브네트워크(2612)는 IoT 장치가, 로컬 영역 네트워크, 무선 로컬 영역 네트워크 등을 통해서와 같이, 서로 통신할 수 있게 해줄 수 있다. IoT 장치는 클라우드(2600)와 같은 원격 위치와 통신하기 위해 게이트웨이(2610 또는 2628)와 같은 다른 장치를 사용할 수 있고; IoT 장치는 또한 클라우드(2600)와 의 또는 게이트웨이(2610)와의 통신을 용이하게 하기 위해 하나 이상의 서버(2630)를 사용할 수 있다. 예를 들어, 하나 이상의 서버(2630)는 로컬 영역 네트워크 사이에서 로컬 에지 클라우드 또는 포그 구현을 지원하기 위해 중간 네트워크 노드로서 동작할 수 있다. 또한, 묘사된 게이트웨이(2628)는, 다양한 IoT 장치(2614, 2620, 2624)가 클라우드(2600)에서의 리소스의 할당 및 사용에 대해 제약되거나 동적인 것과 같이, 클라우드 대 게이트웨이 대 다수의 에지 장치 구성(cloud-to-gateway-to-many edge devices configuration)에서 동작할 수 있다.
IoT 장치의 다른 예시적인 그룹은, 그 중에서도, 원격 기상 관측소(remote weather stations)(2614), 로컬 정보 단말(2616), 경보 시스템(2618), 현금 자동 입출금기(automated teller machines)(2620), 경보 패널(2622), 또는, 응급 차량(2624) 또는 다른 차량(2626)과 같은, 움직이는 차량을 포함할 수 있다. 이들 IoT 장치 각각은 다른 IoT 장치와, 서버(2604)와, 다른 IoT 포그 장치 또는 시스템(도시 되어 있지 않지만, 도 25에 묘사됨)과, 또는 이들의 조합과 통신할 수 있다. IoT 장치의 그룹은 다양한 주거, 상업, 및 산업 환경(사설 또는 공공 환경 둘 다를 포함함)에 배치될 수 있다.
도 26으로부터 알 수 있는 바와 같이, 많은 수의 IoT 장치 클라우드(2600)를 통해 통신할 수 있다. 이것은 상이한 IoT 장치들이 자율적으로 정보를 요청하거나 정보를 다른 장치에 제공할 수 있게 해줄 수 있다. 예를 들어, IoT 장치의 그룹(예를 들어, 교통 제어 그룹(2606))은 원격 기상 관측소(2614)의 그룹에 현재의 일기 예보를 요청할 수 있고, 이는 인간 개입 없이 예측을 제공할 수 있다. 게다가, 응급 차량(2624)은 절도가 진행 중인 현금 자동 입출금기(2620)에 의해 경보를 받을 수 있다. 응급 차량(2624)이 현금 자동 입출금기(2620)를 향해 진행할 때, 응급 차량(2624)은, 예를 들어, 응급 차량(2624)이 교차로에 방해받지 않고 접근 하기에 충분한 시간 동안 교차로에서의 교차 교통(cross traffic)을 차단시키기 위해 신호등이 적색으로 전환되는 것에 의해 그 위치까지의 교통정리(clearance)를 요청하기 위해 교통 제어 그룹(2606)에 액세스할 수 있다.
원격 기상 관측소(2614) 또는 교통 제어 그룹(2606)과 같은, IoT 장치의 클러스터는 다른 IoT 장치와는 물론 클라우드(2600)와 통신하도록 장비될 수 있다. 이것은 IoT 장치들이 이들 장치 사이에 애드혹 네트워크(ad-hoc network)를 형성할 수 있게 해줄 수 있어, 이들이, (예를 들어, 도 25를 참조하여 앞서 설명한 바와 같이) 포그 장치 또는 시스템이라고 지칭될 수 있는, 단일 장치로서 기능할 수 있게 해준다.
도 27은 본 명세서에서 설명된 기술을 구현하기 위해 IoT 장치(2750)에 존재할 수 있는 컴포넌트의 예에 대한 블록 다이어그램이다. IoT 장치(2750)는 예에 도시되거나 상기 개시내용에서 참조되는 컴포넌트의 임의의 조합을 포함할 수 있다. 컴포넌트는 IoT 장치(2750)에 적응된, IC, 이의 부분, 이산 전자 장치(discrete electronic devices), 또는 다른 모듈, 로직, 하드웨어, 소프트웨어, 펌웨어, 또는 이들 의 조합으로서, 또는 더 큰 시스템의 섀시 내에 다른 방식으로 통합된 컴포넌트로서 구현될 수 있다. 부가적으로, 도 27의 블록 다이어그램은 IoT 장치(2750)의 컴포넌트의 하이 레벨 뷰를 묘사하도록 의도되어 있다. 그렇지만, 다른 구현에서는, 도시된 컴포넌트 중 일부가 생략될 수 있고, 부가의 컴포넌트가 존재할 수 있으며, 도시된 컴포넌트의 상이한 배열이 발생할 수 있다.
IoT 장치(2750)는 마이크로프로세서, 멀티-코어 프로세서, 멀티스레드 프로세서, 초저전압 프로세서, 임베디드 프로세서, 또는 다른 알려진 처리 요소일 수 있는 프로세서(2752) 형태의 처리 회로를 포함할 수 있다. 프로세서(2752)는 프로세서(2752) 및 다른 컴포넌트가 단일 집적 회로, 또는 Intel의 Edison?? 또는 Galileo?? SoC 보드와 같은, 단일 패키지로 형성되는 시스템 온 칩(SoC)의 일부일 수 있다. 예로서, 프로세서(2752)는 Quark??, Atom??, i3, i5, i7, 또는 MCU 클래스(MCU-class) 프로세서와 같은, Intel ® Architecture Core?? 기반 프로세서, 또는, 캘리포니아주 산타클라라 소재의 Intel ® Corporation으로부터 입수가능한 다른 그러한 프로세서를 포함할 수 있다. 그러나, 캘리포니아 서니베일에 위치한 어드밴스드 마이크로 디바이스사(AMD®), 캘리포니아 서니베일에 위치한 MIPS 테크놀로지스사의 MIPS® 기반 설계, ARM 홀딩스사 또는 그 고객의 ARM® 기반 설계, 또는 이들의 사용권자 또는 사용자들로부터의 임의의 수의 다른 프로세서가 사용될 수 있다. 프로세서는 애플사의 A5-A14 프로세서, 퀄컴사의 Snapdragon?? 프로세서, 또는 텍사스 인스트루먼트사의 OMAP?? 프로세서와 같은 유닛을 포함할 수 있다.
프로세서(2752)는 상호접속부(2756)(예컨대, 버스)를 통해 시스템 메모리(2754)와 통신할 수 있다. 주어진 양의 시스템 메모리를 제공하기 위해 임의의 수의 메모리 장치가 사용될 수 있다. 예로서, 메모리는 DDR 또는 모바일 DDR 표준(예를 들어, LPDDR, LPDDR2, LPDDR3, 또는 LPDDR4)과 같은 JEDEC(Joint Electron Devices Engineering Council) 설계에 따른 RAM(random access memory)일 수 있다. 다양한 구현에서, 개별 메모리 장치는 단일 다이 패키지(SDP), 듀얼 다이 패키지(DDP) 또는 쿼드 다이 패키지(Q17P)와 같은 임의의 수의 상이한 패키지 유형일 수 있다. 이들 장치는, 일부 예에서 마더보드에 직접 납땜되어 더 낮은 프로파일 솔루션을 제공할 수 있는 반면, 다른 예에서 장치는 주어진 커넥터에 의해 마더보드에 차례로 결합되는 하나 이상의 메모리 모듈로 구성된다. 다른 유형의 메모리 모듈, 예를 들어 microDIMM 또는 MiniDIMM을 포함하지만 이에 국한되지 않는 다양한 종류의 듀얼 인라인 메모리 모듈(DIMM)과 같은 임의의 수의 다른 메모리 구현이 사용될 수 있다.
데이터, 애플리케이션, 운영 체제 등과 같은 정보의 지속적인 저장을 제공하기 위해, 저장부(2758)는 또한 상호접속부(2756)를 통해 프로세서(2752)에 결합될 수 있다. 예에서, 저장부(2758)는 SSDD(solid state disk drive)를 통해 구현될 수 있다. 저장부(2758)로 사용될 수 있는 다른 장치는, SD 카드, microSD 카드, xD 픽처 카드 등과 같은, 플래시 메모리 카드, 및 USB 플래시 드라이브를 포함한다. 저전력 구현에서, 저장부(2758)는 프로세서(2752)와 연관된 온-다이 메모리 또는 레지스터일 수 있다. 그러나, 일부 예에서, 저장부(2758)는 마이크로 하드 디스크 드라이브(HDD)를 사용하여 구현될 수 있다. 또한, 설명된 기술에 더하여 또는 이에 갈음하여, 저항 변화 메모리, 상 변화 메모리, 홀로그램 메모리 또는 화학적 메모리와 같은 임의의 수의 새로운 기술이 저장부(2758)에 대해 사용될 수 있다.
컴포넌트들은 상호접속부(2756)를 통해 통신할 수 있다. 상호접속부(2756)는 산업 표준 아키텍처(ISA), 확장된 ISA(EISA), 주변 컴포넌트 상호접속부(PCI), 확장된 주변 컴포넌트 상호접속부(PCIx), PCI 익스프레스(PCIe) 또는 임의의 수의 다른 기술들을 포함하는 임의의 수의 기술을 포함할 수 있다. 인터커넥트(2756)는, 예를 들어, SoC 기반 시스템에서 사용되는, 독점적 버스(proprietary bus)일 수 있다. 그 중에서도, I2C 인터페이스, SPI 인터페이스, 포인트 투 포인트 인터페이스, 및 전력 버스와 같은, 다른 버스 시스템이 포함될 수 있다.
장치로부터 다른 컴포넌트 또는 네트워크로의 다양한 유형의 적용 가능한 통신이 주어지면, 장치에 의해 사용되는 적용 가능한 통신 회로는 컴포넌트(2762, 2766, 2768 또는 2770) 중 임의의 하나 이상을 포함하거나 이에 의해 구현될 수 있다. 따라서, 다양한 예들에서, 통신(예컨대, 수신, 송신 등)을 위한 적용 가능한 수단은 이러한 통신 회로에 의해 구현될 수 있다.
상호접속부(2756)는 다른 메시 장치(2764)와의 통신을 위해, 프로세서(2752)를 메시 트랜시버(2762)에 연결시킬 수 있다. 메시 트랜시버(2762)는, 그 중에서도, Bluetooth ® Special Interest Group에 의해 정의된 바와 같은, BLE(Bluetooth ® low energy) 표준, 또는 ZigBee ® 표준을 사용하는, IEEE 802.15.4 표준 하에서의 2.4 기가헤르츠(GHz) 전송과 같은, 임의의 수의 주파수 및 프로토콜을 사용할 수 있다. 특정의 무선 통신 프로토콜을 위해 구성된, 임의의 수의 라디오(radios)이 메시 장치(2764)에 대한 접속을 위해 사용될 수 있다. 예를 들어, WLAN 유닛은 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준에 따라 Wi-Fi?? 통신을 구현하는 데 사용될 수 있다. 이에 더하여, 예를 들어, 셀룰러 또는 다른 무선 광역 프로토콜에 따른, 무선 광역 통신은 WWAN 유닛을 통해 발생할 수 있다.
메시 트랜시버(2762)는 상이한 범위에서의 통신을 위해 다수의 표준 또는 라디오를 사용하여 통신할 수 있다. 예를 들어, IoT 장치(2750)는 전력을 절감하기 위해, BLE에 기초한 로컬 트랜시버, 또는 다른 저전력 라디오를 사용하여, 예를 들어, 약 10 미터 이내의, 가까운 장치와 통신할 수 있다. 예를 들어, 약 50 미터 이내의, 더 멀리 떨어진 메시 장치(2764)는 ZigBee 또는 다른 중간 전력 라디오를 통해 도달될 수 있다. 양쪽 통신 기법은 상이한 전력 레벨에서 단일 라디오를 통해 이루어질 수 있거나, 또는, 별개의 트랜시버, 예를 들어, BLE를 사용하는 로컬 트랜시버 및 ZigBee를 사용하는 별개의 메시 트랜시버를 통해 이루어질 수 있다.
로컬 또는 광역 네트워크 프로토콜을 통해 클라우드(2700) 내의 장치 또는 서비스와 통신하기 위해 무선 네트워크 트랜시버(2766)가 포함될 수 있다. 무선 네트워크 트랜시버(2766)는, 그 중에서도, IEEE 802.15.4 또는 IEEE 802.15.4g 표준을 따르는 LPWA 트랜시버일 수 있다. IoT 장치(2750)는 Semtech 및 LoRa Alliance에 의해 개발된 LoRaWAN??(Long Range Wide Area Network)을 사용하여 넓은 영역에 걸쳐 통신할 수 있다. 본 명세서에 설명된 기술은 이러한 기술로 제한되지 않고, Sigfox와 같은, 장거리, 저 대역폭 통신, 및 다른 기술을 구현하는 임의의 수의 다른 클라우드 트랜시버와 함께 사용될 수 있다. 또한, IEEE 802.15.4e 사양에 설명된 시간 슬롯 채널 호핑과 같은 다른 통신 기술이 사용될 수 있다.
본 명세서에 설명된 바와 같은, 메시 트랜시버(2762) 및 무선 네트워크 트랜시버(2766)에 대해 언급된 시스템에 더하여 임의의 수의 다른 라디오 통신 및 프로토콜이 사용될 수 있다. 예를 들어, 라디오 트랜시버(2762 및 2766)는 고속 통신을 구현하기 위해 확산 스펙트럼(SPA/SAS) 통신을 사용하는 LTE 또는 다른 셀룰러 트랜시버를 포함할 수 있다. 또한, 중간 속도 통신 및 네트워크 통신 제공을 위한 Wi-Fi® 네트워크와 같은 임의의 수의 다른 프로토콜이 사용될 수 있다.
라디오 트랜시버(2762 및 2766)는 임의의 수의 3GPP(Third Generation Partnership Project) 규격, 특히 LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 및 LTE-A Pro(Long Term EvolutionAdvanced Pro)와 호환되는 라디오를 포함할 수 있다. 임의의 수의 다른 고정, 모바일, 또는 위성 통신 기술 및 표준과 호환되는 라디오가 선택될 수 있음이 주목될 수 있다. 이들은, 예를 들어, 5G(5th Generation) 통신 시스템, GSM(Global System for Mobile Communications) 라디오 통신 기술, GPRS(General Packet Radio Service) 라디오 통신 기술, 또는 EDGE(Enhanced Data Rates for GSM Evolution) 라디오 통신 기 술, UMTS(Universal Mobile Telecommunications System) 통신 기술을 포함할 수 있는, 예를 들어, 임의의 셀룰러 광역 라디오 통신 기술을 포함할 수 있다. 앞서 열거된 표준에 부가하여, 그 중에서도, 예를 들어, 공개특허 10-2020-0094747 - 18 - ITU(International Telecommunication Union), 또는 ETSI(European Telecommunications Standards Institut e)에 의해 발표된 표준을 준수하는 라디오를 포함한, 임의의 수의 위성 업링크 기술이 무선 네트워크 트랜시버(2766)에 대해 사용될 수 있다. 본 명세서에 제공된 예은 이에 따라 다양한 다른 통신 기술, 기존의 통신 기술 및 아직 만들어지지 않은(not yet formulated) 통신 기술 둘 다에 적용가능한 것으로 이해된다.
클라우드(2700)에 또는, 메시 장치(2764)와 같은, 다른 장치에 유선 통신을 제공하기 위해 네트워크 인터페이스 제어기(NIC)(2768)가 포함될 수 있다. 유선 통신은 이더넷 접속을 제공할 수 있거나, 그 중에서도, CAN(Controller Area Network), LIN(Local Interconnect Network), DeviceNet, ControlNet, Data Highway+, PROFIBUS, 또는 PROFINET과 같은, 다른 유형의 네트워크에 기초할 수 있다. 제2 네트워크에 대한 접속을 가능하게 해주기 위해 부가의 NIC(2768), 예를 들어, 이더넷을 통해 클라우드에 대한 통신을 제공하는 NIC(2768), 및 다른 유형의 네트워크를 통해 다른 장치에 대한 통신을 제공하는 제2 NIC(2768)가 포함될 수 있다.
상호접속부(2756)는 프로세서(2752)를 외부 장치 또는 서브시스템을 접속시키는 데 사용되는 외부 인터페이스(2770)에 연결시킬 수 있다. 외부 장치는, 가속도계, 레벨 센서, 흐름 센서, 광학 광 센서 (optical light sensors), 카메라 센서, 온도 센서, GPS(global positioning system) 센서, 압력 센서, 기압 센서 등과 같은, 센서(2772)를 포함할 수 있다. 외부 인터페이스(2770)는 추가로 IoT 장치(2750)를 전력 스위치, 밸브 액추에이터, 가청 사운드 생성기, 비주얼 경고 장치 등과 같은, 액추에이터(2774)에 접속시키는 데 사용될 수 있다.
일부 선택적 예에서, 다양한 입/출력(I/O) 장치가 IoT 장치(2750) 내에 존재하거나, IoT 장치(2750)에 접속될 수 있다. 예를 들어, 센서 판독값 또는 액추에이터 위치와 같은 정보를 보여주기 위해 디스플레이 또는 다른 출력 장치(2784)가 포함될 수 있다. 입력을 받기 위해 터치 스크린 또는 키패드와 같은 입력 장치(2786)가 포함될 수 있다. 출력 장치(2784)는 이진 상태 지시기(예를 들어, LED) 및 다중 문자 비주얼 출력과 같은 간단한 비주얼 출력, 또는 디스플레이 스크린(예를 들어, LCD 스크린)과 같은 더 복잡한 출력을 포함한, 임의의 수의 오디오 또는 비주얼 디스플레이 형태를 포함할 수 있으며, 문자, 그래픽, 멀티미디어 객체 등의 출력은 IoT 장치(2750)의 동작으로부터 발생되거나 생성된다.
배터리(2776)가 IoT 장치(2750)에 전력을 공급할 수 있지만, IoT 장치(2750)가 고정된 위치에 탑재되는 예에서, IoT 장치(2750)는 전기 그리드에 연결된 전원(power supply)을 가질 수 있다. 배터리(2776)는 리튬 이온 배터리, 또는 아연-공기 배터리, 알루미늄-공기 배터리, 리튬-공기 배터리 등과 같은 금속-공기 배터리일 수 있다.
배터리(2776)의 충전 상태(state of charge)(SoCh)를 트래킹하기 위해 배터리 모니터/충전기(2778)가 IoT 디바이스(2750)에 포함될 수 있다. 배터리 모니터/충전기(2778)는 배터리(2776)의 건강 상태(SoH) 및 기능 상태(SoF)와 같은 고장 예측을 제공하기 위해 배터리(2776)의 다른 파라미터를 모니터링하는 데 사용될 수 있다. 배터리 모니터/충전기(2778)는 리니어 테크놀로지(Linear Technologies)의 LTC4020 또는 LTC2990, 애리조나주 피닉스의 온 세미콘덕터(ON Semiconductor)의 ADT7488A 또는 텍사스주 댈러스의 텍사스 인스트루먼트(Texas Instruments)의 UCD90xxx 제품군의 IC와 같은 배터리 모니터링 집적 회로를 포함할 수 있다. 배터리 모니터/충전기(2778)는 배터리(2776)에 대한 정보를 상호접속부(2756)를 통해 프로세서(2752)에 전달할 수 있다. 배터리 모니터/충전기(2778)는 프로세서(2752)가 배터리(2776)의 전압 또는 배터리(2776)로부터의 전류 흐름을 직접 모니터링할 수 있게 해주는 아날로그-디지털(ADC) 변환기를 또한 포함할 수 있다. 배터리 파라미터는, 전송 주파수, 메시 네트워크 동작, 감지 주파수 등과 같은, IoT 장치(2750)가 수행할 수 있는 액션을 결정하는 데 사용될 수 있다.
전력 블록(2780), 또는 그리드에 결합된 다른 전원은 배터리(2776)를 충전하기 위해 배터리 모니터/충전기(2778)와 결합될 수 있다. 일부 예에서, 무선으로, 예를 들어, IoT 장치(2750) 내의 루프 안테나를 통해 전력을 획득하기 위해 전력 블록(2780)이 무선 전력 수신기로 대체될 수 있다. 특히 캘리포니아주 밀피타스의 리니어 테크놀로지의 LTC4020 칩과 같은 무선 배터리 충전 회로가 배터리 모니터/충전기(2778)에 포함될 수 있다. 선택되는 특정 충전 회로는 배터리(2776)의 크기, 그리고 이에 따라, 요구되는 전류에 의존한다. 충전은 에어퓨얼 얼라이언스(Airfuel Alliance)에서 발표한 에어퓨얼(Airfuel) 표준, 무선 전력 위원회(Wireless Power Consortium)에서 발표한 Qi 무선 충전 표준 또는 무선 충전 연합(Alliance for Wireless Power)에서 발표한 리젠스(Rezence) 충전 표준 등을 사용하여 수행될 수 있다.
저장부(2758)는 본 명세서에 설명된 기술을 구현하기 위한 소프트웨어, 펌웨어 또는 하드웨어 명령 형태의 명령어(2782)를 포함할 수 있다. 이러한 명령어(2782)는 메모리(2754) 및 저장부(2758)에 포함된 코드 블록으로 나타나지만, 임의의 코드 블록이, 예를 들어 주문형 집적 회로(ASIC)에 내장된 배선 회로로 대체될 수 있다는 것을 이해할 수 있다.
일 예에서, 메모리(2754), 저장부(2758), 또는 프로세서(2752)를 통해 제공되는 명령어(2782)는 IoT 장치(2750)에서의 전자적 동작을 수행하라고 프로세서(2752)에 지시하는 코드를 포함하는 비일시적, 머신 판독가능 매체(2760)로서 구체화될 수 있다. 프로세서(2752)는 상호접속부(2756)를 통해 비일시적 머신 판독 가능 매체(2760)에 액세스할 수 있다. 예를 들어, 비일시적 머신 판독 가능 매체(2760)는 도 27의 저장부(2758)에 대해 설명된 장치에 의해 구현될 수도 있고, 또는 광 디스크, 플래시 드라이브 또는 임의의 수의 기타 하드웨어 장치와 같은 특정 저장 장치를 포함할 수도 있다. 비일시적 머신 판독 가능 매체(2760)는 프로세서(2752)가, 예를 들어 전술한 기능 및 동작의 흐름도(들) 및 블록도(들)과 관련하여 설명된, 동작들의 특정 시퀀스 또는 흐름을 수행하도록 지시하는 명령어를 포함할 수 있다.
또한 특정 예에서, 프로세서(2752) 상의 명령어(2788)(개별적으로, 또는 머신 판독가능 매체(2760)의 명령어(2782)와 조합하여)는 신뢰 실행 환경(TEE)(2790)의 실행 또는 동작을 구성할 수 있다. 일 예에서, TEE(2790)는 명령어의 보안 실행 및 데이터에 대한 보안 액세스를 위해 프로세서(2752)에 액세스할 수 있는 보호 영역으로 동작한다. TEE(2790)의 다양한 구현, 및 프로세서(2752) 또는 메모리(2754)의 수반되는 보안 영역은, 예를 들면 Intel® Software Guard Extensions(SGX) 또는 ARM® TrustZone® 하드웨어 보안 확장, Intel® Management Engine (ME) 또는 Intel® Converged Security Manageability Engine (CSME)의 사용을 통해 제공될 수 있다. 보안 강화, 하드웨어 신뢰 기반, 및 신뢰 또는 보호 동작의 다른 측면은 TEE(2790) 및 프로세서(2752)를 통해 장치(2750)에서 구현될 수 있다.
보다 일반적인 수준에서, 에지 컴퓨팅 시스템은 클라이언트 및 분산 컴퓨팅 장치로부터의 조정을 제공하는 에지 클라우드(1610)에서 동작하는 전술한 계층에서 임의의 수의 배치를 포함하는 것으로 설명될 수 있다. 도 28은 예시 목적으로 에지 컴퓨팅 환경 중에 배치된 분산 컴퓨팅의 계층들의 추가적인 추상화된 개요를 제공한다.
도 28은 일반적으로, 네트워크의 계층들에 걸쳐 분산된, 하나 이상의 클라이언트 컴퓨팅 노드(2802), 하나 이상의 에지 게이트웨이 노드(2812), 하나 이상의 에지 집선 노드(2822), 하나 이상의 코어 데이터 센터(2832), 및 글로벌 네트워크 클라우드(2842) 사이에 분산된, 다중 이해 관계자(stakeholder) 엔티티에 에지 서비스 및 애플리케이션을 제공하기 위한 에지 컴퓨팅 시스템을 도시한다. 에지 컴퓨팅 시스템의 구현은 통신 서비스 제공자("telco", 또는 "TSP"), 사물 인터넷 서비스 제공자, 클라우드 서비스 제공자(CSP), 기업 엔티티, 또는 임의의 다른 수의 엔티티에서 또는 이들을 대신하여 제공될 수 있다.
에지 컴퓨팅 시스템의 각각의 노드 또는 장치는 계층(2810, 2820, 2830, 2840, 2850)에 대응하는 특정 계층에 위치한다. 예를 들어, 클라이언트 컴퓨팅 노드(2802)는 각각 엔드포인트 계층(2810)에 위치하는 반면, 에지 게이트웨이 노드들(2812) 각각은 에지 컴퓨팅 시스템의 에지 장치 계층(2820)(로컬 레벨)에 위치한다. 또한, 에지 집선 노드들(2822)(및/또는 포그 네트워킹 구성(2826)과 함께 또는 그 사이에 배열되거나 동작되는 경우, 포그 장치(2824)) 각각은 네트워크 액세스 계층(2830)(중간 레벨)에 위치한다. 포그 컴퓨팅(또는 "포깅(fogging)")은, 전형적으로 조정된 분산 또는 다중 노드 네트워크에서의, 기업의 네트워크의 에지로의 클라우드 컴퓨팅의 확장을 일반적으로 지칭한다. 일부 형식의 포그 컴퓨팅은, 클라우드 컴퓨팅 위치를 대신하여, 엔드 장치와 클라우드 컴퓨팅 데이터 센터 사이의 계산, 저장, 및 네트워킹 서비스의 배치를 제공한다. 그러한 형식의 포그 컴퓨팅은 본 명세서에서 논의된 에지 컴퓨팅과 일관된 동작을 제공하는데, 본 명세서에서 논의된 에지 컴퓨팅 양태 중 다수는 포그 네트워크, 포깅, 및 포그 구성에 적용가능하다. 또한, 본 명세서에서 논의된 에지 컴퓨팅 시스템의 양태는 포그로서 구성될 수도 있고, 또는 포그의 양태는 에지 컴퓨팅 아키텍처에 통합될 수도 있다.
코어 데이터 센터(2832)는 코어 네트워크 계층(2840)(예를 들어, 지역 또는 지리적으로 중앙 레벨)에 위치하는 반면, 글로벌 네트워크 클라우드(2842)는 클라우드 데이터 센터 계층(2850)(예를 들어, 국가 또는 글로벌 계층)에 위치한다. "코어"의 사용은 다수의 에지 노드 또는 컴포넌트에 의해 액세스 가능한 (네트워크에서 더 깊은)중앙 집중화된 네트워크 위치에 대한 용어로서 제공되지만, "코어"는 반드시 네트워크의 "중심" 또는 가장 깊은 위치를 의미하지는 않는다. 따라서, 코어 데이터 센터(2832)는 에지 클라우드(1610)에, 그 안에, 또는 그 근처에 위치할 수 있다.
예시적인 수의 클라이언트 컴퓨팅 노드(2802), 에지 게이트웨이 노드(2812), 에지 집선 노드(2822), 코어 데이터 센터(2832), 글로벌 네트워크 클라우드(2842)가 도 28에 도시되어 있지만, 에지 컴퓨팅 시스템은 각각의 계층에 더 많은 또는 더 적은 장치 또는 시스템을 포함할 수 있다는 것을 이해해야 한다. 또한, 도 28에 도시된 바와 같이, 각각의 계층(2810, 2820, 2830, 2840, 2850)의 컴포넌트의 수는 일반적으로 각각의 하위 레벨에서(즉, 엔드포인트에 더 가까이 이동할 때) 증가한다. 이에 따라, 하나의 에지 게이트웨이 노드(2812)가 다수의 클라이언트 컴퓨팅 노드(2802)를 서비스할 수 있고, 하나의 에지 집선 노드(2822)가 다수의 에지 게이트웨이 노드(2812)를 서비스할 수 있다.
본 명세서에 제공된 예들에 맞게, 각각의 클라이언트 컴퓨팅 노드(2802)는 데이터의 생산자 또는 소비자로서 통신할 수 있는 임의의 유형의 엔드 포인트 컴포넌트, 장치, 기기, 또는 "사물"로서 구현될 수 있다. 또한, 에지 컴퓨팅 시스템에서 사용되는 "노드" 또는 "장치"라는 표시가 반드시 그러한 노드 또는 장치가 클라이언트 또는 에이전트/미니언/팔로워 역할로 동작한다는 것을 의미하는 것은 아니며, 오히려, 에지 컴퓨팅 시스템의 임의의 노드 또는 장치는 에지 클라우드(1610)를 용이하게 하거나 사용하기 위해 개별 또는 연결된 하드웨어 또는 소프트웨어 구성을 포함하는 개별 엔티티, 노드 또는 서브시스템을 지칭한다.
따라서, 에지 클라우드(1610)는 계층(2820, 2830) 에지 게이트웨이 노드(2812) 및 에지 집선 노드 (2822)에 의해 그리고 그 안에서 제각기 동작하는 네트워크 컴포넌트 및 기능 특징부로 형성된다. 에지 클라우드(1610)는 도 28에서 클라이언트 컴퓨팅 노드(2802)로서 도시되어 있는, 무선 액세스 네트워크(RAN) 가능 엔드포인트 장치(예컨대, 모바일 컴퓨팅 장치, IoT 장치, 스마트 장치 등)에 근접하게 위치하는 에지 컴퓨팅 및/또는 저장 리소스를 제공하는 임의의 유형의 네트워크로 구현될 수 있다. 즉, 에지 클라우드(1610)는 캐리어 네트워크(예컨대, GSM(Global System for Mobile Communications) 네트워크, LTE(Long-Term Evolution) 네트워크, 5G 네트워크 등)를 포함하는 서비스 제공자 코어 네트워크로의 진입점 역할을 하는 전통적인 모바일 네트워크 액세스 포인트와 엔드포인트 장치를 연결하면서, 저장부 및/또는 컴퓨팅 기능도 제공하는 "에지"로 구상될 수 있다. 다른 유형 및 형태의 네트워크 액세스(예컨대, Wi-Fi, 장거리 무선 네트워크)도 이러한 3GPP 캐리어 네트워크 대신에 또는 이와 함께 사용될 수 있다.
일부 예에서, 에지 클라우드(1610)는, 특정 기능을 수행하기 위해 리소스 및 서비스를 분산시키는 시스템 레벨 수평 및 분산 아키텍처로서 구현될 수 있는, 포그 네트워킹 구성(2826)(예컨대, 상세히 도시되지 않은, 포그 장치(2824)의 네트워크) 내로의 또는 이에 걸쳐 입구 포인트의 일부를 형성하거나 또는 그러한 입구 포인트를 제공할 수 있다. 예를 들어, 포그 장치(2824)의 조정 및 분산 네트워크는 IoT 시스템 구성의 컨텍스트에서 컴퓨팅, 저장, 제어, 또는 네트워킹 양태를 수행할 수 있다. 클라우드 데이터 센터 계층(2850)과 클라이언트 엔드포인트(예컨대, 클라이언트 컴퓨팅 노드(2802)) 사이의 에지 클라우드(1610)에는 다른 네트워킹되고, 집선되며, 분산된 기능이 존재할 수 있다. 이 중 일부는 이하의 섹션에서, 다수의 이해 관계자에 대해 오케스트레이션되는 가상 에지 및 가상 서비스의 사용을 포함하여, 네트워크 기능 또는 서비스 가상화의 컨텍스트에서 논의된다.
에지 게이트웨이 노드(2812) 및 에지 집선 노드(2822)는 협력하여 클라이언트 컴퓨팅 노드(2802)에 다양한 에지 서비스 및 보안을 제공한다. 게다가, 각각의 클라이언트 컴퓨팅 노드(2802)는 고정식 또는 이동식일 수 있기 때문에, 각각의 에지 게이트웨이 노드(2812)는, 대응하는 클라이언트 컴퓨팅 노드(2802)가 영역의 여기저기로 이동함에 따라, 다른 에지 게이트웨이 장치와 협력하여 현재 제공된 에지 서비스 및 보안을 전파할 수 있다. 그렇게 하기 위해, 에지 게이트웨이 노드(2812) 및/또는 에지 집선 노드(2822) 각각은 다수의 테넌시(tenancy) 및 다수의 이해 관계자 구성을 지원할 수 있고, 여기서 다수의 서비스 제공자 및 다수의 소비자로부터의(또는 이들에 대해 호스팅되는) 서비스가 단일 또는 다수의 컴퓨팅 장치에 걸쳐 지원되고 조정될 수 있다.
전술한 내용으로부터, 컴퓨팅 장치 및/또는 기타 처리 인프라스트럭처의 하드웨어 및 소프트웨어에 대한 보안, 증명 및 기타 보호를 제공하는 예시적인 방법, 장치, 시스템 및 제품이 개시되었음을 알 수 있을 것이다. 특정 예들은 토큰을 사용하여 증명되고 인증된 회로에 대한 액세스를 제공하는 인증된 인터페이스를 형성한다. 특정 예들은 도메인들 간 링크를 모호하게 하고 동적으로 리졸빙하여 기능, 컨텐츠 등의 도메인 간 실행을 가능하게 하는 한편, 그러한 기능, 컨텐츠 등의 소스를 가리고 보호한다. 특정 예들은 모델 및 기타 콘텐츠의 매니페스트 기반 보호를 통한 모델 파이프라인 및 공급망 관리를 위한 개선된 시스템 및 방법을 제공한다. 이와 같이, 개시된 방법, 장치, 시스템 및 제품은 상이한 도메인의 상이한 소스로부터 형성된 시스템에 걸친 컴퓨팅 디바이스 사용의 보안 및 효율성을 개선한다. 소스 장치의 무결성과 프라이버시를 보호하면서 도메인 간 상호작용이 달성된다. 따라서, 개시된 방법, 장치 및 제품은 컴퓨터의 기능에 있어서의 하나 이상의 개선(들)에 관한 것이다.
특정한 예시적인 방법, 장치 및 제품이 본 명세서에 개시되었지만, 본 특허의 적용 범위는 이에 제한되지 않는다. 반대로, 본 특허는 특허 청구범위 내에 속하는 모든 방법, 장치 및 제품을 포함한다.
클라우드 에지 컴퓨팅 환경에서 메시의 오케스트레이션을 동적으로 제어하기 위한 예시적인 방법, 장치, 시스템 및 제품이 본 명세서에 개시되어 있다. 추가적인 예들 및 이들의 조합은 다음을 포함한다.
예 1은, 제1 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 제1 토큰을 사용하여 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하여, 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 칩 관리자를 포함하는 컴퓨터 장치이다.
예 2는, 컴퓨터 장치가 시스템 온 칩(system on a chip)인, 예 1의 예시적인 컴퓨터 장치를 포함한다.
예 3은, 컴퓨터 장치가 멀티-칩 패키지인, 예 1의 컴퓨터 장치를 포함한다.
예 4는, 제1 회로와 제2 회로 중 적어도 하나가 칩렛(chiplet)인, 예 1의 컴퓨터 장치를 포함한다.
예 5는, 제1 도메인과 연관된 제3 회로를 더 포함하고, 제3 회로는 제1 인터페이스와 통신하는 제3 인터페이스를 더 포함하는, 예 1의 컴퓨터 장치를 포함한다.
예 6은, 제1 회로와 제2 회로 중 적어도 하나가 증명 규칙(attestation rules)을 포함하는 매니페스트를 포함하는, 예 1의 컴퓨터 장치를 포함한다.
예 7은, 제1 회로가 제1 모델을 포함하고, 제2 회로가 제2 모델을 포함하는, 예 1의 컴퓨터 장치를 포함한다.
예 8은, 제1 모델이 제1 보안 노드와 연관된 제1 샌드박스 내에 있고, 제2 모델이 제2 보안 노드와 연관된 제2 샌드박스 내에 있는, 예 7의 컴퓨터 장치를 포함한다.
예 9는, 제1 모델 및 제2 모델이 제1 회로 및 상기 제2 회로와 관련된 합성 매니페스트 내의 구성요소로 표현되는, 예 7의 컴퓨터 장치를 포함한다.
예 10은, 제1 회로가 제1 함수 호출을 포함하고, 제2 회로가 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 제1 함수를 정의하는 소프트웨어 코드를 실행할 주소를 제1 회로에 동적으로 제공하기 위해 소프트웨어 코드로의 제1 회로의 액세스가 유효성 검증되는, 예 1의 컴퓨터 장치를 포함한다.
예 11은, 주소가 제1 함수 호출의 제1 실행 시에 동적으로 리졸빙되고 제2 실행을 위해 테이블에 저장되는, 예 10의 컴퓨터 장치를 포함한다.
예 12는, 제1 회로가 솔트 값(salt value)을 사용하여 제1 인증된 인터페이스를 맞춤화하는, 예 1의 컴퓨터 장치를 포함한다.
예 13은, 실행될 경우에 적어도 하나의 프로세서로 하여금 적어도, 제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하게 하고, 제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하게 하며, 제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는, 명령어를 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체이다.
예 14는, 명령어가 실행될 경우에 적어도 하나의 프로세서로 하여금, 제1 회로 및 제3 회로 사이의 통신을 가능하게 하며, 제3 회로는 제1 도메인과 연관되고, 제3 회로는 제1 인터페이스와 통신하기 위한 제3 인터페이스를 포함하는, 예 13의 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
예 15는, 명령어가 실행될 경우에 적어도 하나의 프로세서로 하여금, 제1 회로 및 제2 회로의 표현을 구성요소로서 포함하는 합성 매니페스트를 어셈블링하게 하며, 제1 회로는 제1 모델을 포함하고, 제2 회로는 제2 모델을 포함하는, 예 13의 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
예 16은, 제1 회로가 제1 함수 호출을 포함하고, 제2 회로는 상기 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 명령어가 실행될 경우에 적어도 하나의 프로세서로 하여금, 소프트웨어 코드로의 제1 회로의 액세스가 유효성 검증되는 경우에 소프트웨어 코드를 실행할 주소를 동적으로 제공하게 하는, 예 13의 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
예 17은, 주소가 상기 제1 함수 호출의 제1 실행 시에 동적으로 리졸빙되고, 명령어가 실행될 경우에 적어도 하나의 프로세서로 하여금 주소를 제2 실행을 위해 테이블에 저장하게 하는, 예 16의 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
예 18은, 명령어가 실행될 경우에 적어도 하나의 프로세서로 하여금 솔트 값을 사용하여 제1 인증된 인터페이스를 맞춤화하게 하는, 예 13의 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
예 19는, 적어도 하나의 프로세서로 명령어를 실행함으로써, 제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하는 단계와, 적어도 하나의 프로세서로 명령어를 실행함으로써, 제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하는 단계와, 제1 함수를 실행하기 위해 제1 인증된 인터페이스와 제2 인증된 인터페이스를 사용하여 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는 단계를 포함하는, 방법이다.
예 20은, 제1 회로 및 제2 회로의 표현을 구성요소로서 포함하는 합성 매니페스트를 어셈블링하는 단계를 더 포함하며, 제1 회로는 제1 모델을 포함하고, 제2 회로는 제2 모델을 포함하는, 예 19의 방법을 포함한다.
예 21은, 제1 회로가 제1 함수 호출을 포함하고, 제2 회로가 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 방법이 소프트웨어 코드로의 제1 회로의 액세스가 유효성 검증되는 경우에 소프트웨어 코드를 실행할 주소를 동적으로 제공하는 단계를 더 포함하는, 예 19의 방법을 포함한다.
예 22는, 솔트 값을 사용하여 상기 제1 인증된 인터페이스를 맞춤화하는 단계를 더 포함하는, 예 19의 방법을 포함한다.
예 23은, 명령어를 포함하는 메모리 회로와, 제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하며, 제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는, 명령어를 실행하는 적어도 하나의 프로세서를 포함하는 장치이다.
예 24는, 제1 토큰을 사용하여 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하는 수단 - 제1 회로는 제1 도메인과 연관되고, 제2 회로는 제2 도메인과 연관됨 - 과, 제1 함수를 실행하기 위해 제1 인증된 인터페이스와 제2 인증된 인터페이스를 사용하여 제1 회로와 제2 회로 사이의 통신을 가능하게 하는 수단을 포함하는, 장치이다.
예 25는, 제1 인증된 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인증된 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 토큰을 사용하여 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는 장치이다.
예 26은 컴퓨팅 아키텍처 내 에지 노드 상에 구현된 예 1 내지 25 중 어느 하나를 포함한다.
예 27은 분산 네트워크 아키텍처 내 IoT 노드 상에 구현된 예 1 내지 15 중 어느 하나를 포함한다.
예 28은, 제1 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 제1 토큰을 사용하여 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하여, 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는 에지 노드이다.
예 29는, 제1 인증된 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인증된 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 토큰을 사용하여 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는 에지 노드이다.
예 30은, 제1 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 제1 토큰을 사용하여 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하여, 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는 IoT 노드이다.
예 31은, 제1 인증된 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와, 제2 인증된 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와, 토큰을 사용하여 제1 인증된 인터페이스와 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는 IoT 노드이다.
예 32는 고정식 네트워크에 포함된 예 1 내지 31 중 어느 하나를 포함한다.
예 33은 모바일 네트워크에 포함된 예 1 내지 31 중 어느 하나를 포함한다.
다음 청구범위는 참조로 상세한 설명에 통합되며, 각 청구항은 본 개시의 별도의 실시예로서 독립적이다.

Claims (27)

  1. 컴퓨터 장치로서,
    제1 인터페이스를 포함하며 제1 도메인과 연관된 제1 회로와,
    제2 인터페이스를 포함하며 제2 도메인과 연관된 제2 회로와,
    제1 토큰을 사용하여 상기 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 상기 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하여, 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스 사이의 통신을 가능하게 하는 관리자를 포함하는,
    컴퓨터 장치.
  2. 제1항에 있어서,
    상기 컴퓨터 장치는 시스템 온 칩(system on a chip)인,
    컴퓨터 장치.
  3. 제1항에 있어서,
    상기 컴퓨터 장치는 멀티-칩 패키지인,
    컴퓨터 장치.
  4. 제1항에 있어서,
    상기 제1 회로와 상기 제2 회로 중 적어도 하나는 칩렛(chiplet)인,
    컴퓨터 장치.
  5. 제1항에 있어서,
    상기 제1 도메인과 연관된 제3 회로를 더 포함하고, 상기 제3 회로는 상기 제1 인터페이스와 통신하는 제3 인터페이스를 포함하는,
    컴퓨터 장치.
  6. 제1항에 있어서,
    상기 제1 회로와 상기 제2 회로 중 적어도 하나는 증명 규칙(attestation rules)을 포함하는 매니페스트를 포함하는,
    컴퓨터 장치.
  7. 제1항에 있어서,
    상기 제1 회로는 제1 모델을 포함하고, 상기 제2 회로는 제2 모델을 포함하는,
    컴퓨터 장치.
  8. 제7항에 있어서,
    상기 제1 모델은 제1 보안 노드와 연관된 제1 샌드박스 내에 있고, 상기 제2 모델은 제2 보안 노드와 연관된 제2 샌드박스 내에 있는,
    컴퓨터 장치.
  9. 제7항에 있어서,
    상기 제1 모델 및 상기 제2 모델은 상기 제1 회로 및 상기 제2 회로와 관련된 합성 매니페스트 내의 구성요소로 표현되는,
    컴퓨터 장치.
  10. 제1항에 있어서,
    상기 제1 회로는 제1 함수 호출을 포함하고, 상기 제2 회로는 상기 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 상기 제1 함수를 정의하는 상기 소프트웨어 코드를 실행할 주소를 상기 제1 회로에 동적으로 제공하기 위해 상기 소프트웨어 코드에 대한 상기 제1 회로의 액세스가 유효성 검증되는,
    컴퓨터 장치.
  11. 제10항에 있어서,
    상기 주소는 상기 제1 함수 호출의 제1 실행 시에 동적으로 리졸빙되고 제2 실행을 위해 테이블에 저장되는,
    컴퓨터 장치.
  12. 제1항에 있어서,
    상기 제1 회로는 솔트 값(salt value)을 사용하여 상기 제1 인증된 인터페이스를 맞춤화하는,
    컴퓨터 장치.
  13. 명령어를 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어는 실행될 경우에 적어도 하나의 프로세서로 하여금 적어도,
    제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하게 하고,
    제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하게 하며,
    제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제13항에 있어서,
    상기 명령어는 실행될 경우에 적어도 하나의 프로세서로 하여금, 상기 제1 회로 및 제3 회로 사이의 통신을 가능하게 하며, 상기 제3 회로는 상기 제1 도메인과 연관되고, 상기 제3 회로는 상기 제1 인터페이스와 통신하기 위한 제3 인터페이스를 포함하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제13항에 있어서,
    상기 명령어는 실행될 경우에 적어도 하나의 프로세서로 하여금, 상기 제1 회로 및 제2 회로의 표현을 구성요소로서 포함하는 합성 매니페스트를 어셈블링하게 하며, 상기 제1 회로는 제1 모델을 포함하고, 상기 제2 회로는 제2 모델을 포함하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제13항에 있어서,
    상기 제1 회로는 제1 함수 호출을 포함하고, 상기 제2 회로는 상기 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 상기 명령어는 실행될 경우에 상기 적어도 하나의 프로세서로 하여금, 상기 소프트웨어 코드에 대한 상기 제1 회로의 액세스가 유효성 검증되는 경우에 상기 소프트웨어 코드를 실행할 주소를 동적으로 제공하게 하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제16항에 있어서,
    상기 주소는 상기 제1 함수 호출의 제1 실행 시에 동적으로 리졸빙되고, 상기 명령어는 실행될 경우에 상기 적어도 하나의 프로세서로 하여금 상기 주소를 제2 실행을 위해 테이블에 저장하게 하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제13항에 있어서,
    상기 명령어는 실행될 경우에 상기 적어도 하나의 프로세서로 하여금 솔트 값을 사용하여 상기 제1 인증된 인터페이스를 맞춤화하게 하는,
    적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체.
  19. 방법으로서,
    적어도 하나의 프로세서로 명령어를 실행함으로써, 제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하는 단계와,
    적어도 하나의 프로세서로 명령어를 실행함으로써, 제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하는 단계와,
    제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는 단계를 포함하는,
    방법.
  20. 제19항에 있어서,
    상기 제1 회로 및 제2 회로의 표현을 구성요소로서 포함하는 합성 매니페스트를 어셈블링하는 단계를 더 포함하며, 상기 제1 회로는 제1 모델을 포함하고, 상기 제2 회로는 제2 모델을 포함하는,
    방법.
  21. 제19항에 있어서,
    상기 제1 회로는 제1 함수 호출을 포함하고, 상기 제2 회로는 상기 제1 함수를 정의하는 소프트웨어 코드를 포함하며, 상기 방법은 상기 소프트웨어 코드에 대한 상기 제1 회로의 액세스가 유효성 검증되는 경우에 상기 소프트웨어 코드를 실행할 주소를 동적으로 제공하는 단계를 더 포함하는,
    방법.
  22. 제19항에 있어서,
    솔트 값을 사용하여 상기 제1 인증된 인터페이스를 맞춤화하는 단계를 더 포함하는,
    방법.
  23. 장치로서,
    명령어를 포함하는 메모리 회로와,
    상기 명령어를 실행하는 적어도 하나의 프로세서를 포함하되,
    상기 명령어는,
    제1 토큰을 사용하여, 제1 도메인과 연관된 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고,
    제2 토큰을 사용하여, 제2 도메인과 연관된 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하며,
    제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는,
    장치.
  24. 장치로서,
    제1 토큰을 사용하여 제1 회로의 제1 인터페이스에 대한 제1 인증된 인터페이스를 생성하고, 제2 토큰을 사용하여 제2 회로의 제2 인터페이스에 대한 제2 인증된 인터페이스를 생성하는 수단 -상기 제1 회로는 제1 도메인과 연관되고, 상기 제2 회로는 제2 도메인과 연관됨 - 과,
    제1 함수를 실행하기 위해 상기 제1 인증된 인터페이스와 상기 제2 인증된 인터페이스를 사용하여 상기 제1 회로와 상기 제2 회로 사이의 통신을 가능하게 하는 수단을 포함하는,
    장치.
  25. 에지 노드에서 구현되는 제1항 내지 제12항 중 어느 한 항의 컴퓨터 장치.
  26. 제25항에 있어서,
    상기 에지 노드는 고정식(stationary) 네트워크에 존재하는,
    컴퓨터 장치.
  27. 제25항에 있어서,
    상기 에지 노드는 모바일 네트워크에 존재하는,
    컴퓨터 장치.
KR1020210162396A 2020-12-23 2021-11-23 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법 KR20220091367A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/132,748 US20210117578A1 (en) 2020-12-23 2020-12-23 Apparatus, systems, and methods to protect hardware and software
US17/132,748 2020-12-23

Publications (1)

Publication Number Publication Date
KR20220091367A true KR20220091367A (ko) 2022-06-30

Family

ID=75492026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162396A KR20220091367A (ko) 2020-12-23 2021-11-23 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법

Country Status (3)

Country Link
US (1) US20210117578A1 (ko)
EP (1) EP4020266A1 (ko)
KR (1) KR20220091367A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517831B1 (ko) 2022-11-30 2023-04-04 한화시스템 주식회사 미션 크리티컬 시스템 환경에서의 소프트웨어 관리방법 및 그 시스템

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations
US10853548B1 (en) * 2020-02-11 2020-12-01 Capital One Services, Llc Reconfiguration of hardware components of an integrated circuit
US20220222386A1 (en) * 2021-01-13 2022-07-14 University Of Florida Research Foundation, Inc. Decommissioning and erasing entropy in microelectronic systems
US11729023B2 (en) * 2021-04-29 2023-08-15 Bank Of America Corporation Artificial intelligence integration of third-party software into large-scale digital platforms
US11792646B2 (en) * 2021-07-27 2023-10-17 TripleBlind, Inc. Systems and methods for providing a multi-party computation system for neural networks
CN114884960B (zh) * 2022-04-13 2023-05-19 北京科技大学 一种具有异构设备交互功能的边缘计算网关系统
WO2024063848A1 (en) * 2022-09-23 2024-03-28 Apple Inc. Standalone dynamic link editor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2597688B1 (fr) * 1986-04-22 1994-04-08 Lellouche Isaac Procede et dispositif pour le transfert de signaux entre des modules d'un ensemble electronique.
US8307354B2 (en) * 2004-06-28 2012-11-06 Panasonic Corporation Program creation device, program test device, program execution device, information processing system
US9521551B2 (en) * 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US9230081B2 (en) * 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
US20200403983A9 (en) * 2015-12-31 2020-12-24 Cyber 2.0 (2015) Ltd. Cyber Security System
US11055244B1 (en) * 2018-06-22 2021-07-06 Marvell Asia Pte, Ltd. Apparatus and method for simultaneous bidirectional serial lanes over USB-C interface
TWI672641B (zh) * 2018-11-01 2019-09-21 群光電子股份有限公司 驗證系統、驗證方法以及非暫態電腦可讀取記錄媒體

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517831B1 (ko) 2022-11-30 2023-04-04 한화시스템 주식회사 미션 크리티컬 시스템 환경에서의 소프트웨어 관리방법 및 그 시스템

Also Published As

Publication number Publication date
EP4020266A1 (en) 2022-06-29
US20210117578A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
US11888858B2 (en) Calculus for trust in edge computing and named function networks
EP3985511A1 (en) Orchestration of meshes
EP4020266A1 (en) Apparatus, systems, and methods to protect hardware and software
US20210081271A1 (en) Dynamic tracing control
US20220255916A1 (en) Methods and apparatus to attest objects in edge computing environments
US12010144B2 (en) End-to-end device attestation
US20220191648A1 (en) Digital twin framework for next generation networks
KR20220038272A (ko) 지오펜스 기반 에지 서비스 제어 및 인증
KR20220141227A (ko) Mec 서비스 메시 프레임워크에서의 탈중개화된 증명
US20210119962A1 (en) Neutral host edge services
US20210021431A1 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
US20220150125A1 (en) AI Named Function Infrastructure and Methods
EP4155933A1 (en) Network supported low latency security-based orchestration
EP3975602A1 (en) Methods, apparatus and systems to enforce data boundaries through the use of boundary labels
US20210152543A1 (en) Automatic escalation of trust credentials
US20220012042A1 (en) Mechanism for secure and resilient configuration upgrades
US20230319141A1 (en) Consensus-based named function execution
US20230344804A1 (en) Methods and apparatus to increase privacy for follow-me services
US20230342478A1 (en) Attestation for bidirectional elastic workload migration in cloud-to-edge settings
US20230014064A1 (en) Decentralized reputation management in a named-function network
WO2022271042A1 (en) Automated node configuration tuning in edge systems
US12026074B2 (en) Continuous testing, integration, and deployment management for edge computing
US20240022550A1 (en) Systems and methods for key access distribution and management
WO2024065816A1 (en) High fidelity attestation-based artificial intelligence inference system