Server-Side Expression Evaluation for API Derived Properties

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current API systems face challenges in efficiently processing requests for new properties defined using expressions, leading to increased complexity and resource usage on the client-side, particularly when performing operations like sorting, filtering, and pagination based on derived properties.

Innovation Solution

The proposed method allows clients to define new properties using expressions within API requests, which are then processed by the server to generate responses, eliminating the need for client-side calculations and enabling scalable and flexible data processing without modifying the object model or storing new properties for each object instance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If clients perform calculations and operations for new properties on the client-side, then flexibility in defining new properties is improved, but client-side processing complexity and resource usage increase

Engineering Contradiction:
Improveflexibility in defining new propertiesVSAvoidclient-side processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the calculation and processing logic for new properties from the client-side and relocates it to the server-side. The server receives API requests with expressions defining new properties, evaluates these expressions using the execution engine, and returns the computed results to clients. This extraction eliminates complex client-side processing while preserving the flexibility to define arbitrary new properties through expressions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The server acts as an intermediary between the client and the data storage system. It receives requests from clients, processes the expressions to compute new properties, and returns results without requiring clients to perform complex calculations. The server mediates the computation process, allowing clients to simply request new properties while the server handles the evaluation and computation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If clients perform sorting, filtering, and pagination operations on derived properties, then operational flexibility is improved, but resource usage and processing time on the client increase

Engineering Contradiction:
Improveoperational flexibilityVSAvoidclient-side resource usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The server performs sorting, filtering, and pagination operations on the computed new properties before returning results to clients. By executing these operations in advance on the server-side, the system reduces the data volume and processing requirements that clients must handle, while maintaining full operational flexibility for sorting, filtering, and pagination based on derived properties.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The server mediates the sorting, filtering, and pagination operations by receiving these operational parameters from clients, applying them to the computed new properties, and returning the processed results. This intermediary approach allows clients to specify operational requirements without performing the actual computationally intensive operations locally.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the system stores new properties for each object instance, then data access efficiency is improved, but storage requirements and system complexity increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidstorage requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Instead of storing new properties permanently for each object instance, the server computes new properties on-demand by evaluating expressions against the underlying object data. This copying approach creates temporary in-memory representations of derived properties during request processing without persisting them to storage, thereby maintaining fast access during computation while avoiding increased storage requirements.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system uses the existing object data and expressions to self-generate new properties during runtime. Rather than relying on pre-stored computed values, the server evaluates expressions against current object state to produce new properties when needed, eliminating the need for additional storage while maintaining data access efficiency through runtime computation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10305985B1Defining new properties using expressions in API calls
Publication Date: 2019.05.28 EMC IP HLDG CO LLC
  • US10305985B1 patent drawing
  • US10305985B1 patent drawing
  • US10305985B1 patent drawing

AI summary

Described are techniques for request processing. A server receives from a client a request for first data to be returned to the client. The first data includes a first property of an object. The object is included in an object model and includes a predefined property. The first property is not a predefined property of the object and is a new property defined using an expression included in the request. The request includes any of the predefined property and a constant. First processing is performed at the server to service the request and obtain the first data. At the server in accordance with the first processing, a response to the request including the first data is generated.