Policy-Based API Call Interception for Application Behavior Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for tailoring user experiences on computing devices often require individual modification of applications, which is not feasible for all applications, and do not provide a unified approach across different operating systems.

Innovation Solution

The solution involves modifying calls from applications to the operating system's API service using policies activated by external stimuli, allowing for behavior changes without modifying the applications themselves, leveraging common interfaces to tailor user experiences across all applications and operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If individual application modifications are used to tailoring user experiences, then customization capability is improved, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improveuser experience customizationVSAvoidmodification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a policy engine as an intermediary layer between applications and the operating system. This policy engine intercepts system calls from applications and applies predefined policies to modify behavior without requiring changes to the applications themselves. The policy engine acts as a mediator that enables universal customization across all applications through a centralized control mechanism, resolving the contradiction by providing adaptability through policies rather than through modifying each application individually.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If application-specific modifications are implemented, then user experience tailoring is improved, but ease of operation and maintenance deteriorate

Engineering Contradiction:
Improveexperience tailoringVSAvoidoperation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent creates a universal policy-based framework that can be applied to all applications and operating systems through common interfaces. Instead of implementing separate modification mechanisms for each application, the system uses a single policy engine that handles multiple applications uniformly. This universal approach simplifies operation and maintenance because administrators deal with centralized policies rather than numerous application-specific configurations, while still achieving tailored user experiences across diverse applications.

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

3Adaptability or versatility

If comprehensive call modification is applied, then user experience control is improved, but processing time and system overhead increase

Engineering Contradiction:
Improvebehavior controlVSAvoidcall processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a mechanism where policies are predefined and prepared in advance before runtime execution. The policy engine is pre-configured with rules that determine how different system calls should be modified based on application context, user profiles, and operational conditions. This preliminary preparation allows the system to quickly evaluate and apply appropriate policies during runtime without performing complex analysis or modification logic at call time, thereby reducing processing overhead while maintaining comprehensive control capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230161644A1Call modification based on policies
Publication Date: 2023.05.25 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US20230161644A1 patent drawing
  • US20230161644A1 patent drawing

AI summary

In some examples, a computing device can include a memory resource storing instructions to cause a processor resource to receive a call from an application to an application programming interface (API) service of an operating system (OS) of the computing device, modify the call to the API service based on a policy, and return a modified output to the application according to the modified call based on the policy being active.