Multiparty Computation Bytecode Verification via Simulated Environment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiparty computation, generating a bytecode suitable for a user's environment is challenging due to varying communication characteristics, requiring specialized knowledge to select optimal compile options, and it's difficult to determine the true optimality without executing the bytecode in the real environment.

Innovation Solution

A verification apparatus that acquires a source code, compiles it with varying options to generate multiple bytecodes, evaluates each in a simulated user environment, and outputs a recommended bytecode based on performance indices, facilitating the selection of a suitable bytecode for the user's environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a bytecode is generated by providing a source code to a multiparty computation compiler with different options, then bytecodes with different capabilities are obtained, but it requires specialized knowledge to choose optimal options and is difficult to determine true optimality without executing in real environment

Engineering Contradiction:
Improvebytecode adaptability to user environmentVSAvoidcomplexity of selecting optimal bytecode
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating multiple bytecodes with different compile options in advance, before the user needs to select one. The verification apparatus pre-compiles the source code with various options and evaluates them in a simulated environment, so the user receives a ready-to-use recommended bytecode without needing to perform the complex selection process themselves.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a verification apparatus with a simulated verification environment that acts as a mediator between the compiler and the user. This intermediary evaluates multiple bytecodes using evaluation indices in a controlled simulated environment, translating the complex technical selection process into a simple recommendation that the user can directly use.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If communication characteristics of user environment vary (bandwidth, latency), then optimal bytecode differs for each environment, but users lack the knowledge to select environment-specific bytecodes

Engineering Contradiction:
Improvebytecode optimization for specific communication environmentVSAvoidease of selecting appropriate bytecode
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies self-service by enabling the verification apparatus to automatically evaluate and select the optimal bytecode without requiring user expertise. The system uses evaluation indices to automatically assess how well each bytecode performs in simulated environments with different communication characteristics, and autonomously recommends the best match, making the process self-serving rather than user-driven.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses parameter changes by varying compile options during bytecode generation and using evaluation indices to measure performance across different simulated communication environments. By changing parameters such as communication bandwidth and latency in the verification environment, the system identifies which bytecode parameters (compile options) produce optimal performance for each environment type.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If multiple bytecodes are generated with different compile options, then bytecode performance varies across different environments, but verifying optimality requires execution in real user environment which is not always accessible

Engineering Contradiction:
Improveaccuracy of bytecode performance evaluationVSAvoidcomplexity of verification process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a simulated verification environment that replicates real user environment characteristics. Instead of requiring execution in the actual user environment, the system generates copies of the verification environment with matched communication characteristics (bandwidth, latency), allowing accurate bytecode evaluation without leaving the controlled testing infrastructure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses universality by designing a verification apparatus that can evaluate multiple bytecodes across multiple simulated environments with different communication characteristics. The single verification apparatus serves multiple functions: it acts as a compiler, a testbed for various environments, an evaluation system, and a recommendation engine, eliminating the need for separate verification infrastructures for each environment type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11934518B2Verification apparatus, multiparty computation verification system, and method and program for verifying multiparty computation executable code
Publication Date: 2024.03.19 NEC CORP
  • US11934518B2 patent drawing
  • US11934518B2 patent drawing
  • US11934518B2 patent drawing

AI summary

A verification apparatus acquires a source code for multiparty computation, while changing a combination of options settable to a multiparty computation compiler, compiles the source code for each combination of options to generate a plurality of multiparty computation executable codes, selects at least one multiparty computation executable code from the plurality of multiparty computation executable codes as a verification code and provides the at least one verification code to a verification environment of multiparty computation, generates an evaluation index with respect to an execution result of at least one verification code in the verification environment, and selects at least one recommended code from the plurality of multiparty computation executable codes, based on the evaluation index corresponding to at least one verification code and outputs the selected recommended code.