Hybrid Software Development System for Local-Remote Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large enterprises face challenges in software development due to the complexity of mimicking the final production environment on local computing devices, which poses resource and compliance risks, and existing centralized development environments become inefficient with large teams due to slow response times.

Innovation Solution

Implementing a hybrid software development system where dynamic content processing occurs locally on each developer's device and static content processing occurs remotely via a network-based software deployment server, allowing for efficient code development and timely updates of application servers, thus reducing security risks and improving resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If each developer's local computing device is configured to mimic the final production environment (act as a web server), then the development environment accurately simulates production, but the device complexity increases and compliance risks increase due to inability to receive timely patches

Engineering Contradiction:
Improveenvironment simulation accuracyVSAvoiddevice complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent divides the software development environment into two distinct segments: a local development environment for coding and a remote deployment server for execution. This segmentation allows the local device to remain simple while the remote server handles the complex production environment simulation, resolving the contradiction between environment accuracy and device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a remote deployment server as an intermediary between the local developer's device and the final production environment. This intermediary handles the complex server-side operations and production environment simulation, allowing local devices to remain simple while still achieving accurate production mimicry through the intermediary's capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If each developer's local computing device acts as a deployment/web server, then development can proceed locally, but security risks increase due to inability to receive timely patches and updates

Engineering Contradiction:
Improvelocal development capabilityVSAvoidsecurity compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts the deployment server functionality from the local developer's device and places it on a separate remote server. This extraction removes the security risks associated with running servers on local devices while preserving local development capabilities, as developers can still code locally but deployment operations are handled by the secured remote server.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses disposable or easily replaceable local development environments that don't need to maintain long-term security compliance, while the permanent production environment is handled by the secured remote server that receives timely patches. The local devices are treated as temporary, non-critical environments that can be reassigned or replaced without security concerns.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If a centrally located remote development server is used for all developers, then compliance and security are improved, but productivity decreases due to slow response times from multiple developers simultaneously accessing the server

Engineering Contradiction:
Improvecompliance regulation adherenceVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the processing tasks between local devices (for dynamic content and frequent operations) and the remote server (for static content and deployment operations). This segmentation allows developers to perform frequent local operations with high speed while maintaining compliance through the remote server's centralized security controls, resolving the contradiction between compliance and productivity.

Inventive Principle:
Principle #1Segmentation

4Productivity

If local computing devices are used for all processing including deployment, then development speed is fast, but resource utilization is inefficient and compliance risks increase

Engineering Contradiction:
Improvedevelopment speedVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a remote deployment server as an intermediary that handles deployment operations and static content processing. This intermediary allows local developers to maintain high development speeds through local processing while the remote server handles resource-intensive deployment tasks, improving overall resource utilization efficiency by centralizing heavy operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10521222B2Hybrid system for remote application development
Publication Date: 2019.12.31 BANK OF AMERICA CORP
  • US10521222B2 patent drawing
  • US10521222B2 patent drawing
  • US10521222B2 patent drawing

AI summary

A hybrid system for software development in which dynamic content processing occurs locally at each developer's computing device, while static content processing occurs remotely via a network-based software deployment server. Moreover, the system provides for multiple designer-specific websites to be created within a network-based Common Internet File System (CIFS) so that developers can work in parallel. Further, file/code transfer between the network-based deployment server and the local computing devices occurs seamlessly and in real-time, so that processing delays are minimized.