US20220239507A1 - Dynamic sharing in secure memory environments using edge service sidecars - Google Patents
Dynamic sharing in secure memory environments using edge service sidecars Download PDFInfo
- Publication number
- US20220239507A1 US20220239507A1 US17/668,979 US202217668979A US2022239507A1 US 20220239507 A1 US20220239507 A1 US 20220239507A1 US 202217668979 A US202217668979 A US 202217668979A US 2022239507 A1 US2022239507 A1 US 2022239507A1
- Authority
- US
- United States
- Prior art keywords
- microservice
- memory
- data
- domain
- sidecar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5025—Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- Embodiments described herein generally relate to data processing, network communication, and communication system implementations, and in particular, to techniques for conducting secure management and sharing of data among respective instances of edge computing platforms in connected edge computing networks.
- MEC multi-access edge computing
- ISG industry specification group
- FIG. 8 illustrates a block diagram of a Multi-Key Total Memory Encryption (MKTME) architecture for encrypting data in memory, according to an example
- FIG. 12 illustrates an interoperability diagram, depicting overlap among encryption keys for managing memory, according to an example.
- FIG. 13 illustrates a flowchart of an example process for facilitating communications among edge computing nodes using memory encryption operations, according to an example.
- an edge-as-a-service (EaaS) platform operating various microservice instances such as an instance provided within a virtual machine (VM)
- VM virtual machine
- sidecar instances such as an instance provided within another VM
- a supervising entity such as by a hypervisor
- MKTME is a widely deployed technology that encrypts main memory on a computing system using configurable encryption keys, but a full-scale deployment of MKTME in a computing system having multiple tenants results in multiple forms of data isolation.
- Other prior approaches, such as TME accomplished memory encryption using a single system key that encrypts and treats all data (for any tenant) as equivalent, but did not ensure security among different tenants. Neither approach addresses multi-tenancy security and usage/sharing requirements that is required for a flexible EaaS microservice deployment. As a result, these and other prior data encryption approaches have not provided key management functions that may enable edge computing peers and EaaS components to securely interact while readily sharing data in a safe, managed environment.
- the following examples also provide specific use cases of secured, shared data exchanges among tenants, enabled through the configuration provided by this service mesh or proxy, such as when one tenant provides secure data to another tenant as data is transferred from one microservice instance to another within a same computer system.
- These secured data exchanges are designed to implement performance improvements for a variety of inter-process communication (IPC) interactions and DMA accesses involving protected data.
- IPC inter-process communication
- the following examples enable use cases for private interactions between microservice VMs and sidecar VMs which utilize an MKTME key to protect shared memory segments exclusive to the VM pairing. Other combinations of interactions among services, sidecars, VMs, hypervisors, and domains, devices, and systems employing these components are also enabled.
- FIG. 1 is a block diagram 100 showing an overview of a configuration for edge computing, which includes a layer of processing referenced in many of the current examples as an “edge cloud”.
- This network topology which may include a number of conventional networking layers (including those not shown herein), may be extended through use of the secure memory management techniques and the compute and network configurations discussed herein.
- the edge cloud 110 is co-located at an edge location, such as the base station 140 , a local processing hub 150 , or a central office 120 , and thus may include multiple entities, devices, and equipment instances.
- the edge cloud 110 is located much closer to the endpoint (consumer and producer) data sources 160 (e.g., autonomous vehicles 161 , user equipment 162 , business and industrial equipment 163 , video capture devices 164 , drones 165 , smart cities and building devices 166 , sensors and IoT devices 167 , etc.) than the cloud data center 130 .
- the endpoint (consumer and producer) data sources 160 e.g., autonomous vehicles 161 , user equipment 162 , business and industrial equipment 163 , video capture devices 164 , drones 165 , smart cities and building devices 166 , sensors and IoT devices 167 , etc.
- Each of the edge gateway nodes 320 includes some processing and storage capabilities and, as such, some processing and/or storage of data for the client compute nodes 310 may be performed on one or more of the edge gateway nodes 320 .
- the edge resource node(s) 340 also communicate with the core data center 350 , which may include compute servers, appliances, and/or other components located in a central location (e.g., a central office of a cellular communication network).
- the core data center 350 may provide a gateway to the global network cloud 360 (e.g., the Internet) for the edge cloud 110 operations formed by the edge resource node(s) 340 and the edge gateway nodes 320 .
- the core data center 350 may include an amount of processing and storage capabilities and, as such, some processing and/or storage of data for the client compute devices may be performed on the core data center 350 (e.g., processing of low urgency or importance, or high complexity).
- the edge gateway nodes 320 or the edge resource nodes 340 may offer the use of stateful applications 332 and a geographic distributed data storage 334 (e.g., database, data store, etc.).
- FIG. 3 may utilize various types of mobile edge nodes, such as an edge node hosted in a vehicle (e.g., car, truck, tram, train, etc.) or other mobile unit, as the edge node will move to other geographic locations along the platform hosting it.
- a vehicle e.g., car, truck, tram, train, etc.
- individual vehicles may even act as network edge nodes for other cars, (e.g., to perform caching, reporting, data aggregation, etc.).
- the application components provided in various edge nodes may be distributed in a variety of settings, including coordination between some functions or operations at individual endpoint devices or the edge gateway nodes 320 , some others at the edge resource node 340 , and others in the core data center 350 or global network cloud 360 .
- MEC may reduce network congestion by operating applications, data functions, and discovery, etc. closer to the user (e.g., mobile device, user equipment (UE), station (STA), etc.).
- Some MEC details dealing with security e.g., both user security as well as application integrity), radio use, etc., have been promulgated by European Telecommunications Standards Institute (ETSI), such as described in the “Mobile Edge Computing Introductory Technical White Paper,” published Sep. 1, 2014.
- ETSI European Telecommunications Standards Institute
- a set of specifications and white papers providing further details and implementation use cases for MEC scenarios is being developed and published on an ongoing basis by ETSI as part of the ETSI MEC industry specification group (ISG).
- FIG. 4 depicts a block diagram 400 for an example Multi-access Edge Computing (MEC) system architecture.
- MEC Multi-access Edge Computing
- the MEC system architecture may be defined according to a specification, standard, or other definition (e.g., according to the ETSI ISG MEC-003 specification).
- Mp reference points refer to MEC platform functionality
- Mm reference points refer to management
- Mx refers to connections to external entities.
- the services, applications, orchestrators, and other entities discussed herein may be implemented at any number of the entities of the MEC system architecture depicted in FIG. 4
- the communications to perform network operations may be implemented at any number of the interfaces of the MEC system architecture depicted in FIG. 4 .
- Some forms of fog computing provide the deployment of compute, storage, and networking services between end devices and cloud computing data centers, on behalf of the cloud computing locations. Such forms of fog computing provide operations that are consistent with edge computing as discussed herein; many of the edge computing aspects discussed herein are applicable to fog networks, fogging, and fog configurations. Further, aspects of the edge computing systems discussed herein may be configured as a fog, or aspects of a fog may be integrated into an edge computing architecture.
- Each edge compute node may be embodied as a type of device, appliance, computer, or other “thing” capable of communicating with other edge, networking, or endpoint components.
- an edge compute device may be embodied as a smartphone, a mobile compute device, a smart appliance, an in-vehicle compute system (e.g., a navigation system), or other device or system capable of performing the described functions.
- each compute node 600 may include one or more peripheral devices 614 .
- peripheral devices 614 may include any type of peripheral device found in a compute device or server such as audio input devices, a display, other input/output devices, interface devices, and/or other peripheral devices, depending on the particular type of the compute node 600 .
- the compute node 600 may be embodied by a respective edge compute node in an edge computing system (e.g., client compute node 502 , edge gateway node 512 , edge aggregation node 522 ) or like forms of appliances, computers, subsystems, circuitry, or other components.
- the processor 652 may include an Intel® Architecture CoreTM based processor, such as a QuarkTM, an AtomTM, a XeonTM an i3, an i5, an i7, an i9, or an MCU-class processor, or another such processor available from Intel®.
- Intel® Architecture CoreTM based processor such as a QuarkTM, an AtomTM, a XeonTM an i3, an i5, an i7, an i9, or an MCU-class processor, or another such processor available from Intel®.
- AMD Advanced Micro Devices, Inc.
- MIPS-based design from MIPS Technologies, Inc. of Sunnyvale, Calif.
- an ARM-based design licensed from ARM Holdings, Ltd. or a customer thereof, or their licensees or adopters may include units such as an A5-A12 processor from Apple® Inc., a QualcommTM processor from Qualcomm® Technologies, Inc., or an OMAPTM processor from Texas Instruments, Inc.
- a memory component may comply with a DRAM standard promulgated by JEDEC, such as JESD79F for DDR SDRAM, JESD79-2F for DDR2 SDRAM, JESD79-3F for DDR3 SDRAM, JESD79-4A for DDR4 SDRAM, JESD209 for Low Power DDR (LPDDR), JESD209-2 for LPDDR2, JESD209-3 for LPDDR3, and JESD209-4 for LPDDR4.
- DDR-based standards and communication interfaces of the storage devices that implement such standards may be referred to as DDR-based interfaces.
- the individual memory devices may be of any number of different package types such as single die package (SDP), dual die package (DDP) or quad die package (Q17P). These devices, in some examples, may be directly soldered onto a motherboard to provide a lower profile solution, while in other examples the devices are configured as one or more memory modules that in turn couple to the motherboard by a given connector. Any number of other memory implementations may be used, such as other types of memory modules, e.g., dual inline memory modules (DIMMs) of different varieties including but not limited to microDIMMs or MiniDIMMs.
- DIMMs dual inline memory modules
- a battery monitor/charger 678 may be included in the edge computing node 650 to track the state of charge (SoCh) of the battery 676 .
- the battery monitor/charger 678 may be used to monitor other parameters of the battery 676 to provide failure predictions, such as the state of health (SoH) and the state of function (SoF) of the battery 676 .
- the battery monitor/charger 678 may include a battery monitoring integrated circuit, such as an LTC4020 or an LTC2990 from Linear Technologies, an ADT7488A from ON Semiconductor of Phoenix Ariz., or an IC from the UCD90xxx family from Texas Instruments of Dallas, Tex.
- the battery monitor/charger 678 may communicate the information on the battery 676 to the processor 652 over the interconnect 656 .
- the derivation of the instructions may include assembly, compilation, or interpretation of the information (e.g., by the processing circuitry) to create the instructions from some intermediate or preprocessed format provided by the machine-readable medium.
- the information when provided in multiple parts, may be combined, unpacked, and modified to create the instructions.
- the information may be in multiple compressed source code packages (or object code, or binary executable code, etc.) on one or several remote servers.
- the source code packages may be encrypted when in transit over a network and decrypted, uncompressed, assembled (e.g., linked) if necessary, and compiled or interpreted (e.g., into a library, stand-alone executable, etc.) at a local machine, and executed by the local machine.
- proxies for operations are, or can be, untrusted intermediaries that may be expected to perform routing and conveyance functions.
- compromise of a proxy may result in denial of service but not more serious security issues.
- a sidecar may request attestation from a gateway or proxy to assess the trustworthiness of that environment to better infer the risk of denial of service.
- An edge orchestrator may also perform this duty.
- a valuable feature of a sidecar is that it offers a loadable security model or other security policy enforcement point, with an environment that has a “trusted path” relationship with its paired container environment.
- the sidecar may also share data and state.
- Sidecars may not be “trusted” or “trustable” to the same extent that a secure enclave is recognized as a trusted execution environment; however, it is assumed that sidecars are at least as trusted as its paired container (e.g., the container running the corresponding microservice).
- sidecars are useful to broker interactions with external entities because sidecars offer a sandbox environment where different staging and filtering can be applied. This provides functionality similar to an application firewall that is specific to its paired container.
- the service mesh 740 in the arrangement of FIG. 7 may also be used as part of a network (cascade) of functions.
- a complex program could include a top level ‘inner loop’ that is further composed of several inner-inner loops which may further be composed of inner-inner-inner loops etc.
- Each nesting of an inner loop may be supported by an accelerator offload (e.g., to acceleration hardware).
- an accelerator offload e.g., to acceleration hardware.
- many complex or coordinated scenarios may be enabled through the use of a service mesh within an edge computing arrangement.
- the sidecar configurations discussed herein may enable bridging between different memory DIMMS hosted in the edge node that are utilized among different processing devices (e.g., FPGA, accelerators, etc.).
- FIG. 8 illustrates a block diagram of a Multi-Key Total Memory Encryption (MKTME) architecture 800 for encrypting memory.
- this architecture 800 illustrates how a computing system with multiple MKTME controllers (e.g., the instance of MKTME engine 840 implemented at one of multiple encryption engines) may be paired with multiple memory controllers 822 A, 822 B as the front end to memory subsystems 824 A, 824 B.
- the memory subsystems 824 A, 824 B may be provided from DRAM, FLASH, Intel® 3D-Xpoint, or any number of other memory/storage technologies (e.g., as discussed with reference to FIG. 6B , above).
- the operation of the MKTME architecture operates to establish an encrypted memory space 820 of a processing platform 812 for storage and access in the memory subsystems 824 A, 824 B, while enabling an unencrypted memory space 810 in the processing platform 812 .
- distributed data operations can be enabled in hardware among multiple nodes, tenants, and other entities of a distributed computing system.
- the sidecar supports a dynamic keying mechanism that generates the correct set keys for the logical intersection of entities who are trying to share data.
- access to a shared memory region can be supported, through use of a key that is held by both principals, even while data remains encrypted.
- FIG. 12 illustrates an interoperability diagram, depicting overlap among encryption keys for managing and sharing memory, based on the key identifiers detailed in the VMs and hypervisor of computing node 1000 .
- this interoperability diagram illustrates the relationship between keys assigned for respective VMs.
- each tenant sub-environment e.g. microservice or sidecar VMs, hypervisor
- keys e.g., keys within mappings 1200 , 1210 , 1220 , 1230 , 1240
- This isolation policy may allow data to be confidential to a specific environment (e.g., that VM) or shared across specific environments (e.g., multiple VMs) as depicted by the Venn diagram in FIG. 12 .
- such key hierarchies may follow industry specifications for attestable device identities such as TCG Device Identity Composition Engine (DICE) technology where each environment is able to generate attestable identities using a Component Device Identity (CDI) value as the seed and where an attestation verification process may verify the software, firmware and other “state” associated with these environments as a condition of further mesh interactions.
- DICE TCG Device Identity Composition Engine
- CDI Component Device Identity
- an attestation verification process may verify the software, firmware and other “state” associated with these environments as a condition of further mesh interactions.
- inter-machine collaboration may be established, so that keys used to protect a particular shared storage area or buffer, are encrypted on one area and decrypted on another, with the same key.
- a new instruction set architecture may facilitate dynamic arrangement of proxies such that each proxy has communication with its own domain “owner”.
- lateral domain arrangement and communication involving other proxies may require specially negotiated key contexts such that different domains may agree to use different MKTME keys (e.g., KeyID 4 used in FIGS. 11 and 12 ).
- Every EaaS microservice/mesh application is often implemented without knowing who (or what) it will be interacting with it ahead of time; this service or application may know at a logical level who it will interact with, but peer nodes might have a context on a local node or some other mesh node. Connections between the current node and the memory encryption controller can rely on the sidecar to make the appropriate context switch. This context switch may be assisted by “helper” functions that use “liabilities” policies to determine when a context switch is appropriate and which key operations are most appropriate. This approach means that the underlying encryption strategy (such as MKTME) can be used without needing to translate data, to avoid unnecessary decrypt/re-encrypt operations. This makes the sidecars more efficient. Other variations to key management and distribution may be provided, such as with use of a key distribution service, certificate authority, or another entity who can specify the use of keys in particular contexts.
- the flowchart 1300 begins with operation 1310 , performed by the edge computing system, to establish a microservice domain and isolation policy, for management of encrypted data.
- a microservice domain encompasses (includes a definition for) a plurality of microservices, as the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within the memory of the edge computing system.
- This isolation policy may provide definition of confidentiality or sharing among various entities of the domain (such as microservice, sidecar, and hypervisor entities).
- the flowchart 1300 continues with operation 1330 , to allocate memory encryption keys to a microservice domain, according to the isolation policy.
- the data isolation policy is provided based on tenant assignments determined by a hypervisor, as the plurality of microservices and the sidecars are operated in respective virtual machines managed by the hypervisor.
- the microservice domain may be defined to include a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
- the microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, as the respective memory encryption keys are established (or utilized) in the data isolation policy.
- the flowchart 1300 continues with operation 1350 , to migrate data within the microservice domain. Additional processing (not shown) may occur to begin or proceed with the migration process (such as with processing of a request to migrate the data). For instance, operations may occur to identify a migration condition, that causes or initiates the transfer the encrypted data, and the communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars (e.g., operating in an arrangement of a plurality of sidecars).
- the respective sidecars may correspond to respective microservices of the plurality of microservices.
- the respective sidecars associated with the first microservice and the second microservice each include key management functionality, and use the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice (as in operation 1360 ).
- the flowchart 1300 continues with operation 1360 , to utilize migrated data, stored in the secured, encrypted memory, within other entities of the microservice domain (using the allocated encryption keys).
- the microservice domain is defined among entities of a service mesh within a computing system, as the first microservice operates as a member of a first cluster orchestrated by a first gateway, and as the second microservice operates as a member of a second cluster orchestrated by a second gateway.
- the first microservice operates on a first node of the edge computing system, with the first node including a first hypervisor
- the second microservice operates on a second node of the edge computing system, with the second node including a second hypervisor.
- the first microservice and the second microservice may be connected via a service mesh, as respective key pairings are established within the service mesh to enable peer-to-peer secure and authenticated interactions among respective entities of the edge computing system.
- Example 1 is an edge computing system, comprising: memory configured to store encrypted data; and processing circuitry configured to perform operations that: allocate memory encryption keys according to a data isolation policy defined for a microservice domain, the microservice domain including a plurality of microservices, wherein the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within the memory; and share data associated with a first microservice of the microservice domain to a second microservice of the microservice domain, with operations that: communicate an encryption key, used on the encrypted data stored in the memory, from a proxy associated with the first microservice to a proxy associated with the second microservice; and maintain the encrypted data within the memory, wherein the second microservice is enabled to use the encrypted data stored in the memory with the communicated encryption key.
- Example 2 the subject matter of Example 1 includes, subject matter where the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars from a plurality of sidecars, wherein the respective sidecars of the plurality of sidecars correspond to respective microservices of the plurality of microservices.
- Example 6 the subject matter of Examples 4-5 includes, subject matter where microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
- Example 8 the subject matter of Example 7 includes, subject matter where the encryption of respective sets of data within the memory is provided from multi-key memory encryption, wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
- Example 14 the subject matter of Examples 1-13 includes, subject matter where the first microservice operates on a first node of the edge computing system, the first node including a first hypervisor, wherein the second microservice operates on a second node of the edge computing system, the second node including a second hypervisor.
- Example 16 is a method performed by an edge computing system, comprising: allocating memory encryption keys according to a data isolation policy defined for a microservice domain, the microservice domain including a plurality of microservices, wherein the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within a memory of the edge computing system; and sharing data associated with a first microservice of the microservice domain to a second microservice of the microservice domain, with operations that: communicating an encryption key, used on the encrypted data stored in the memory, from a proxy associated with the first microservice to a proxy associated with the second microservice; and maintaining the encrypted data within the memory, wherein the second microservice is enabled to use the encrypted data stored in the memory with the communicated encryption key.
- Example 17 the subject matter of Example 16 includes, subject matter where the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars from a plurality of sidecars, wherein the respective sidecars of the plurality of sidecars correspond to respective microservices of the plurality of microservices.
- Example 20 the subject matter of Example 19 includes, subject matter where the microservice domain includes a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
- Example 21 the subject matter of Examples 19-20 includes, subject matter where microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
- Example 22 the subject matter of Examples 16-21 includes, subject matter where the first microservice is associated with a first tenant, wherein the second microservice is associated with a second tenant, and wherein the microservice domain enables data sharing between the first tenant and the second tenant.
- Example 24 the subject matter of Examples 16-23 includes, the method further comprising: identifying a migration condition, which causes or initiates the transfer the encrypted data and communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- Example 34 the subject matter of Example 33 includes, means for implementing key management functionality, wherein the respective sidecars associated with the first microservice and the second microservice each include the key management functionality, the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice.
- Example 38 the subject matter of Examples 32-37 includes, means for associating the first microservice with a first tenant; means for associating the second microservice with a second tenant; and means for enabling data sharing between the first tenant and the second tenant with the microservice domain.
- Example 40 the subject matter of Examples 32-39 includes, means for identifying a migration condition, which causes or initiates the transfer the encrypted data and communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- Example 49 is memory encryption circuitry, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 50 is a computing processing platform, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 51 is at least one machine-readable storage medium including instructions, wherein the instructions, when executed by a processing circuitry of a computing device, cause the processing circuitry to perform operations of any of Examples 1-46.
- Example 58 may include a method of performing or coordinating communications among a network as described in or related to any of Examples 1-46, or as otherwise shown and described herein.
- Example 60 is a network comprising respective devices and device communication mediums for performing any of the operations of Examples 1-46, or as otherwise shown and described herein.
- Example 63 is a system to implement of any of Examples 1-62.
- Example 64 is a method to implement of any of Examples 1-62.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Environmental & Geological Engineering (AREA)
- Bioethics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
Abstract
Various approaches for memory encryption management within an edge computing system are described. In an edge computing system deployment, a computing device includes capabilities to store and manage encrypted data in memory, through processing circuitry configured to: allocate memory encryption keys according to a data isolation policy for a microservice domain, with respective keys used for encryption of respective sets of data within the memory (e.g., among different tenants or tenant groups); and, share data associated with a first microservice to a second microservice of the domain. Such sharing may be based on the communication of an encryption key, used to encrypt the data in memory, from a proxy (such as a sidecar) associated with the first microservice to a proxy associated with the second microservice; and maintaining the encrypted data within the memory, for use with the second microservice, as accessible with the communicated encryption key.
Description
- This application is a continuation of U.S. application Ser. No. 16/723,029, filed Dec. 20, 2019, which claims the benefit of priority to U.S. Provisional Application Ser. No. 62/907,597, filed Sep. 28, 2019 and to U.S. Provisional Application Ser. No. 62/939,303, filed Nov. 22, 2019, all of which are incorporated herein by reference in their entirety.
- Embodiments described herein generally relate to data processing, network communication, and communication system implementations, and in particular, to techniques for conducting secure management and sharing of data among respective instances of edge computing platforms in connected edge computing networks.
- Edge computing, at a general level, refers to the transition of compute and storage resources closer to endpoint devices (e.g., consumer computing devices, user equipment, etc.) in order to optimize total cost of ownership, reduce application latency, improve service capabilities, and improve compliance with security or data privacy requirements. Edge computing may, in some scenarios, provide a cloud-like distributed service that offers orchestration and management for applications among many types of storage and compute resources. As a result, some implementations of edge computing have been referred to as the “edge cloud” or the “fog”, as powerful computing resources previously available only in large remote data centers are moved closer to endpoints and made available for use by consumers at the “edge” of the network.
- Edge computing use cases in mobile network settings have been developed for integration with multi-access edge computing (MEC) approaches, also known as “mobile edge computing.” MEC approaches are designed to allow application developers and content providers to access computing capabilities and an information technology (IT) service environment in dynamic mobile network settings at the edge of the network. Limited standards have been developed by the European Telecommunications Standards Institute (ETSI) industry specification group (ISG) in an attempt to define common interfaces for operation of MEC systems, platforms, hosts, services, and applications.
- Edge computing, MEC, and related technologies attempt to provide reduced latency, increased responsiveness, and more available computing power than offered in traditional cloud network services and wide area network connections. However, the integration of mobility and dynamically launched services to some mobile use and device processing use cases has led to limitations and concerns with orchestration, functional coordination, and resource management, especially in complex mobility settings where many participants (devices, hosts, tenants, service providers, operators) are involved. This complexity (and the need for security) is increased in settings where services are offered in an “Edge as a Service” (EaaS) configuration, where scalable edge computing resources are offered and managed in a way that presents the resources to users as a coordinated “service” available to perform workloads, rather than as resources located among a set of distributed and separated nodes.
- The deployment of various Edge, EaaS, MEC, Fog, and IoT networks, devices, and services have introduced a number of advanced use cases and distributed computing scenarios occurring at and towards the edge of the network. However, these advanced use cases have also introduced a number of corresponding technical challenges relating to security, processing and network resources, service availability and efficiency, among many other issues. One such challenge is in relation to security and trust, and end-to-end security protection challenges and security key management introduced with microservices (also known as “uServices” or “μservices”) and associated service sidecars and data. As microservices are increasingly implemented within edge computing systems and deployments, the need for securing data within such microservices—and the need to securely share data among authorized entities and resources—will continue to expand.
- In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which:
-
FIG. 1 illustrates an overview of an edge cloud configuration for edge computing, according to an example; -
FIG. 2 illustrates deployment and orchestration for virtual edge configurations across an edge computing system operated among multiple edge nodes and multiple tenants, according to an example; -
FIG. 3 illustrates a vehicle compute and communication use case involving mobile access to applications in an edge computing system, according to an example; -
FIG. 4 illustrates a block diagram for a Multi-access Edge Computing (MEC) system architecture, according to an example; -
FIG. 5 illustrates an overview of layers of distributed compute deployed among an edge computing system, according to an example; -
FIG. 6A illustrates an overview of example components deployed at a compute node system, according to an example; -
FIG. 6B illustrates a further overview of example components within a computing device, according to an example; -
FIG. 7 illustrates a block diagram depicting an edge service mesh deployment using sidecars for interactions among microservices, according to an example; -
FIG. 8 illustrates a block diagram of a Multi-Key Total Memory Encryption (MKTME) architecture for encrypting data in memory, according to an example; -
FIG. 9 illustrates a block diagram of edge computing nodes, utilizing a sidecar for key management functions for distributed interactions, according to an example; -
FIG. 10 illustrates a flowchart of a process for key migration among tenant nodes within an edge computing system performing memory encryption operations, according to an example; -
FIG. 11 illustrates a block diagram of an edge computing node operating a microservice and a sidecar with managed memory, according to an example; -
FIG. 12 illustrates an interoperability diagram, depicting overlap among encryption keys for managing memory, according to an example; and -
FIG. 13 illustrates a flowchart of an example process for facilitating communications among edge computing nodes using memory encryption operations, according to an example. - In the following description, methods, configurations, and related apparatuses are disclosed for management of secure memory operations in a multi-tenant, multi-system environment in an edge computing environment. In an example, an edge-as-a-service (EaaS) platform operating various microservice instances (such as an instance provided within a virtual machine (VM)) that are paired with respective sidecar instances (such as an instance provided within another VM), each of which is managed by a supervising entity (such as by a hypervisor), may be coordinated with a memory encryption scheme that provides a tenant-specific pairing. With this configuration, multiple pairs of microservice/sidecar instances can be arranged to support secure multi-tenancy management of data on the same edge computing platform, via shared and managed encryption keys. This configuration enables performance optimizations and secure sharing of data even as end-to-end data encryption protections are applied among system memory, paging, direct memory access (DMA), and memory sharing arrangements. This configuration further may be applicable to edge computing entities within single computing system, device, or node (e.g., operating on a common computing hardware platform), a mesh configuration (involving multiple nodes, devices, or platforms), or other permutations of communicating and cooperating edge computing devices and implementations.
- Edge computing and edge-as-a-service (EaaS) distributed computing architectures encounter several encryption key management and end-to-end data protection challenges, when using EaaS building blocks such as microservices, sidecars, and secure memory encryption (e.g., Intel® Total Memory Encryption (TME) or Intel® Multi-Key Total Memory Encryption (MKTME)) implementations. For instance, MKTME operates to encrypt data stored in memory, with the use of multiple keys; each particular thread then refers to the encrypted data in memory, and the memory controller performs decryption of the particular key on a cache line by cache line basis.
- The use of MKTME and other secure memory encryption techniques introduces technical challenges for configuring memory encryption key tables with keys that correspond to the appropriate EaaS service mesh peer context. These challenges may prevent efficient and secure peer-to-peer interactions from occurring—especially as data is attempted to be shared within a computing system that has access to the same memory. Additionally, security challenges exist in edge computing settings for secure interactions, as system operators may want to ensure that there is end-to-end protection established for the memory resources utilized by main CPU and DMA peripherals. These and other challenges and security considerations are addressed by the following uses of memory encryption, microservice and sidecar implementations, and the use of a specially configured service mesh or other proxy accessible by microservice sidecars.
- Although many forms of encryption and security are planned to be used in distributed edge computing settings, existing encryption and security configurations have not provided a robust mechanism for ensuring security in multi-tenant settings. For instance, MKTME is a widely deployed technology that encrypts main memory on a computing system using configurable encryption keys, but a full-scale deployment of MKTME in a computing system having multiple tenants results in multiple forms of data isolation. Other prior approaches, such as TME, accomplished memory encryption using a single system key that encrypts and treats all data (for any tenant) as equivalent, but did not ensure security among different tenants. Neither approach addresses multi-tenancy security and usage/sharing requirements that is required for a flexible EaaS microservice deployment. As a result, these and other prior data encryption approaches have not provided key management functions that may enable edge computing peers and EaaS components to securely interact while readily sharing data in a safe, managed environment.
- In an example discussed in detail below, a sidecar implements secure key exchange and key management practices interactions among microservices, using a configuration provided by a service mesh or other type of proxy. The sidecar may also manage end-to-end data protections using memory encryption techniques (such as MKTME) to ensure that data remains protected while in system memory. The service mesh also may coordinate the sharing of encryption keys from a higher-level domain (established between multiple sidecar VMs, among a sidecar and a hypervisor).
- The following examples also provide specific use cases of secured, shared data exchanges among tenants, enabled through the configuration provided by this service mesh or proxy, such as when one tenant provides secure data to another tenant as data is transferred from one microservice instance to another within a same computer system. These secured data exchanges are designed to implement performance improvements for a variety of inter-process communication (IPC) interactions and DMA accesses involving protected data. Additionally, the following examples enable use cases for private interactions between microservice VMs and sidecar VMs which utilize an MKTME key to protect shared memory segments exclusive to the VM pairing. Other combinations of interactions among services, sidecars, VMs, hypervisors, and domains, devices, and systems employing these components are also enabled.
- Example Edge Computing Architectures
-
FIG. 1 is a block diagram 100 showing an overview of a configuration for edge computing, which includes a layer of processing referenced in many of the current examples as an “edge cloud”. This network topology, which may include a number of conventional networking layers (including those not shown herein), may be extended through use of the secure memory management techniques and the compute and network configurations discussed herein. - As shown, the
edge cloud 110 is co-located at an edge location, such as thebase station 140, alocal processing hub 150, or acentral office 120, and thus may include multiple entities, devices, and equipment instances. Theedge cloud 110 is located much closer to the endpoint (consumer and producer) data sources 160 (e.g.,autonomous vehicles 161,user equipment 162, business andindustrial equipment 163,video capture devices 164,drones 165, smart cities andbuilding devices 166, sensors andIoT devices 167, etc.) than thecloud data center 130. Compute, memory, and storage resources which are offered at the edges in theedge cloud 110 are critical to providing ultra-low latency response times for services and functions used by theendpoint data sources 160 as well as reduce network backhaul traffic from theedge cloud 110 towardcloud data center 130 thus improving energy consumption and overall network usages among other benefits. - Compute, memory, and storage are scarce resources, and generally decrease depending on the edge location (e.g., fewer processing resources being available at consumer end point devices than at a base station or at a central office). However, the closer that the edge location is to the endpoint (e.g., UEs), the more that space and power is constrained. Thus, edge computing, as a general design principle, attempts to minimize the amount of resources needed for network services, through the distribution of more resources which are located closer both geographically and in network access time.
- The following describes aspects of an edge cloud architecture that covers multiple potential deployments and addresses restrictions that some network operators or service providers may have in their own infrastructures. These include, variation of configurations based on the edge location (because edges at a base station level, for instance, may have more constrained performance); configurations based on the type of compute, memory, storage, fabric, acceleration, or like resources available to edge locations, tiers of locations, or groups of locations; the service, security, and management and orchestration capabilities; and related objectives to achieve usability and performance of end services.
- Edge computing is a developing paradigm where computing is performed at or closer to the “edge” of a network, typically through the use of a compute platform implemented at base stations, gateways, network routers, or other devices which are much closer to end point devices producing and consuming the data. For example, edge gateway servers may be equipped with pools of memory and storage resources to perform computation in real-time for low latency use-cases (e.g., autonomous driving or video surveillance) for connected client devices. Or as an example, base stations may be augmented with compute and acceleration resources to directly process service workloads for connected user equipment, without further communicating data via backhaul networks. Or as another example, central office network management hardware may be replaced with compute hardware that performs virtualized network functions and offers compute resources for the execution of services and consumer functions for connected devices. These and other scenarios may be enhanced with the use of microservices and secure data management and sharing, as discussed in more detail below.
- In contrast to the network architecture of
FIG. 1 , traditional endpoint (e.g., UE, vehicle-to-vehicle (V2V), vehicle-to-everything (V2X), etc.) applications are reliant on local device or remote cloud data storage and processing to exchange and coordinate information. A cloud data arrangement allows for long-term data collection and storage, but is not optimal for highly time varying data, such as a collision, traffic light change, etc. and may fail in attempting to meet latency challenges. - Depending on the real-time requirements in a communications context, a hierarchical structure of data processing and storage nodes may be defined in an edge computing deployment. For example, such a deployment may include local ultra-low-latency processing, regional storage and processing as well as remote cloud data-center based storage and processing. Key performance indicators (KPIs) may be used to identify where sensor data is best transferred and where it is processed or stored. This typically depends on the ISO layer dependency of the data. For example, lower layer (PHY, MAC, routing, etc.) data typically changes quickly and is better handled locally in order to meet latency requirements. Higher layer data such as Application Layer data is typically less time critical and may be stored and processed in a remote cloud data-center.
-
FIG. 2 illustrates deployment and orchestration for virtual edge configurations across an edge computing system operated among multiple edge nodes and multiple tenants. Specifically,FIG. 2 depicts coordination of afirst edge node 222 and asecond edge node 224 in an edge computing system 200, to fulfill requests and responses forvarious client endpoints 210 from various virtual edge instances. The virtual edge instances provide edge compute capabilities and processing in an edge cloud, with access to a cloud/data center 240 for higher-latency requests for websites, applications, database servers, etc. Thus, the edge cloud enables coordination of processing among multiple edge nodes for multiple tenants or entities. - In the example of
FIG. 2 , these virtual edge instances include: a firstvirtual edge 232, offered to a first tenant (Tenant 1), which offers a first combination of edge storage, computing, and services; and a secondvirtual edge 234, offering a second combination of edge storage, computing, and services, to a second tenant (Tenant 2). The 232, 234 are distributed among thevirtual edge instances 222, 224, and may include scenarios in which a request and response are fulfilled from the same or different edge nodes. The configuration of eachedge nodes 222, 224 to operate in a distributed yet coordinated fashion occurs based on edge provisioning functions 250. The functionality of theedge node 222, 224 to provide coordinated operation for applications and services, among multiple tenants, occurs based on orchestration functions 260.edge nodes - It should be understood that some of the devices in 210 are multi-tenant devices where Tenant1 may function within a Tenant1 ‘slice’ while a Tenant2 may function within a Tenant2 slice. A trusted multi-tenant device may further contain a tenant specific cryptographic key such that the combination of key and slice may be considered a “root of trust” (RoT) or tenant-specific RoT. A RoT may further be computed dynamically composed using a security architecture, such as a DICE (Device Identity Composition Engine) architecture where a DICE hardware building block is used to construct layered trusted computing base contexts for layering of device capabilities (such as a Field Programmable Gate Array (FPGA)). The RoT also may be used for a trusted computing context to support respective tenant operations, etc. Use of this RoT and the security architecture may be enhanced by the sidecar secure memory management operations further discussed below.
- Edge computing nodes may partition resources (memory, CPU, GPU, interrupt controller, I/O controller, memory controller, bus controller, etc.) where each partition may contain a RoT capability and where fan-out and layering according to a DICE model may further be applied to edge nodes. Cloud computing nodes consisting of containers, FaaS (function as a service) or EaaS engines, servlets, servers, or other computation abstraction may be partitioned according to a DICE layering and fan-out structure to support a RoT context for each. Accordingly, the respective
210, 222, and 240 may coordinate the establishment of a distributed trusted computing base (DTCB) such that a tenant-specific virtual trusted secure channel linking all elements end-to-end can be established.RoTs spanning entities - Additionally, the edge computing system may be extended to provide orchestration of multiple applications through the use of containers (a contained, deployable unit of software that provides code and needed dependencies), in a multi-owner, multi-tenant environment. A multi-tenant orchestrator may be used to perform key management, trust anchor management, and other security functions related to the provisioning and lifecycle of the trusted ‘slice’ concept in
FIG. 2 . An orchestrator may use a DICE layering and fan-out construction to create a RoT context that is tenant-specific. Thus, orchestration functions, provided by an orchestrator, may participate as a tenant-specific orchestration provider. - Accordingly, an edge computing system may be configured to fulfill requests and responses for various client endpoints from multiple virtual edge instances (and, from a cloud or remote data center, not shown). The use of these virtual edge instances supports multiple tenants and multiple applications (e.g., AR/VR, enterprise applications, content delivery, gaming, compute offload) simultaneously. Further, there may be multiple types of applications within the virtual edge instances (e.g., normal applications, latency sensitive applications, latency critical applications, user plane applications, networking applications, etc.). The virtual edge instances may also be spanned across systems of multiple owners at different geographic locations.
- In further examples, edge computing systems may deploy containers in an edge computing system. As a simplified example, a container manager is adapted to launch containerized pods, functions, and functions-as-a-service instances through execution via compute nodes, or to separately execute containerized virtualized network functions through execution via compute nodes. This arrangement may be adapted for use by multiple tenants in system arrangement, where containerized pods, functions, and functions-as-a-service instances are launched within virtual machines specific to each tenant (aside the execution of virtualized network functions).
- Within the edge cloud, a first edge node 222 (e.g., operated by a first owner) and a second edge node 224 (e.g., operated by a second owner) may operate or respond to a container orchestrator to coordinate the execution of various applications within the virtual edge instances offered for respective tenants. For instance, the
222, 224 may be coordinated based on edge provisioning functions 250, while the operation of the various applications are coordinated with orchestration functions 260.edge nodes - Various system arrangements may provide an architecture that treats VMs, Containers, and Functions equally in terms of application composition (and resulting applications are combinations of these three ingredients). Each ingredient may involve use of one or more accelerator (e.g., FPGA, ASIC) components as a local backend. In this manner, applications can be split across multiple edge owners, coordinated by an orchestrator.
- It should be appreciated that the edge computing systems and arrangements discussed herein may be applicable in various solutions, services, and/or use cases. As an example,
FIG. 3 shows a simplified vehicle compute and communication use case involving mobile access to applications in anedge computing system 300 that implements anedge cloud 110. In this use case, eachclient compute node 310 may be embodied as in-vehicle compute systems (e.g., in-vehicle navigation and/or infotainment systems) located in corresponding vehicles that communicate with theedge gateway nodes 320 during traversal of a roadway. For instance,edge gateway nodes 320 may be located in roadside cabinets, which may be placed along the roadway, at intersections of the roadway, or other locations near the roadway. As each vehicle traverses along the roadway, the connection between itsclient compute node 310 and a particularedge gateway node 320 may propagate so as to maintain a consistent connection and context for theclient compute node 310. Each of theedge gateway nodes 320 includes some processing and storage capabilities and, as such, some processing and/or storage of data for theclient compute nodes 310 may be performed on one or more of theedge gateway nodes 320. - Each of the
edge gateway nodes 320 may communicate with one or moreedge resource nodes 340, which are illustratively embodied as compute servers, appliances or components located at or in a communication base station 342 (e.g., a base station of a cellular network). As discussed above, eachedge resource node 340 includes some processing and storage capabilities and, as such, some processing and/or storage of data for theclient compute nodes 310 may be performed on theedge resource node 340. For example, the processing of data that is less urgent or important may be performed by theedge resource node 340, while the processing of data that is of a higher urgency or importance may be performed by edge gateway devices or the client nodes themselves (depending on, for example, the capabilities of each component). Further, various wired or wireless communication links (e.g., fiber optic wired backhaul, 5G wireless links) may exist among theedge nodes 320, edge resource node(s) 340,core data center 350, andnetwork cloud 360. - The edge resource node(s) 340 also communicate with the
core data center 350, which may include compute servers, appliances, and/or other components located in a central location (e.g., a central office of a cellular communication network). Thecore data center 350 may provide a gateway to the global network cloud 360 (e.g., the Internet) for theedge cloud 110 operations formed by the edge resource node(s) 340 and theedge gateway nodes 320. Additionally, in some examples, thecore data center 350 may include an amount of processing and storage capabilities and, as such, some processing and/or storage of data for the client compute devices may be performed on the core data center 350 (e.g., processing of low urgency or importance, or high complexity). Theedge gateway nodes 320 or theedge resource nodes 340 may offer the use ofstateful applications 332 and a geographic distributed data storage 334 (e.g., database, data store, etc.). - In further examples,
FIG. 3 may utilize various types of mobile edge nodes, such as an edge node hosted in a vehicle (e.g., car, truck, tram, train, etc.) or other mobile unit, as the edge node will move to other geographic locations along the platform hosting it. With vehicle-to-vehicle communications, individual vehicles may even act as network edge nodes for other cars, (e.g., to perform caching, reporting, data aggregation, etc.). Thus, it will be understood that the application components provided in various edge nodes may be distributed in a variety of settings, including coordination between some functions or operations at individual endpoint devices or theedge gateway nodes 320, some others at theedge resource node 340, and others in thecore data center 350 orglobal network cloud 360. - In further configurations, the edge computing system may implement FaaS and EaaS computing capabilities through the use of respective executable applications and functions. In an example, a developer writes function code (e.g., “computer code” herein) representing one or more computer functions, and the function code is uploaded to a FaaS/EaaS platform provided by, for example, an edge node or data center. A trigger such as, for example, a service use case or an edge processing event, initiates the execution of the function code with the FaaS/EaaS platform.
- In an example FaaS or EaaS deployment, a container is used to provide an environment in which function code is executed. The container may be any isolated-execution entity such as a process, a Docker or Kubernetes container, a virtual machine, etc. Within the edge computing system, various datacenter, edge, and endpoint (including mobile) devices are used to “spin up” functions (e.g., activate and/or allocate function actions) that are scaled on demand. The function code gets executed on the physical infrastructure (e.g., edge computing node) device and underlying virtualized containers. Finally, the container is “spun down” (e.g., deactivated and/or deallocated) on the infrastructure in response to the execution being completed.
- Further aspects of FaaS and EaaS may enable deployment of edge functions in a service fashion, including a support of respective functions that support edge computing as a service. Additional features of FaaS and EaaS may include: a granular billing component that enables customers (e.g., computer code developers) to pay only when their code gets executed; common data storage to store data for reuse by one or more functions; orchestration and management among individual functions; function execution management, parallelism, and consolidation; management of container and function memory spaces; coordination of acceleration resources available for functions; and distribution of functions between containers (including “warm” containers, already deployed or operating, versus “cold” which require deployment or configuration).
- Example MEC Implementations
- In further examples, FaaS and EaaS implementations may be implemented by a “MEC” system arranged according to the standards and approaches published in ETSI GS MEC-003 “Mobile Edge Computing (MEC); Framework and Reference Architecture” (e.g., V2.0.3) and related MEC or networked operational implementations. While the present secure memory management and sharing and configurations may provide significant benefits to multi-user MEC architectures, the applicability of the present techniques and configurations may be extended to any number of edge computing, IoT, fog, or distributed computing platforms.
- MEC is intended to support developing mobile use cases of edge computing, to allow application developers and content providers to access computing capabilities and an IT service environment in dynamic settings at the edge of the network. MEC offers application developers and content providers cloud-computing capabilities and an IT service environment using equipment located closer to network (e.g., cellular network) edges. This environment is characterized by ultra-low latency and high bandwidth as well as real-time access to radio network information that may be leveraged by applications. MEC technology permits operators to flexibly and rapidly deploy innovative applications and services towards mobile subscribers, enterprises and vertical segments.
- MEC, like other edge computing deployments, may reduce network congestion by operating applications, data functions, and discovery, etc. closer to the user (e.g., mobile device, user equipment (UE), station (STA), etc.). Some MEC details dealing with security (e.g., both user security as well as application integrity), radio use, etc., have been promulgated by European Telecommunications Standards Institute (ETSI), such as described in the “Mobile Edge Computing Introductory Technical White Paper,” published Sep. 1, 2014. A set of specifications and white papers providing further details and implementation use cases for MEC scenarios is being developed and published on an ongoing basis by ETSI as part of the ETSI MEC industry specification group (ISG).
- MEC architectures offers application developers and content providers cloud-computing capabilities and an IT service environment at the edge of the network. This environment is characterized by ultra-low latency and high bandwidth as well as real-time access to radio network information that can be leveraged by applications. MEC technology thus permits flexible and rapid deployment of innovative applications and services towards mobile subscribers, enterprises and vertical segments. For instance, in automotive settings, applications such as V2X (vehicle-to-everything, IEEE 802.11p based or 3GPP LTE-V2X based) may use MEC technology to exchange data, provide data to aggregation points, and access data in databases to provide and obtain an overview of the local situation derived from a multitude of sensors (by various cars, roadside units, etc.).
-
FIG. 4 depicts a block diagram 400 for an example Multi-access Edge Computing (MEC) system architecture. In an example, the MEC system architecture may be defined according to a specification, standard, or other definition (e.g., according to the ETSI ISG MEC-003 specification). In this diagram, Mp reference points refer to MEC platform functionality; Mm reference points refer to management; and Mx refers to connections to external entities. The services, applications, orchestrators, and other entities discussed herein may be implemented at any number of the entities of the MEC system architecture depicted inFIG. 4 , and the communications to perform network operations may be implemented at any number of the interfaces of the MEC system architecture depicted inFIG. 4 . - For instance, a
device application 402 operating at a client user equipment device (e.g., smartphone) may access amulti-access edge orchestrator 410, to access a microservice via a service mesh as further detailed inFIG. 7 . AMEC Host 450 may operate one or 451, 452, 453 or amore MEC applications platform 460 which access a service on behalf of multiple MEC tenants, as further detailed inFIGS. 10 and 11 . Avirtualized infrastructure manager 440 andMEC Platform Manager 430 provide management of the use of the hosts, platforms, and resources, and may also provide managed access to an attestation service or verifier (not shown). Thevirtualized infrastructure manager 440 andMEC Platform Manager 430 may also provide managed access to other MEC hosts (e.g., host 470) or MEC platforms (e.g., platform 480), which may also be involved with uses of attestation functionality as described herein. - Example Computing Device Implementations
- At a more generic level, an edge computing system may be described to encompass any number of deployments operating in the
edge cloud 110, which provide coordination from client and distributed computing devices.FIG. 5 provides a further abstracted overview of layers of distributed compute deployed among an edge computing environment for purposes of illustration. -
FIG. 5 generically depicts an edge computing system for providing edge services and applications to multi-stakeholder entities, as distributed among one or more client computenodes 502, one or moreedge gateway nodes 512, one or moreedge aggregation nodes 522, one or morecore data centers 532, and aglobal network cloud 542, as distributed across layers of the network. The implementation of the edge computing system may be provided at or on behalf of a telecommunication service provider (“telco”, or “TSP”), internet-of-things service provider, cloud service provider (CSP), enterprise entity, or any other number of entities. Various forms of wired or wireless connections may be configured to establish connectivity among the 502, 512, 522, 532, including interconnections among such nodes (e.g., connections amongnodes edge gateway nodes 512, and connections among edge aggregation nodes 522). - Each node or device of the edge computing system is located at a particular layer corresponding to
510, 520, 530, 540, 550. For example, thelayers client compute nodes 502 are each located at anendpoint layer 510, while each of theedge gateway nodes 512 are located at an edge devices layer 520 (local level) of the edge computing system. Additionally, each of the edge aggregation nodes 522 (and/orfog devices 524, if arranged or operated with or among a fog networking configuration 526) are located at a network access layer 530 (an intermediate level). Fog computing (or “fogging”) generally refers to extensions of cloud computing to the edge of an enterprise's network, typically in a coordinated distributed or multi-node network. Some forms of fog computing provide the deployment of compute, storage, and networking services between end devices and cloud computing data centers, on behalf of the cloud computing locations. Such forms of fog computing provide operations that are consistent with edge computing as discussed herein; many of the edge computing aspects discussed herein are applicable to fog networks, fogging, and fog configurations. Further, aspects of the edge computing systems discussed herein may be configured as a fog, or aspects of a fog may be integrated into an edge computing architecture. - The
core data center 532 is located at a core network layer 540 (e.g., a regional or geographically-central level), while theglobal network cloud 542 is located at a cloud data center layer 550 (e.g., a national or global layer). The use of “core” is provided as a term for a centralized network location—deeper in the network—which is accessible by multiple edge nodes or components; however, a “core” does not necessarily designate the “center” or the deepest location of the network. Accordingly, thecore data center 532 may be located within, at, or near theedge cloud 110. - Although an illustrative number of client compute
nodes 502,edge gateway nodes 512,edge aggregation nodes 522,core data centers 532, global network clouds 542 are shown inFIG. 5 , it should be appreciated that the edge computing system may include more or fewer devices or systems at each layer. Additionally, as shown inFIG. 5 , the number of components of each 510, 520, 530, 540, 550 generally increases at each lower level (i.e., when moving closer to endpoints). As such, onelayer edge gateway node 512 may service multiple client computenodes 502, and oneedge aggregation node 522 may service multipleedge gateway nodes 512. - Consistent with the examples provided herein, each
client compute node 502 may be embodied as any type of end point component, device, appliance, or “thing” capable of communicating as a producer or consumer of data. Further, the label “node” or “device” as used in theedge computing system 500 does not necessarily mean that such node or device operates in a client or slave role; rather, any of the nodes or devices in theedge computing system 500 refer to individual entities, nodes, or subsystems which include discrete or connected hardware or software configurations to facilitate or use theedge cloud 110. - As such, the
edge cloud 110 is formed from network components and functional features operated by and within theedge gateway nodes 512 and theedge aggregation nodes 522 of 520, 530, respectively. Thelayers edge cloud 110 may be embodied as any type of network that provides edge computing and/or storage resources which are proximately located to radio access network (RAN) capable endpoint devices (e.g., mobile computing devices, IoT devices, smart devices, etc.), which are shown inFIG. 5 as theclient compute nodes 502. In other words, theedge cloud 110 may be envisioned as an “edge” which connects the endpoint devices and traditional mobile network access points that serves as an ingress point into service provider core networks, including carrier networks (e.g., Global System for Mobile Communications (GSM) networks, Long-Term Evolution (LTE) networks, 5G networks, etc.), while also providing storage and/or compute capabilities. Other types and forms of network access (e.g., Wi-Fi, long-range wireless networks) may also be utilized in place of or in combination with such 3GPP carrier networks. - In some examples, the
edge cloud 110 may form a portion of or otherwise provide an ingress point into or across a fog networking configuration 526 (e.g., a network offog devices 524, not shown in detail), which may be embodied as a system-level horizontal and distributed architecture that distributes resources and services to perform a specific function. For instance, a coordinated and distributed network offog devices 524 may perform computing, storage, control, or networking aspects in the context of an IoT system arrangement. Other networked, aggregated, and distributed functions may exist in theedge cloud 110 between the clouddata center layer 550 and the client endpoints (e.g., client compute nodes 502). Some of these are discussed in the following sections in the context of network functions or service virtualization, including the use of virtual edges and virtual services which are orchestrated for multiple stakeholders. - The
edge gateway nodes 512 and theedge aggregation nodes 522 cooperate to provide various edge services and security to theclient compute nodes 502. Furthermore, because eachclient compute node 502 may be stationary or mobile, eachedge gateway node 512 may cooperate with other edge gateway devices to propagate presently provided edge services and security as the correspondingclient compute node 502 moves about a region. To do so, each of theedge gateway nodes 512 and/oredge aggregation nodes 522 may support multiple tenancy and multiple stakeholder configurations, in which services from (or hosted for) multiple service providers and multiple consumers may be supported and coordinated across a single or multiple compute devices. - In various examples, the present memory security techniques may be implemented at a single instance of a client compute node 502 (e.g., among a set of microservice instance at the node, as the node hosts multiple tenant within memory resources of the node), at the
edge gateway nodes 512 or aggregation nodes 522 (e.g., hosting a similar service and tenant arrangement), at other intermediate nodes in the edge cloud 110 (e.g., which operate orchestrator functions, attestation service functions, etc.), or among other combinations or groups of these nodes, as further discussed below with reference to the encryption techniques and services detailed inFIGS. 7 to 13 . - In further examples, any of the compute nodes or devices discussed with reference to the present edge computing systems and environment may be fulfilled based on the components depicted in
FIGS. 6A and 6B . Each edge compute node may be embodied as a type of device, appliance, computer, or other “thing” capable of communicating with other edge, networking, or endpoint components. For example, an edge compute device may be embodied as a smartphone, a mobile compute device, a smart appliance, an in-vehicle compute system (e.g., a navigation system), or other device or system capable of performing the described functions. - In the simplified example depicted in
FIG. 6A , anedge compute node 600 includes a compute engine (also referred to herein as “compute circuitry”) 602, an input/output (I/O)subsystem 608,data storage 610, acommunication circuitry subsystem 612, and, optionally, one or moreperipheral devices 614. In other examples, each compute device may include other or additional components, such as those used in personal or server computing systems (e.g., a display, peripheral devices, etc.). Additionally, in some examples, one or more of the illustrative components may be incorporated in, or otherwise form a portion of, another component. - The
compute node 600 may be embodied as any type of engine, device, or collection of devices capable of performing various compute functions. In some examples, thecompute node 600 may be embodied as a single device such as an integrated circuit, an embedded system, a field-programmable gate array (FPGA), a system-on-a-chip (SOC), or other integrated system or device. In the illustrative example, thecompute node 600 includes or is embodied as aprocessor 604 and amemory 606. Theprocessor 604 may be embodied as any type of processor capable of performing the functions described herein (e.g., executing an application). For example, theprocessor 604 may be embodied as a multi-core processor(s), a microcontroller, or other processor or processing/controlling circuit. In some examples, theprocessor 604 may be embodied as, include, or be coupled to an FPGA, an application specific integrated circuit (ASIC), reconfigurable hardware or hardware circuitry, or other specialized hardware to facilitate performance of the functions described herein. - The
main memory 606 may be embodied as any type of volatile (e.g., dynamic random access memory (DRAM), etc.) or non-volatile memory or data storage capable of performing the functions described herein. Volatile memory may be a storage medium that requires power to maintain the state of data stored by the medium. Non-limiting examples of volatile memory may include various types of random access memory (RAM), such as DRAM or static random access memory (SRAM). One particular type of DRAM that may be used in a memory module is synchronous dynamic random access memory (SDRAM). - In one example, the memory device is a block addressable memory device, such as those based on NAND or NOR technologies. A memory device may also include a three-dimensional crosspoint memory device (e.g., Intel 3D XPoint™ memory), or other byte addressable write-in-place nonvolatile memory devices. The memory device may refer to the die itself and/or to a packaged memory product. In some examples, 3D crosspoint memory (e.g., Intel 3D XPoint™ memory) may comprise a transistor-less stackable cross point architecture in which memory cells sit at the intersection of word lines and bit lines and are individually addressable and in which bit storage is based on a change in bulk resistance. In some examples, all or a portion of the
main memory 606 may be integrated into theprocessor 604. Themain memory 606 may store various software and data used during operation such as one or more applications, data operated on by the application(s), libraries, and drivers. - The
compute circuitry 602 is communicatively coupled to other components of thecompute node 600 via the I/O subsystem 608, which may be embodied as circuitry and/or components to facilitate input/output operations with the compute circuitry 602 (e.g., with theprocessor 604 and/or the main memory 606) and other components of thecompute circuitry 602. For example, the I/O subsystem 608 may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, integrated sensor hubs, firmware devices, communication links (e.g., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.), and/or other components and subsystems to facilitate the input/output operations. In some examples, the I/O subsystem 608 may form a portion of a system-on-a-chip (SoC) and be incorporated, along with one or more of theprocessor 604, themain memory 606, and other components of thecompute circuitry 602, into thecompute circuitry 602. - The one or more illustrative
data storage devices 610 may be embodied as any type of devices configured for short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. Eachdata storage device 610 may include a system partition that stores data and firmware code for thedata storage device 610. Eachdata storage device 610 may also include one or more operating system partitions that store data files and executables for operating systems depending on, for example, the type ofcompute node 600. - The
communication circuitry 612 may be embodied as any communication circuit, device, or collection thereof, capable of enabling communications over a network between thecompute circuitry 602 and another compute device (e.g., anedge gateway node 512 of the edge computing system 500). Thecommunication circuitry 612 may be configured to use any one or more communication technology (e.g., wired or wireless communications) and associated protocols (e.g., a cellular networking protocol such a 3GPP 4G or 5G standard, a wireless local area network protocol such as IEEE 802.11/Wi-Fi®, a wireless wide area network protocol, Ethernet, Bluetooth®, etc.) to effect such communication. - The
illustrative communication circuitry 612 includes a network interface controller (NIC) 620, which may also be referred to as a host fabric interface (HFI). TheNIC 620 may be embodied as one or more add-in-boards, daughter cards, network interface cards, controller chips, chipsets, or other devices that may be used by thecompute node 600 to connect with another compute device (e.g., an edge gateway node 512). In some examples, theNIC 620 may be embodied as part of a system-on-a-chip (SoC) that includes one or more processors, or included on a multichip package that also contains one or more processors. In some examples, theNIC 620 may include a local processor (not shown) and/or a local memory (not shown) that are both local to theNIC 620. In such examples, the local processor of theNIC 620 may be capable of performing one or more of the functions of thecompute circuitry 602 described herein. Additionally or alternatively, in such examples, the local memory of theNIC 620 may be integrated into one or more components of the client compute node at the board level, socket level, chip level, and/or other levels. - Additionally, in some examples, each
compute node 600 may include one or moreperipheral devices 614. Suchperipheral devices 614 may include any type of peripheral device found in a compute device or server such as audio input devices, a display, other input/output devices, interface devices, and/or other peripheral devices, depending on the particular type of thecompute node 600. In further examples, thecompute node 600 may be embodied by a respective edge compute node in an edge computing system (e.g.,client compute node 502,edge gateway node 512, edge aggregation node 522) or like forms of appliances, computers, subsystems, circuitry, or other components. - In a more detailed example,
FIG. 6B illustrates a block diagram of an example of components that may be present in anedge computing node 650 for implementing the techniques (e.g., operations, processes, methods, and methodologies) described herein. Theedge computing node 650 may include any combinations of the components referenced above, and it may include any device usable with an edge communication network or a combination of such networks. The components may be implemented as ICs, portions thereof, discrete electronic devices, or other modules, logic, hardware, software, firmware, or a combination thereof adapted in theedge computing node 650, or as components otherwise incorporated within a chassis of a larger system. Further, to support the security examples provided herein, a hardware RoT (e.g., provided according to a DICE architecture) may be implemented in each IP block of theedge computing node 650 such that any IP Block could boot into a mode where a RoT identity could be generated that may attest its identity and its current booted firmware to another IP Block or to an external entity. - The
edge computing node 650 may include processing circuitry in the form of aprocessor 652, which may be a microprocessor, a multi-core processor, a multithreaded processor, an ultra-low voltage processor, an embedded processor, or other known processing elements. Theprocessor 652 may be a part of a system on a chip (SoC) in which theprocessor 652 and other components are formed into a single integrated circuit, or a single package, such as the Edison™ or Galileo™ SoC boards from Intel Corporation, Santa Clara, Calif. As an example, theprocessor 652 may include an Intel® Architecture Core™ based processor, such as a Quark™, an Atom™, a Xeon™ an i3, an i5, an i7, an i9, or an MCU-class processor, or another such processor available from Intel®. However, any number other processors may be used, such as available from Advanced Micro Devices, Inc. (AMD) of Sunnyvale, Calif., a MIPS-based design from MIPS Technologies, Inc. of Sunnyvale, Calif., an ARM-based design licensed from ARM Holdings, Ltd. or a customer thereof, or their licensees or adopters. The processors may include units such as an A5-A12 processor from Apple® Inc., a Snapdragon™ processor from Qualcomm® Technologies, Inc., or an OMAP™ processor from Texas Instruments, Inc. - The
processor 652 may communicate with asystem memory 654 over an interconnect 656 (e.g., a bus). Any number of memory devices may be used to provide for a given amount of system memory. As examples, the memory may be random access memory (RAM) in accordance with a Joint Electron Devices Engineering Council (JEDEC) design such as the DDR or mobile DDR standards (e.g., LPDDR, LPDDR2, LPDDR3, or LPDDR4). In particular examples, a memory component may comply with a DRAM standard promulgated by JEDEC, such as JESD79F for DDR SDRAM, JESD79-2F for DDR2 SDRAM, JESD79-3F for DDR3 SDRAM, JESD79-4A for DDR4 SDRAM, JESD209 for Low Power DDR (LPDDR), JESD209-2 for LPDDR2, JESD209-3 for LPDDR3, and JESD209-4 for LPDDR4. Such standards (and similar standards) may be referred to as DDR-based standards and communication interfaces of the storage devices that implement such standards may be referred to as DDR-based interfaces. In various implementations, the individual memory devices may be of any number of different package types such as single die package (SDP), dual die package (DDP) or quad die package (Q17P). These devices, in some examples, may be directly soldered onto a motherboard to provide a lower profile solution, while in other examples the devices are configured as one or more memory modules that in turn couple to the motherboard by a given connector. Any number of other memory implementations may be used, such as other types of memory modules, e.g., dual inline memory modules (DIMMs) of different varieties including but not limited to microDIMMs or MiniDIMMs. - To provide for persistent storage of information such as data, applications, operating systems and so forth, a
storage 658 may also couple to theprocessor 652 via theinterconnect 656. In an example, thestorage 658 may be implemented via a solid-state disk drive (SSDD). Other devices that may be used for thestorage 658 include flash memory cards, such as SD cards, microSD cards, XD picture cards, and the like, and USB flash drives. In an example, the memory device may be or may include memory devices that use chalcogenide glass, multi-threshold level NAND flash memory, NOR flash memory, single or multi-level Phase Change Memory (PCM), a resistive memory, nanowire memory, ferroelectric transistor random access memory (FeTRAM), anti-ferroelectric memory, magneto-resistive random access memory (MRAM) memory that incorporates memristor technology, resistive memory including the metal oxide base, the oxygen vacancy base and the conductive bridge Random Access Memory (CB-RAM), or spin transfer torque (STT)-MRAM, a spintronic magnetic junction memory based device, a magnetic tunneling junction (MTJ) based device, a DW (Domain Wall) and SOT (Spin Orbit Transfer) based device, a thyristor based memory device, or a combination of any of the above, or other memory. - In low power implementations, the
storage 658 may be on-die memory or registers associated with theprocessor 652. However, in some examples, thestorage 658 may be implemented using a micro hard disk drive (HDD). Further, any number of new technologies may be used for thestorage 658 in addition to, or instead of, the technologies described, such resistance change memories, phase change memories, holographic memories, or chemical memories, among others. - The components may communicate over the
interconnect 656. Theinterconnect 656 may include any number of technologies, including industry standard architecture (ISA), extended ISA (EISA), peripheral component interconnect (PCI), peripheral component interconnect extended (PCIx), PCI express (PCIe), or any number of other technologies. Theinterconnect 656 may be a proprietary bus, for example, used in an SoC based system. Other bus systems may be included, such as an I2C interface, an SPI interface, point to point interfaces, and a power bus, among others. - The
interconnect 656 may couple theprocessor 652 to atransceiver 666, for communications with theconnected edge devices 662. Thetransceiver 666 may use any number of frequencies and protocols, such as 2.4 Gigahertz (GHz) transmissions under the IEEE 802.15.4 standard, using the Bluetooth® low energy (BLE) standard, as defined by the Bluetooth® Special Interest Group, or the ZigBee® standard, among others. Any number of radios, configured for a particular wireless communication protocol, may be used for the connections to theconnected edge devices 662. For example, a wireless local area network (WLAN) unit may be used to implement Wi-Fi® communications in accordance with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard. In addition, wireless wide area communications, e.g., according to a cellular or other wireless wide area protocol, may occur via a wireless wide area network (WWAN) unit. - The wireless network transceiver 666 (or multiple transceivers) may communicate using multiple standards or radios for communications at a different range. For example, the
edge computing node 650 may communicate with close devices, e.g., within about 10 meters, using a local transceiver based on BLE, or another low power radio, to save power. More distant connectededge devices 662, e.g., within about 50 meters, may be reached over ZigBee or other intermediate power radios. Both communications techniques may take place over a single radio at different power levels or may take place over separate transceivers, for example, a local transceiver using BLE and a separate mesh transceiver using ZigBee. - A wireless network transceiver 666 (e.g., a radio transceiver) may be included to communicate with devices or services in the
edge cloud 690 via local or wide area network protocols. Thewireless network transceiver 666 may be an LPWA transceiver that follows the IEEE 802.15.4, or IEEE 802.15.4g standards, among others. Theedge computing node 650 may communicate over a wide area using LoRaWAN™ (Long Range Wide Area Network) developed by Semtech and the LoRa Alliance. The techniques described herein are not limited to these technologies but may be used with any number of other cloud transceivers that implement long range, low bandwidth communications, such as Sigfox, and other technologies. Further, other communications techniques, such as time-slotted channel hopping, described in the IEEE 802.15.4e specification may be used. - Any number of other radio communications and protocols may be used in addition to the systems mentioned for the
wireless network transceiver 666, as described herein. For example, thetransceiver 666 may include a cellular transceiver that uses spread spectrum (SPA/SAS) communications for implementing high-speed communications. Further, any number of other protocols may be used, such as Wi-Fi® networks for medium speed communications and provision of network communications. Thetransceiver 666 may include radios that are compatible with any number of 3GPP (Third Generation Partnership Project) specifications, such as Long Term Evolution (LTE) and 5th Generation (5G) communication systems, discussed in further detail at the end of the present disclosure. A network interface controller (NIC) 668 may be included to provide a wired communication to nodes of theedge cloud 690 or to other devices, such as the connected edge devices 662 (e.g., operating in a mesh). The wired communication may provide an Ethernet connection or may be based on other types of networks, such as Controller Area Network (CAN), Local Interconnect Network (LIN), DeviceNet, ControlNet, Data Highway+, PROFIBUS, or PROFINET, among many others. Anadditional NIC 668 may be included to enable connecting to a second network, for example, afirst NIC 668 providing communications to the cloud over Ethernet, and asecond NIC 668 providing communications to other devices over another type of network. - Given the variety of types of applicable communications from the device to another component or network, applicable communications circuitry used by the device may include or be embodied by any one or more of
664, 666, 668, or 670. Accordingly, in various examples, applicable means for communicating (e.g., receiving, transmitting, etc.) may be embodied by such communications circuitry.components - The
edge computing node 650 may include or be coupled toacceleration circuitry 664, which may be embodied by one or more AI accelerators, a neural compute stick, neuromorphic hardware, an FPGA, an arrangement of GPUs, one or more SoCs, one or more CPUs, one or more digital signal processors, dedicated ASICs, or other forms of specialized processors or circuitry designed to accomplish one or more specialized tasks. These tasks may include AI processing (including machine learning, training, inferencing, and classification operations), visual data processing, network data processing, object detection, rule analysis, or the like. Accordingly, in various examples, applicable means for acceleration may be embodied by such acceleration circuitry. - The
interconnect 656 may couple theprocessor 652 to a sensor hub orexternal interface 670 that is used to connect additional devices or subsystems. The devices may includesensors 672, such as accelerometers, level sensors, flow sensors, optical light sensors, camera sensors, temperature sensors, a global positioning system (GPS) sensors, pressure sensors, barometric pressure sensors, and the like. The hub orinterface 670 further may be used to connect theedge computing node 650 toactuators 674, such as power switches, valve actuators, an audible sound generator, a visual warning device, and the like. - In some optional examples, various input/output (I/O) devices may be present within or connected to, the
edge computing node 650. For example, a display orother output device 684 may be included to show information, such as sensor readings or actuator position. An input device 686, such as a touch screen or keypad may be included to accept input. Anoutput device 684 may include any number of forms of audio or visual display, including simple visual outputs such as binary status indicators (e.g., LEDs) and multi-character visual outputs, or more complex outputs such as display screens (e.g., LCD screens), with the output of characters, graphics, multimedia objects, and the like being generated or produced from the operation of theedge computing node 650. - A
battery 676 may power theedge computing node 650, although, in examples in which theedge computing node 650 is mounted in a fixed location, it may have a power supply coupled to an electrical grid. Thebattery 676 may be a lithium ion battery, or a metal-air battery, such as a zinc-air battery, an aluminum-air battery, a lithium-air battery, and the like. - A battery monitor/
charger 678 may be included in theedge computing node 650 to track the state of charge (SoCh) of thebattery 676. The battery monitor/charger 678 may be used to monitor other parameters of thebattery 676 to provide failure predictions, such as the state of health (SoH) and the state of function (SoF) of thebattery 676. The battery monitor/charger 678 may include a battery monitoring integrated circuit, such as an LTC4020 or an LTC2990 from Linear Technologies, an ADT7488A from ON Semiconductor of Phoenix Ariz., or an IC from the UCD90xxx family from Texas Instruments of Dallas, Tex. The battery monitor/charger 678 may communicate the information on thebattery 676 to theprocessor 652 over theinterconnect 656. The battery monitor/charger 678 may also include an analog-to-digital (ADC) converter that enables theprocessor 652 to directly monitor the voltage of thebattery 676 or the current flow from thebattery 676. The battery parameters may be used to determine actions that theedge computing node 650 may perform, such as transmission frequency, mesh network operation, sensing frequency, and the like. - A
power block 680, or other power supply coupled to a grid, may be coupled with the battery monitor/charger 678 to charge thebattery 676. In some examples, thepower block 680 may be replaced with a wireless power receiver to obtain the power wirelessly, for example, through a loop antenna in theedge computing node 650. A wireless battery charging circuit, such as an LTC4020 chip from Linear Technologies of Milpitas, Calif., among others, may be included in the battery monitor/charger 678. The specific charging circuits may be selected based on the size of thebattery 676, and thus, the current required. The charging may be performed using the Airfuel standard promulgated by the Airfuel Alliance, the Qi wireless charging standard promulgated by the Wireless Power Consortium, or the Rezence charging standard, promulgated by the Alliance for Wireless Power, among others. - The
storage 658 may includeinstructions 682 in the form of software, firmware, or hardware commands to implement the techniques described herein. Althoughsuch instructions 682 are shown as code blocks included in thememory 654 and thestorage 658, it may be understood that any of the code blocks may be replaced with hardwired circuits, for example, built into an application specific integrated circuit (ASIC). - In an example, the
instructions 682 provided via thememory 654, thestorage 658, or theprocessor 652 may be embodied as a non-transitory, machine-readable medium 660 including code to direct theprocessor 652 to perform electronic operations in theedge computing node 650. Theprocessor 652 may access the non-transitory, machine-readable medium 660 over theinterconnect 656. For instance, the non-transitory, machine-readable medium 660 may be embodied by devices described for thestorage 658 or may include specific storage units such as optical disks, flash drives, or any number of other hardware devices. The non-transitory, machine-readable medium 660 may include instructions to direct theprocessor 652 to perform a specific sequence or flow of actions, for example, as described with respect to the flowchart(s) and block diagram(s) of operations and functionality depicted above. As used in, the terms “machine-readable medium” and “computer-readable medium” are interchangeable. - In further examples, a machine-readable medium also includes any tangible medium that is capable of storing, encoding or carrying instructions for execution by a machine and that cause the machine to perform any one or more of the methodologies of the present disclosure or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. A “machine-readable medium” thus may include but is not limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including but not limited to, by way of example, semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The instructions embodied by a machine-readable medium may further be transmitted or received over a communications network using a transmission medium via a network interface device utilizing any one of a number of transfer protocols (e.g., HTTP).
- A machine-readable medium may be provided by a storage device or other apparatus which is capable of hosting data in a non-transitory format. In an example, information stored or otherwise provided on a machine-readable medium may be representative of instructions, such as instructions themselves or a format from which the instructions may be derived. This format from which the instructions may be derived may include source code, encoded instructions (e.g., in compressed or encrypted form), packaged instructions (e.g., split into multiple packages), or the like. The information representative of the instructions in the machine-readable medium may be processed by processing circuitry into the instructions to implement any of the operations discussed herein. For example, deriving the instructions from the information (e.g., processing by the processing circuitry) may include: compiling (e.g., from source code, object code, etc.), interpreting, loading, organizing (e.g., dynamically or statically linking), encoding, decoding, encrypting, unencrypting, packaging, unpackaging, or otherwise manipulating the information into the instructions.
- In an example, the derivation of the instructions may include assembly, compilation, or interpretation of the information (e.g., by the processing circuitry) to create the instructions from some intermediate or preprocessed format provided by the machine-readable medium. The information, when provided in multiple parts, may be combined, unpacked, and modified to create the instructions. For example, the information may be in multiple compressed source code packages (or object code, or binary executable code, etc.) on one or several remote servers. The source code packages may be encrypted when in transit over a network and decrypted, uncompressed, assembled (e.g., linked) if necessary, and compiled or interpreted (e.g., into a library, stand-alone executable, etc.) at a local machine, and executed by the local machine.
- Each of the block diagrams of
FIGS. 6A and 6B are intended to depict a high-level view of components of a device, subsystem, or arrangement of an edge computing node. However, it will be understood that some of the components shown may be omitted, additional components may be present, and a different arrangement of the components shown may occur in other implementations. - Secure Memory Sharing Examples
- The following examples utilize hardware extensions and system configurations to employ dynamic memory encryption key generation and sharing among microservice sidecars (e.g., supporting processes or services that are deployed along with the primary microservice application). With the following configurations, hardware-encrypted memory may be shared seamlessly and efficiently among operational domains (including among domains encompassing different microservices for the same or different tenants). Sidecars implement much of the key management framework for EaaS mesh and edge interactions so that producer-consumer streaming among chains of microservices automatically occurs, while avoiding hardware latencies that arise from in-place trans-encryption.
-
FIG. 7 illustrates a block diagram depicting an example edgeservice mesh deployment 700 using sidecars for coordinating interactions among microservices. In the depicted deployment, a variety of 721, 723, 725, 727, 729 in a first cluster (e.g., connected to amicroservices service mesh 740 via gateway 712) and 731, 733, 735, 737, 739 in a second cluster (e.g., connected to themicroservices service mesh 740 via gateway 711) are connected to each other via respective sidecars (720, 722, 724, 726, 728, 730, 732, 734, 736, 738). The respective sidecars and microservices may be implemented via respective VMs which are launched and managed by one or more hypervisors (not shown) of the computing system(s) or node(s), in some examples with the use of containers. - Within the
deployment 700, various “proxies” for operations are, or can be, untrusted intermediaries that may be expected to perform routing and conveyance functions. In such a scenario, compromise of a proxy may result in denial of service but not more serious security issues. However, in this scenario, a sidecar may request attestation from a gateway or proxy to assess the trustworthiness of that environment to better infer the risk of denial of service. An edge orchestrator may also perform this duty. - Among other functions, each sidecar provides a mechanism for managing secure access to encrypted memory associated with its paired microservice (e.g.,
memory 760A associated withmicroservice 737, and memory 760B associated withmicroservice 729, etc.). Further, the 730, 732, 734, 736, 738 of the first cluster provide a mechanism for managing secure access to encrypted memory associated with the first cluster, whilesidecars 720, 722, 724, 726, 728 provide a mechanism for managing secure access to encrypted memory associated with the second cluster.sidecars - Both a microservice and sidecar may have a HW RoT (e.g., implemented with a DICE specification architecture) that may attest its identity and firmware configuration. It may be expected that a microservice will attest to a sidecar and a sidecar may relay the microservice attestation to a gateway or peer gateway or peer sidecar or peer microservice. A sidecar may attest its own identity and firmware config similarly. As discussed below, a tenant specific key may be derived or generated using a secret value that is derived from a microservice (or sidecar identity or firmware configuration) such that it may be used to protect tenant data or authenticate a tenant.
- Connectivity among the clusters may be managed or coordinated with use of the
service mesh 740. The sidecars and microservices may be deployed among one or multiple computing systems or clusters of systems, but are shown in the example ofFIG. 7 as being operated on a common computing system. Thus, theservice mesh 740 provides a connection to a particular network interface card (NIC) 750 or network card array of the computing system, to provide network access with other (external) devices, systems, users, consumers, nodes, etc. - A valuable feature of a sidecar is that it offers a loadable security model or other security policy enforcement point, with an environment that has a “trusted path” relationship with its paired container environment. The sidecar may also share data and state. Sidecars may not be “trusted” or “trustable” to the same extent that a secure enclave is recognized as a trusted execution environment; however, it is assumed that sidecars are at least as trusted as its paired container (e.g., the container running the corresponding microservice). Further, sidecars are useful to broker interactions with external entities because sidecars offer a sandbox environment where different staging and filtering can be applied. This provides functionality similar to an application firewall that is specific to its paired container.
- Accordingly, sidecars can provide trusted execution environments for supporting security functions such as cryptographic key generation, storage and usage, and other features. Sidecars can also enable security sensitive computations that protect privacy, intellectual property, content or other information assets from less-hardened mesh nodes. Furthermore, sidecars with trusted computing capabilities can attest the microservice configuration to peer microservice and sidecar nodes. A nesting of microservice/sidecar mesh nodes can attest the nesting structure or mesh structure such that a configuration of microservice and sidecar nodes can be evaluated for correct/incorrect structure, connectivity, and topology.
- The
service mesh 740 in the arrangement ofFIG. 7 may also be used as part of a network (cascade) of functions. For example, a complex program could include a top level ‘inner loop’ that is further composed of several inner-inner loops which may further be composed of inner-inner-inner loops etc. Each nesting of an inner loop may be supported by an accelerator offload (e.g., to acceleration hardware). Thus, many complex or coordinated scenarios may be enabled through the use of a service mesh within an edge computing arrangement. Additionally, the sidecar configurations discussed herein may enable bridging between different memory DIMMS hosted in the edge node that are utilized among different processing devices (e.g., FPGA, accelerators, etc.). - Within the configuration of
FIG. 7 and like implementations, the various microservice VMs (e.g., respective VMs that implement 720, 722, 724, 726, 728, 730, 732, 734, 736, 738) and sidecar VMs (e.g., respective VMs that implementmicroservices 721, 723, 725, 727, 729, 731, 733, 735, 737, 739) may rely on a hypervisor for provisioning a VM-specific or tenant-specific seed that is used to derive tenant keys for secure memory operations, as discussed in more detail below. In an example, the hypervisor may partition resources according to a tenant assignment (e.g., blocks for device A are partitioned into blocks 0-N and allocated tosidecars Tenant 1; blocks N+1-M are allocated toTenant 2, etc.). The tenant-specific keys used to protect data may be persisted according to the tenant partitioning scheme. Tenant partitioning schemes can be made node independent, to allow tenant keys to migrate from one hypervisor to another on a different computing node, or potentially in different edge locations, as the different edge locations or nodes are connected with a secure channel. - It should be understood that, in some settings, a microservice/sidecar pair that is on one side of a service mesh may be described as local, while a microservice/sidecar on the other side of a service mesh may be described as remote. As a result, there can be multiple microservice/sidecar interactions that are local but may involve different tenants (or a single tenant). Similarly, there can be multiple microservice/side-car interactions that are remote but may involve different tenants (or a single tenant).
- A microservice controller/orchestrator may manage microservice-to-microservice according to a single or multi-tenant interaction model. A Software Defined Network (SDN) may be used to define a service mesh such that the interactions (either single tenant or multi-tenant) may be software defined. Hardware RoTs may nevertheless be used to attest or demonstrate the hardware underpinning of an SDN/SDM (software defined mesh) and microservice or side-cars connected to the SDN/SDM configurations.
-
FIG. 8 illustrates a block diagram of a Multi-Key Total Memory Encryption (MKTME)architecture 800 for encrypting memory. Specifically, thisarchitecture 800 illustrates how a computing system with multiple MKTME controllers (e.g., the instance ofMKTME engine 840 implemented at one of multiple encryption engines) may be paired with multiple memory controllers 822A, 822B as the front end tomemory subsystems 824A, 824B. Thememory subsystems 824A, 824B may be provided from DRAM, FLASH, Intel® 3D-Xpoint, or any number of other memory/storage technologies (e.g., as discussed with reference toFIG. 6B , above). The operation of the MKTME architecture operates to establish anencrypted memory space 820 of aprocessing platform 812 for storage and access in thememory subsystems 824A, 824B, while enabling anunencrypted memory space 810 in theprocessing platform 812. - A
MKTME controller 840 decodes memory access instructions (within operation of an engine 830) containing aKeyID value 832 that indexes into a key table 845 (e.g., a table indexed by a corresponding a KeyID value 841). This key table 845 contains theencryption key 842 and data for other modes 843 appropriate for applying encryption or decryption operations toaddressable memory 834. Key management functions suitable to EaaS workloads and service mesh interactions cooperate with theMKTME controller 840 to update entries in the key table 845. - In an example, each sidecar VM (e.g.,
sidecars 731 and the like) is adapted to include key management functionality to perform the appropriate key migration steps, when key migration is needed to provide (e.g., share, transfer, send, etc.) data to other microservice instances (e.g., from themicroservice 730 to the 732, 734, etc.). Key migration may also involve transfer from a first cluster or group to a second cluster or group (e.g., to transfer data from themicroservice microservice 720 to the microservice 730). Key migration also may involve use of the hypervisor keys to endorse the migration. -
FIG. 9 illustrates a block diagram of edge computing nodes, utilizing asidecar 930 with key management functions for distributed interactions among 900A and 900B. Specifically,edge computing nodes FIG. 9 shows EaaS sidecar environments tied to MKTME controllers (respectively forNode A 900A andNode B 900B) where an EaaS mesh service or other EaaS distributed computing technique utilizes a key management protocol and algorithm for negotiating keys used to authenticate, integrity protect, or confidentially protect peer node interactions. Further, these keys may be used with MKTME controllers to retain these protections while data is located in memory accessible via MKTME front-ended memory controllers. - In a similar fashion as provided in
FIG. 8 , each 900A, 900B includesnode 912A, 912B having an area of operation forcomputing hardware unencrypted data 910A, 910B and forencrypted data 920A, 920B. The encrypted data is managed at the 922A, 922B and 923A, 923B at each node withrespective storage devices 921A, 921B and 922A, 922B. Thememory controllers sidecar 930 includes key management functionality to share the appropriate memory encryption key between 900A and 900B, so that encrypted data can be accessed and shared from node to node without needing to convert to another encryption key.nodes - With the use of the key management functionality, distributed data operations can be enabled in hardware among multiple nodes, tenants, and other entities of a distributed computing system. In a scenario where two entities share an address space, the sidecar supports a dynamic keying mechanism that generates the correct set keys for the logical intersection of entities who are trying to share data. As a result, access to a shared memory region can be supported, through use of a key that is held by both principals, even while data remains encrypted.
-
FIG. 10 illustrates aflowchart 1000 of a process for key migration among tenant nodes within an edge computing system using memory encryption operations. This process may be implemented as a result of a variety of data transfer, exchange, sharing, or offloading scenarios, as microservices transfer protected data from one location to another. This process may also be implemented by coordination among the various sidecar VMs, or as part of coordination with a service mesh or other orchestration/management entities, as suggested with reference to the deployments inFIGS. 7 to 9 , discussed above. - The
flowchart 1000 begins with a hypervisor partitioning one or more resources, according to tenant assignments (operation 1010). Other partitioning on the basis of service types, groups, or other memberships, may also be implemented. Based on this partitioning, memory encryption techniques are used to protect data with tenant-specific keys (operation 1020), according to the tenant partitioning scheme (or the other applicable partitioning scheme). - The
flowchart 1000 continues with operations to identify a key migration condition (operation 1030), such as from the transfer of data from one microservice to another or the sharing of data among two or more microservices; and the use of key management functionality at a sidecar virtual machine to perform the key sharing or migration (operation 1040). The communication of the key may include encryption of one or more keys (operation 1050) at applicable data sources and decryption of one or more keys (operation 1060) at applicable data destinations. In an example, consider a case where a peer node may have a trust anchor forKeyID 1 of the current node. In this example, a key wrapping function may be used withKeyID 1 to encrypt an EaaS microservice and sidecar key (memory encryption key) set to the peer node's hypervisor. Additionally, the KeyID may be determined by using a DICE architecture-generated key that is qualified by a hardware RoT and DICE layering. Such a qualification may involve use of a certificate path corresponding to the layering such that KeyID values are unambiguous and non-overlapping (e.g., in terms of namespaces). - The
flowchart 1000 continues with operations to instantiate the microservice and sidecar at the migration location, and utilize the protected memory data based on the migrated keys (operation 1070). For example, the peer node hypervisor may decrypt (unwrap) the key set and instantiate the microservice and sidecar on the peer node to use the secured data. This may be followed by operations to clean up key migration (operation 1080). For example, the current node hypervisor may agree to remove the current microservice key context from being available for migration. However, in some examples, it may be appropriate to retain duplicate instances of a microservice context in order to implement redundancy, resiliency and high-availability solutions. - In a cases where persistent encrypted data is buffered/cached for use in encrypted memory (e.g., in MKTME-capable memory), the persistent storage keys may be supplied to the memory controller/cache controller. This enables the particular controller to decrypt when needed, avoiding unnecessary decryption/re-encryption to transition data from long-term storage to short-term cached or in-memory use. This complements the sidecar/microservice (main car) use case.
- Protection of the microservice and connected service mesh environments (and keys) may be achieved in part by using separation and partitioning of compute resources, such as provided by virtualization. This protection may be augmented with specially hardened execution environment technology such as a trusted execution environment (e.g., provided by Intel SGX, or ARM TrustZone), a FPGA, security/crypto offload hardware, and the like.
- One possible security concern with a particular implementation of memory encryption (e.g., MKTME) is that even if all data values in memory are encrypted with this encryption, there may be risks from vulnerabilities with the particular algorithm or implementation of encryption. The use of sidecars may mitigate such vulnerabilities, as sidecars may include software that can be adapted and updated to counteract known vulnerabilities. Further, the architectural consideration of separating EaaS security management features employed in a sidecar environment from the local processing features employed in a microservice environment enables further security separation from the underlying service instance.
- As discussed herein, a key generated according to a Device Identity Composition Engine (DICE) specification key may be used as a MKTME key. In further examples, if the storage controller, hypervisor or para-virtualized guest VM implements a DICE approach to key generation, the controller environment may supply seed values in the form of a Compound Device Identifier (CDI) that may be used to derive or generate the full spectrum of microservice and sidecar keys. Further detail on the DICE architecture specification and the use of a CDI within such architectures is detailed by Trusted Computing Group (TCG) DICE specifications. The use of seeds is illustrated in more detail in the following examples.
- Also, in further examples, the memory encryption techniques may also be provided based on implementation with hardware-based instructions, such as provided by Intel® Software Guard Extensions (SGX). For instance, an evolution of SGX may provide support for tenant-specific keys, or provide support for a tenant-specific loadable application to contain tenant-specific keys. Other forms or combinations of memory encryption and key management may also be adapted with the present techniques, including the use of DICE as a RoT where a layering of firmware in a secure execution environment provides for use of tenant-specific keys.
-
FIG. 11 illustrates a block diagram of an edge computing node operating a microservice and a sidecar with managed memory. Specifically, this diagram illustrates an EaaSmicroservice computing node 1100 that providesmultiple tenant environments 1110, 1120, with each environment including an EaaS micro-service and sidecar environment (e.g., as provided by microservice VM0 1111 andmicroservice VM1 1112, with sidecars not shown). - A possible implementation strategy involves using a
hypervisor 1130 and the multiple VMs (e.g.,VMs 1111, 1112 in tenant instance 1110) to implement microservice and sidecar environments, as well as to apply tenant isolation semantics, for access to the secured memory (e.g., data in microservice storage device 1140). Alternative implementation options might rely on data or operations provided within secure enclaves or trusted execution environments (e.g., established from Intel® SGX or ARM® TrustZone), trusted domains, physical resource partitioning, or other isolation or security techniques, to manage access and enforce security of the encrypted data in thestorage device 1140. - In further examples, other entities besides a hypervisor, and other hypervisor configurations, may be used for implementation. For example, a sidecar may be implemented in some settings using a NIC, FPGA, or other accelerator (e.g., where the accelerator is a general purpose compute engine in addition to performing acceleration functions). In further examples, the hypervisor may be outside the trust boundary of the microservice and sidecar but may support binding the two entities. For instance, there may be a local secure path between the microservice and sidecar based on local cryptographic keys (e.g., established with a DICE architecture) where the microservice is provisioned with a policy that allows it to attest and trust the sidecar. The side-car also may be provisioned with a policy that allows it to attest and trust the microservice. Also, it will be understood that the microservice and sidecar may be bound or securely associated in other ways, whether using a hypervisor, microcode, or other features to establish a trusted binding/path between the microservice and sidecar.
-
FIG. 12 illustrates an interoperability diagram, depicting overlap among encryption keys for managing and sharing memory, based on the key identifiers detailed in the VMs and hypervisor ofcomputing node 1000. Specifically, this interoperability diagram illustrates the relationship between keys assigned for respective VMs. In an example, each tenant sub-environment (e.g. microservice or sidecar VMs, hypervisor) may allocate keys (e.g., keys within 1200, 1210, 1220, 1230, 1240) according to an isolation policy. This isolation policy may allow data to be confidential to a specific environment (e.g., that VM) or shared across specific environments (e.g., multiple VMs) as depicted by the Venn diagram inmappings FIG. 12 . (This Venn diagram is simplified for purposes of illustration, and does not include many versions of keys). For instance, an EaaS service mesh may require multiple key pairings that allow peer-to-peer secure and authenticated interactions to accomplish service operations among multiple microservices. As another example, this policy may also allow a group key to be shared among all peers in the service mesh as well as other keys (e.g., group EPIDs) that do not require sharing of private keying material but still supports group interactions. - As shown in
FIG. 11 , each of the environments (e.g. microservices, sidecars, hypervisors) may implement key hierarchies using seed values that allow for localized key generation or derivation. Such linking may be provided by DICE layering, for instance, where the CDI (secret) from a previous layer of firmware or hardware is computed by cryptographically combining it with a digest of the next layer firmware, such that the next layer CDI value identifies the next layer and is cryptographically linked to the previous layer, and so on. - Accordingly, such key hierarchies may follow industry specifications for attestable device identities such as TCG Device Identity Composition Engine (DICE) technology where each environment is able to generate attestable identities using a Component Device Identity (CDI) value as the seed and where an attestation verification process may verify the software, firmware and other “state” associated with these environments as a condition of further mesh interactions. Further, inter-machine collaboration may be established, so that keys used to protect a particular shared storage area or buffer, are encrypted on one area and decrypted on another, with the same key.
- A new instruction set architecture may facilitate dynamic arrangement of proxies such that each proxy has communication with its own domain “owner”. However, lateral domain arrangement and communication involving other proxies may require specially negotiated key contexts such that different domains may agree to use different MKTME keys (e.g.,
KeyID 4 used inFIGS. 11 and 12 ). - Other variations for groups or a service mesh may also be provided. In a service configuration involving connections to multiple domain contexts (for example via a gateway node, such as depicted in
FIG. 7 ) the gateway may apply domain specific policies associated with application semantics that might copy data from one domain to the other. For example, if Domain A had a policy that labeled data in Domain A as SENSITIVE while a policy for Domain B labeled it UNCLASSIFIED, the gateway might prevent nodes in Domain C authorized for only SENSITIVE from discovering Domain B. Furthermore, the gateway may authorize different keys for use with UNCLASSIFIED data than for SENSITIVE data. Cross-domain interactions might involve use of keys that are authorized by a domain controller. Such semantics may also have temporal connotations or properties, such as to support a timestamp where particular semantics change to support data evolving semantics (e.g., at time T3, change from SENSITIVE to UNCLASSIFIED). The use of key management by sidecars may enable domain controller authorized keys to be used with MKTME or other similar technologies for isolating and encrypting resources. - Another dimension of secure key management allows both encrypted and decrypted cached content to be the shared across service mesh nodes that are participating in the same mesh, cluster, domain, distributed application, or group. The memory encryption controller may be augmented with caching capabilities such that data shared across mesh nodes can reside in distributed mesh caches and may contain state variables related to activities of peer nodes in the mesh.
- When a microservice runs, the cache can be utilized to quickly load the appropriate mesh context. Also, if appropriate, cached content can be decrypted for use in a local application context or re-encrypted using an appropriate local application or microservice context.
- Additionally, every EaaS microservice/mesh application is often implemented without knowing who (or what) it will be interacting with it ahead of time; this service or application may know at a logical level who it will interact with, but peer nodes might have a context on a local node or some other mesh node. Connections between the current node and the memory encryption controller can rely on the sidecar to make the appropriate context switch. This context switch may be assisted by “helper” functions that use “liabilities” policies to determine when a context switch is appropriate and which key operations are most appropriate. This approach means that the underlying encryption strategy (such as MKTME) can be used without needing to translate data, to avoid unnecessary decrypt/re-encrypt operations. This makes the sidecars more efficient. Other variations to key management and distribution may be provided, such as with use of a key distribution service, certificate authority, or another entity who can specify the use of keys in particular contexts.
-
FIG. 13 illustrates aflowchart 1300 of an example process for facilitating communications among edge computing nodes using memory encryption, according to an example. The followingflowchart 1300 is illustrated from the perspective of an edge computing system which includes multiple edge computing instances (e.g., edge computing nodes) deployed among respective virtual machines, including the use of a hypervisor(s) and virtual machines for the deployment of microservice instances and accompanying proxy sidecars. However, in an example, the operations may be coordinated among: a larger, distributed computing system or platform; within a service mesh; or within a variety of other configurations deployed among a microservice deployment domain. - The
flowchart 1300 begins withoperation 1310, performed by the edge computing system, to establish a microservice domain and isolation policy, for management of encrypted data. In various examples, a microservice domain encompasses (includes a definition for) a plurality of microservices, as the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within the memory of the edge computing system. This isolation policy may provide definition of confidentiality or sharing among various entities of the domain (such as microservice, sidecar, and hypervisor entities). For instance, the microservice domain may be configured to enable data sharing between a first tenant and a second tenant of a system; an implementing policy in this domain may enable sharing among a first and second microservice, with the first microservice being associated with and secured to a first tenant, and the second microservice being associated with and secured to a second tenant. - The
flowchart 1300 continues withoptional operation 1320, to implement seed values for localized key generation or derivation. For example, a seed that is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, may be used to derive respective keys of the allocated memory encryption keys. For instance, the seed may be produced from a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification. - The
flowchart 1300 continues withoperation 1330, to allocate memory encryption keys to a microservice domain, according to the isolation policy. In one configuration the data isolation policy is provided based on tenant assignments determined by a hypervisor, as the plurality of microservices and the sidecars are operated in respective virtual machines managed by the hypervisor. For instance, the microservice domain may be defined to include a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor. Additionally, in an example, the microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, as the respective memory encryption keys are established (or utilized) in the data isolation policy. - The
flowchart 1300 continues withoperation 1340, to store data in secured, encrypted memory, using the allocated encryption keys. For instance, encryption of respective sets of data within the memory may be provided from multi-key memory encryption techniques, as at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system. - The
flowchart 1300 continues withoperation 1350, to migrate data within the microservice domain. Additional processing (not shown) may occur to begin or proceed with the migration process (such as with processing of a request to migrate the data). For instance, operations may occur to identify a migration condition, that causes or initiates the transfer the encrypted data, and the communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice. - The migration itself may include sharing data associated with a first microservice of the microservice domain, to be shared with a second microservice of the microservice domain, using operations that communicate an encryption key (while, optionally, maintaining the encrypted data in the memory). The communication of the encryption key, used for the encrypted data stored in the memory, enables communication from a proxy associated with the first microservice to a proxy associated with the second microservice. The maintenance of the encrypted data within the memory enables the access and use of encrypted data already stored in the memory with the communicated encryption key.
- In specific examples, the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars (e.g., operating in an arrangement of a plurality of sidecars). For example, the respective sidecars may correspond to respective microservices of the plurality of microservices. In this configuration, the respective sidecars associated with the first microservice and the second microservice each include key management functionality, and use the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice (as in operation 1360).
- The
flowchart 1300 continues withoperation 1360, to utilize migrated data, stored in the secured, encrypted memory, within other entities of the microservice domain (using the allocated encryption keys). In further examples, the microservice domain is defined among entities of a service mesh within a computing system, as the first microservice operates as a member of a first cluster orchestrated by a first gateway, and as the second microservice operates as a member of a second cluster orchestrated by a second gateway. Likewise, in a specific configuration, the first microservice operates on a first node of the edge computing system, with the first node including a first hypervisor, as the second microservice operates on a second node of the edge computing system, with the second node including a second hypervisor. In this configuration, the first microservice and the second microservice may be connected via a service mesh, as respective key pairings are established within the service mesh to enable peer-to-peer secure and authenticated interactions among respective entities of the edge computing system. - Implementation of the preceding techniques may be accomplished through any number of specifications, configurations, or example deployments of hardware and software. It should be understood that the functional units or capabilities described in this specification may have been referred to or labeled as components or modules, in order to more particularly emphasize their implementation independence. Such components may be embodied by any number of software or hardware forms. For example, a component or module may be implemented as a hardware circuit comprising custom very-large-scale integration (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A component or module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like. Components or modules may also be implemented in software for execution by various types of processors. An identified component or module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified component or module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the component or module and achieve the stated purpose for the component or module.
- Indeed, a component or module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices or processing systems. In particular, some aspects of the described process (such as code rewriting and code analysis) may take place on a different processing system (e.g., in a computer in a data center), than that in which the code is deployed (e.g., in a computer embedded in a sensor or robot). Similarly, operational data may be identified and illustrated herein within components or modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network. The components or modules may be passive or active, including agents operable to perform desired functions.
- Additional examples of the presently described method, system, and device embodiments include the following, non-limiting configurations. Each of the non-limiting examples may stand on its own, or may be combined in any permutation or combination with any one or more of the other examples provided below or throughout the present disclosure.
- Example 1 is an edge computing system, comprising: memory configured to store encrypted data; and processing circuitry configured to perform operations that: allocate memory encryption keys according to a data isolation policy defined for a microservice domain, the microservice domain including a plurality of microservices, wherein the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within the memory; and share data associated with a first microservice of the microservice domain to a second microservice of the microservice domain, with operations that: communicate an encryption key, used on the encrypted data stored in the memory, from a proxy associated with the first microservice to a proxy associated with the second microservice; and maintain the encrypted data within the memory, wherein the second microservice is enabled to use the encrypted data stored in the memory with the communicated encryption key.
- In Example 2, the subject matter of Example 1 includes, subject matter where the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars from a plurality of sidecars, wherein the respective sidecars of the plurality of sidecars correspond to respective microservices of the plurality of microservices.
- In Example 3, the subject matter of Example 2 includes, subject matter where the respective sidecars associated with the first microservice and the second microservice each include key management functionality, the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice.
- In Example 4, the subject matter of Examples 2-3 includes, subject matter where the data isolation policy is provided based on tenant assignments determined by a hypervisor, wherein the plurality of microservices and the sidecars are operated in respective virtual machines managed by the hypervisor.
- In Example 5, the subject matter of Example 4 includes, subject matter where the microservice domain includes a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
- In Example 6, the subject matter of Examples 4-5 includes, subject matter where microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
- In Example 7, the subject matter of Examples 1-6 includes, subject matter where the first microservice is associated with a first tenant, wherein the second microservice is associated with a second tenant, and wherein the microservice domain enables data sharing between the first tenant and the second tenant.
- In Example 8, the subject matter of Example 7 includes, subject matter where the encryption of respective sets of data within the memory is provided from multi-key memory encryption, wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
- In Example 9, the subject matter of Examples 1-8 includes, the processing circuitry further configured to: identify a migration condition, which causes or initiates the transfer the encrypted data and communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- In Example 10, the subject matter of Examples 1-9 includes, subject matter where the microservice domain is defined among entities of a service mesh within a computing system, wherein the first microservice is a member of a first cluster orchestrated by a first gateway, and wherein the second microservice is a member of a second cluster orchestrated by a second gateway.
- In Example 11, the subject matter of Examples 1-10 includes, subject matter where a seed that is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, is used to derive respective keys of the allocated memory encryption keys.
- In Example 12, the subject matter of Example 11 includes, subject matter where the seed comprises a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
- In Example 13, the subject matter of Examples 1-12 includes, subject matter where the operations that communicate the encryption key from the proxy associated with the first microservice to the proxy associated with the second microservice, include: encrypting the encryption key; and providing the encryption key to a hypervisor, the hypervisor having instantiated the first microservice and the proxy associated with the first microservice; wherein the hypervisor decrypts the encryption key, instantiates the second microservice and the proxy associated with the second microservice, and provides the encryption key to the proxy associated with the second microservice for use by the second microservice.
- In Example 14, the subject matter of Examples 1-13 includes, subject matter where the first microservice operates on a first node of the edge computing system, the first node including a first hypervisor, wherein the second microservice operates on a second node of the edge computing system, the second node including a second hypervisor.
- In Example 15, the subject matter of Example 14 includes, subject matter where the first microservice and the second microservice are connected via a service mesh, and wherein respective key pairings are established within the service mesh to enable peer-to-peer secure and authenticated interactions among respective entities of the edge computing system.
- Example 16 is a method performed by an edge computing system, comprising: allocating memory encryption keys according to a data isolation policy defined for a microservice domain, the microservice domain including a plurality of microservices, wherein the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within a memory of the edge computing system; and sharing data associated with a first microservice of the microservice domain to a second microservice of the microservice domain, with operations that: communicating an encryption key, used on the encrypted data stored in the memory, from a proxy associated with the first microservice to a proxy associated with the second microservice; and maintaining the encrypted data within the memory, wherein the second microservice is enabled to use the encrypted data stored in the memory with the communicated encryption key.
- In Example 17, the subject matter of Example 16 includes, subject matter where the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars from a plurality of sidecars, wherein the respective sidecars of the plurality of sidecars correspond to respective microservices of the plurality of microservices.
- In Example 18, the subject matter of Example 17 includes, subject matter where the respective sidecars associated with the first microservice and the second microservice each include key management functionality, the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice.
- In Example 19, the subject matter of Examples 17-18 includes, subject matter where the data isolation policy is provided based on tenant assignments determined by a hypervisor, wherein the plurality of microservices and the sidecars are operated in respective virtual machines managed by the hypervisor.
- In Example 20, the subject matter of Example 19 includes, subject matter where the microservice domain includes a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
- In Example 21, the subject matter of Examples 19-20 includes, subject matter where microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
- In Example 22, the subject matter of Examples 16-21 includes, subject matter where the first microservice is associated with a first tenant, wherein the second microservice is associated with a second tenant, and wherein the microservice domain enables data sharing between the first tenant and the second tenant.
- In Example 23, the subject matter of Example 22 includes, subject matter where the encryption of respective sets of data within the memory is provided from multi-key memory encryption, wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
- In Example 24, the subject matter of Examples 16-23 includes, the method further comprising: identifying a migration condition, which causes or initiates the transfer the encrypted data and communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- In Example 25, the subject matter of Examples 16-24 includes, subject matter where the microservice domain is defined among entities of a service mesh within a computing system, wherein the first microservice is a member of a first cluster orchestrated by a first gateway, and wherein the second microservice is a member of a second cluster orchestrated by a second gateway.
- In Example 26, the subject matter of Examples 16-25 includes, subject matter where a seed that is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, is used to derive respective keys of the allocated memory encryption keys.
- In Example 27, the subject matter of Example 26 includes, subject matter where the seed comprises a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
- In Example 28, the subject matter of Examples 16-27 includes, subject matter where the operations that communicate the encryption key, from the proxy associated with the first microservice to the proxy associated with the second microservice, include: encrypting the encryption key; and providing the encryption key to a hypervisor, the hypervisor having instantiated the first microservice and the proxy associated with the first microservice; wherein the hypervisor decrypts the encryption key, instantiates the second microservice and the proxy associated with the second microservice, and provides the encryption key to the proxy associated with the second microservice for use by the second microservice.
- In Example 29, the subject matter of Examples 16-28 includes, subject matter where the first microservice operates on a first node of the edge computing system, the first node including a first hypervisor, wherein the second microservice operates on a second node of the edge computing system, the second node including a second hypervisor.
- In Example 30, the subject matter of Example 29 includes, subject matter where the first microservice and the second microservice are connected via a service mesh, and wherein respective key pairings are established within the service mesh to enable peer-to-peer secure and authenticated interactions among respective entities of the edge computing system.
- Example 31 is at least one non-transitory machine-readable storage medium comprising instructions or stored data which may be configured into instructions, wherein the instructions, when configured and executed by processing circuitry of a computing device, cause the processing circuitry to perform any of the operations of Examples 16 to 30.
- Example 32 is an apparatus, operable in an edge computing system, the apparatus comprising: means for allocating memory encryption keys according to a data isolation policy defined for a microservice domain, the microservice domain including a plurality of microservices, wherein the plurality of microservices utilize respective keys of the allocated memory encryption keys for encryption of respective sets of data within a memory of the edge computing system; and means for sharing data associated with a first microservice of the microservice domain to a second microservice of the microservice domain; means for communicating an encryption key, used on the encrypted data stored in the memory, from a proxy associated with the first microservice to a proxy associated with the second microservice; and means for maintaining the encrypted data within the memory, wherein the second microservice is enabled to use the encrypted data stored in the memory with the communicated encryption key.
- In Example 33, the subject matter of Example 32 includes, means for operating a plurality of sidecars, wherein the proxy associated with the first microservice and the proxy associated with the second microservice are respective sidecars of the plurality of sidecars, and wherein the respective sidecars of the plurality of sidecars correspond to respective microservices of the plurality of microservices.
- In Example 34, the subject matter of Example 33 includes, means for implementing key management functionality, wherein the respective sidecars associated with the first microservice and the second microservice each include the key management functionality, the key management functionality to manage interactions for securely exchanging data between the first microservice and the second microservice.
- In Example 35, the subject matter of Examples 33-34 includes, means for implementing a hypervisor, wherein the data isolation policy is provided based on tenant assignments determined by the hypervisor, and wherein the plurality of microservices and the sidecars are operated in respective virtual machines managed by the hypervisor.
- In Example 36, the subject matter of Example 35 includes, means for establishing a microservice domain, wherein the microservice domain includes a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
- In Example 37, the subject matter of Examples 35-36 includes, means for allocating respective memory encryption keys, wherein microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
- In Example 38, the subject matter of Examples 32-37 includes, means for associating the first microservice with a first tenant; means for associating the second microservice with a second tenant; and means for enabling data sharing between the first tenant and the second tenant with the microservice domain.
- In Example 39, the subject matter of Example 38 includes, means for implementing the encryption of respective sets of data within the memory with multi-key memory encryption, wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
- In Example 40, the subject matter of Examples 32-39 includes, means for identifying a migration condition, which causes or initiates the transfer the encrypted data and communication of the encryption key to enable migration of the encrypted data from the first microservice to the second microservice.
- In Example 41, the subject matter of Examples 32-40 includes, means for defining the microservice domain among entities of a service mesh within a computing system, wherein the first microservice is a member of a first cluster orchestrated by a first gateway, and wherein the second microservice is a member of a second cluster orchestrated by a second gateway.
- In Example 42, the subject matter of Examples 32-41 includes, means for deriving respective keys of the allocated memory encryption keys, using a seed that is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice.
- In Example 43, the subject matter of Example 42 includes, means for providing the seed using a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
- In Example 44, the subject matter of Examples 32-43 includes, means for encrypting the encryption key; and means for providing the encryption key to a hypervisor, the hypervisor having instantiated the first microservice and the proxy associated with the first microservice; wherein the hypervisor decrypts the encryption key, instantiates the second microservice and the proxy associated with the second microservice, and provides the encryption key to the proxy associated with the second microservice for use by the second microservice.
- In Example 45, the subject matter of Examples 32-44 includes, means for coordinating operation of the first microservice on a first node of the edge computing system, the first node including a first hypervisor; and means for coordinating operation of the second microservice on a second node of the edge computing system, the second node including a second hypervisor.
- In Example 46, the subject matter of Example 45 includes, means for coordinating the first microservice and the second microservice to be connected via a service mesh, and wherein respective key pairings are established within the service mesh to enable peer-to-peer secure and authenticated interactions among respective entities of the edge computing system.
- Example 47 is a memory controller, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 48 is a network interface card, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 49 is memory encryption circuitry, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 50 is a computing processing platform, configured to perform one or more operations of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 51 is at least one machine-readable storage medium including instructions, wherein the instructions, when executed by a processing circuitry of a computing device, cause the processing circuitry to perform operations of any of Examples 1-46.
- Example 52 may include one or more non-transitory computer-readable media comprising data to cause an electronic device, upon loading, execution, configuration, or provisioning of the instructions by one or more processors or electronic circuitry of the electronic device, to perform one or more elements of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 53 may include an apparatus comprising logic, modules, or circuitry to perform one or more elements of a method described in or related to any of Examples 1-46, or any other method or process described herein.
- Example 54 may include a method, technique, or process as described in or related to any of Examples 1-46, or portions or parts thereof.
- Example 55 may include an apparatus comprising: one or more processors and one or more computer readable media comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the method, techniques, or process as described in or related to any of Examples 1-46, or portions thereof.
- Example 56 may include a signal as described in or related to any of Examples 1-46, or portions or parts thereof.
- Example 57 may include a signal in a network as described in or related to any of Examples 1-46, or as otherwise shown and described herein.
- Example 58 may include a method of performing or coordinating communications among a network as described in or related to any of Examples 1-46, or as otherwise shown and described herein.
- Example 59 may include a device for processing communication as described in or related to any of Examples 1-46, or as otherwise shown and described herein.
- Example 60 is a network comprising respective devices and device communication mediums for performing any of the operations of Examples 1-46, or as otherwise shown and described herein.
- Example 61 is an edge cloud computing device implementation comprising processing nodes and computing units adapted for performing any of the operations of Examples 1-46, or as otherwise shown and described herein.
- Example 62 is an apparatus comprising means to implement of any of Examples 1-61.
- Example 63 is a system to implement of any of Examples 1-62.
- Example 64 is a method to implement of any of Examples 1-62.
- In the above Detailed Description, various features may be grouped together to streamline the disclosure. However, claims may not set forth every feature disclosed herein as embodiments may feature a subset of said features. Further, embodiments may include fewer features than those disclosed in a particular example. Thus, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment.
Claims (29)
1. (canceled)
2. An edge computing system, comprising:
memory to store data; and
circuitry to perform operations that:
allocate memory encryption keys according to a data isolation policy defined for a microservice domain, wherein respective entities of the microservice domain utilize respective keys of the allocated memory encryption keys to encrypt the data within the memory, and wherein seeds that are unique to the respective entities are used to generate the allocated memory encryption keys; and
share the data within the memory from a first entity of the microservice domain to a second entity of the microservice domain, based on operations that:
communicate an encryption key, used on the encrypted data stored at a location within the memory, from a proxy associated with the first entity to a proxy associated with the second entity; and
maintain the encrypted data at the location within the memory, wherein the second entity is enabled to use the encrypted data stored at the location in the memory based on the encryption key.
3. The edge computing system of claim 2 , wherein the first entity is a first microservice associated with a first tenant and the second entity is a second microservice associated with a second tenant, and wherein the proxy associated with the first microservice is a first sidecar established for the first microservice and the proxy associated with the second microservice is a second sidecar established for the second microservice.
4. The edge computing system of claim 3 , wherein the first sidecar and the second sidecar utilize key management functions and key management protocols, to conduct interactions that securely exchange other data between the first microservice and the second microservice.
5. The edge computing system of claim 3 , wherein the data isolation policy is established based on tenant assignments determined by a hypervisor, wherein microservice entities and sidecar entities are operated in virtual machines managed by the hypervisor, and wherein the microservice domain includes: a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
6. The edge computing system of claim 5 , wherein microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
7. The edge computing system of claim 2 , wherein the circuitry is implemented by a storage controller, wherein the encryption of respective sets of data within the memory is provided from multi-key memory encryption, and wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
8. The edge computing system of claim 2 , wherein each of the seeds is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, and wherein each of the seeds is based on a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
9. The edge computing system of claim 2 , wherein the microservice domain is defined among entities of a service mesh, wherein the first entity is a member of a first cluster orchestrated by a first gateway, and wherein the second entity is a member of a second cluster orchestrated by a second gateway.
10. The edge computing system of claim 2 , wherein the microservice domain is one of a plurality of domains operated in a service mesh associated with the edge computing system, and wherein the microservice domain applies different data isolation policies than other domains in the plurality of domains.
11. At least one non-transitory machine-readable storage medium comprising instructions, wherein the instructions, when executed by a circuitry of a computing device in an edge computing system, cause the circuitry to perform operations that:
allocate memory encryption keys according to a data isolation policy defined for a microservice domain, wherein respective entities of the microservice domain utilize respective keys of the allocated memory encryption keys to encrypt data within a memory, and wherein seeds that are unique to the respective entities are used to generate the allocated memory encryption keys; and
cause the data within the memory to be shared from a first entity of the microservice domain to a second entity of the microservice domain, based on operations that:
communicate an encryption key, used on the encrypted data stored at a location within the memory, from a proxy associated with the first entity to a proxy associated with the second entity; and
maintain the encrypted data at the location within the memory, wherein the second entity is enabled to use the encrypted data stored at the location in the memory based on the encryption key.
12. The non-transitory machine-readable storage medium of claim 11 , wherein the first entity is a first microservice associated with a first tenant and the second entity is a second microservice associated with a second tenant, and wherein the proxy associated with the first microservice is a first sidecar established for the first microservice and the proxy associated with the second microservice is a second sidecar established for the second microservice.
13. The non-transitory machine-readable storage medium of claim 12 , wherein the first sidecar and the second sidecar utilize key management functions and key management protocols, to conduct interactions that securely exchange other data between the first microservice and the second microservice.
14. The non-transitory machine-readable storage medium of claim 12 , wherein the data isolation policy is established based on tenant assignments determined by a hypervisor, wherein microservice entities and sidecar entities are operated in virtual machines managed by the hypervisor, and wherein the microservice domain includes: a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
15. The non-transitory machine-readable storage medium of claim 14 , wherein microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
16. The non-transitory machine-readable storage medium of claim 11 , wherein the encryption of respective sets of data within the memory is provided from multi-key memory encryption, and wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
17. The non-transitory machine-readable storage medium of claim 11 , wherein each of the seeds is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, and wherein each of the seeds is based on a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
18. The non-transitory machine-readable storage medium of claim 11 , wherein the microservice domain is one of a plurality of domains, and wherein a domain controller authorizes interactions between the microservice domain and one or more other domains of the plurality of domains based on one or more shared encryption keys.
19. A method performed by a computing device of an edge computing system, comprising:
allocating memory encryption keys according to a data isolation policy defined for a microservice domain, wherein respective entities of the microservice domain utilize respective keys of the allocated memory encryption keys to encrypt data within a memory device, and wherein seeds that are unique to the respective entities are used to generate the allocated memory encryption keys; and
sharing the data within the memory device from a first entity of the microservice domain to a second entity of the microservice domain, by performing operations including:
communicating an encryption key, used on the encrypted data stored at a location within the memory device, from a proxy associated with the first entity to a proxy associated with the second entity; and
maintaining the encrypted data at the location within the memory device, wherein the second entity is enabled to use the encrypted data stored at the location in the memory device based on the encryption key.
20. The method of claim 19 , wherein the first entity is a first microservice associated with a first tenant and the second entity is a second microservice associated with a second tenant, and wherein the proxy associated with the first microservice is a first sidecar established for the first microservice and the proxy associated with the second microservice is a second sidecar established for the second microservice.
21. The method of claim 20 , wherein the first sidecar and the second sidecar utilize key management functions and key management protocols, to conduct interactions that securely exchange other data between the first microservice and the second microservice.
22. The method of claim 20 , wherein the data isolation policy is established based on tenant assignments determined by a hypervisor, wherein microservice entities and sidecar entities are operated in virtual machines managed by the hypervisor, and wherein the microservice domain includes: a first virtual machine for the first microservice, a second virtual machine for the second microservice, and the hypervisor.
23. The method of claim 22 , wherein microservice, sidecar, and hypervisor entities associated with each tenant are allocated with respective memory encryption keys according to the data isolation policy, and wherein the respective memory encryption keys are established in the data isolation policy based on a definition of confidentiality or sharing among the microservice, sidecar, and hypervisor entities.
24. The method of claim 19 , wherein the encryption of respective sets of data within the memory device is provided from multi-key memory encryption, and wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
25. The method of claim 19 , wherein each of the seeds is unique to a microservice, to a sidecar of the microservice, or to a tenant of the microservice, and wherein each of the seeds is based on a compound device identifier (CDI) generated according to a Device Identity Composition Engine (DICE) specification.
26. The method of claim 19 , wherein the microservice domain is one of a plurality of domains, and wherein a domain controller authorizes cross-domain interactions between the microservice domain and one or more other domains of the plurality of domains by sharing the encryption key.
27. An apparatus, operable in an edge computing system, the apparatus comprising:
means for allocating memory encryption keys according to a data isolation policy defined for a microservice domain, wherein respective entities of the microservice domain utilize respective keys of the allocated memory encryption keys to encrypt data within a memory means;
means for generating the allocated memory encryption keys, using seeds that are unique to the respective entities; and
means for sharing data from a first entity of the microservice domain to a second entity of the microservice domain, the means for sharing data comprising:
means for communicating an encryption key, used on the encrypted data stored at a location within the memory means, from a proxy associated with the first entity to a proxy associated with the second entity; and
means for maintaining the encrypted data at the location within the memory means, wherein the second entity is enabled to use the encrypted data stored at the location in the memory means based on the encryption key.
28. The apparatus of claim 27 , further comprising:
means for operating a plurality of sidecars and plurality of microservices, wherein the first entity is a first microservice associated with a first tenant and the second entity is a second microservice associated with a second tenant, and wherein the proxy associated with the first microservice is a first sidecar established for the first microservice and the proxy associated with the second microservice is a second sidecar established for the second microservice.
29. The apparatus of claim 28 , further comprising:
means for implementing the encryption of respective sets of data within the memory means via multi-key memory encryption, and wherein at least one of the respective keys of the allocated memory encryption keys corresponds to a respective tenant in the edge computing system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/668,979 US20220239507A1 (en) | 2019-09-28 | 2022-02-10 | Dynamic sharing in secure memory environments using edge service sidecars |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962907597P | 2019-09-28 | 2019-09-28 | |
| US201962939303P | 2019-11-22 | 2019-11-22 | |
| US16/723,029 US11283635B2 (en) | 2019-09-28 | 2019-12-20 | Dynamic sharing in secure memory environments using edge service sidecars |
| US17/668,979 US20220239507A1 (en) | 2019-09-28 | 2022-02-10 | Dynamic sharing in secure memory environments using edge service sidecars |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/723,029 Continuation US11283635B2 (en) | 2019-09-28 | 2019-12-20 | Dynamic sharing in secure memory environments using edge service sidecars |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20220239507A1 true US20220239507A1 (en) | 2022-07-28 |
Family
ID=70279862
Family Applications (11)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/723,195 Active 2040-04-03 US11245538B2 (en) | 2019-09-28 | 2019-12-20 | Methods and apparatus to aggregate telemetry data in an edge environment |
| US16/722,820 Active US11374776B2 (en) | 2019-09-28 | 2019-12-20 | Adaptive dataflow transformation in edge computing environments |
| US16/722,917 Active 2040-04-09 US11139991B2 (en) | 2019-09-28 | 2019-12-20 | Decentralized edge computing transactions with fine-grained time coordination |
| US16/723,358 Active 2041-05-02 US11669368B2 (en) | 2019-09-28 | 2019-12-20 | Multi-tenant data protection in edge computing environments |
| US16/723,277 Abandoned US20200136921A1 (en) | 2019-09-28 | 2019-12-20 | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment |
| US16/723,702 Abandoned US20200142735A1 (en) | 2019-09-28 | 2019-12-20 | Methods and apparatus to offload and onload workloads in an edge environment |
| US16/723,029 Active 2040-08-30 US11283635B2 (en) | 2019-09-28 | 2019-12-20 | Dynamic sharing in secure memory environments using edge service sidecars |
| US17/568,567 Active 2040-03-07 US12112201B2 (en) | 2019-09-28 | 2022-01-04 | Methods and apparatus to aggregate telemetry data in an edge environment |
| US17/668,979 Abandoned US20220239507A1 (en) | 2019-09-28 | 2022-02-10 | Dynamic sharing in secure memory environments using edge service sidecars |
| US18/141,681 Active US12386686B2 (en) | 2019-09-28 | 2023-05-01 | Multi-tenant data protection in edge computing environments |
| US18/453,812 Abandoned US20250071023A1 (en) | 2019-09-28 | 2023-08-22 | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment |
Family Applications Before (8)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/723,195 Active 2040-04-03 US11245538B2 (en) | 2019-09-28 | 2019-12-20 | Methods and apparatus to aggregate telemetry data in an edge environment |
| US16/722,820 Active US11374776B2 (en) | 2019-09-28 | 2019-12-20 | Adaptive dataflow transformation in edge computing environments |
| US16/722,917 Active 2040-04-09 US11139991B2 (en) | 2019-09-28 | 2019-12-20 | Decentralized edge computing transactions with fine-grained time coordination |
| US16/723,358 Active 2041-05-02 US11669368B2 (en) | 2019-09-28 | 2019-12-20 | Multi-tenant data protection in edge computing environments |
| US16/723,277 Abandoned US20200136921A1 (en) | 2019-09-28 | 2019-12-20 | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment |
| US16/723,702 Abandoned US20200142735A1 (en) | 2019-09-28 | 2019-12-20 | Methods and apparatus to offload and onload workloads in an edge environment |
| US16/723,029 Active 2040-08-30 US11283635B2 (en) | 2019-09-28 | 2019-12-20 | Dynamic sharing in secure memory environments using edge service sidecars |
| US17/568,567 Active 2040-03-07 US12112201B2 (en) | 2019-09-28 | 2022-01-04 | Methods and apparatus to aggregate telemetry data in an edge environment |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/141,681 Active US12386686B2 (en) | 2019-09-28 | 2023-05-01 | Multi-tenant data protection in edge computing environments |
| US18/453,812 Abandoned US20250071023A1 (en) | 2019-09-28 | 2023-08-22 | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment |
Country Status (6)
| Country | Link |
|---|---|
| US (11) | US11245538B2 (en) |
| EP (2) | EP3798833B1 (en) |
| JP (1) | JP7654359B2 (en) |
| KR (1) | KR20210038827A (en) |
| CN (4) | CN112583882A (en) |
| DE (2) | DE102020208110A1 (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220209971A1 (en) * | 2019-09-28 | 2022-06-30 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
| WO2024072874A1 (en) * | 2022-09-29 | 2024-04-04 | Nec Laboratories America, Inc. | Dynamic resource management for stream analytics |
| US12206552B2 (en) | 2019-04-30 | 2025-01-21 | Intel Corporation | Multi-entity resource, security, and service management in edge computing deployments |
| US12238184B2 (en) * | 2022-09-29 | 2025-02-25 | Rakuten Mobile, Inc. | Network management for executing a service using a plurality of entities |
| US20250125949A1 (en) * | 2023-10-12 | 2025-04-17 | Mastercard International Incorporated | Systems and methods for distributed cryptography as a service key loading |
| US12438698B2 (en) | 2023-07-27 | 2025-10-07 | Cisco Technology, Inc. | Managing encryption keys of secure tunnels in multi-tenant edge devices |
Families Citing this family (253)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220365821A1 (en) * | 2016-01-28 | 2022-11-17 | Pure Storage, Inc. | Fingerprint-Based Database Container Deployment |
| WO2019084972A1 (en) * | 2017-11-06 | 2019-05-09 | 深圳市大疆创新科技有限公司 | Streaming media live broadcast method and system |
| US11064057B2 (en) * | 2017-11-30 | 2021-07-13 | Intel Corporation | Multi-access edge computing (MEC) translation of radio access technology messages |
| US10805382B2 (en) * | 2018-01-29 | 2020-10-13 | International Business Machines Corporation | Resource position planning for distributed demand satisfaction |
| US10841392B2 (en) | 2018-04-12 | 2020-11-17 | Pearson Management Services Limited | System and method for redundant API linked microservice communication |
| US11625806B2 (en) * | 2019-01-23 | 2023-04-11 | Qualcomm Incorporated | Methods and apparatus for standardized APIs for split rendering |
| US11128474B2 (en) * | 2019-03-25 | 2021-09-21 | Micron Technology, Inc. | Secure device communication |
| US10884725B2 (en) * | 2019-03-27 | 2021-01-05 | Wipro Limited | Accessing container images in a distributed ledger network environment |
| US11212085B2 (en) * | 2019-03-29 | 2021-12-28 | Intel Corporation | Technologies for accelerated hierarchical key caching in edge systems |
| CN110401696B (en) * | 2019-06-18 | 2020-11-06 | 华为技术有限公司 | Decentralized processing method, communication agent, host and storage medium |
| EP3993337A4 (en) * | 2019-08-01 | 2023-01-11 | Siemens Aktiengesellschaft | METHOD, DEVICE AND SYSTEM FOR FIELD DATA TRANSMISSION AND COMPUTER READABLE MEDIA |
| CN110430079B (en) * | 2019-08-05 | 2021-03-16 | 腾讯科技(深圳)有限公司 | Vehicle-road cooperation system |
| US10827020B1 (en) * | 2019-10-03 | 2020-11-03 | Hewlett Packard Enterprise Development Lp | Assignment of microservices |
| US11818576B2 (en) * | 2019-10-03 | 2023-11-14 | Verizon Patent And Licensing Inc. | Systems and methods for low latency cloud computing for mobile applications |
| US11640315B2 (en) | 2019-11-04 | 2023-05-02 | Vmware, Inc. | Multi-site virtual infrastructure orchestration of network service in hybrid cloud environments |
| US11709698B2 (en) * | 2019-11-04 | 2023-07-25 | Vmware, Inc. | Multi-site virtual infrastructure orchestration of network service in hybrid cloud environments |
| US11907755B2 (en) * | 2019-11-22 | 2024-02-20 | Rohde & Schwarz Gmbh & Co. Kg | System and method for distributed execution of a sequence processing chain |
| WO2021123491A1 (en) * | 2019-12-20 | 2021-06-24 | Airo Finland Oy | Protection against malicious data traffic |
| US11520501B2 (en) * | 2019-12-20 | 2022-12-06 | Intel Corporation | Automated learning technology to partition computer applications for heterogeneous systems |
| US11683861B2 (en) * | 2020-01-06 | 2023-06-20 | Koji Yoden | Edge-based communication and internet communication for media distribution, data analysis, media download/upload, and other services |
| US11044173B1 (en) * | 2020-01-13 | 2021-06-22 | Cisco Technology, Inc. | Management of serverless function deployments in computing networks |
| US11558180B2 (en) * | 2020-01-20 | 2023-01-17 | International Business Machines Corporation | Key-value store with blockchain properties |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| US11394774B2 (en) * | 2020-02-10 | 2022-07-19 | Subash Sundaresan | System and method of certification for incremental training of machine learning models at edge devices in a peer to peer network |
| US11018957B1 (en) * | 2020-03-04 | 2021-05-25 | Granulate Cloud Solutions Ltd. | Enhancing performance in network-based systems |
| US11630700B2 (en) * | 2020-03-23 | 2023-04-18 | T-Mobile Usa, Inc. | Local edge device |
| US11089092B1 (en) * | 2020-03-31 | 2021-08-10 | EMC IP Holding Company LLC | N-tier workload and data placement and orchestration |
| US12250312B2 (en) * | 2020-04-02 | 2025-03-11 | International Business Machines Corporation | Trusted ledger stamping |
| US11838794B2 (en) * | 2020-04-23 | 2023-12-05 | Veea Inc. | Method and system for IoT edge computing using containers |
| US20230112996A1 (en) * | 2020-04-30 | 2023-04-13 | Intel Corporation | Compilation for function as a service implementations distributed across server arrays |
| KR20210136496A (en) | 2020-05-08 | 2021-11-17 | 현대자동차주식회사 | System for estimating state of health of battery using big data |
| US11178527B1 (en) * | 2020-05-12 | 2021-11-16 | International Business Machines Corporation | Method and apparatus for proactive data hinting through dedicated traffic channel of telecom network |
| KR102857466B1 (en) | 2020-05-19 | 2025-09-08 | 현대자동차주식회사 | System for controlling vehicle power using big data |
| CN112511533A (en) * | 2020-05-20 | 2021-03-16 | 郝鹏 | Communication data processing method, system and platform based on block chain and cloud computing |
| KR20210144171A (en) * | 2020-05-21 | 2021-11-30 | 현대자동차주식회사 | System for controlling vehicle using disributed clouding |
| US11323509B2 (en) * | 2020-05-28 | 2022-05-03 | EMC IP Holding Company LLC | Union formation of edge cloud-native clusters |
| CN111371813B (en) * | 2020-05-28 | 2020-10-02 | 杭州灿八科技有限公司 | Big data network data protection method and system based on edge calculation |
| US11348167B2 (en) | 2020-05-28 | 2022-05-31 | EMC IP Holding Company LLC | Method and storage medium for private edge-station auction house |
| EP3916552A1 (en) * | 2020-05-28 | 2021-12-01 | Siemens Aktiengesellschaft | Method and processing unit for running applications of a technical, sensor- and actuator-based system and technical system |
| US11546315B2 (en) * | 2020-05-28 | 2023-01-03 | Hewlett Packard Enterprise Development Lp | Authentication key-based DLL service |
| US11611517B2 (en) * | 2020-05-29 | 2023-03-21 | Equinix, Inc. | Tenant-driven dynamic resource allocation for virtual network functions |
| CN111756812B (en) * | 2020-05-29 | 2021-09-21 | 华南理工大学 | Energy consumption perception edge cloud cooperation dynamic unloading scheduling method |
| CN112291069A (en) * | 2020-06-10 | 2021-01-29 | 李彩云 | Communication information processing method applied to cloud side terminal cooperation and cloud side communication server |
| CN115917508B (en) * | 2020-06-15 | 2025-07-29 | 日本电信电话株式会社 | Processing system and processing method |
| EP3929749A1 (en) * | 2020-06-26 | 2021-12-29 | Bull Sas | Method and device for remote running of connected object programs in a local network |
| US11770377B1 (en) * | 2020-06-29 | 2023-09-26 | Cyral Inc. | Non-in line data monitoring and security services |
| CN111711801B (en) * | 2020-06-30 | 2022-08-26 | 重庆紫光华山智安科技有限公司 | Video data transmission method, device, server and computer readable storage medium |
| CN113438219B (en) * | 2020-07-08 | 2023-06-02 | 支付宝(杭州)信息技术有限公司 | Playback transaction identification method and device based on blockchain all-in-one machine |
| CN111541784B (en) | 2020-07-08 | 2021-07-20 | 支付宝(杭州)信息技术有限公司 | A transaction processing method and device based on a blockchain integrated machine |
| CN111539829B (en) | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | To-be-filtered transaction identification method and device based on block chain all-in-one machine |
| CN111541789A (en) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | Data synchronization method and device based on block chain all-in-one machine |
| CN112492002B (en) | 2020-07-08 | 2023-01-20 | 支付宝(杭州)信息技术有限公司 | Transaction forwarding method and device based on block chain all-in-one machine |
| US11704412B2 (en) * | 2020-07-14 | 2023-07-18 | Dell Products L.P. | Methods and systems for distribution and integration of threat indicators for information handling systems |
| KR102875368B1 (en) * | 2020-07-16 | 2025-10-23 | 삼성전자주식회사 | Storage controller, and client and server including the same, method of operating the same |
| US11070621B1 (en) | 2020-07-21 | 2021-07-20 | Cisco Technology, Inc. | Reuse of execution environments while guaranteeing isolation in serverless computing |
| CN112104693B (en) * | 2020-07-22 | 2021-08-10 | 北京邮电大学 | Task unloading method and device for non-uniform mobile edge computing network |
| EP4189979A1 (en) | 2020-07-27 | 2023-06-07 | Telefonaktiebolaget LM ERICSSON (PUBL) | Private sharing of location data for extended reality rendering |
| EP4189585A1 (en) * | 2020-07-27 | 2023-06-07 | Telefonaktiebolaget LM Ericsson (publ) | Computer vision and artificial intelligence method to optimize overlay placement in extended reality |
| AU2021316010A1 (en) * | 2020-07-30 | 2023-03-09 | Centurylink Intellectual Property Llc | Edge compute environment configuration tool for a communications network |
| US20220051129A1 (en) * | 2020-08-14 | 2022-02-17 | International Business Machines Corporation | Blockchain-enabled model drift management |
| CN111988753A (en) * | 2020-08-20 | 2020-11-24 | 浙江璟锐科技有限公司 | Urban dynamic big data acquisition system and method and data processing terminal |
| WO2022041695A1 (en) * | 2020-08-26 | 2022-03-03 | 华为技术有限公司 | Traffic monitoring method and apparatus, integrated circuit, network device, and network system |
| US11470159B2 (en) * | 2020-08-28 | 2022-10-11 | Cisco Technology, Inc. | API key security posture scoring for microservices to determine microservice security risks |
| EP4208452A1 (en) * | 2020-09-03 | 2023-07-12 | Immunesensor Therapeutics, Inc. | Quinoline cgas antagonist compounds |
| US11102280B1 (en) * | 2020-09-08 | 2021-08-24 | HashiCorp | Infrastructure imports for an information technology platform |
| WO2022061587A1 (en) * | 2020-09-23 | 2022-03-31 | 西门子股份公司 | Edge computing method and system, edge device, and control server |
| US12068928B2 (en) * | 2020-09-25 | 2024-08-20 | Intel Corporation | Methods and apparatus to schedule workloads based on secure edge to device telemetry |
| CN112261112B (en) * | 2020-10-16 | 2023-04-18 | 华人运通(上海)云计算科技有限公司 | Information sharing method, device and system, electronic equipment and storage medium |
| US11317321B1 (en) | 2020-10-27 | 2022-04-26 | Sprint Communications Company L.P. | Methods for delivering network slices to a user |
| US12353520B2 (en) * | 2020-11-02 | 2025-07-08 | Intel Corporation | Graphics security with synergistic encryption, content-based and resource management technology |
| CN116711278A (en) * | 2020-11-10 | 2023-09-05 | 皇家Kpn公司 | Obtain samples for learning-based resource management by tuning stream properties |
| WO2022101080A1 (en) | 2020-11-10 | 2022-05-19 | Koninklijke Kpn N.V. | Obtaining samples for learning-based resource management by adjusting flow characteristics |
| CN112351106B (en) * | 2020-11-12 | 2021-08-27 | 四川长虹电器股份有限公司 | Service grid platform containing event grid and communication method thereof |
| US12190152B2 (en) * | 2020-11-24 | 2025-01-07 | Raytheon Company | Run-time schedulers for field programmable gate arrays or other logic devices |
| US11558189B2 (en) * | 2020-11-30 | 2023-01-17 | Microsoft Technology Licensing, Llc | Handling requests to service resources within a security boundary using a security gateway instance |
| CN112346821B (en) * | 2020-12-01 | 2023-09-26 | 新华智云科技有限公司 | Application configuration management method and system based on kubernetes |
| US11582020B2 (en) * | 2020-12-02 | 2023-02-14 | Verizon Patent And Licensing Inc. | Homomorphic encryption offload for lightweight devices |
| US11704156B2 (en) * | 2020-12-06 | 2023-07-18 | International Business Machines Corporation | Determining optimal placements of workloads on multiple platforms as a service in response to a triggering event |
| US11693697B2 (en) | 2020-12-06 | 2023-07-04 | International Business Machines Corporation | Optimizing placements of workloads on multiple platforms as a service based on costs and service levels |
| US11366694B1 (en) * | 2020-12-06 | 2022-06-21 | International Business Machines Corporation | Estimating attributes of running workloads on platforms in a system of multiple platforms as a service |
| WO2022123287A1 (en) * | 2020-12-07 | 2022-06-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Portability of configuration policies for service mesh-based composite applications |
| US20220179750A1 (en) * | 2020-12-09 | 2022-06-09 | Dell Products L.P. | System and method for intent based data protection |
| US12423141B2 (en) | 2020-12-09 | 2025-09-23 | Dell Products L.P. | System and method for dynamic data protection architecture |
| CN112506635B (en) * | 2020-12-11 | 2024-03-29 | 奇瑞汽车股份有限公司 | Evolutionary immunization method based on self-adaptive strategy |
| US12443876B2 (en) | 2020-12-17 | 2025-10-14 | Hewlett Packard Enterprise Development Lp | Context-aware and stateless deep learning autotuning framework |
| CN112527829B (en) * | 2020-12-17 | 2022-05-10 | 浙江经贸职业技术学院 | IoT-based industrial data transmission and visualization system |
| US11372987B1 (en) * | 2020-12-17 | 2022-06-28 | Alan Rodriguez | System and method for controlling data using containers |
| US11799865B2 (en) * | 2020-12-18 | 2023-10-24 | Microsoft Technology Licensing, Llc | Multi-chamber hosted computing environment for collaborative development between untrusted partners |
| US11405456B2 (en) | 2020-12-22 | 2022-08-02 | Red Hat, Inc. | Policy-based data placement in an edge environment |
| CN112631777B (en) * | 2020-12-26 | 2023-12-15 | 扬州大学 | Searching and resource allocation method based on block chain and edge calculation |
| US12289362B2 (en) | 2020-12-26 | 2025-04-29 | Intel Corporation | Multi-tenant isolated data regions for collaborative platform architectures |
| US11743241B2 (en) | 2020-12-30 | 2023-08-29 | International Business Machines Corporation | Secure data movement |
| US11611591B2 (en) * | 2020-12-30 | 2023-03-21 | Virtustream Ip Holding Company Llc | Generating unified views of security and compliance for multi-cloud workloads |
| US11665533B1 (en) * | 2020-12-30 | 2023-05-30 | T-Mobile Innovations Llc | Secure data analytics sampling within a 5G virtual slice |
| US12481796B2 (en) | 2020-12-30 | 2025-11-25 | International Business Machines Corporation | Secure memory sharing |
| US11630723B2 (en) * | 2021-01-12 | 2023-04-18 | Qualcomm Incorporated | Protected data streaming between memories |
| WO2022151071A1 (en) * | 2021-01-13 | 2022-07-21 | Oppo广东移动通信有限公司 | Node determination method and apparatus of distributed task, device, and medium |
| WO2022151083A1 (en) * | 2021-01-13 | 2022-07-21 | Oppo广东移动通信有限公司 | Node determination method and apparatus for distributed task, and device and medium |
| US11722867B2 (en) * | 2021-01-14 | 2023-08-08 | Verizon Patent And Licensing Inc. | Systems and methods to determine mobile edge deployment of microservices |
| US20240231997A1 (en) * | 2021-01-18 | 2024-07-11 | Arthur Intelligence Inc. | Methods and systems for secure and reliable integration of healthcare practice operations, management, administrative and financial software systems |
| US12190140B2 (en) * | 2021-01-21 | 2025-01-07 | VMware LLC | Scheduling workloads in a container orchestrator of a virtualized computer system |
| US20220237050A1 (en) * | 2021-01-28 | 2022-07-28 | Dell Products L.P. | System and method for management of composed systems using operation data |
| US12204946B2 (en) | 2021-01-28 | 2025-01-21 | Dell Products L.P. | Method and system for providing composable infrastructure capabilities |
| WO2022164732A1 (en) * | 2021-01-29 | 2022-08-04 | Assia Spe, Llc | System and method for network and computation performance probing for edge computing |
| DE102021201236A1 (en) | 2021-02-10 | 2022-08-11 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method for authenticating a message from an arithmetic unit, arithmetic unit, computer program and vehicle |
| US12045601B1 (en) | 2021-03-01 | 2024-07-23 | Apple Inc. | Systems and methods for dynamic data management |
| US11438442B1 (en) * | 2021-03-18 | 2022-09-06 | Verizon Patent And Licensing Inc. | Systems and methods for optimizing provision of high latency content by a network |
| US11593732B2 (en) * | 2021-03-26 | 2023-02-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | License orchestrator to most efficiently distribute fee-based licenses |
| CN112737953B (en) | 2021-03-31 | 2021-08-03 | 之江实验室 | Resilient route generation system for reliable communication of power grid wide-area phase measurement system |
| CN113079159B (en) * | 2021-04-01 | 2022-06-10 | 北京邮电大学 | Edge computing network system based on block chain |
| US11588752B2 (en) | 2021-04-08 | 2023-02-21 | Cisco Technology, Inc. | Route exchange in multi-tenant clustered controllers |
| WO2022215549A1 (en) * | 2021-04-08 | 2022-10-13 | ソニーグループ株式会社 | Processing system, and information processing device and method |
| CN113114758B (en) * | 2021-04-09 | 2022-04-12 | 北京邮电大学 | Method and device for scheduling tasks for server-free edge computing |
| US11868805B2 (en) * | 2021-04-13 | 2024-01-09 | Red Hat, Inc. | Scheduling workloads on partitioned resources of a host system in a container-orchestration system |
| US12124729B2 (en) | 2021-04-13 | 2024-10-22 | Micron Technology, Inc. | Controller to alter systems based on metrics and telemetry |
| US11818102B2 (en) * | 2021-04-16 | 2023-11-14 | Nokia Technologies Oy | Security enhancement on inter-network communication |
| US20220342899A1 (en) * | 2021-04-21 | 2022-10-27 | EMC IP Holding Company LLC | Method and system for provisioning workflows with proactive data transformation |
| US12032993B2 (en) | 2021-04-21 | 2024-07-09 | EMC IP Holding Company LLC | Generating and managing workflow fingerprints based on provisioning of devices in a device ecosystem |
| US11972289B2 (en) | 2021-04-21 | 2024-04-30 | EMC IP Holding Company LLC | Method and system for provisioning workflows based on locality |
| US12204949B2 (en) | 2021-04-21 | 2025-01-21 | EMC IP Holding Company LLC | Method and system for managing accelerator pools to perform subportions of portions of workflows |
| CN113259420A (en) * | 2021-04-26 | 2021-08-13 | 苏州市伯太数字科技有限公司 | Intelligent sensor edge computing system based on TSN (transmission time network) standard |
| CN113179325B (en) * | 2021-04-30 | 2022-08-02 | 招商局金融科技有限公司 | Multi-terminal collaborative interaction method and device, gateway box and medium |
| US11601363B2 (en) | 2021-05-14 | 2023-03-07 | Comcast Cable Communications, Llc | Intelligent internet traffic routing |
| CN113378655B (en) * | 2021-05-24 | 2022-04-19 | 电子科技大学 | An Adversarial Energy Decomposition Method Based on Deep Neural Networks |
| US11700187B2 (en) | 2021-06-04 | 2023-07-11 | Verizon Patent And Licensing Inc. | Systems and methods for configuring and deploying multi-access edge computing applications |
| JP7605306B2 (en) * | 2021-06-08 | 2024-12-24 | 日本電信電話株式会社 | Communication schedule allocation device, communication schedule allocation method, and program |
| US11783453B2 (en) * | 2021-06-10 | 2023-10-10 | Bank Of America Corporation | Adapting image noise removal model based on device capabilities |
| US12482211B2 (en) | 2021-06-16 | 2025-11-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Extended reality overlay optimization via distributed computing |
| WO2022269884A1 (en) * | 2021-06-24 | 2022-12-29 | 日本電信電話株式会社 | Processing method, processing system, and processing program |
| CN113467970B (en) * | 2021-06-25 | 2023-09-26 | 阿里巴巴新加坡控股有限公司 | Cross-security-area resource access method in cloud computing system and electronic equipment |
| US20210329354A1 (en) * | 2021-06-26 | 2021-10-21 | Intel Corporation | Telemetry collection technologies |
| US12236248B1 (en) | 2021-06-30 | 2025-02-25 | Amazon Technologies, Inc. | Transparent migration of radio-based applications |
| US11916999B1 (en) | 2021-06-30 | 2024-02-27 | Amazon Technologies, Inc. | Network traffic management at radio-based application pipeline processing servers |
| US12255951B1 (en) * | 2021-06-30 | 2025-03-18 | Amazon Technologies, Inc. | Capacity management for radio-based applications |
| US12284162B2 (en) | 2021-07-01 | 2025-04-22 | Mellanox Technologies, Ltd. | Systems, methods, and devices for encrypted data transfer using a NIC and distributed root of trust |
| CN115567232B (en) * | 2021-07-01 | 2025-08-29 | 迈络思科技有限公司 | System, method and device for encrypted data transmission |
| US11983573B2 (en) * | 2021-07-15 | 2024-05-14 | EMC IP Holding Company LLC | Mapping telemetry data to states for efficient resource allocation |
| US12242891B2 (en) * | 2021-07-22 | 2025-03-04 | EMC IP Holding Company LLC | Edge function bursting |
| CN113612616A (en) * | 2021-07-27 | 2021-11-05 | 北京沃东天骏信息技术有限公司 | Vehicle communication method and device based on block chain |
| US12158979B2 (en) | 2021-07-30 | 2024-12-03 | Red Hat, Inc. | Security broker with post-provisioned states of the tee-protected services |
| WO2023004517A1 (en) * | 2021-07-30 | 2023-02-02 | Mpowered Technology Solutions Inc. | System and method for secure data messaging |
| US12169553B2 (en) * | 2021-07-30 | 2024-12-17 | Red Hat, Inc. | Security broker for consumers of tee-protected services |
| US20240325883A1 (en) * | 2021-08-06 | 2024-10-03 | Interdigital Patent Holdings, Inc. | Methods and apparatuses for signaling enhancement in wireless communications |
| CN117356129A (en) * | 2021-08-13 | 2024-01-05 | 英特尔公司 | Support of quality of service in a radio access network based computing system |
| US11991293B2 (en) | 2021-08-17 | 2024-05-21 | International Business Machines Corporation | Authorized secure data movement |
| US20230058310A1 (en) * | 2021-08-19 | 2023-02-23 | Sterlite Technologies Limited | Method and system for deploying intelligent edge cluster model |
| KR102510258B1 (en) * | 2021-08-31 | 2023-03-14 | 광운대학교 산학협력단 | Collaboration system between edge servers based on computing resource prediction in intelligent video security environment |
| CN113709739A (en) * | 2021-09-03 | 2021-11-26 | 四川启睿克科技有限公司 | Reliable management and rapid network access method and system for intelligent equipment |
| US20230078184A1 (en) * | 2021-09-16 | 2023-03-16 | Hewlett-Packard Development Company, L.P. | Transmissions of secure activities |
| US12367320B2 (en) * | 2021-09-22 | 2025-07-22 | Ridgeline, Inc. | Mechanism for real-time identity resolution in a distributed system |
| US12432111B2 (en) * | 2021-09-25 | 2025-09-30 | Intel Corporation | Systems, apparatus, and methods for data resiliency in an edge network environment |
| CN117941335A (en) * | 2021-09-27 | 2024-04-26 | 西门子股份公司 | Knowledge distribution system, method, device and computer readable medium |
| US20230161632A1 (en) * | 2021-09-27 | 2023-05-25 | Advanced Micro Devices, Inc. | Platform resource selction for upscaler operations |
| CN114125749B (en) * | 2021-09-28 | 2025-06-13 | 南京工业职业技术大学 | A method and device for transmitting detection signals between autonomous driving vehicles |
| US20230094384A1 (en) * | 2021-09-28 | 2023-03-30 | Advanced Micro Devices, Inc. | Dynamic allocation of platform resources |
| US20230103826A1 (en) * | 2021-09-29 | 2023-04-06 | Nvidia Corporation | Instruction sets for generating schedules for task execution in computing systems |
| US11595324B1 (en) * | 2021-10-01 | 2023-02-28 | Bank Of America Corporation | System for automated cross-network monitoring of computing hardware and software resources |
| US11556403B1 (en) | 2021-10-19 | 2023-01-17 | Bank Of America Corporation | System and method for an application programming interface (API) service modification |
| CN113691380B (en) * | 2021-10-26 | 2022-01-18 | 西南石油大学 | Multidimensional private data aggregation method in smart power grid |
| CN114019229B (en) * | 2021-10-30 | 2025-04-22 | 冯林安 | An Internet-based environmental protection equipment monitoring system |
| CN114172930B (en) * | 2021-11-09 | 2023-04-07 | 清华大学 | Large-scale Internet of things service domain isolated communication method and device, electronic equipment and storage medium |
| US12413557B2 (en) | 2021-11-18 | 2025-09-09 | International Business Machines Corporation | Trusted execution environment for service mesh |
| US11894979B2 (en) | 2021-11-30 | 2024-02-06 | Red Hat, Inc. | Mapping proxy connectivity |
| US12231340B2 (en) * | 2021-12-02 | 2025-02-18 | Juniper Networks, Inc. | Edge device for telemetry flow data collection |
| CN114205414B (en) * | 2021-12-06 | 2024-07-26 | 百度在线网络技术(北京)有限公司 | Data processing method, device, electronic equipment and medium based on service grid |
| US12105614B2 (en) * | 2021-12-06 | 2024-10-01 | Jpmorgan Chase Bank, N.A. | Systems and methods for collecting and processing application telemetry |
| US20230185760A1 (en) * | 2021-12-13 | 2023-06-15 | Intel Corporation | Technologies for hardware microservices accelerated in xpu |
| US11606245B1 (en) | 2021-12-13 | 2023-03-14 | Red Hat, Inc. | Validating endpoints in a service mesh of a distributed computing system |
| US12464602B2 (en) * | 2021-12-20 | 2025-11-04 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to improve mobile edge platform resiliency |
| US12450008B2 (en) * | 2021-12-21 | 2025-10-21 | Intel Corporation | Remote storage for hardware microservices hosted on XPUs and SOC-XPU platforms |
| US12346595B2 (en) | 2021-12-27 | 2025-07-01 | Dell Products L.P. | System and method for a local level data sharding analysis of information handling systems |
| US12363203B2 (en) | 2022-01-05 | 2025-07-15 | Dell Products L.P. | Method and system for managing telemetry services for composed information handling systems |
| US12223357B2 (en) * | 2022-01-05 | 2025-02-11 | Dell Products L.P. | Method and system for performing predictive compositions for composed information handling systems using telemetry data |
| US12212547B2 (en) | 2022-01-21 | 2025-01-28 | Red Hat, Inc. | Floating PV service for mesh secure message transfer |
| CN114416438B (en) * | 2022-01-25 | 2025-09-23 | 中国工商银行股份有限公司 | Data export method, device, computer equipment and scheduling service system |
| CN114648870B (en) * | 2022-02-11 | 2023-07-28 | 行云新能科技(深圳)有限公司 | Edge computing system, edge computing decision prediction method, and computer-readable storage medium |
| US12436806B2 (en) * | 2022-02-28 | 2025-10-07 | Dell Products L.P. | Global service catalog for provisioning services on a multi-cluster service mesh of a multi-cluster computing environment |
| US11997536B2 (en) * | 2022-03-01 | 2024-05-28 | Alcatel-Lucent India Limited | System and method for controlling congestion in a network |
| US20230281100A1 (en) * | 2022-03-03 | 2023-09-07 | Cisco Technology, Inc. | Orchestration of analytics in workload resource domains |
| CN114969581B (en) * | 2022-03-14 | 2025-07-08 | 北京金堤科技有限公司 | Method and device for generating website inner link, storage medium and electronic equipment |
| US20230297863A1 (en) * | 2022-03-18 | 2023-09-21 | C3.Ai, Inc. | Machine learning pipeline generation and management |
| US12463821B2 (en) * | 2022-03-22 | 2025-11-04 | Google Llc | Computing systems featuring centralized attestation device |
| US20220231991A1 (en) * | 2022-03-28 | 2022-07-21 | Intel Corporation | Method, system and apparatus for inline decryption analysis and detection |
| CN114637606B (en) * | 2022-04-07 | 2025-07-08 | 广西电网有限责任公司电力科学研究院 | Task unloading method, device and equipment based on distribution transformer gateway of distribution transformer area |
| CN114945031B (en) * | 2022-04-16 | 2024-06-07 | 深圳市爱为物联科技有限公司 | Cloud original Internet of things platform supporting access of mass equipment multi-communication protocol and message protocol |
| US20220272012A1 (en) * | 2022-05-13 | 2022-08-25 | Intel Corporation | Dynamic composition of disaggregated processes |
| CN115021866B (en) * | 2022-05-24 | 2024-03-12 | 卡斯柯信号有限公司 | Data timeliness checking method and system applied to security coding software |
| US12081553B2 (en) * | 2022-05-27 | 2024-09-03 | Microsoft Technology Licensing, Llc | Establishment of trust for disconnected edge-based deployments |
| CN115022893B (en) * | 2022-05-31 | 2024-08-02 | 福州大学 | Resource allocation method to minimize total computing time in multi-task edge computing system |
| US12047467B2 (en) * | 2022-06-13 | 2024-07-23 | Nec Corporation | Flexible and efficient communication in microservices-based stream analytics pipeline |
| US20240028368A1 (en) * | 2022-07-19 | 2024-01-25 | Vmware, Inc. | Remote edge virtualization management |
| US11792086B1 (en) * | 2022-07-26 | 2023-10-17 | Vmware, Inc. | Remediation of containerized workloads based on context breach at edge devices |
| CN115145549B (en) * | 2022-07-26 | 2025-01-28 | 国网四川省电力公司电力科学研究院 | Video or image AI analysis equipment and system based on edge gateway device |
| CN115268929B (en) * | 2022-07-26 | 2023-04-28 | 成都智元汇信息技术股份有限公司 | Pole Jian Yunwei method supporting light delivery deployment |
| US11943124B2 (en) * | 2022-07-28 | 2024-03-26 | Dell Products L.P. | Data center asset remote workload execution via a connectivity management workload orchestration operation |
| US12003382B2 (en) * | 2022-07-28 | 2024-06-04 | Dell Products L.P. | Data center asset client module authentication via a connectivity management authentication operation |
| US12149564B2 (en) | 2022-07-29 | 2024-11-19 | Cisco Technology, Inc. | Compliant node identification |
| US12225052B2 (en) | 2022-07-31 | 2025-02-11 | Cisco Technology, Inc. | Compliant data transfers |
| CN115016424B (en) * | 2022-08-08 | 2022-11-25 | 承德建龙特殊钢有限公司 | Seamless steel pipe production line real-time monitoring system |
| US11937103B1 (en) | 2022-08-17 | 2024-03-19 | Amazon Technologies, Inc. | Enhancing availability of radio-based applications using multiple compute instances and virtualized network function accelerators at cloud edge locations |
| CN115459969B (en) * | 2022-08-26 | 2024-04-30 | 中电信数智科技有限公司 | Hierarchical extensible blockchain platform and transaction processing method thereof |
| US20240069962A1 (en) * | 2022-08-30 | 2024-02-29 | Palo Alto Research Center Incorporated | System and method implementing a task scheduler for a resource constrained computation system |
| CN115438123A (en) * | 2022-08-31 | 2022-12-06 | 上海飞未信息技术有限公司 | A method and system for data sharing and exchange based on Docker and microservice architecture |
| US12001561B2 (en) * | 2022-09-01 | 2024-06-04 | Dell Products, L.P. | Detecting and configuring imaging optimization settings during a collaboration session in a heterogenous computing platform |
| US12461798B2 (en) * | 2022-09-02 | 2025-11-04 | Dell Products, L.P. | Managing performance during collaboration sessions in heterogenous computing platforms |
| JPWO2024057408A1 (en) * | 2022-09-13 | 2024-03-21 | ||
| US12436811B2 (en) * | 2022-09-19 | 2025-10-07 | Hewlett Packard Enterprise Development Lp | Optimizing operation of high-performance computing systems |
| US20240103923A1 (en) * | 2022-09-22 | 2024-03-28 | International Business Machines Corporation | Efficient placement of serverless workloads on transient infrastructure on policy-driven re-location |
| US12095885B2 (en) * | 2022-10-05 | 2024-09-17 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for removing stale context in service instances in providing microservices |
| US12363564B2 (en) | 2022-10-13 | 2025-07-15 | T-Mobile Usa, Inc. | Determining a cause of an issue associated with a wireless telecommunication network |
| US12438730B2 (en) * | 2022-11-04 | 2025-10-07 | AVAST Software s.r.o. | Systems and methods for reputation-based transactions over a network |
| KR102775246B1 (en) * | 2022-11-28 | 2025-02-28 | 숭실대학교산학협력단 | Edge computing service providing method and apparatus therefor |
| CN115550367B (en) * | 2022-11-30 | 2023-03-07 | 成都中星世通电子科技有限公司 | Radio monitoring method and system based on distributed task management and resource scheduling |
| US20240195635A1 (en) * | 2022-12-12 | 2024-06-13 | Intel Corporation | Roots of trust in intellectual property (ip) blocks in a system on a chip (soc) |
| US12483422B2 (en) | 2022-12-14 | 2025-11-25 | AVAST Software s.r.o. | Systems and methods for credential-based transactions over a network |
| US11921699B1 (en) | 2022-12-16 | 2024-03-05 | Amazon Technologies, Inc. | Lease-based consistency management for handling failover in a database |
| US20240244083A1 (en) * | 2023-01-13 | 2024-07-18 | Entrust Corporation | Centralized compliance management platform for security objects |
| US20240250991A1 (en) * | 2023-01-25 | 2024-07-25 | Salesforce, Inc. | Systems, methods, and devices for security enhancements in cloud computing environments |
| US12192081B2 (en) * | 2023-01-31 | 2025-01-07 | Salesforce, Inc. | De-centralized high risk actions on coordinated computer systems |
| KR102863345B1 (en) * | 2023-02-01 | 2025-09-23 | 리벨리온 주식회사 | Method and system for confidential computing |
| CN116049211A (en) * | 2023-02-17 | 2023-05-02 | 南京邮电大学 | A real-time updateable bitmap indexing method, medium and device |
| CN116192899A (en) * | 2023-02-20 | 2023-05-30 | 中国联合网络通信集团有限公司 | Security situation awareness and disposition method, data server, medium and system |
| US20240388583A1 (en) * | 2023-05-18 | 2024-11-21 | Pure Storage, Inc. | Service Mesh-Based Control of Access to a Storage Application |
| US12413619B2 (en) * | 2023-06-11 | 2025-09-09 | Parry Labs Llc | Enterprise protection via identification and mitigation of bad actors at the edge |
| US12225140B2 (en) * | 2023-06-26 | 2025-02-11 | Dell Products L.P. | Method and apparatus for external control planes to cryptographically trust software artifacts launched at public cloud providers |
| US20250227160A1 (en) * | 2023-07-12 | 2025-07-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Edge reversal tunnel proxy for isolated network |
| US12413485B2 (en) | 2023-08-10 | 2025-09-09 | Dish Wireless L.L.C. | System and method to generate optimized spectrum administration service (SAS) configuration commands |
| US11876858B1 (en) | 2023-09-05 | 2024-01-16 | Armada Systems Inc. | Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads |
| US12014634B1 (en) | 2023-09-05 | 2024-06-18 | Armada Systems Inc. | Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads |
| US12131242B1 (en) | 2023-09-05 | 2024-10-29 | Armada Systems Inc. | Fleet and asset management for edge computing of machine learning and artificial intelligence workloads deployed from cloud to edge |
| US11899671B1 (en) | 2023-09-05 | 2024-02-13 | Armada Systems Inc. | Real-time search and retrieval of streaming sensor data |
| US12033006B1 (en) | 2023-09-05 | 2024-07-09 | Armada Systems Inc. | Edge deployment of cloud-originated machine learning and artificial intelligence workloads |
| US11907093B1 (en) | 2023-09-05 | 2024-02-20 | Armada Systems Inc. | Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads |
| US12014219B1 (en) | 2023-09-05 | 2024-06-18 | Armada Systems Inc. | Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads |
| CN117130524B (en) * | 2023-09-06 | 2025-01-07 | 百度在线网络技术(北京)有限公司 | Interaction method, device, electronic equipment and storage medium |
| US12445114B1 (en) * | 2023-09-06 | 2025-10-14 | Amazon Technologies, Inc. | Intelligent power noise reduction |
| US20250094591A1 (en) * | 2023-09-15 | 2025-03-20 | Dell Products L.P. | Distribution of blueprints in edge systems |
| US12086557B1 (en) | 2023-10-06 | 2024-09-10 | Armada Systems, Inc. | Natural language statistical model with alerts |
| US11995412B1 (en) | 2023-10-06 | 2024-05-28 | Armada Systems, Inc. | Video based question and answer |
| US12141541B1 (en) | 2023-10-06 | 2024-11-12 | Armada Systems, Inc. | Video to narration |
| US11960515B1 (en) | 2023-10-06 | 2024-04-16 | Armada Systems, Inc. | Edge computing units for operating conversational tools at local sites |
| US12067041B1 (en) | 2023-10-06 | 2024-08-20 | Armada Systems, Inc. | Time series data to statistical natural language interaction |
| US20250126123A1 (en) * | 2023-10-12 | 2025-04-17 | Capital One Services, Llc | Multi-persona resource access and collaboration with fine-grained access controls |
| CN117112549B (en) * | 2023-10-20 | 2024-03-26 | 中科星图测控技术股份有限公司 | Big data merging method based on bloom filter |
| US11935416B1 (en) | 2023-10-24 | 2024-03-19 | Armada Systems Inc. | Fleet and asset management and interfaces thereof associated with edge computing deployments |
| CN117421749A (en) * | 2023-10-24 | 2024-01-19 | 上海兆芯集成电路股份有限公司 | Computer system and system memory encryption and decryption method |
| CN117270795B (en) * | 2023-11-23 | 2024-02-09 | 北京中超伟业信息安全技术股份有限公司 | Large-capacity data storage device and data destruction method thereof |
| US12388708B2 (en) * | 2024-01-02 | 2025-08-12 | International Business Machines Corporation | Real-time adjustment and deployment of regulatory policies |
| US20250240293A1 (en) * | 2024-01-19 | 2025-07-24 | Dell Products L.P. | Multi-tenant secrets manager |
| US12401578B2 (en) * | 2024-02-01 | 2025-08-26 | Dell Products Lp | System and method for using intelligent staggered telemetry for node capabilities management across nodes in a peripheral device workspace |
| US20250323842A1 (en) * | 2024-04-16 | 2025-10-16 | Honeywell International Inc. | Implementing observability of an asset in a cloud based environment |
| US20250330532A1 (en) * | 2024-04-23 | 2025-10-23 | Dell Products L.P. | Stretched Environment Provisioning |
| CN119210781A (en) * | 2024-08-28 | 2024-12-27 | 电子科技大学 | An Anti-DDoS Intelligence Sharing Method for Cloud Native Systems |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9779269B1 (en) * | 2015-08-06 | 2017-10-03 | EMC IP Holding Company LLC | Storage system comprising per-tenant encryption keys supporting deduplication across multiple tenants |
| US10623390B1 (en) * | 2017-08-24 | 2020-04-14 | Pivotal Software, Inc. | Sidecar-backed services for cloud computing platform |
| US11074091B1 (en) * | 2018-09-27 | 2021-07-27 | Juniper Networks, Inc. | Deployment of microservices-based network controller |
Family Cites Families (241)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3226675A (en) | 1960-07-05 | 1965-12-28 | Robert W Edwards | Inertial responsive stop signal for vehicles |
| US5941947A (en) | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
| US5826239A (en) | 1996-12-17 | 1998-10-20 | Hewlett-Packard Company | Distributed workflow resource management system and method |
| CA2401680C (en) | 1997-06-25 | 2009-09-22 | Samsung Electronics Co., Ltd. | Browser based command and control home network |
| US6571297B1 (en) | 1997-08-20 | 2003-05-27 | Bea Systems, Inc. | Service interface repository application programming models |
| US6437692B1 (en) | 1998-06-22 | 2002-08-20 | Statsignal Systems, Inc. | System and method for monitoring and controlling remote devices |
| US6377860B1 (en) | 1998-07-31 | 2002-04-23 | Sun Microsystems, Inc. | Networked vehicle implementing plug and play with javabeans |
| US6185491B1 (en) | 1998-07-31 | 2001-02-06 | Sun Microsystems, Inc. | Networked vehicle controlling attached devices using JavaBeans™ |
| US6963784B1 (en) | 1998-10-16 | 2005-11-08 | Sony Corporation | Virtual device control modules and function control modules implemented in a home audio/video network |
| US6253338B1 (en) * | 1998-12-21 | 2001-06-26 | International Business Machines Corporation | System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block |
| US6636505B1 (en) | 1999-05-28 | 2003-10-21 | 3Com Corporation | Method for service provisioning a broadband modem |
| US7472349B1 (en) | 1999-06-01 | 2008-12-30 | Oracle International Corporation | Dynamic services infrastructure for allowing programmatic access to internet and other resources |
| US6892230B1 (en) | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
| US6460082B1 (en) | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
| US6832251B1 (en) | 1999-10-06 | 2004-12-14 | Sensoria Corporation | Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS) |
| US6859831B1 (en) | 1999-10-06 | 2005-02-22 | Sensoria Corporation | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
| US7020701B1 (en) | 1999-10-06 | 2006-03-28 | Sensoria Corporation | Method for collecting and processing data using internetworked wireless integrated network sensors (WINS) |
| US6826607B1 (en) | 1999-10-06 | 2004-11-30 | Sensoria Corporation | Apparatus for internetworked hybrid wireless integrated network sensors (WINS) |
| US6735630B1 (en) | 1999-10-06 | 2004-05-11 | Sensoria Corporation | Method for collecting data using compact internetworked wireless integrated network sensors (WINS) |
| US7797367B1 (en) | 1999-10-06 | 2010-09-14 | Gelvin David C | Apparatus for compact internetworked wireless integrated network sensors (WINS) |
| US6990379B2 (en) | 1999-12-30 | 2006-01-24 | Microsoft Corporation | Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system |
| US6948168B1 (en) | 2000-03-30 | 2005-09-20 | International Business Machines Corporation | Licensed application installer |
| US6363417B1 (en) | 2000-03-31 | 2002-03-26 | Emware, Inc. | Device interfaces for networking a computer and an embedded device |
| US6580950B1 (en) | 2000-04-28 | 2003-06-17 | Echelon Corporation | Internet based home communications system |
| US7496637B2 (en) | 2000-05-31 | 2009-02-24 | Oracle International Corp. | Web service syndication system |
| FR2813471B1 (en) | 2000-08-31 | 2002-12-20 | Schneider Automation | COMMUNICATION SYSTEM FOR AUTOMATED EQUIPMENT BASED ON THE SOAP PROTOCOL |
| US7171475B2 (en) | 2000-12-01 | 2007-01-30 | Microsoft Corporation | Peer networking host framework and hosting API |
| US20020083143A1 (en) | 2000-12-13 | 2002-06-27 | Philips Electronics North America Corporation | UPnP architecture for heterogeneous networks of slave devices |
| AU2002234258A1 (en) | 2001-01-22 | 2002-07-30 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
| US7283811B2 (en) | 2001-02-23 | 2007-10-16 | Lucent Technologies Inc. | System and method for aggregation of user applications for limited-resource devices |
| US7290039B1 (en) | 2001-02-27 | 2007-10-30 | Microsoft Corporation | Intent based processing |
| US7426730B2 (en) | 2001-04-19 | 2008-09-16 | Wre-Hol Llc | Method and system for generalized and adaptive transaction processing between uniform information services and applications |
| WO2002086679A2 (en) | 2001-04-25 | 2002-10-31 | Metallect Corporation | Service provision system and method |
| US20020178254A1 (en) | 2001-05-23 | 2002-11-28 | International Business Machines Corporation | Dynamic deployment of services in a computing network |
| US20030182394A1 (en) | 2001-06-07 | 2003-09-25 | Oren Ryngler | Method and system for providing context awareness |
| US7207041B2 (en) | 2001-06-28 | 2007-04-17 | Tranzeo Wireless Technologies, Inc. | Open platform architecture for shared resource access management |
| US20030005090A1 (en) | 2001-06-30 | 2003-01-02 | Sullivan Robert R. | System and method for integrating network services |
| US7185342B1 (en) | 2001-07-24 | 2007-02-27 | Oracle International Corporation | Distributed service aggregation and composition |
| US7343428B2 (en) | 2001-09-19 | 2008-03-11 | International Business Machines Corporation | Dynamic, real-time integration of software resources through services of a content framework |
| US6985939B2 (en) | 2001-09-19 | 2006-01-10 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
| JP4226816B2 (en) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | Microprocessor |
| EP1301010B1 (en) | 2001-10-03 | 2005-04-06 | Alcatel | Method for providing services in a communication network |
| US7035930B2 (en) | 2001-10-26 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers |
| US6916247B2 (en) | 2001-11-23 | 2005-07-12 | Cyberscan Technology, Inc. | Modular entertainment and gaming systems |
| GB0129174D0 (en) | 2001-12-06 | 2002-01-23 | Koninl Philips Electronics Nv | Havi-upnp bridging |
| US7822860B2 (en) | 2001-12-11 | 2010-10-26 | International Business Machines Corporation | Method and apparatus for dynamic reconfiguration of web services infrastructure |
| US7603469B2 (en) | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
| US20030163513A1 (en) | 2002-02-22 | 2003-08-28 | International Business Machines Corporation | Providing role-based views from business web portals |
| KR100654414B1 (en) * | 2002-03-22 | 2006-12-05 | 도요다 지도샤 가부시끼가이샤 | Computer-readable recording medium recording task management apparatus and method thereof, task management program |
| US7143139B2 (en) | 2002-03-27 | 2006-11-28 | International Business Machines Corporation | Broadcast tiers in decentralized networks |
| US7251689B2 (en) | 2002-03-27 | 2007-07-31 | International Business Machines Corporation | Managing storage resources in decentralized networks |
| US7039701B2 (en) | 2002-03-27 | 2006-05-02 | International Business Machines Corporation | Providing management functions in decentralized networks |
| US7181536B2 (en) | 2002-03-27 | 2007-02-20 | International Business Machines Corporation | Interminable peer relationships in transient communities |
| US7177929B2 (en) | 2002-03-27 | 2007-02-13 | International Business Machines Corporation | Persisting node reputations in transient network communities |
| US7069318B2 (en) | 2002-03-27 | 2006-06-27 | International Business Machines Corporation | Content tracking in transient network communities |
| US20030191802A1 (en) | 2002-04-03 | 2003-10-09 | Koninklijke Philips Electronics N.V. | Reshaped UDDI for intranet use |
| US7099873B2 (en) * | 2002-05-29 | 2006-08-29 | International Business Machines Corporation | Content transcoding in a content distribution network |
| US7519918B2 (en) | 2002-05-30 | 2009-04-14 | Intel Corporation | Mobile virtual desktop |
| US7072960B2 (en) | 2002-06-10 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Generating automated mappings of service demands to server capacities in a distributed computer system |
| US7933945B2 (en) | 2002-06-27 | 2011-04-26 | Openpeak Inc. | Method, system, and computer program product for managing controlled residential or non-residential environments |
| US20040003033A1 (en) | 2002-06-27 | 2004-01-01 | Yury Kamen | Method and system for generating a web service interface |
| US7386860B2 (en) | 2002-06-28 | 2008-06-10 | Microsoft Corporation | Type extensions to web services description language |
| US20040221001A1 (en) | 2002-07-05 | 2004-11-04 | Anjali Anagol-Subbarao | Web service architecture and methods |
| US7509656B2 (en) * | 2002-08-02 | 2009-03-24 | Bian Qiyong B | Counter functions in an application program interface for network devices |
| US7266582B2 (en) | 2002-08-09 | 2007-09-04 | Sun Microsystems, Inc. | Method and system for automating generation of web services from existing service components |
| US7171471B1 (en) | 2002-08-15 | 2007-01-30 | Cisco Technology, Inc. | Methods and apparatus for directing a resource request |
| US7263560B2 (en) | 2002-08-30 | 2007-08-28 | Sun Microsystems, Inc. | Decentralized peer-to-peer advertisement |
| US7206934B2 (en) | 2002-09-26 | 2007-04-17 | Sun Microsystems, Inc. | Distributed indexing of identity information in a peer-to-peer network |
| US8356067B2 (en) | 2002-10-24 | 2013-01-15 | Intel Corporation | Servicing device aggregates |
| US6889188B2 (en) | 2002-11-22 | 2005-05-03 | Intel Corporation | Methods and apparatus for controlling an electronic device |
| US7539994B2 (en) * | 2003-01-03 | 2009-05-26 | Intel Corporation | Dynamic performance and resource management in a processing system |
| US7848259B2 (en) * | 2003-08-01 | 2010-12-07 | Opnet Technologies, Inc. | Systems and methods for inferring services on a network |
| JP4509678B2 (en) * | 2003-09-12 | 2010-07-21 | 株式会社リコー | Certificate setting method |
| US7519964B1 (en) * | 2003-12-03 | 2009-04-14 | Sun Microsystems, Inc. | System and method for application deployment in a domain for a cluster |
| US20110214059A1 (en) * | 2010-03-01 | 2011-09-01 | Ashley Edwardo King | Media Distribution in a Content Delivery Network |
| GB0425860D0 (en) * | 2004-11-25 | 2004-12-29 | Ibm | A method for ensuring the quality of a service in a distributed computing environment |
| US20070067644A1 (en) * | 2005-08-26 | 2007-03-22 | International Business Machines Corporation | Memory control unit implementing a rotating-key encryption algorithm |
| US7548964B2 (en) * | 2005-10-11 | 2009-06-16 | International Business Machines Corporation | Performance counters for virtualized network interfaces of communications networks |
| US8086859B2 (en) * | 2006-03-02 | 2011-12-27 | Microsoft Corporation | Generation of electronic signatures |
| US7467268B2 (en) * | 2006-04-14 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Concurrent data restore and background copy operations in storage networks |
| US9542656B2 (en) * | 2006-11-13 | 2017-01-10 | International Business Machines Corporation | Supporting ETL processing in BPEL-based processes |
| US7979658B2 (en) * | 2008-03-25 | 2011-07-12 | Spansion Llc | Secure management of memory regions in a memory |
| US10620927B2 (en) * | 2008-06-06 | 2020-04-14 | International Business Machines Corporation | Method, arrangement, computer program product and data processing program for deploying a software service |
| US8060145B2 (en) * | 2008-07-09 | 2011-11-15 | T-Mobile Usa, Inc. | Cell site content caching |
| US9021490B2 (en) * | 2008-08-18 | 2015-04-28 | Benoît Marchand | Optimizing allocation of computer resources by tracking job status and resource availability profiles |
| JP2010097526A (en) * | 2008-10-20 | 2010-04-30 | Hitachi Ltd | Cache configuration management system, management server and cache configuration management method |
| US8505078B2 (en) * | 2008-12-28 | 2013-08-06 | Qualcomm Incorporated | Apparatus and methods for providing authorized device access |
| US8910153B2 (en) * | 2009-07-13 | 2014-12-09 | Hewlett-Packard Development Company, L. P. | Managing virtualized accelerators using admission control, load balancing and scheduling |
| US20110126197A1 (en) * | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
| US8776066B2 (en) * | 2009-11-30 | 2014-07-08 | International Business Machines Corporation | Managing task execution on accelerators |
| US8966657B2 (en) * | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
| US8745239B2 (en) | 2010-04-07 | 2014-06-03 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
| US8862895B2 (en) * | 2010-04-27 | 2014-10-14 | Fuji Xerox Co., Ltd. | Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data |
| US8893093B2 (en) * | 2010-05-07 | 2014-11-18 | Salesforce.Com, Inc. | Method and system for automated performance testing in a multi-tenant environment |
| US8364959B2 (en) * | 2010-05-26 | 2013-01-29 | Google Inc. | Systems and methods for using a domain-specific security sandbox to facilitate secure transactions |
| US8909783B2 (en) | 2010-05-28 | 2014-12-09 | Red Hat, Inc. | Managing multi-level service level agreements in cloud-based network |
| CA2807972A1 (en) | 2010-08-11 | 2012-02-16 | Security First Corp. | Systems and methods for secure multi-tenant data storage |
| US8572241B2 (en) * | 2010-09-17 | 2013-10-29 | Microsoft Corporation | Integrating external and cluster heat map data |
| JP5541036B2 (en) * | 2010-09-21 | 2014-07-09 | 富士通株式会社 | Memory access control program, memory access control method, and information processing apparatus |
| US8954544B2 (en) * | 2010-09-30 | 2015-02-10 | Axcient, Inc. | Cloud-based virtual machines and offices |
| US8856335B1 (en) * | 2011-01-28 | 2014-10-07 | Netapp, Inc. | Managing service level objectives for storage workloads |
| CN102340533B (en) | 2011-06-17 | 2017-03-15 | 中兴通讯股份有限公司 | The method that multi-tenant system and multi-tenant system access data |
| US9026837B2 (en) * | 2011-09-09 | 2015-05-05 | Microsoft Technology Licensing, Llc | Resource aware placement of applications in clusters |
| EP2798784B1 (en) * | 2011-12-27 | 2019-10-23 | Cisco Technology, Inc. | System and method for management of network-based services |
| CN102571950B (en) * | 2011-12-31 | 2014-11-05 | 华为技术有限公司 | Media content providing and acquiring methods, server and user terminal |
| US8868735B2 (en) * | 2012-02-02 | 2014-10-21 | Cisco Technology, Inc. | Wide area network optimization |
| US9507630B2 (en) | 2012-02-09 | 2016-11-29 | Cisco Technology, Inc. | Application context transfer for distributed computing resources |
| JP6209595B2 (en) | 2012-05-11 | 2017-10-04 | インターデイジタル パテント ホールディングス インコーポレイテッド | Context-aware peer-to-peer communication |
| US9123010B2 (en) * | 2012-06-05 | 2015-09-01 | Apple Inc. | Ledger-based resource tracking |
| US8719590B1 (en) | 2012-06-18 | 2014-05-06 | Emc Corporation | Secure processing in multi-tenant cloud infrastructure |
| US9612866B2 (en) * | 2012-08-29 | 2017-04-04 | Oracle International Corporation | System and method for determining a recommendation on submitting a work request based on work request type |
| US8990375B2 (en) * | 2012-08-31 | 2015-03-24 | Facebook, Inc. | Subscription groups in publish-subscribe system |
| US9819253B2 (en) * | 2012-10-25 | 2017-11-14 | Intel Corporation | MEMS device |
| JP6193393B2 (en) * | 2012-12-28 | 2017-09-06 | インテル コーポレイション | Power optimization for distributed computing systems |
| US10311014B2 (en) * | 2012-12-28 | 2019-06-04 | Iii Holdings 2, Llc | System, method and computer readable medium for offloaded computation of distributed application protocols within a cluster of data processing nodes |
| EP2957087B1 (en) * | 2013-02-15 | 2019-05-08 | Nec Corporation | Method and system for providing content in content delivery networks |
| KR20170075808A (en) | 2013-05-08 | 2017-07-03 | 콘비다 와이어리스, 엘엘씨 | Method and apparatus for the virtualization of resources using a virtualization broker and context information |
| US9658899B2 (en) * | 2013-06-10 | 2017-05-23 | Amazon Technologies, Inc. | Distributed lock management in a cloud computing environment |
| KR20150000160A (en) | 2013-06-24 | 2015-01-02 | 한국전자통신연구원 | Method for deploying network using distributed virtual switch, apparatus for perfoming the same and network system based on distributed virtual switch |
| US10360064B1 (en) * | 2013-08-19 | 2019-07-23 | Amazon Technologies, Inc. | Task scheduling, execution and monitoring |
| CN104426938A (en) * | 2013-08-27 | 2015-03-18 | 宇宙互联有限公司 | Storage management system and method |
| US10489212B2 (en) * | 2013-09-26 | 2019-11-26 | Synopsys, Inc. | Adaptive parallelization for multi-scale simulation |
| JP6216866B2 (en) * | 2014-03-13 | 2017-10-18 | 株式会社日立製作所 | Storage system and storage control method |
| US9916188B2 (en) * | 2014-03-14 | 2018-03-13 | Cask Data, Inc. | Provisioner for cluster management system |
| US10142342B2 (en) * | 2014-03-23 | 2018-11-27 | Extreme Networks, Inc. | Authentication of client devices in networks |
| CN105100136A (en) * | 2014-04-29 | 2015-11-25 | 国际商业机器公司 | Method for accessing logic storage in storage cluster and device thereof |
| US9652631B2 (en) | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
| US10298670B2 (en) | 2014-05-13 | 2019-05-21 | Google Llc | Real time cloud workload streaming |
| US9613218B2 (en) | 2014-06-30 | 2017-04-04 | Nicira, Inc. | Encryption system in a virtualized environment |
| US20160050101A1 (en) * | 2014-08-18 | 2016-02-18 | Microsoft Corporation | Real-Time Network Monitoring and Alerting |
| US9858166B1 (en) * | 2014-08-26 | 2018-01-02 | VCE IP Holding Company LLC | Methods, systems, and computer readable mediums for optimizing the deployment of application workloads in a converged infrastructure network environment |
| US20170249460A1 (en) * | 2014-09-23 | 2017-08-31 | The Regents Of The University Of California | Provably secure virus detection |
| US9894130B2 (en) * | 2014-09-23 | 2018-02-13 | Intel Corporation | Video quality enhancement |
| US9614784B1 (en) * | 2014-09-24 | 2017-04-04 | HCA Holding, Inc. | Systems and methods for assigning tasks based on usage patterns and resource capacities |
| US9442760B2 (en) * | 2014-10-03 | 2016-09-13 | Microsoft Technology Licensing, Llc | Job scheduling using expected server performance information |
| US9928264B2 (en) | 2014-10-19 | 2018-03-27 | Microsoft Technology Licensing, Llc | High performance transactions in database management systems |
| US10230571B2 (en) * | 2014-10-30 | 2019-03-12 | Equinix, Inc. | Microservice-based application development framework |
| US10466754B2 (en) * | 2014-12-26 | 2019-11-05 | Intel Corporation | Dynamic hierarchical performance balancing of computational resources |
| US10083193B2 (en) * | 2015-01-09 | 2018-09-25 | International Business Machines Corporation | Efficient remote pointer sharing for enhanced access to key-value stores |
| US10333696B2 (en) * | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
| US20160232468A1 (en) * | 2015-02-05 | 2016-08-11 | Qu-U-Up Vsa Ltd. | System and method for queue management |
| US10405274B2 (en) | 2015-02-26 | 2019-09-03 | Nokia Solutions And Networks Oy | Coordinated techniques to improve application, network and device resource utilization of a data stream |
| US9904627B2 (en) * | 2015-03-13 | 2018-02-27 | International Business Machines Corporation | Controller and method for migrating RDMA memory mappings of a virtual machine |
| US9768808B2 (en) * | 2015-04-08 | 2017-09-19 | Sandisk Technologies Llc | Method for modifying device-specific variable error correction settings |
| US9641530B2 (en) * | 2015-06-02 | 2017-05-02 | JumpCloud, Inc. | Integrated hosted directory |
| JP6459784B2 (en) * | 2015-06-03 | 2019-01-30 | 富士通株式会社 | Parallel computer, migration program, and migration method |
| US10721290B2 (en) * | 2015-06-05 | 2020-07-21 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment using executable containers and virtual machines |
| US20160364674A1 (en) * | 2015-06-15 | 2016-12-15 | Microsoft Technology Licensing, Llc | Project management with critical path scheduling and releasing of resources |
| CN107852403B (en) | 2015-06-29 | 2021-02-19 | Vid拓展公司 | DASH caching proxy application |
| US10993069B2 (en) * | 2015-07-16 | 2021-04-27 | Snap Inc. | Dynamically adaptive media content delivery |
| US10389746B2 (en) | 2015-09-28 | 2019-08-20 | Microsoft Technology Licensing, Llc | Multi-tenant environment using pre-readied trust boundary components |
| JP2017068451A (en) * | 2015-09-29 | 2017-04-06 | 富士通株式会社 | Program, pattern transmission method, shared content control system, and information processing device |
| US11153359B2 (en) | 2015-09-29 | 2021-10-19 | Sony Group Corporation | User equipment and media streaming network assistance node |
| WO2017090071A1 (en) | 2015-11-27 | 2017-06-01 | Hitachi, Ltd. | Method and computer system for managing blocks |
| US9877266B1 (en) * | 2015-12-10 | 2018-01-23 | Massachusetts Mutual Life Insurance Company | Methods and systems for beacon-based management of shared resources |
| JP6700807B2 (en) | 2016-01-21 | 2020-05-27 | パナソニック株式会社 | Terminal device, communication system, and connection destination changing method |
| US10432722B2 (en) * | 2016-05-06 | 2019-10-01 | Microsoft Technology Licensing, Llc | Cloud storage platform providing performance-based service level agreements |
| US20170353397A1 (en) * | 2016-06-06 | 2017-12-07 | Advanced Micro Devices, Inc. | Offloading Execution of an Application by a Network Connected Device |
| US10686651B2 (en) * | 2016-06-20 | 2020-06-16 | Apple Inc. | End-to-end techniques to create PM (performance measurement) thresholds at NFV (network function virtualization) infrastructure |
| US10367754B2 (en) * | 2016-07-01 | 2019-07-30 | Intel Corporation | Sharing duty cycle between devices |
| US10091904B2 (en) * | 2016-07-22 | 2018-10-02 | Intel Corporation | Storage sled for data center |
| US10187203B2 (en) | 2016-08-30 | 2019-01-22 | Workday, Inc. | Secure storage encryption system |
| US10547527B2 (en) * | 2016-10-01 | 2020-01-28 | Intel Corporation | Apparatus and methods for implementing cluster-wide operational metrics access for coordinated agile scheduling |
| US10404664B2 (en) * | 2016-10-25 | 2019-09-03 | Arm Ip Limited | Apparatus and methods for increasing security at edge nodes |
| US10489215B1 (en) * | 2016-11-02 | 2019-11-26 | Nutanix, Inc. | Long-range distributed resource planning using workload modeling in hyperconverged computing clusters |
| WO2018082988A1 (en) | 2016-11-03 | 2018-05-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Network-based download/streaming concept |
| JP6822076B2 (en) * | 2016-11-08 | 2021-01-27 | 日本電気株式会社 | Radio resource allocation device, radio resource allocation method, and radio resource allocation program |
| US10244071B2 (en) * | 2016-11-21 | 2019-03-26 | Intel Corporation | Data management in an edge network |
| US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
| GB2557588B (en) * | 2016-12-09 | 2019-11-13 | Advanced Risc Mach Ltd | Memory management |
| US10268513B2 (en) * | 2016-12-23 | 2019-04-23 | Nice Ltd. | Computing resource allocation optimization |
| US11537419B2 (en) | 2016-12-30 | 2022-12-27 | Intel Corporation | Virtual machine migration while maintaining live network links |
| US20180241802A1 (en) * | 2017-02-21 | 2018-08-23 | Intel Corporation | Technologies for network switch based load balancing |
| CN114363927B (en) * | 2017-02-27 | 2024-06-04 | 华为技术有限公司 | Management method, management unit, communication system, storage medium, and program product |
| CN110663030A (en) * | 2017-03-16 | 2020-01-07 | 费赛特实验室有限责任公司 | Edge device, system and method for processing extreme data |
| US10841184B2 (en) * | 2017-03-28 | 2020-11-17 | Huawei Technologies Co., Ltd. | Architecture for integrating service, network and domain management subsystems |
| US10372362B2 (en) | 2017-03-30 | 2019-08-06 | Intel Corporation | Dynamically composable computing system, a data center, and method for dynamically composing a computing system |
| US20180322158A1 (en) | 2017-05-02 | 2018-11-08 | Hewlett Packard Enterprise Development Lp | Changing concurrency control modes |
| CN106911814A (en) | 2017-05-11 | 2017-06-30 | 成都四象联创科技有限公司 | Large-scale data distributed storage method |
| US10388089B1 (en) * | 2017-05-17 | 2019-08-20 | Allstate Insurance Company | Dynamically controlling sensors and processing sensor data for issue identification |
| JP6904064B2 (en) * | 2017-05-29 | 2021-07-14 | 富士通株式会社 | Task deployment program, task deployment method, and task deployment device |
| US10949315B2 (en) * | 2017-06-07 | 2021-03-16 | Apple Inc. | Performance measurements related to virtualized resources |
| US11385930B2 (en) * | 2017-06-21 | 2022-07-12 | Citrix Systems, Inc. | Automatic workflow-based device switching |
| US11889393B2 (en) * | 2017-06-23 | 2024-01-30 | Veniam, Inc. | Methods and systems for detecting anomalies and forecasting optimizations to improve urban living management using networks of autonomous vehicles |
| WO2019006033A1 (en) * | 2017-06-27 | 2019-01-03 | Drive.Ai Inc | Method for detecting and managing changes along road surfaces for autonomous vehicles |
| US11095755B2 (en) * | 2017-07-10 | 2021-08-17 | Intel Corporation | Telemetry for disaggregated resources |
| US10489195B2 (en) * | 2017-07-20 | 2019-11-26 | Cisco Technology, Inc. | FPGA acceleration for serverless computing |
| JP2019047158A (en) | 2017-08-29 | 2019-03-22 | 沖電気工業株式会社 | Data collector, data collection method, data collection program and data collection system |
| US20190044809A1 (en) * | 2017-08-30 | 2019-02-07 | Intel Corporation | Technologies for managing a flexible host interface of a network interface controller |
| US20190104022A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Policy-based network service fingerprinting |
| US10776525B2 (en) | 2017-09-29 | 2020-09-15 | Intel Corporation | Multi-tenant cryptographic memory isolation |
| US10521360B1 (en) * | 2017-10-18 | 2019-12-31 | Google Llc | Combined integrity protection, encryption and authentication |
| US10445249B2 (en) * | 2017-11-09 | 2019-10-15 | International Business Machines Corporation | Facilitating access to memory locality domain information |
| US20190166032A1 (en) * | 2017-11-30 | 2019-05-30 | American Megatrends, Inc. | Utilization based dynamic provisioning of rack computing resources |
| US20200250003A1 (en) | 2017-12-28 | 2020-08-06 | Intel Corporation | Visual fog |
| US20190044883A1 (en) * | 2018-01-11 | 2019-02-07 | Intel Corporation | NETWORK COMMUNICATION PRIORITIZATION BASED on AWARENESS of CRITICAL PATH of a JOB |
| US20190236562A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment |
| US10761897B2 (en) * | 2018-02-02 | 2020-09-01 | Workday, Inc. | Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources |
| CN108282333B (en) * | 2018-03-02 | 2020-09-01 | 重庆邮电大学 | Data security sharing method in multi-edge node collaboration mode in industrial cloud environment |
| US10567269B2 (en) * | 2018-03-14 | 2020-02-18 | International Business Machines Corporation | Dynamically redirecting affiliated data to an edge computing device |
| US10904891B2 (en) * | 2018-03-14 | 2021-01-26 | Toyota Jidosha Kabushiki Kaisha | Edge-assisted data transmission for connected vehicles |
| US10541942B2 (en) | 2018-03-30 | 2020-01-21 | Intel Corporation | Technologies for accelerating edge device workloads |
| US10958536B2 (en) * | 2018-04-23 | 2021-03-23 | EMC IP Holding Company LLC | Data management policies for internet of things components |
| US10819795B2 (en) * | 2018-04-26 | 2020-10-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Transmitting principal components of sensor data that are responsive to a continuous query |
| KR102563790B1 (en) * | 2018-05-18 | 2023-08-07 | 삼성전자주식회사 | Electronic device for performing network cnnection base on data transmission of application and method thereof |
| US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
| US20190373051A1 (en) * | 2018-06-05 | 2019-12-05 | International Business Machines Corporation | Task Scheduling System for Internet of Things (IoT) Devices |
| US10664256B2 (en) * | 2018-06-25 | 2020-05-26 | Microsoft Technology Licensing, Llc | Reducing overhead of software deployment based on existing deployment occurrences |
| US11226854B2 (en) * | 2018-06-28 | 2022-01-18 | Atlassian Pty Ltd. | Automatic integration of multiple graph data structures |
| US11070488B2 (en) * | 2018-07-03 | 2021-07-20 | Electronics And Telecommunications Research Institute | System and method to control a cross domain workflow based on a hierarchical engine framework |
| US11057366B2 (en) * | 2018-08-21 | 2021-07-06 | HYPR Corp. | Federated identity management with decentralized computing platforms |
| US11356503B2 (en) * | 2018-08-30 | 2022-06-07 | Jpmorgan Chase Bank, N.A. | Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service |
| US10915366B2 (en) | 2018-09-28 | 2021-02-09 | Intel Corporation | Secure edge-cloud function as a service |
| US11212124B2 (en) * | 2018-09-30 | 2021-12-28 | Intel Corporation | Multi-access edge computing (MEC) billing and charging tracking enhancements |
| CN112955869A (en) * | 2018-11-08 | 2021-06-11 | 英特尔公司 | Function As A Service (FAAS) system enhancements |
| US11425111B2 (en) | 2018-11-14 | 2022-08-23 | Intel Corporation | Attestation token sharing in edge computing environments |
| US11379254B1 (en) * | 2018-11-18 | 2022-07-05 | Pure Storage, Inc. | Dynamic configuration of a cloud-based storage system |
| US10909740B2 (en) * | 2018-12-07 | 2021-02-02 | Intel Corporation | Apparatus and method for processing telemetry data in a virtualized graphics processor |
| US11412052B2 (en) * | 2018-12-28 | 2022-08-09 | Intel Corporation | Quality of service (QoS) management in edge computing environments |
| US11799952B2 (en) * | 2019-01-07 | 2023-10-24 | Intel Corporation | Computing resource discovery and allocation |
| US11099963B2 (en) * | 2019-01-31 | 2021-08-24 | Rubrik, Inc. | Alert dependency discovery |
| US12317179B2 (en) * | 2019-03-08 | 2025-05-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic access network selection based on application orchestration information in an edge cloud system |
| US11240155B2 (en) * | 2019-03-29 | 2022-02-01 | Intel Corporation | Technologies for network device load balancers for accelerated functions as a service |
| US11379264B2 (en) * | 2019-04-15 | 2022-07-05 | Intel Corporation | Advanced cloud architectures for power outage mitigation and flexible resource use |
| US20190253518A1 (en) * | 2019-04-26 | 2019-08-15 | Intel Corporation | Technologies for providing resource health based node composition and management |
| US11184236B2 (en) | 2019-04-30 | 2021-11-23 | Intel Corporation | Methods and apparatus to control processing of telemetry data at an edge platform |
| US11436051B2 (en) * | 2019-04-30 | 2022-09-06 | Intel Corporation | Technologies for providing attestation of function as a service flavors |
| US11082525B2 (en) * | 2019-05-17 | 2021-08-03 | Intel Corporation | Technologies for managing sensor and telemetry data on an edge networking platform |
| US11556382B1 (en) * | 2019-07-10 | 2023-01-17 | Meta Platforms, Inc. | Hardware accelerated compute kernels for heterogeneous compute environments |
| US20210011908A1 (en) * | 2019-07-11 | 2021-01-14 | Ghost Locomotion Inc. | Model-based structured data filtering in an autonomous vehicle |
| US10827033B1 (en) * | 2019-09-05 | 2020-11-03 | International Business Machines Corporation | Mobile edge computing device eligibility determination |
| US11924060B2 (en) * | 2019-09-13 | 2024-03-05 | Intel Corporation | Multi-access edge computing (MEC) service contract formation and workload execution |
| DE102020208023A1 (en) | 2019-09-28 | 2021-04-01 | Intel Corporation | ADAPTIVE DATA FLOW TRANSFORMATION IN EDGE COMPUTING ENVIRONMENTS |
| US11245538B2 (en) * | 2019-09-28 | 2022-02-08 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
| US11507433B2 (en) * | 2019-12-18 | 2022-11-22 | Hewlett Packard Enterprise Development Lp | Infrastructure load balancing using software-defined networking controllers |
| US11520501B2 (en) * | 2019-12-20 | 2022-12-06 | Intel Corporation | Automated learning technology to partition computer applications for heterogeneous systems |
| US11880710B2 (en) * | 2020-01-29 | 2024-01-23 | Intel Corporation | Adaptive data shipment based on burden functions |
| US11748171B2 (en) * | 2020-03-17 | 2023-09-05 | Dell Products L.P. | Method and system for collaborative workload placement and optimization |
| US11115497B2 (en) * | 2020-03-25 | 2021-09-07 | Intel Corporation | Technologies for providing advanced resource management in a disaggregated environment |
| US12189512B2 (en) * | 2020-03-25 | 2025-01-07 | Intel Corporation | Performance monitoring for short-lived functions |
| US11853782B2 (en) * | 2020-12-09 | 2023-12-26 | Dell Products L.P. | Method and system for composing systems using resource sets |
-
2019
- 2019-12-20 US US16/723,195 patent/US11245538B2/en active Active
- 2019-12-20 US US16/722,820 patent/US11374776B2/en active Active
- 2019-12-20 US US16/722,917 patent/US11139991B2/en active Active
- 2019-12-20 US US16/723,358 patent/US11669368B2/en active Active
- 2019-12-20 US US16/723,277 patent/US20200136921A1/en not_active Abandoned
- 2019-12-20 US US16/723,702 patent/US20200142735A1/en not_active Abandoned
- 2019-12-20 US US16/723,029 patent/US11283635B2/en active Active
-
2020
- 2020-06-05 EP EP20178590.4A patent/EP3798833B1/en active Active
- 2020-06-23 CN CN202010583671.0A patent/CN112583882A/en active Pending
- 2020-06-24 EP EP20181908.3A patent/EP3798834B1/en active Active
- 2020-06-24 CN CN202010584536.8A patent/CN112583583A/en active Pending
- 2020-06-24 CN CN202010594304.0A patent/CN112583883A/en active Pending
- 2020-06-24 CN CN202010583756.9A patent/CN112579193A/en active Pending
- 2020-06-25 JP JP2020109663A patent/JP7654359B2/en active Active
- 2020-06-30 DE DE102020208110.7A patent/DE102020208110A1/en active Pending
- 2020-07-14 DE DE102020208776.8A patent/DE102020208776A1/en active Pending
- 2020-08-28 KR KR1020200109038A patent/KR20210038827A/en active Pending
-
2022
- 2022-01-04 US US17/568,567 patent/US12112201B2/en active Active
- 2022-02-10 US US17/668,979 patent/US20220239507A1/en not_active Abandoned
-
2023
- 2023-05-01 US US18/141,681 patent/US12386686B2/en active Active
- 2023-08-22 US US18/453,812 patent/US20250071023A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9779269B1 (en) * | 2015-08-06 | 2017-10-03 | EMC IP Holding Company LLC | Storage system comprising per-tenant encryption keys supporting deduplication across multiple tenants |
| US10623390B1 (en) * | 2017-08-24 | 2020-04-14 | Pivotal Software, Inc. | Sidecar-backed services for cloud computing platform |
| US11074091B1 (en) * | 2018-09-27 | 2021-07-27 | Juniper Networks, Inc. | Deployment of microservices-based network controller |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12206552B2 (en) | 2019-04-30 | 2025-01-21 | Intel Corporation | Multi-entity resource, security, and service management in edge computing deployments |
| US20220209971A1 (en) * | 2019-09-28 | 2022-06-30 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
| US12112201B2 (en) * | 2019-09-28 | 2024-10-08 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
| WO2024072874A1 (en) * | 2022-09-29 | 2024-04-04 | Nec Laboratories America, Inc. | Dynamic resource management for stream analytics |
| US12238184B2 (en) * | 2022-09-29 | 2025-02-25 | Rakuten Mobile, Inc. | Network management for executing a service using a plurality of entities |
| US12438698B2 (en) | 2023-07-27 | 2025-10-07 | Cisco Technology, Inc. | Managing encryption keys of secure tunnels in multi-tenant edge devices |
| US20250125949A1 (en) * | 2023-10-12 | 2025-04-17 | Mastercard International Incorporated | Systems and methods for distributed cryptography as a service key loading |
| US12476798B2 (en) * | 2023-10-12 | 2025-11-18 | Mastercard International Incorporated | Systems and methods for distributed cryptography as a service key loading |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3798834B1 (en) | 2024-07-10 |
| EP3798833B1 (en) | 2024-01-03 |
| US12112201B2 (en) | 2024-10-08 |
| US20200136921A1 (en) | 2020-04-30 |
| US11669368B2 (en) | 2023-06-06 |
| CN112583883A (en) | 2021-03-30 |
| DE102020208776A1 (en) | 2021-04-01 |
| JP2021057882A (en) | 2021-04-08 |
| US20200128067A1 (en) | 2020-04-23 |
| US20200142735A1 (en) | 2020-05-07 |
| JP7654359B2 (en) | 2025-04-01 |
| DE102020208110A1 (en) | 2021-04-01 |
| US11283635B2 (en) | 2022-03-22 |
| US20220209971A1 (en) | 2022-06-30 |
| US20200134207A1 (en) | 2020-04-30 |
| US20230267004A1 (en) | 2023-08-24 |
| EP3798834A1 (en) | 2021-03-31 |
| CN112579193A (en) | 2021-03-30 |
| US20250071023A1 (en) | 2025-02-27 |
| EP3798833A1 (en) | 2021-03-31 |
| CN112583882A (en) | 2021-03-30 |
| US20200127980A1 (en) | 2020-04-23 |
| KR20210038827A (en) | 2021-04-08 |
| US12386686B2 (en) | 2025-08-12 |
| US11245538B2 (en) | 2022-02-08 |
| US20200127861A1 (en) | 2020-04-23 |
| US20200136994A1 (en) | 2020-04-30 |
| CN112583583A (en) | 2021-03-30 |
| US11374776B2 (en) | 2022-06-28 |
| US11139991B2 (en) | 2021-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220239507A1 (en) | Dynamic sharing in secure memory environments using edge service sidecars | |
| US11831507B2 (en) | Modular I/O configurations for edge computing using disaggregated chiplets | |
| US20250274505A1 (en) | Disintermediated attestation in a mec service mesh framework | |
| US11425111B2 (en) | Attestation token sharing in edge computing environments | |
| US20240243924A1 (en) | Attestation microservices and service mesh for distributed workloads | |
| US12381858B2 (en) | Cryptographic data processing using a DMA engine | |
| US12309673B2 (en) | Multi-access edge computing (MEC) vehicle-to-everything (V2X) interoperability support for multiple V2X message brokers | |
| KR20220065670A (en) | Extended peer-to-peer (p2p) with edge networking | |
| US12401696B2 (en) | Network supported low latency security-based orchestration | |
| US12058119B2 (en) | Automatic escalation of trust credentials | |
| US12425380B2 (en) | Secure key management for service mesh deployments | |
| US20210014047A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes | |
| EP4156637B1 (en) | Software defined networking with en-route computing | |
| US20240022550A1 (en) | Systems and methods for key access distribution and management | |
| US20250254207A1 (en) | Network architecture for artificial intelligence model protection | |
| US20230342496A1 (en) | Trust brokering and secure information container migration | |
| US20210089685A1 (en) | Monitoring memory status using configurable hardware secured by a dice root of trust | |
| CN117121006A (en) | Proof-as-a-service for confidential computing | |
| WO2024081317A1 (en) | Edge-native management system of edge applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |