Server-Side Replica for Distributed Application Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed web applications face integrity issues due to malicious client-side computations, leading to compromised security and responsiveness problems, especially in e-commerce sites, where client-side code can be manipulated, necessitating frequent server round trips to ensure security, which increases latency and affects user experience.

Innovation Solution

A distributed execution system that replicates client-side computations on a trusted server tier, capturing user events and comparing results between client and server execution to flag any discrepancies, ensuring computational integrity and reducing the need for frequent server validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If client-side computations are trusted to improve responsiveness, then user experience is improved, but security and computational integrity are compromised

Engineering Contradiction:
ImproveresponsivenessVSAvoidcomputational integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent creates a server-side replica of the client-side application that mirrors the client's computations. This replica executes the same business logic and data transformations on the server, allowing the system to trust client-side results while maintaining security through verification. The copying principle enables responsiveness by accepting client computations while ensuring integrity through the replicated server-side execution.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements feedback by having the server-side replica continuously verify client-side computations and compare results. When discrepancies are detected, the system can request re-computation or alert administrators. This feedback mechanism maintains computational integrity while allowing client-side execution to proceed, thus preserving responsiveness.

Inventive Principle:
Principle #23Feedback

2Reliability

If server validation is increased to ensure security, then computational integrity is improved, but latency and user experience deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server performs preliminary validation by executing the replica computation in parallel with or before finalizing client-side results. This preliminary action allows the system to verify integrity without requiring sequential round trips, reducing latency while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By maintaining a server-side copy of the client application, the system can validate computations without requiring multiple server round trips. The replica provides a local reference for verification, reducing the time needed for security checks while maintaining rigorous validation.

Inventive Principle:
Principle #26Copying

3Reliability

If developer involvement is increased to manually secure applications, then security is improved, but ease of deployment and adoption deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidease of deployment
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system enables self-service security by automatically generating and maintaining the server-side replica from the existing client-side code. Developers don't need to manually create secure versions of their applications; the system automatically replicates and secures them. This self-service approach maintains security while dramatically easing deployment for existing large-scale projects.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The replica technology provides universal security across different application types and frameworks. A single replication mechanism can secure various kinds of client-side applications without requiring application-specific security implementations, making the system easy to deploy across diverse projects.

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

Data Source

PatentUS9917822B2Automatically securing distributed applications
Publication Date: 2018.03.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9917822B2 patent drawing
  • US9917822B2 patent drawing
  • US9917822B2 patent drawing

AI summary

A processing system for distributed multi-tier applications is provided. The system includes a server component that executes a replica of a client-side application, where a client component executes the client-side application. The client component captures events from the client-side application and transmits the events to the replica to validate the computational integrity security of the application.