Java Application Distribution via JNLP and Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in making their applications available to users across various platforms, particularly in determining access privileges and efficiently distributing Java or JavaFX applications, which are not adequately addressed by existing technologies.

Innovation Solution

A system and method for publishing and distributing applications, involving a warehouse that receives applications, determines access privileges, generates deployment packages, and makes them available for installation or preview on client devices, using Java Network Launch Protocol (JNLP) and digital rights management to ensure secure and platform-independent execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are distributed across various platforms, then platform compatibility is improved, but access control and security management become more complex

Engineering Contradiction:
Improveplatform compatibilityVSAvoidaccess control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal access control mechanism that functions across multiple platforms (desktop, mobile, web). The system uses a single authentication protocol and permission management framework that works uniformly across different operating systems and device types, eliminating the need for separate access control implementations for each platform.

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

Solution Approach 2:

The patent introduces an intermediary authentication service that mediates between the application and various platform-specific security systems. This intermediary layer handles access control requests centrally, translating between different platform security models and providing unified access management without requiring each platform to implement its own complex security logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If application distribution is simplified, then ease of deployment is improved, but security and access privilege control may be compromised

Engineering Contradiction:
Improveease of deploymentVSAvoidsecurity control
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements preliminary authentication and permission assignment during the application submission and approval process. Access privileges are determined and configured before the application is made available for distribution, ensuring that security controls are in place prior to deployment. This allows simplified distribution without compromising security, as the authentication framework is already established.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If developer metrics and usage data collection is implemented, then application optimization is improved, but user privacy and data security concerns increase

Engineering Contradiction:
Improveapplication optimizationVSAvoiduser privacy concerns
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements differentiated data collection policies where different types of usage data are collected with different levels of detail based on their purpose. Anonymous aggregate statistics are collected for optimization purposes, while personally identifiable information is minimized or excluded. This local quality approach allows meaningful analytics while protecting user privacy by applying different data collection intensities to different data categories.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2435908B1JAVA store
Publication Date: 2021.09.01 ORACLE AMERICAN INC
  • EP2435908B1 patent drawingFigure 1
  • EP2435908B1 patent drawingFigure 2
  • EP2435908B1 patent drawingFigure 3

AI summary

A computer readable medium including computer readable code for causing a computer system to perform a method. The method includes receiving an application, receiving application information for the application, and determining an access privilege for the application based, in part, on the application information. The method also includes generating a deployment package for the application using the application and the access privilege, and publishing the application.