Compiler API Generation for Server-Client Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer gaming, updating server applications often requires corresponding changes to client APIs, which traditionally necessitate manual redesign and can break backwards compatibility, leading to inefficiencies and potential communication issues between servers and client devices.

Innovation Solution

A method and system for automatically generating and updating client APIs by compiling server code, utilizing an abstract syntax tree analysis to determine supported variable types and generate compatible client interfaces for different operating systems and programming languages, ensuring seamless communication while maintaining compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If server application code is updated manually, then functionality can be improved, but client API compatibility is broken and manual redesign is required

Engineering Contradiction:
Improveserver application update efficiencyVSAvoidclient API redesign complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compilation system automatically generates updated client API code by analyzing the abstract syntax tree of server code changes, eliminating the need for manual client API redesign. The system self-services by detecting unsupported variable types and generating appropriate API updates based on target programming language rules.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of server code during compilation to identify changes that affect client API compatibility. By detecting unsupported variable types before deployment and pre-generating API update code, the system prevents compatibility issues rather than reacting to them after manual updates.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual client API updates are performed, then compatibility can be maintained, but time and effort are lost

Engineering Contradiction:
Improveclient-server communication compatibilityVSAvoidmanual API update time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system replaces manual mechanical processes of API code review, testing, and deployment with automated computational processes. The compilation system automatically analyzes server code changes, generates client API updates, and validates compatibility, substituting human effort with machine-based automated generation and verification.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The compilation system provides feedback by detecting unsupported variable types in server code and automatically generating appropriate client API code. The system monitors compilation results and uses this feedback to refine API generation, ensuring compatibility without requiring manual time investment for each update cycle.

Inventive Principle:
Principle #23Feedback

3Extent of automation

If automatic API generation is implemented, then manual work is reduced, but support for unsupported variable types must be handled

Engineering Contradiction:
Improveclient API generation automationVSAvoidprogramming language variable type support
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The system handles unsupported variable types by changing parameters during code generation. When the compiler detects unsupported variable types in server code, it automatically transforms them into supported types according to target programming language rules, adjusting data type parameters to ensure compatibility while maintaining automation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies local quality by handling unsupported variable types specifically where they occur in the code, rather than requiring global changes to the entire API. The abstract syntax tree analysis identifies specific locations of unsupported types and generates targeted corrections only for those areas, maintaining automation while adapting to local language requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9557973B2Automatic generation of API classes
Publication Date: 2017.01.31 KING COM
  • US9557973B2 patent drawing
  • US9557973B2 patent drawing
  • US9557973B2 patent drawing

AI summary

A compiler for compiling a server application is disclosed wherein the server is configured to automatically generate an API (Application Programming Interface) for use is a client device. The API allows communication between the client device and the compiled server application.