Remote Licensing Server for Software Piracy Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software publishers face challenges in preventing unauthorized copying and usage of their applications, as existing copy protection schemes can be easily bypassed, especially on devices that have been unlocked for development purposes, and copyright law alone is insufficient to prevent unauthorized copying.

Innovation Solution

Implementing a licensing system that verifies the current license status of a software application by querying a licensing server, linking the license to a user or device, and restricting functionality based on the license status, using a public/private key pair for integrity and authenticity of the license check responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If forward locking is used to protect against unauthorized copying, then copy protection is improved, but application size increases extensively due to duplicating non-executable resources

Engineering Contradiction:
Improvecopy protectionVSAvoidapplication size
Core Design Contradiction:
ReliabilityVSWeight of moving object

Solution Approach 1:

The patent extracts the licensing verification functionality from the application itself and places it on a remote licensing server. The application only contains minimal licensing client code that communicates with the server, rather than embedding extensive protection mechanisms within the application. This separates the heavy protection logic from the application, reducing its size while maintaining protection effectiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a licensing server as an intermediary between the application and the user's device. This server acts as a mediator that verifies licensing status and communicates with the application's licensing client. The server handles the complex verification logic remotely, allowing the application to remain lightweight while still providing robust protection through the intermediary's verification processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If forward locking is used to protect application binaries, then unauthorized copying is deterred, but the protection can be overcome on unlocked devices

Engineering Contradiction:
Improvecopy protectionVSAvoiddevice compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal licensing system that functions across multiple device types and operating systems. The licensing server communicates with licensing clients that can run on various platforms (Android, iOS, Windows, etc.), making the protection mechanism adaptable to different devices. The system uses standard communication protocols and can work with different device security models, including both locked and unlocked devices, through the intermediary server architecture.

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

3Reliability

If custom copy protection schemes are implemented by developers, then piracy prevention is improved, but development complexity increases

Engineering Contradiction:
Improvepiracy preventionVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the copy protection system into distinct modular components: a licensing server handling verification logic, a licensing client library that can be integrated into applications, and communication protocols for interaction. This segmentation allows developers to adopt the protection system by integrating a standardized client library rather than building entire protection schemes from scratch, reducing development complexity while maintaining effective piracy prevention.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a self-service licensing model where the licensing client automatically verifies licensing status with the server without requiring developer intervention. The system handles license validation, status checking, and protection enforcement automatically through the intermediary server, allowing developers to implement protection with minimal effort while maintaining strong piracy prevention capabilities.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10007960B2Electronic license management
Publication Date: 2018.06.26 GOOGLE LLC
  • US10007960B2 patent drawing
  • US10007960B2 patent drawing
  • US10007960B2 patent drawing

AI summary

In one aspect, this application describes a method for determining a license status of a software application. The method includes receiving a license status request to obtain an indication of whether a software application is licensed for use on a client computing device. The method also includes identifying identity information that corresponds to user identity information, device identity information, or both. The method also includes sending a communication generated from the license status request and the identity information to a licensing service, the communication being used by the licensing service to generate the indication based at least in part on the identity information and licensing information associated with the software application. The method also includes receiving a license status response from the licensing service that includes the indication. The method also includes sending the license status response to the software application for processing by the software application.