Asynchronous User Permission Model for IoT Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing OAuth 2.0 authorization frameworks require clients to interact with a user-agent or Web browser to obtain third-party permissions, limiting access for applications that cannot support graphical user interfaces or HTTP commands.

Innovation Solution

An asynchronous user permission system that enables applications to obtain third-party permissions for Web services without interacting with a user-agent, using an authorization server and centralized discovery server to provide access tokens through mechanisms like HTTP POST and GET requests, allowing applications to register and poll for permissions independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If OAuth 2.0 authorization framework is used, then third-party permissions can be obtained, but the application must interact with a user-agent or Web browser which limits access for applications without graphical user interface capabilities

Engineering Contradiction:
Improveapplication access capabilityVSAvoiduser-agent interaction requirement
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the user-agent interaction step from the traditional OAuth 2.0 flow. The authorization server directly communicates with the application via HTTP requests, eliminating the requirement for a user-agent or Web browser. This allows applications without graphical interface capabilities to obtain third-party permissions through server-to-server communication.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The authorization server acts as an intermediary that directly mediates between the application and the resource owner's credentials. Instead of requiring the application to interact with a user-agent, the authorization server handles the authentication and permission granting process through automated HTTP requests and responses, enabling headless applications to participate in the authorization flow.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If asynchronous permission model is implemented, then applications without Web browser capabilities can obtain permissions, but the authorization process becomes more complex with multiple polling steps

Engineering Contradiction:
Improvedevice compatibilityVSAvoidauthorization process steps
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The application performs preliminary actions by sending an initial HTTP request to the authorization server with necessary credentials and permissions. The authorization server processes this request and responds with authorization status or required actions, allowing the application to initiate the permission process without waiting for user-agent interaction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The implementation uses periodic polling where the application sends repeated HTTP requests to the authorization server at intervals to check the status of permission requests and retrieve authorization tokens. This periodic communication pattern enables asynchronous authorization without requiring continuous user-agent interaction, making the process adaptable to various device types.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9413762B2Asynchronous user permission model for applications
Publication Date: 2016.08.09 CABLE TELEVISION LAB INC
  • US9413762B2 patent drawing
  • US9413762B2 patent drawing
  • US9413762B2 patent drawing

AI summary

Use of an application to engage services on behalf of a third party is contemplated. The services may be engaged one behalf of the third party with delivery of a third party permission to a Web service, optionally with the third party permission being recognized in the form of an access token (accessToken) provided from the application to the Web service without requiring the application to interact with an user-agent used to obtain the third party permission.