Server-Based IDE Offloads Compilation to Thin Client

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development environments, such as MICROSOFT Visual Studio and Eclipse, require significant system resources and are cumbersome to install and share, limiting user collaboration due to their thick client architecture.

Innovation Solution

A server-based software development environment with a thin client interface that offloads resource-intensive tasks to the server, allowing for easy project sharing and access control among users, featuring a server-based compiler and development tools like command completion and syntax coloring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a thick client software development environment is used, then compilation and development capabilities are provided, but the installation size and system resource requirements increase significantly

Engineering Contradiction:
Improvecompilation capabilityVSAvoidinstallation size
Core Design Contradiction:
ReliabilityVSWeight of stationary object

Solution Approach 1:

The patent extracts the resource-intensive compilation and build functionalities from the local development environment and relocates them to a remote server. The local IDE retains only the lightweight code editing and UI capabilities, while the heavy compilation tasks are performed remotely and results are transferred back, thus resolving the contradiction between having full compilation capability and maintaining small installation size.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a remote server as an intermediary between the local IDE and the compilation process. This intermediary handles the resource-intensive tasks, allowing the local machine to maintain a lightweight installation while still accessing full compilation capabilities through the intermediary server.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a thick client software development environment is used, then full development functionality is available, but the ease of sharing and collaboration deteriorates

Engineering Contradiction:
Improveease of sharingVSAvoidinstallation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the heavy installation requirements from the collaboration process. By moving the complex development environment to a centralized server, users can share projects simply through web browser access without requiring colleagues to install complex software, thus improving ease of sharing while reducing installation complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a universal access model where a single server-based development environment serves multiple users across different locations and devices. The centralized system provides development capabilities universally accessible via web browsers, eliminating the need for each user to have a separate thick client installation.

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

3Productivity

If compilation tasks are performed locally, then immediate feedback is obtained, but the burden on local machine resources increases

Engineering Contradiction:
Improvecompilation speedVSAvoidlocal machine resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the resource-consuming compilation process from the local machine and performs it on a remote server with sufficient resources. This allows the local machine to remain lightweight and energy-efficient while still achieving compilation functionality through the remote server, resolving the contradiction between productivity and resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8453104B2Thin client software development environment
Publication Date: 2013.05.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8453104B2 patent drawing
  • US8453104B2 patent drawing
  • US8453104B2 patent drawing

AI summary

Various technologies and techniques are disclosed for providing a thin client software development environment. A server-based software development application is provided that is operable to be displayed in a thin client user interface on a client computer. The server-based development application has a server-based compiler. Input is received from the client computer to interact with a software development project using the server-based software development application. The software development project is stored in a location accessible from the software development application. A compile selection is received from the client computer to compile the software development project using the server-based software development application. A compiled application is generated with the server-based software development application and provided to the client computer. A sharing feature allows the software development project to be accessed by multiple users from different client computers.