[go: up one dir, main page]

US20220239507A1 - Dynamic sharing in secure memory environments using edge service sidecars - Google Patents

Dynamic sharing in secure memory environments using edge service sidecars Download PDF

Info

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
Application number
US17/668,979
Inventor
Ned M. Smith
Kshitij Arun Doshi
Francesc Guim Bernat
Mona Vij
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US17/668,979 priority Critical patent/US20220239507A1/en
Publication of US20220239507A1 publication Critical patent/US20220239507A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

    PRIORITY APPLICATIONS
  • 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.
  • TECHNICAL FIELD
  • 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.
  • BACKGROUND
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 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. Compute, memory, and storage resources which are offered at the edges in the edge cloud 110 are critical to providing ultra-low latency response times for services and functions used by the endpoint data sources 160 as well as reduce network backhaul traffic from the edge cloud 110 toward cloud 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 a first edge node 222 and a second edge node 224 in an edge computing system 200, to fulfill requests and responses for various 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 first virtual edge 232, offered to a first tenant (Tenant 1), which offers a first combination of edge storage, computing, and services; and a second virtual edge 234, offering a second combination of edge storage, computing, and services, to a second tenant (Tenant 2). The virtual edge instances 232, 234 are distributed among the edge nodes 222, 224, and may include scenarios in which a request and response are fulfilled from the same or different edge nodes. The configuration of each edge node 222, 224 to operate in a distributed yet coordinated fashion occurs based on edge provisioning functions 250. The functionality of the edge nodes 222, 224 to provide coordinated operation for applications and services, among multiple tenants, occurs based on orchestration functions 260.
  • 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 RoTs spanning entities 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.
  • 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 edge nodes 222, 224 may be coordinated based on edge provisioning functions 250, while the operation of the various applications are coordinated with orchestration functions 260.
  • 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 an edge computing system 300 that implements an edge cloud 110. In this use case, each client 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 the edge 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 its client compute node 310 and a particular edge gateway node 320 may propagate so as to maintain a consistent connection and context for the client compute node 310. 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.
  • Each of the edge gateway nodes 320 may communicate with one or more edge 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, each edge resource node 340 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 the edge resource node 340. For example, the processing of data that is less urgent or important may be performed by the edge 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 the edge nodes 320, edge resource node(s) 340, core data center 350, and network 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). 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. Additionally, in some examples, 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.).
  • 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 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.
  • 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 in FIG. 4, and the communications to perform network operations may be implemented at any number of the interfaces of the MEC system architecture depicted in FIG. 4.
  • For instance, a device application 402 operating at a client user equipment device (e.g., smartphone) may access a multi-access edge orchestrator 410, to access a microservice via a service mesh as further detailed in FIG. 7. A MEC Host 450 may operate one or more MEC applications 451, 452, 453 or a platform 460 which access a service on behalf of multiple MEC tenants, as further detailed in FIGS. 10 and 11. A virtualized infrastructure manager 440 and MEC 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). The virtualized infrastructure manager 440 and MEC 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 compute nodes 502, one or more edge gateway nodes 512, one or more edge aggregation nodes 522, one or more core data centers 532, and a global 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 nodes 502, 512, 522, 532, including interconnections among such nodes (e.g., connections among 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 layers 510, 520, 530, 540, 550. For example, the client compute nodes 502 are each located at an endpoint layer 510, while each of the edge 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/or fog 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 the global 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, the core data center 532 may be located within, at, or near the edge 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 in FIG. 5, it should be appreciated that the edge computing system may include more or fewer devices or systems at each layer. Additionally, as shown in FIG. 5, the number of components of each layer 510, 520, 530, 540, 550 generally increases at each lower level (i.e., when moving closer to endpoints). As such, one edge gateway node 512 may service multiple client compute nodes 502, and one edge aggregation node 522 may service multiple edge 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 the edge 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 the edge computing system 500 refer to individual entities, nodes, or subsystems which include discrete or connected hardware or software configurations to facilitate or use the edge cloud 110.
  • As such, the edge cloud 110 is formed from network components and functional features operated by and within the edge gateway nodes 512 and the edge aggregation nodes 522 of layers 520, 530, respectively. The 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 in FIG. 5 as the client compute nodes 502. In other words, the edge 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 of fog 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 of fog 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 the edge cloud 110 between the cloud data 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 the edge aggregation nodes 522 cooperate to provide various edge services and security to the client compute nodes 502. Furthermore, because each client compute node 502 may be stationary or mobile, each edge gateway node 512 may cooperate with other edge gateway devices to propagate presently provided edge services and security as the corresponding client compute node 502 moves about a region. To do so, each of the edge gateway nodes 512 and/or edge 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 in FIGS. 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, an edge 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, a communication circuitry subsystem 612, and, optionally, one or more peripheral 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, the compute 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, the compute node 600 includes or is embodied as a processor 604 and a memory 606. The processor 604 may be embodied as any type of processor capable of performing the functions described herein (e.g., executing an application). For example, the processor 604 may be embodied as a multi-core processor(s), a microcontroller, or other processor or processing/controlling circuit. In some examples, the processor 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 the processor 604. The main 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 the compute 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 the processor 604 and/or the main memory 606) and other components of the compute 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 the processor 604, the main memory 606, and other components of the compute circuitry 602, into the compute 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. Each data storage device 610 may include a system partition that stores data and firmware code for the data storage device 610. Each data 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 of compute 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 the compute circuitry 602 and another compute device (e.g., an edge gateway node 512 of the edge computing system 500). The communication 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). The NIC 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 the compute node 600 to connect with another compute device (e.g., an edge gateway node 512). In some examples, the NIC 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, the NIC 620 may include a local processor (not shown) and/or a local memory (not shown) that are both local to the NIC 620. In such examples, the local processor of the NIC 620 may be capable of performing one or more of the functions of the compute circuitry 602 described herein. Additionally or alternatively, in such examples, the local memory of the NIC 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 more peripheral devices 614. Such 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. In further examples, 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.
  • In a more detailed example, FIG. 6B illustrates a block diagram of an example of components that may be present in an edge computing node 650 for implementing the techniques (e.g., operations, processes, methods, and methodologies) described herein. The edge 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 the edge 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 the edge 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 a processor 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. The processor 652 may be a part of a system on a chip (SoC) in which the processor 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, the processor 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 a system 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 the processor 652 via the interconnect 656. In an example, the storage 658 may be implemented via a solid-state disk drive (SSDD). Other devices that may be used for the storage 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 the processor 652. However, in some examples, the storage 658 may be implemented using a micro hard disk drive (HDD). Further, any number of new technologies may be used for the storage 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. The interconnect 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. The interconnect 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 the processor 652 to a transceiver 666, for communications with the connected edge devices 662. The transceiver 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 the connected 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 connected edge 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. The wireless network transceiver 666 may be an LPWA transceiver that follows the IEEE 802.15.4, or IEEE 802.15.4g standards, among others. The edge 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, the transceiver 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. The transceiver 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 the edge 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. An additional NIC 668 may be included to enable connecting to a second network, for example, a first NIC 668 providing communications to the cloud over Ethernet, and a second 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 components 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.
  • The edge computing node 650 may include or be coupled to acceleration 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 the processor 652 to a sensor hub or external interface 670 that is used to connect additional devices or subsystems. The devices may include sensors 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 or interface 670 further may be used to connect the edge computing node 650 to actuators 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 or other 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. An output 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 the edge computing node 650.
  • A battery 676 may power the edge computing node 650, although, in examples in which the edge computing node 650 is mounted in a fixed location, it may have a power supply coupled to an electrical grid. The battery 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 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 battery monitor/charger 678 may also include an analog-to-digital (ADC) converter that enables the processor 652 to directly monitor the voltage of the battery 676 or the current flow from the battery 676. The battery parameters may be used to determine actions that the edge 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 the battery 676. In some examples, the power block 680 may be replaced with a wireless power receiver to obtain the power wirelessly, for example, through a loop antenna in the edge 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 the battery 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 include instructions 682 in the form of software, firmware, or hardware commands to implement the techniques described herein. Although such instructions 682 are shown as code blocks included in the memory 654 and the storage 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 the memory 654, the storage 658, or the processor 652 may be embodied as a non-transitory, machine-readable medium 660 including code to direct the processor 652 to perform electronic operations in the edge computing node 650. The processor 652 may access the non-transitory, machine-readable medium 660 over the interconnect 656. For instance, the non-transitory, machine-readable medium 660 may be embodied by devices described for the storage 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 the processor 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 edge service mesh deployment 700 using sidecars for coordinating interactions among microservices. In the depicted deployment, a variety of microservices 721, 723, 725, 727, 729 in a first cluster (e.g., connected to a service mesh 740 via gateway 712) and microservices 731, 733, 735, 737, 739 in a second cluster (e.g., connected to the 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 with microservice 737, and memory 760B associated with microservice 729, etc.). Further, the sidecars 730, 732, 734, 736, 738 of the first cluster provide a mechanism for managing secure access to encrypted memory associated with the first cluster, while sidecars 720, 722, 724, 726, 728 provide a mechanism for managing secure access to encrypted memory associated with the second cluster.
  • 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 of FIG. 7 as being operated on a common computing system. Thus, the service 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 of FIG. 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 microservices 720, 722, 724, 726, 728, 730, 732, 734, 736, 738) and sidecar VMs (e.g., respective VMs that implement sidecars 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 to Tenant 1; blocks N+1-M are allocated to Tenant 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, 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 822A, 822B as the front end to memory subsystems 824A, 824B. The memory 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 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 824A, 824B, while enabling an unencrypted memory space 810 in the processing platform 812.
  • A MKTME controller 840 decodes memory access instructions (within operation of an engine 830) containing a KeyID 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 the encryption key 842 and data for other modes 843 appropriate for applying encryption or decryption operations to addressable memory 834. Key management functions suitable to EaaS workloads and service mesh interactions cooperate with the MKTME 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 the microservice 730 to the microservice 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 the 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 a sidecar 930 with key management functions for distributed interactions among edge computing nodes 900A and 900B. Specifically, FIG. 9 shows EaaS sidecar environments tied to MKTME controllers (respectively for Node A 900A and Node 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 node 900A, 900B includes computing hardware 912A, 912B having an area of operation for unencrypted data 910A, 910B and for encrypted data 920A, 920B. The encrypted data is managed at the respective storage devices 922A, 922B and 923A, 923B at each node with memory controllers 921A, 921B and 922A, 922B. The sidecar 930 includes key management functionality to share the appropriate memory encryption key between nodes 900A and 900B, so that encrypted data can be accessed and shared from node to node without needing to convert to another encryption key.
  • 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 a flowchart 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 in FIGS. 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 for KeyID 1 of the current node. In this example, a key wrapping function may be used with KeyID 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 EaaS microservice computing node 1100 that provides multiple tenant environments 1110, 1120, with each environment including an EaaS micro-service and sidecar environment (e.g., as provided by microservice VM0 1111 and microservice 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 the storage 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 of computing 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 mappings 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 in 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 in FIGS. 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 a flowchart 1300 of an example process for facilitating communications among edge computing nodes using memory encryption, according to an example. The following flowchart 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 with operation 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 with optional 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 with operation 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 with operation 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 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 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 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). 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 Notes & Examples
  • 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.
US17/668,979 2019-09-28 2022-02-10 Dynamic sharing in secure memory environments using edge service sidecars Abandoned US20220239507A1 (en)

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)

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

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

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

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

Patent Citations (3)

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

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