Isolated Process Hosting for Third-Party Web Extensions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Commercial Web services lack a cost-effective and secure method to host third-party code within their platforms, leading to barriers for new developers due to complexities in server management, security, and scalability, which discourages extensions to their services.

Innovation Solution

Implementing isolated processes (isoprocs) that limit communication channels for third-party extensions, ensuring secure and scalable execution by defining permitted interactions and using mediators like network service and web-service proxy isoprocs to manage communication, thereby isolating extensions from standard services and the network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If third-party code is hosted on its own server, then security and isolation are improved, but hosting cost and operational complexity increase significantly

Engineering Contradiction:
Improvesecurity isolationVSAvoidhosting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the hosting environment by creating isolated process containers for each third-party extension. Each extension runs in its own isolated process space with defined communication channels, separating it from the core web service and other extensions. This provides security isolation without requiring separate physical servers, resolving the contradiction between security and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces mediator components including a process manager and communication channel regulators that intermediated between third-party extensions and the core web service. These mediators enforce security policies, manage communication channels, and handle isolation requirements, allowing secure hosting without burdening developers with operational complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If third-party code is hosted in virtual machines, then security and isolation are improved, but hosting cost increases

Engineering Contradiction:
Improvesecurity isolationVSAvoidhosting cost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of using full virtual machines, the system segments isolation to the process level within the existing operating system. Each third-party extension runs in an isolated process container that provides security boundaries without the overhead of complete virtualization, reducing hosting costs while maintaining security isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs lightweight process containers that are cheaper than virtual machines. These isolated processes can be created and destroyed efficiently, providing temporary secure execution environments for extensions without the high cost and resource overhead of VM infrastructure.

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

3Quantity of substance

If third-party code is trusted and hosted directly, then hosting cost is reduced, but security and stability deteriorate

Engineering Contradiction:
Improvehosting costVSAvoidsystem security
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system introduces intermediary components including communication channel regulators and process managers that stand between trusted low-cost hosting and the core web service. These intermediaries enforce security policies and control interactions, allowing cost-effective hosting without compromising system security through direct trust.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies different security qualities to different parts of the system. The core web service maintains high security, while third-party extensions run in isolated processes with controlled access. This local differentiation allows cost-effective hosting of extensions while preserving overall system security through targeted isolation rather than universal trust or universal high-security infrastructure.

Inventive Principle:
Principle #3Local quality

4Adaptability or versatility

If developers manage their own servers, then flexibility and control are improved, but operational burden and complexity increase

Engineering Contradiction:
Improvedeveloper controlVSAvoidoperational burden
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system enables developers to deploy extensions without manual server management through automated process containerization. The platform automatically creates isolated process environments, configures communication channels, and manages deployment, allowing developers to focus on code while the system handles operational tasks autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal hosting platform that provides multiple functions including process isolation, communication management, security enforcement, and deployment automation through a single integrated system. This multi-functional approach gives developers flexibility and control without requiring them to manage separate operational systems for each function.

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

Data Source

PatentEP1896978B1Secure and stable hosting of third-party extensions to web services
Publication Date: 2016.06.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP1896978B1 patent drawingFigure 1
  • EP1896978B1 patent drawingFigure 2
  • EP1896978B1 patent drawingFigure 3

AI summary

Described herein are one or more computer operating environments that include a standard set of web services via a communications network (e.g., the Internet) and a mechanism for extending the standard set of web services to execute one or more extended web services. Since these extended web services may be produced by an unconfirmed or untrusted source (e.g., a third-party software developer), the described computer operating environments isolate the extended web services from the standard set of web services and from the communication network. Furthermore, each extended web service is an isolated process (isoproc) with a limited ability to communicate with other services. In particular, each isoproc's ability to communicate is limited to only associated defined communication channels over which it has express permission to communicate.