FaaS Shell Script Execution with Non-Serializable Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless computing platforms face challenges in executing shell client scripts with non-serializable object parameters due to the inability to store or transmit objects, limiting the use of shell clients built on the .NET framework.

Innovation Solution

A script execution service (SES) is introduced that receives serializable data calling for non-serializable objects, using argument transformation scripts to construct objects in a shell session, allowing shell scripts to execute with objects as parameters by querying the operating system and generating objects on demand.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If shell client scripts with non-serializable object parameters are transmitted to a FaaS platform, then the functionality of shell clients built on .NET framework can be utilized, but objects cannot be stored or transmitted due to non-serializability

Engineering Contradiction:
Improvefunctionality of shell clientsVSAvoidtransmission of object parameters
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The solution segments the transmission process into two parts: first transmitting serializable data (script and object construction instructions) to the FaaS platform, then executing object construction locally in the shell session. This separation allows the script to be transmitted reliably while the non-serializable objects are constructed in-context where serialization is not required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by transmitting the script and object construction instructions to the FaaS platform before actual execution. The objects are constructed in advance within the shell session context, ensuring they are ready when the script executes without requiring transmission of the actual object instances.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If objects are constructed in the shell session before script execution, then non-serializable objects can be used as parameters, but additional steps are required to construct objects from serializable data

Engineering Contradiction:
Improveuse of non-serializable objectsVSAvoidobject construction process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism: instructions containing serializable data that describe how to construct objects are transmitted to the FaaS platform. These instructions act as a mediator between the transmittable script and the non-serializable objects, enabling object construction within the shell session without direct object transmission.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter representation from direct object instances to serializable instruction sets. Instead of transmitting objects directly, the script receives parameters in the form of construction instructions that can be serialized, then transforms these into actual objects within the shell session context.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If scripts are executed on a server-side FaaS platform, then resource allocation is dynamically managed, but shell client scripts requiring local objects cannot be executed

Engineering Contradiction:
Improvedynamic resource managementVSAvoidexecution of shell client scripts
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system adds a temporal dimension to the execution model: scripts are transmitted to the server-side FaaS platform for execution, but object construction occurs in a separate phase within the shell session. This dimensional separation allows server-side execution benefits while maintaining access to local object construction capabilities.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20220224758A1Utilizing non-serializable objects with a function as a service platform
Publication Date: 2022.07.14 VMWARE INC
  • US20220224758A1 patent drawing
  • US20220224758A1 patent drawing
  • US20220224758A1 patent drawing

AI summary

Systems and methods are described for utilizing non-serializable object parameters with a function as a service (“FaaS”) platform. A user can select, in a user interface of a web application, a server and a command for executing in a shell client. The web application can generate instructions for constructing an object in a shell client that corresponds to the server. The web application can retrieve a shell script associated with the selected command. The web application can send the instructions and shell script to a FaaS. The FaaS can execute, in a shell client, a script that constructs the object as a parameter in a shell session. In the same shell session, the FaaS can execute the shell script, causing the shell client to use the object as a parameter for the shell script.