Device Identifier Generation Using Application Fingerprinting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to effectively unify events from multiple applications into a single session, leading to fragmented user content consumption and incorrect identification of device activities due to sandboxing and battery usage restrictions.

Innovation Solution

A method for generating a unique device identifier based on installed applications, including their names, package versions, installation dates, and clock skew, which can be hashed and updated when applications are added or removed, allowing for robust and flexible fingerprinting of devices across network activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sandboxing is used to isolate applications, then application security and system stability are improved, but device identification and event tracking across applications deteriorate

Engineering Contradiction:
Improveapplication securityVSAvoiddevice identification
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces an intermediary identifier generation mechanism that operates within each application's sandbox but produces a common device identifier. This mediator collects application information (name, version, installation date) from within the sandboxed environment, hashes it locally, and generates a device identifier that can be used across applications without breaking sandbox isolation. The hashing function acts as the intermediary that transforms sandboxed application data into a portable identification key.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple applications are used for content consumption, then user content consumption versatility is improved, but session unity and event correlation deteriorate

Engineering Contradiction:
Improvecontent consumption versatilityVSAvoidsession unity
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent creates a universal device identifier that serves multiple functions across different applications. This single identifier, generated from application information, can be used by any application on the device to maintain session continuity. The identifier acts as a multi-functional key that enables event correlation, session tracking, and user behavior analysis across the entire application ecosystem, not just within individual applications.

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

3Measurement precision

If application information is used for identifier generation, then device identification accuracy is improved, but user privacy and application identity exposure deteriorate

Engineering Contradiction:
Improvedevice identification accuracyVSAvoidapplication identity exposure
Core Design Contradiction:
Measurement precisionVSObject-generated harmful factors

Solution Approach 1:

The patent transforms application information parameters (name, version, installation date) into a different parameter space through hashing. The input parameters are detailed and specific to each application, while the output is a fixed-length hash value that preserves uniqueness but obscures the original information. This parameter transformation maintains identification accuracy while eliminating direct exposure of application identities, as the hash function is one-way and does not reveal the underlying application details.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If simultaneous processes are restricted to simplify task management, then system complexity is reduced, but event tracking and session continuity deteriorate

Engineering Contradiction:
Improvetask management complexityVSAvoidsession continuity
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent performs preliminary action by generating the device identifier once based on application information and storing it for future use. Instead of continuously analyzing application states or maintaining complex session management logic for each simultaneous process, the system pre-computes a stable identifier that remains valid across application boundaries. This preliminary identifier generation simplifies subsequent task management while preserving session continuity information.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10218567B2Generating an identifier for a device using application information
Publication Date: 2019.02.26 GOOGLE LLC
  • US10218567B2 patent drawing
  • US10218567B2 patent drawing
  • US10218567B2 patent drawing

AI summary

A computer-implemented method for generating an identifier for a device includes identifying one or more applications from a plurality of applications installed on a device; generating an identifier for the device based on the one or more identified applications; and providing the generated identifier as identification for the device. Another computer-implemented method for identifying a device includes: receiving information that indicates one or more applications of a plurality of applications installed on a device; and identifying the device using the received information.