Java Store Television Secure Application Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in distributing and executing Java or JavaFX applications on user network devices, such as set-top boxes and smart televisions, due to the need for secure subscription verification and deployment using a Java Runtime Environment (JRE), while ensuring digital rights management and compatibility with various devices.

Innovation Solution

A system that includes a non-transitory computer readable storage medium with code to receive user requests, decrypt encrypted information, and generate application packages for deployment on user network devices using a JRE, involving a service provider for subscription verification and digital rights management, ensuring compatibility with different devices and secure execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If applications are distributed via removable storage devices, then distribution is simple, but security and subscription verification are compromised

Engineering Contradiction:
Improvedistribution simplicityVSAvoidsubscription verification security
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

A warehouse server acts as an intermediary between the user network device and the service provider. The warehouse receives application requests, verifies subscriptions with the service provider, and distributes applications securely. This mediator resolves the contradiction by enabling secure verification while maintaining ease of distribution through automated processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces physical removable storage distribution with an electronic distribution system using network communication. Application packages are transmitted digitally through the warehouse server, eliminating the need for physical media while implementing robust subscription verification through cryptographic methods (public/private key pairs).

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If encryption is implemented for secure communication, then security is improved, but processing complexity increases

Engineering Contradiction:
Improvecommunication securityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Public and private key pairs are generated and distributed in advance before actual application requests. The service provider generates these cryptographic keys and stores them securely in the warehouse. This preliminary setup eliminates the need for complex real-time key generation, reducing processing complexity during actual transactions while maintaining high security.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If subscription verification is performed for each application request, then digital rights management is ensured, but processing time increases

Engineering Contradiction:
Improvedigital rights managementVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The warehouse server maintains feedback from previous subscription verifications and stores verification results. When a user requests multiple applications, the warehouse can leverage previous verification outcomes, reducing redundant communication with the service provider and minimizing processing time while maintaining continuous digital rights management protection.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10373139B2Java store television
Publication Date: 2019.08.06 ORACLE AMERICAN INC
  • US10373139B2 patent drawing
  • US10373139B2 patent drawing
  • US10373139B2 patent drawing

AI summary

A non-transitory computer readable storage medium including computer readable code that, when executed by a processor, is configured to receive, from a user network device, a first request to execute an application on the user network device. The first request includes a user identification, routing information, and requested application information, encrypted using a public key. The user network device is configured to display the application on a television display device. The code is further configured to decrypt the routing information and requested application information using a private key, send a second request for subscription information to a service provider, receive the subscription information from the service provider, and determine that a license corresponding to the application is associated with the user. The code is further configured to generate and send an application package configured to deploy the application using a Java Runtime Environment on the user network device.